magefree / magefree/mage

Server must able to restart game thread with a saved data

Open
#12,830 0 comments 0 reactions 0 assignees View on GitHub
enhancement server
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.