Back up Eco game state to S3 #80

Open
opened 2026-05-23 20:54:39 +00:00 by coilysiren · 0 comments
Owner

Originally filed by @coilysiren on 2026-05-01T08:35:25Z - https://github.com/coilysiren/infrastructure/issues/80

The Eco server on kai-server holds game state on disk under the EcoServer install root. If the host dies or Storage/ gets nuked during a reset, the world is gone. Push periodic snapshots to S3.

What needs backing up

Living under /home/kai/Steam/steamapps/common/EcoServer/:

  • Storage/ - world, player inventories, economy. The actual game state.
  • Configs/ - server config, difficulty, NidToolbox/PlayerManager/ServerCleaner settings.
  • Mods/UserCode/ and Mods/<Name>/ - in case re-syncing from source repos lags.
  • Logs/ - optional, useful for incident forensics.

Skip the EcoServer binary and Steam-managed files; those come back from a reinstall.

Shape of the work

  • Cron-driven tar of the dirs above into a timestamped archive.
  • Push to a versioned S3 bucket with lifecycle rules (e.g. keep daily for 30 days, weekly for 6 months).
  • Quiesce or pause the server during the snapshot, or snapshot a copy, so Storage/ is consistent. Eco writes through during play.
  • Restore runbook in eco.md: pull archive, stop service, extract, start.

Open questions

  • Run from kai-server directly (IAM via instance profile or static creds in SSM) or pull-based from another host?
  • Bucket name + region. Probably reuse an existing infra bucket with a prefix.
  • Frequency. Hourly feels heavy, daily feels thin. Maybe hourly with aggressive lifecycle.
_Originally filed by @coilysiren on 2026-05-01T08:35:25Z - [https://github.com/coilysiren/infrastructure/issues/80](https://github.com/coilysiren/infrastructure/issues/80)_ The Eco server on kai-server holds game state on disk under the EcoServer install root. If the host dies or `Storage/` gets nuked during a reset, the world is gone. Push periodic snapshots to S3. ## What needs backing up Living under `/home/kai/Steam/steamapps/common/EcoServer/`: - `Storage/` - world, player inventories, economy. The actual game state. - `Configs/` - server config, difficulty, NidToolbox/PlayerManager/ServerCleaner settings. - `Mods/UserCode/` and `Mods/<Name>/` - in case re-syncing from source repos lags. - `Logs/` - optional, useful for incident forensics. Skip the EcoServer binary and Steam-managed files; those come back from a reinstall. ## Shape of the work - Cron-driven `tar` of the dirs above into a timestamped archive. - Push to a versioned S3 bucket with lifecycle rules (e.g. keep daily for 30 days, weekly for 6 months). - Quiesce or pause the server during the snapshot, or snapshot a copy, so `Storage/` is consistent. Eco writes through during play. - Restore runbook in `eco.md`: pull archive, stop service, extract, start. ## Open questions - Run from kai-server directly (IAM via instance profile or static creds in SSM) or pull-based from another host? - Bucket name + region. Probably reuse an existing infra bucket with a prefix. - Frequency. Hourly feels heavy, daily feels thin. Maybe hourly with aggressive lifecycle.
coilysiren added
P3
and removed
P2
labels 2026-05-31 07:00:44 +00:00
Sign in to join this conversation.
No labels
P0
P1
P2
P3
P4
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
coilyco-flight-deck/infrastructure#80
No description provided.