Skip to content

Releases

v0.5.0

Choose a tag to compare

@AltSystem42 AltSystem42 released this 29 Oct 12:58

🐛 Fixes

  • Update loop no longer fires every hour. The wrapper now refreshes SteamCMD's app info (+app_info_update 1) before reading the public-branch buildid, and only records an update as applied / sends the ✅ message when the installed build in appmanifest_4019830.acf actually matches Steam's. When SteamCMD reports success without changing the build, the stale-cache condition is logged clearly and the next attempt backs off exponentially instead of restarting the server every hour.
  • Player tracking now uses stable account IDs instead of display names, so idle detection (auto-updates and scheduled backups) works even when a player's Steam name differs from their in-game character name. Joins use Player ADDED to session [<id>]-[<name>] (with PlayerChar entered world as a fallback); leaves use Player Removed from session [<id>] (with ClientRequestDisconnect ... Account[XP:<id>] as a fallback). Add/remove are idempotent, so duplicate log lines and reconnects can't double-count or leave ghost players.
  • First-install verification. A silent SteamCMD failure (exit 0 with no files installed) is now detected: the wrapper verifies the app manifest's buildid and the server binary after every attempt, retries all 5 attempts, sends a failure notification, and exits so Docker can retry instead of reporting a successful install that never happened.

🧪 Testing

  • Four regression suites under scripts/tests/ covering player tracking (including the Steam-vs-character-name mismatch), update-helper parsing/verification/backoff, the real run_update flow with a fake SteamCMD, and the real first-install flow.
  • New GitHub Actions workflow (.github/workflows/test.yml) runs all four suites on every push and pull request.
  • CI "Shell tests" run passed on both main and the v0.5.0 tag.

📖 Docs

  • README.md and dockerhub.md updated with the new install-verification and idle-detection behavior; version history entry added for v0.5.0.

v0.4.0

Choose a tag to compare

@AltSystem42 AltSystem42 released this 06 Oct 23:10

🐛 Fixes

  • Server no longer vanishes from the server browser after an auto-update/backup. The wrapper now actually waits for the old server process to exit before running SteamCMD and restarting (live PID tracking, SIGTERM → SIGKILL escalation), instead of the container exiting and the server staying unlisted until a manual restart.
  • Update loop no longer gets killed mid-SteamCMD.

⚙️ Configure server settings via .env

  • Set OWNER_ID, SERVER_NAME, DEFAULT_WORLD_NAME, ADMIN_PASSWORD, WORLD_PASSWORD, SERVER_GUID in .env — they are written into DedicatedServer.ini on container start.
  • Set a variable to override the value; leave it empty to keep the existing ini value.
  • Warns at startup if OwnerId is missing (the server won't be visible until it's set).

📜 Logging

  • Dedicated script log at server-data/logs/entrypoint.log, separate from game logs; appended across restarts and rotated by size.
  • New variables: LOG_TO_STDOUT, MAX_LOG_SIZE, LOG_RETENTION. Timestamped entries.

🔒 Security / config

  • .env removed from git tracking (now gitignored) — use the new .env.example as your template; repo history was rewritten to purge it.
  • Trivy + Hadolint security scanning in CI; hardened workflow permissions.
  • Consistent server-data volume setup; server-data gitignored.

📖 Docs

  • README overhaul: OwnerId post-build setup, server settings env vars, logs, and troubleshooting.

v0.3.5

Choose a tag to compare

@AltSystem42 AltSystem42 released this 14 Apr 17:09

Full Changelog: v0.3.4...v0.3.5

v0.3.4

Choose a tag to compare

@AltSystem42 AltSystem42 released this 14 Apr 16:45

Full Changelog: v0.3.3...v0.3.4

v0.3.3

Choose a tag to compare

@AltSystem42 AltSystem42 released this 14 Apr 13:59

Full Changelog: v0.3.2...v0.3.3

v0.3.2

Choose a tag to compare

@AltSystem42 AltSystem42 released this 14 Apr 13:40

Full Changelog: v0.3.1...v0.3.2

v0.3.1

Choose a tag to compare

@AltSystem42 AltSystem42 released this 14 Apr 13:22

Full Changelog: v0.3.0...v0.3.1

v0.3.0

Choose a tag to compare

@AltSystem42 AltSystem42 released this 10 Apr 19:10

Full Changelog: v0.2.8...v0.3.0

v0.2.8

Choose a tag to compare

@AltSystem42 AltSystem42 released this 10 Apr 13:10

Full Changelog: v0.2.7...v0.2.8

v0.2.7

Choose a tag to compare

@AltSystem42 AltSystem42 released this 10 Apr 00:44

Full Changelog: v0.2.6...v0.2.7