Skip to content

v1.4.0 — A tidier ship and sharper charts

Choose a tag to compare

@UberDudePL UberDudePL released this 22 Apr 01:34
· 43 commits to main since this release

⚓ Windrose Dedicated Server Docker v1.4.0

A well-crewed release focused on operational reliability, cleaner deckwork, and wider harbour reach.


Changes

New commands

  • ./windrose doctor — full host and runtime preflight check (Docker, Compose, RAM, disk, data path, container health, ports)
  • ./windrose diagnostics [lines] — collects a diagnostics/ bundle (logs, status, doctor output, env-redacted, container inspect) for incident review

Reliability

  • Mutation lock: start, stop, restart, update, backup now reject concurrent runs with a clear error
  • update_server() warns when old file layout is detected (backups/player-events.log still present)
  • Backup integrity verification: every archive is tested with tar -tzf or zip -T immediately after creation; fails fast on corruption
  • doctor_server() now returns a status code instead of calling exit, making it safe to call from diagnostics_bundle()

Notifications

  • NOTIFY_PROVIDER=both — send every player event to Discord and Gotify simultaneously

Folder structure reorganised

  • backups/ — backup archives only
  • logs/ — update, backup, player activity, notify logs
  • state/ — player identity map and event deduplication files
  • diagnostics/ — diagnostics bundles
  • migrate-folders.sh included for existing installations

Documentation

  • README.md split into three focused files: README.md (operators), TROUBLESHOOTING.md (diagnostics playbooks), DEVELOPMENT.md (local builds and CI)

Publishing

  • Docker images now published to both GHCR and Docker Hub on every release tag

Upgrade

git pull
./windrose update

Folder migration — if upgrading from v1.3.x or earlier, run once to reorganize logs and state files:

./migrate-folders.sh

This script moves player activity logs, identity maps, and diagnostics into dedicated folders (logs/, state/, diagnostics/). It's safe to run multiple times and does not affect backup archives or save data.


Captain's note

No save data or volume paths were changed. Existing backups stay valid.


Notes

  • NOTIFY_PROVIDER=both requires both DISCORD_WEBHOOK_URL and Gotify credentials to be set.