Skip to content

War Table

The War Table module works in conjunction with the Orchestrator to provide the relevant tools for the game containers.

This project handles the tools that are shared between game containers.

Projects

Contained Steam (steamcmd) are scripts to automate/update steamcmd and the game server files (within a steamcmd-based docker container), as part of the PEON automation services.

Steamed Wine (steamcmd+winhq) is a custom container to facilitate game servers that are only built for Windows OS, within the PEON tool suite.

Modes

Modes are just unique names that help the recipe inform the server which mechanism must be followed with the automation of services. Hopefully, this will stay a short-list

Mode Release Notes Container Tag
steamcmd Contained Steam umlatt/steamcmd
steamwine Steamed Wine umlatt/steamcmd-winehq
steamproton Steamed Proton umlatt/steamcmd-proton

Design Objectives

  1. Only scripts/code are to be stored here. Large file pulls should be done from other sources.
  2. Attempt to keep the code pool as generic as possible to maximize code reuse/supportability.
  3. If something already exists and is open source, do not rewrite it needlessly.

Software Stack Diagram

*This may change as technologies & skills evolve.

Software Stack


Links to various project-related resources.

GitHub GitHub GitHub


Roadmap

Here you can see what the future holds.

  • ADDED 🆕 steamcmd non-anonymous user login with steamapp authenticator flow

Release Notes


Contained Steam

A PEON implementation of vanilla SteamCMD.

1.2.10

  • CHANGE 🛠 Updated to latest OS/package combinations.

1.2.9

  • CHANGE 🛠 Updated to latest OS/package combinations.

1.2.8

  • CHANGED 🛠 Fixed .initialized flag.

1.2.7

  • ADDED 🆕 Added environment variable LOG_PATH for redirecting outputs to the docker log

1.2.6

  • CHANGED 🛠 Rebuilt off of the latest available source image.

1.2.5

  • CHANGED 🛠 Rebuilt off of the latest available source image.

1.2.4

  • CHANGED 🛠 Added error details as a parameter into /init/shared`

1.2.1

  • CHANGED 🛠 Updated to the latest version of steamcmd

1.2.0

⚡ IMPACT RELEASE ⚡

  • CHANGED 🛠 Reworked the container image to use less ambiguous mount options for files.
  • ADDED 🆕 Additional outputs to state file
  • ADDED 🆕 Fail on missing /actions folder (not being mounted)

1.1.4

  • CHANGED 🛠 Maintenance release. Rebuilt image to latest base software release.

1.1.3

  • CHANGED 🛠 Changed environment variable STEAMID to STEAM_ID to match builder.

1.1.2

  • ADDED 🆕 Set server state to OFFLINE on shutdown (SIGTERM sent to PID 1)
  • LOGGING 💬 changed the step header prefix to [*]

1.1.1

  • LOGGING 💬 changed the step header prefix to [o]
  • BUGFIX 🪲 fixed a permissions issue on boot.

1.1.0

⚡ IMPACT RELEASE ⚡

  • CHANGED 🛠 reworked the entire deployment flow for better permissions and deeper PEON integration
  • CHANGED 🛠 PEON-specific files now live in /home/steam/peon and do not need multiple volume mounts.
  • ADDED 🆕 A container env var that links (if exists) the relevant save data to the /home/steam/peon/download directory.

1.0.6

  • CHANGED 🛠 Set init scripts to run as root. Only the server_start script is run as steam user.
  • ADDED 🆕 Login banner

1.0.5

  • CHANGED 🛠 Set default server save path to /home/steam/data to match most recipes.

1.0.3

  • ADDED 🆕 Made server_start script generic (interpreter directive such as #!/bin/bash = bash script, etc.)
  • CHANGED 🛠 Reworked the naming to allow for generic container use.

1.0.2

  • ADDED 🆕 Init scripts to ensure the server is updated to the latest build on boot.

1.0.0

  • INITIALISED ✈ Initial commit

Steamed Wine

A PEON implementation of vanilla SteamCMD with a WINEHQ implementation to support Windows native servers.

1.2.10

  • CHANGE 🛠 Updated to latest OS/package combinations.

1.2.9

  • CHANGE 🛠 Updated to latest OS/package combinations.

1.2.8

  • CHANGED 🛠 Fixed .initialized flag.

1.2.7

  • ADDED 🆕 Added environment variable LOG_PATH for redirecting outputs to the docker log

1.2.6

  • CHANGED 🛠 Rebuilt off of the latest available source image.

1.2.5

  • CHANGED 🛠 Rebuilt off of the latest available source image.
  • ADDED 🆕 Packages lib32gcc1-s1 and libstdc++6 which should further enhance 32-bit application support.

1.2.4

  • CHANGED 🛠 Added error details as a parameter into /init/shared`

1.2.1

  • CHANGED 🛠 Updated to the latest version of steamcmd

1.2.0

⚡ IMPACT RELEASE ⚡

  • CHANGED 🛠 Reworked the container image to use less ambiguous mount options for files.
  • ADDED 🆕 Additional outputs to state file
  • ADDED 🆕 Fail on missing /actions folder (not being mounted)

1.1.4

  • CHANGED 🛠 Maintenance release. Rebuilt image to latest base software release.

1.1.3

  • CHANGED 🛠 Changed environment variable STEAMID to STEAM_ID to match builder.

1.1.2

  • ADDED 🆕 Set server state to OFFLINE on shutdown (SIGTERM sent to PID 1)
  • LOGGING 💬 changed the step header prefix to [*]

1.1.1

  • LOGGING 💬 changed the step header prefix to [o]
  • BUGFIX 🪲 fixed a permissions issue on boot.

1.1.0

  • ADDED 🆕 Add init scripts to mirror changes to PEON

1.0.0

  • ADDED 🆕 WINE deployed
  • TESTED 📝 WINE with VRising server.
  • INITIALISED ✈ Initial commit

Steamed Proton

A PEON implementation of vanilla SteamCMD with the Proton layer added to more closely mirror steams emulation layers.

1.0.0

  • ADDED 🆕 Proton+WINE deployed
  • TESTED 📝 Proton with Enshrouded server.
  • INITIALISED ✈ Initial commit