Commit Graph

31 Commits

Author SHA1 Message Date
evanpelle 0dc68ced31 Add pause button when replaying (#726)
## Description:

This PR does two things:

1. Allow pausing on replay
2. As part of the refactoring, in singleplayer games, LocalServer now
waits for the last turn to complete execution before sending the next
turn. Previously, low end devices would sometimes fall behind getting
the "playing the past" bug where commands were delayed. Now when a
devices cannot keep up, the entire game slows down.

## Please complete the following:

- [ ] I have added screenshots for all UI updates
- [ ] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [ ] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

## Please put your Discord username so you can be contacted if a bug or
regression is found:

<DISCORD USERNAME>

Co-authored-by: evan <openfrontio@gmail.com>
2025-05-11 13:28:38 -07:00
Scott Anderson cb9b5a7a17 Remove clientID, persistentID, gameID from ClientBaseMessageSchema, TurnSchema (#666)
## Description:

Remove the devils `clientID`, `persistentID`, and `gameID` from
`ClientBaseMessageSchema`, as well as `gameID` from `TurnSchema`. These
values are already known through the `Client` object that is hoisted
into the relevant handler.

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

---------

Co-authored-by: Scott Anderson <662325+scottanderson@users.noreply.github.com>
2025-05-07 11:11:18 -07:00
Evan 08c2c01dae bugfix: flags not showing in game 2025-04-06 10:27:52 -07:00
Evan 8b6895d745 add prettier import plugin 2025-03-31 13:09:27 -07:00
evanpelle ab3f4fbac1 All players must join game before spawn (#380)
## Description:
The server stores all players that have joined, and once the game starts
it sends a list of players to all clients. Players cannot join after the
game has started. Server now generated the PlayerID instead of the
client.

The is necessary for team mode, we need to know how who is playing the
game before it starts so we can properly assign teams based on clans.

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

## Please put your Discord username so you can be contacted if a bug or
regression is found:

evan
2025-03-30 17:04:29 -07:00
evanpelle d8fe41de7a teams (#349) 2025-03-27 20:43:56 -07:00
Evan 67c1ff2158 store game hashes on singleplayer 2025-03-14 15:48:25 -07:00
evanpelle 4a6ce12988 archive full game on crash (#251) 2025-03-14 14:08:16 -07:00
evanpelle 6a24bce213 fix decompress game record function, start at -1 (#203) 2025-03-10 07:21:24 -07:00
evanpelle c23c332ccb only compare archived hash if not null/undefined (#198) 2025-03-09 19:30:32 -07:00
evanpelle 33292aec5c feat: replay archived games, gamestate hash verification (#195)
create endpoint to load archived game. when joining game client first
checks if the game is active, if not it requests the game archive from
the server. the archive is sent to LocalServer to replay the game
locally. Every 10 ticks a hash is stored on the archive, and during
replay the LocalServer verifies this hash.
2025-03-09 14:24:39 -07:00
ilan schemoul 1b76c46bc5 feat: remove LocalPersistantStats so we locally save GameRecords
GameRecords also now include PlayerStats
2025-03-08 17:39:41 +01:00
Evan 2ba98f047b fix archive game url 2025-03-06 16:09:44 -08:00
evanpelle 974d606923 Merge pull request #159 from ilan-schemoul/save-stats
feat: save stats to local storage
2025-03-06 15:57:00 -08:00
Evan 4c8eeb0cc1 merge branch v0.17.3 2025-03-06 15:46:57 -08:00
Evan 3a0bc594ae use api prefix 2025-03-05 18:04:22 -08:00
ilan schemoul 398d354702 feat: save stats to local storage
Victory lose, player stats, lobby config are stored to local storage
(for later use)
2025-03-06 01:00:19 +01:00
Evan 2b26cfbbc9 update aws deployment, have client get env from server 2025-03-05 12:37:37 -08:00
Evan a029b4277f use node cluster to shard server 2025-03-02 09:39:09 -08:00
Evan 3494c54906 use node cluster to shard server 2025-02-27 10:45:30 -08:00
Evan 4ee37323f9 format codebase with prettier 2025-02-01 12:05:11 -08:00
Evan a5a2f46099 have client send winner to server 2025-02-01 12:05:11 -08:00
Evan 8443095d89 create game runner 2025-02-01 12:05:11 -08:00
evanpelle 8e61632b8b implement pause feature,
bugfix: server stops in the beginning if no ticks found
2024-12-25 15:19:35 -08:00
evanpelle 57cbf5c55e Refactor: Split config into Config and ServerConfig 2024-12-25 14:04:19 -08:00
evanpelle 0d3d49fdd0 use consolex in client folder 2024-12-18 14:01:34 -08:00
evanpelle 1417808c14 store user's persistent id in bigquery 2024-12-17 14:30:16 -08:00
Evan 2fc81c7d17 store client ips in bigquery table 2024-12-14 10:03:05 -08:00
Evan dfe2f27ba8 store metadata in bigquery 2024-12-10 20:28:39 -08:00
Evan 7669105a1b record games in gcs 2024-12-07 18:30:04 -08:00
evanpelle ac46c786c9 implement single player 2024-10-12 18:20:41 -07:00