Server must able to restart game thread with a saved data
- Dominant language
- Java
- Stars
- 2.4k
- Forks
- 940
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 160
Description
The main problem in all freezes — game thread (GameController) freeze in some big loop and can’t return control back to users (related issue #11285).
Thread can’t be controlled from outside, e.g. from main service — it’s only possible to check health or terminate it. If game thread somehow terminated due critical error then game will never continue (it will be a freeze game).
As experiment feature:
* allow to save good game state (example: on each priority);
* terminate game thread if something bad (freeze, too much data or used memory);
* restart game thread from last saved state;
In theory it allow to add more control to server resources, make it more stable and introduce additional features like long and restarted proof tourneys/leagues, game records/replays and other.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the GameController game thread and the main service that monitors it. Determine how game state can be saved, how freezes or critical termination are detected, and how the thread could restart from the last saved state. Done means the server can recover a game without losing the saved state, while handling the proposed resource limits.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend, game-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100