cyberwar-2025 issueshttps://gitlab.nps.edu/global-ecco/cyberwar/-/issues2019-08-01T12:19:19-07:00https://gitlab.nps.edu/global-ecco/cyberwar/-/issues/74Random Crash2019-08-01T12:19:19-07:00David "Ty" LongRandom CrashThis has happened twice so far in two separate games.
```++++++++++++++++ Turn Number: 29 ++++++++++++++++
Multi server attack: Defender = 4 Attacker = 4 4 1
Dice: 4 Odds: 31: Success to Defender!
Basic attack: Defender = 4 Attacker (...This has happened twice so far in two separate games.
```++++++++++++++++ Turn Number: 29 ++++++++++++++++
Multi server attack: Defender = 4 Attacker = 4 4 1
Dice: 4 Odds: 31: Success to Defender!
Basic attack: Defender = 4 Attacker (Orange) = 4
Dice: 63 Odds: 50: Fail to Defender!
Multi server attack: Defender = 1 Attacker = 4 4
Dice: 20 Odds: 11: Fail to Defender!
Basic attack: Defender = 3 Attacker (Purple) = 4
Dice: 63 Odds: 43: Fail to Defender!
Exploit attack: Defender = 1 Attacker = 4
Dice: 73 Odds: 20: Fail to Defender!
Exploit attack: Defender = 4 Attacker = 4
Dice: 10 Odds: 50: Success to Defender!
Deny attack: Defender = 1 Attacker (undefined) = 4
Dice: 60 Odds: 20: Fail to Defender!
Deny attack: Defender = 4 Attacker (undefined) = 4
Dice: 33 Odds: 50: Success to Defender!
Scanning node: Orange 7
Scanning node: Red 6
error: uncaughtException: Cannot read property 'length' of undefined date=Thu Aug 01 2019 13:15:31 GMT-0600 (MDT), pid=6636, uid=501, gid=20, cwd=/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1, execPath=/usr/local/bin/node, version=v8.9.1, argv=[/usr/local/bin/node, /Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/app.js], rss=181215232, heapTotal=159752192, heapUsed=109622336, external=20564222, loadavg=[2.32275390625, 2.12548828125, 2.03857421875], uptime=317635, trace=[column=89, file=/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/shared/util/playerUtil.js, function=__dirname.PlayerUtil.hasPlayerTakenTurn, line=9, method=hasPlayerTakenTurn, native=false, column=86, file=/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/server/gameLogic/gameController.js, function=null, line=101, method=null, native=false, column=12, file=/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/node_modules/underscore/underscore.js, function=Function._.every._.all, line=245, method=all, native=false, column=12, file=/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/server/gameLogic/gameController.js, function=allPlayersSubmittedTurns, line=99, method=null, native=false, column=7, file=/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/server/gameLogic/gameController.js, function=finishTurn, line=91, method=null, native=false, column=3, file=/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/server/gameLogic/gameController.js, function=Object.__dirname.performAction, line=42, method=performAction, native=false, column=20, file=/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/server/game.js, function=Object.submitAction [as callback], line=178, method=submitAction [as callback], native=false, column=10, file=/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/server/game.js, function=performLockedAction, line=254, method=null, native=false, column=11, file=/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/server/game.js, function=null, line=265, method=null, native=false, column=5, file=/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/server/game.js, function=null, line=302, method=null, native=false, column=16, file=/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/node_modules/mongoose/lib/model.js, function=null, line=4462, method=null, native=false, column=16, file=/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/node_modules/mongoose/lib/utils.js, function=null, line=264, method=null, native=false, column=11, file=/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/node_modules/mongoose/lib/query.js, function=_hooks.execPost, line=4258, method=execPost, native=false, column=16, file=/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/node_modules/mongoose/node_modules/kareem/index.js, function=null, line=135, method=null, native=false, column=7, file=internal/process/next_tick.js, function=_combinedTickCallback, line=131, method=null, native=false, column=9, file=internal/process/next_tick.js, function=process._tickCallback, line=180, method=_tickCallback, native=false], stack=[TypeError: Cannot read property 'length' of undefined, at __dirname.PlayerUtil.hasPlayerTakenTurn (/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/shared/util/playerUtil.js:9:89), at /Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/server/gameLogic/gameController.js:101:86, at Function._.every._.all (/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/node_modules/underscore/underscore.js:245:12), at allPlayersSubmittedTurns (/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/server/gameLogic/gameController.js:99:12), at finishTurn (/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/server/gameLogic/gameController.js:91:7), at Object.__dirname.performAction (/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/server/gameLogic/gameController.js:42:3), at Object.submitAction [as callback] (/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/server/game.js:178:20), at performLockedAction (/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/server/game.js:254:10), at /Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/server/game.js:265:11, at /Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/server/game.js:302:5, at /Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/node_modules/mongoose/lib/model.js:4462:16, at /Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/node_modules/mongoose/lib/utils.js:264:16, at _hooks.execPost (/Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/node_modules/mongoose/lib/query.js:4258:11), at /Volumes/Vault/Code/Git/Projects/cyberwar/Angular/cyberwar-ang1/node_modules/mongoose/node_modules/kareem/index.js:135:16, at _combinedTickCallback (internal/process/next_tick.js:131:7), at process._tickCallback (internal/process/next_tick.js:180:9)]
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! CyberWar-2025@1.0.0 start: `node app.js`
npm ERR! Exit status 1```https://gitlab.nps.edu/global-ecco/cyberwar/-/issues/9Server node rebuilding option after a Deny has destroyed a player's server no...2019-07-22T08:23:24-07:00David "Ty" LongServer node rebuilding option after a Deny has destroyed a player's server node in their own local domain.When an opposing player is successful with a Deny attack, that server node is permanently removed from the board. However, it might be of use to allow for rebuilding of server nodes in a player's own local domain. A time and resource cos...When an opposing player is successful with a Deny attack, that server node is permanently removed from the board. However, it might be of use to allow for rebuilding of server nodes in a player's own local domain. A time and resource cost would be involved to rebuild that server node.
We can throw the rebuild option under the OCO Acquire effect or on the DCO Secure effect with a sub option to rebuild with a high cost of APs.https://gitlab.nps.edu/global-ecco/cyberwar/-/issues/31Player indicator of future moves/orders.2019-07-15T18:51:59-07:00David "Ty" LongPlayer indicator of future moves/orders.To better assist the player in their orders adjudication list a fix to incorporate some sort of indicator of moves might be necessary. This indicator could be a slightly colorized server node (e.g. Red player has a light red indicator or...To better assist the player in their orders adjudication list a fix to incorporate some sort of indicator of moves might be necessary. This indicator could be a slightly colorized server node (e.g. Red player has a light red indicator or maybe a server node outline color change) that lets the player know they are going to make that move.
When the round ends and the adjudication is complete the temporary indicators are replaced with either the successful (new server node state) or unsuccessful move (server node's original state).https://gitlab.nps.edu/global-ecco/cyberwar/-/issues/47UIB Modal Spacing and Minor Redesign2019-07-17T11:04:39-07:00David "Ty" LongUIB Modal Spacing and Minor Redesignhttps://gitlab.nps.edu/global-ecco/cyberwar/-/issues/107Create an AWS CDK deploy to work with the Global ECCO Game Center2023-06-20T14:24:48-07:00Erik JohnsonCreate an AWS CDK deploy to work with the Global ECCO Game CenterErik JohnsonErik Johnsonhttps://gitlab.nps.edu/global-ecco/cyberwar/-/issues/106Add observer-style view of game once player is eliminated or game is over2022-12-08T11:11:19-08:00Heine, Eric RAdd observer-style view of game once player is eliminated or game is overIf eliminated or once the game is over, it'd be nice to view the game as an observer can (full view and view as other player)If eliminated or once the game is over, it'd be nice to view the game as an observer can (full view and view as other player)https://gitlab.nps.edu/global-ecco/cyberwar/-/issues/105Add ability to fake a denied node2022-12-08T11:07:55-08:00Heine, Eric RAdd ability to fake a denied nodeEssentially a manipulate action, but it makes the node look denied when it is still functional.Essentially a manipulate action, but it makes the node look denied when it is still functional.https://gitlab.nps.edu/global-ecco/cyberwar/-/issues/104Add ability to repair denied nodes2022-12-08T11:06:46-08:00Heine, Eric RAdd ability to repair denied nodesSome action to reroute around denied nodes or to fully repair a denied node so that people can work around it if they have enough action points. But somehow eliminated players can't be brought back.Some action to reroute around denied nodes or to fully repair a denied node so that people can work around it if they have enough action points. But somehow eliminated players can't be brought back.https://gitlab.nps.edu/global-ecco/cyberwar/-/issues/101I want the rule book to contain a glossary of icons and symbols2021-07-14T09:12:36-07:00Krause, Michael (CIV)I want the rule book to contain a glossary of icons and symbolsCould include a table in the section _Network_ that matches the terms used in the game (e.g., base, node, etc.) to their icons.Could include a table in the section _Network_ that matches the terms used in the game (e.g., base, node, etc.) to their icons.https://gitlab.nps.edu/global-ecco/cyberwar/-/issues/100I want the rulebook to explain how to play as an observer2021-07-14T09:11:09-07:00Lee, Ryan SI want the rulebook to explain how to play as an observerhttps://gitlab.nps.edu/global-ecco/cyberwar/-/issues/97I want to know the chances of success for an action before I take it2021-05-28T15:16:40-07:00Lee, Ryan SI want to know the chances of success for an action before I take itEven if a percentage chance isn't possible, perhaps a three-tiered rating, such as Low chance, Medium chance, high chance.Even if a percentage chance isn't possible, perhaps a three-tiered rating, such as Low chance, Medium chance, high chance.https://gitlab.nps.edu/global-ecco/cyberwar/-/issues/96I want to know how the Action Points are calculated2021-05-28T15:13:40-07:00Lee, Ryan SI want to know how the Action Points are calculatedhttps://gitlab.nps.edu/global-ecco/cyberwar/-/issues/93Look into customizable display names2021-07-16T10:59:02-07:00Heine, Eric RLook into customizable display namesSee what it would take for players to be able to customize their display name (WMDeez, FrostByte, etc)See what it would take for players to be able to customize their display name (WMDeez, FrostByte, etc)https://gitlab.nps.edu/global-ecco/cyberwar/-/issues/88Can we add a racetrack leaderboard like Cyberstrike Advanced based on action ...2019-09-24T10:56:26-07:00Lee, Ryan SCan we add a racetrack leaderboard like Cyberstrike Advanced based on action points available each turn?https://gitlab.nps.edu/global-ecco/cyberwar/-/issues/83Add Code Pipeline for CI/CD to TEST2019-09-06T14:12:24-07:00Stork, Kirk Akastork@nps.eduAdd Code Pipeline for CI/CD to TESTStork, Kirk Akastork@nps.eduStork, Kirk Akastork@nps.eduhttps://gitlab.nps.edu/global-ecco/cyberwar/-/issues/75Edit/Create artifacts for game display in the ECCO lobby2019-08-23T19:25:00-07:00Stork, Kirk Akastork@nps.eduEdit/Create artifacts for game display in the ECCO lobbyThe files in /lobby-artifacts need to be made to match the game. The files in there now are examples from other games -- try to keep the length/format similar for each. Please see commit 182d135e1e05dfc99dc4d997bdcce3e849796c1e.
The "...The files in /lobby-artifacts need to be made to match the game. The files in there now are examples from other games -- try to keep the length/format similar for each. Please see commit 182d135e1e05dfc99dc4d997bdcce3e849796c1e.
The "thumbnail.png" is the main icon that represents the game in the lobby.David "Ty" LongDavid "Ty" Longhttps://gitlab.nps.edu/global-ecco/cyberwar/-/issues/42Music & Sound Effects2019-07-16T15:01:04-07:00David "Ty" LongMusic & Sound EffectsSomething similar to what CyberStrike has for end of round audio cues and some player interacted sound effects.Something similar to what CyberStrike has for end of round audio cues and some player interacted sound effects.https://gitlab.nps.edu/global-ecco/cyberwar/-/issues/32Analyze effect should last for two rounds2019-07-08T08:37:33-07:00David "Ty" LongAnalyze effect should last for two roundsTo make players use Analyze more often, let's have the effect of player's domain scanning with Analyze last for a proposed two rounds as of now.To make players use Analyze more often, let's have the effect of player's domain scanning with Analyze last for a proposed two rounds as of now.https://gitlab.nps.edu/global-ecco/cyberwar/-/issues/20Action points generated based on tier?2019-07-08T08:37:51-07:00Heine, Eric RAction points generated based on tier?Suggestion from student that the number of action points generated for a server node is based on what tier it's in (so tier 4 nodes would be worth 4, tier 3 worth 3, etc.)Suggestion from student that the number of action points generated for a server node is based on what tier it's in (so tier 4 nodes would be worth 4, tier 3 worth 3, etc.)https://gitlab.nps.edu/global-ecco/cyberwar/-/issues/17Make Tier 4 server nodes harder to attack (easier to defend) by upping the ma...2019-07-08T08:37:57-07:00David "Ty" LongMake Tier 4 server nodes harder to attack (easier to defend) by upping the math or possibly add alternate paths from the Player's base to the Tier 3 server nodes.We have found out that soon after the 6th in players start moving towards other player's bases. Their success rate is pretty standard; however, I think there should be a "defenders advantage" on the Tier 4 server nodes to keep the game i...We have found out that soon after the 6th in players start moving towards other player's bases. Their success rate is pretty standard; however, I think there should be a "defenders advantage" on the Tier 4 server nodes to keep the game in motion. Another option is to add one to three alternate paths from the Player's base to the Tier 3 server nodes. This might alter the mechanics in a way that players will not secure their Tier 4 server nodes; however, we can maybe force them to take those Tier 4 nodes first and then open the paths to the Tier 3 when they acquire those server nodes.