Skip to content

v0.5.0

Latest

Choose a tag to compare

@github-actions github-actions released this 10 Oct 11:38
· 10 commits to main since this release
8593a53

v0.5.0 makes each room container follow one game run, with openings managed by an external scheduler.

  • Normal shutdown and scheduled closure now stop every shard and exit the Agent and container with code 0.
    Shutdown sends one c_shutdown() per shard and lets the game complete its native save and exit sequence.
  • Restart and Mod maintenance request a fresh container with exit code 76; runtime faults use code 75 and preserve recovery state.
    Startup checks opening hours and resumes pending maintenance and recovery before starting games.
  • call restart acknowledges the completed stop and requested replacement.
    call update_mods persists the request and returns queued: true; the next container performs the update.
    These replies do not confirm completion of the next startup.
    With restart: false, maintenance finishes with the room closed.
  • host status now reports saved policy, current schedule, maintenance, and recovery after the Agent exits.
    Host operations can update Mods while a room is offline and report maintenance failures or exhausted or unsafe recovery.
  • RPC shutdown flushes final replies before disconnecting, and repeated client or subscription closure is safe.
  • Lua rollback accepts a target found at the 6,400-entry catalog limit, and telemetry avoids reading positions from retired entities.
  • The indexed native script snapshot advances from build 756039 to 757748.
    All 84 index pages were checked against the source, with corrected runtime, gameplay, AI, world-generation, and frontend descriptions and complete inventories of 4,099 files.

Upgrade existing rooms

  1. Stop each room service and confirm its container has exited, then upgrade the SDK and runtime image.

  2. Update the existing Quadlet's [Service] section to include all three directives below.
    Newly generated Quadlets already include them; existing files without both 76 directives fail deployment validation.

    Restart=on-failure
    SuccessExitStatus=76
    RestartForceExitStatus=76
  3. Run systemctl daemon-reload and configure an independent opening timer for each scheduled room.
    Keep its opening times and timezone aligned with the room policy; policy changes do not update the timer.
    Both call stop and host stop leave that timer enabled, so disable it separately to suspend future openings.

  4. Use host start to open a stopped room and host start, host restart, or host wait when readiness confirmation is required.
    Startup outside opening hours exits successfully with the room closed.

See the migration guide and opening timer example.