Skip to content

CSM v1.12.0

Choose a tag to compare

@github-actions github-actions released this 29 Sep 12:24
· 19 commits to master since this release

CSM v1.12.0

New

  • Host agent: control this machine from Auto Tournament. csm link <platform-url> <code>
    links the machine (get the command from Servers → Machines → Add machine), and
    csm agent install runs the agent as a systemd service. The platform can then list, start,
    stop, restart, create and update the machine's servers and see their health, with no SSH
    and no inbound port.
    • One outgoing WebSocket, https/wss only, certificates always verified. The token is
      stored with mode 600, rotated by the platform every 90 days, and never printed or logged.
    • A stop, restart or update of a server with a Ready Up match in progress is refused unless
      an admin gives a reason. The agent never restarts anything on its own.
    • csm link status, csm unlink, csm agent status.
  • Ready Up as the plugin stack. csm plugins stack readyup installs
    Ready Up on every server instead of
    Metamod + CounterStrikeSharp + the old plugin.
    • Channel stable or beta, a pinned version, bundle essentials or full
      (csm plugins channel|version|bundle).
    • Every download is checked against the release's SHA256SUMS.
    • Keeps itself up to date: csm monitor updates Ready Up on its channel, only on
      servers that are stopped or idle with nobody connected, and never while updates are held.
      csm plugins auto off turns it off.
    • New servers get Ready Up before their first start. Servers the platform creates also get
      their link settings and join the platform by themselves.
    • After a CS2 update, csm puts the Ready Up line back into gameinfo.gi.
    • A host that runs the old stack stays on it. The README has a "Moving to Ready Up" section.
  • License answer, asked once. Ready Up's installer needs to know whether you use it
    non-commercially or commercially. csm update-plugins asks once in a terminal (you type
    I AGREE), or set it with csm plugins license noncommercial|commercial.
    AT_ACCEPT_LICENSE overrides it. If you never answered, csm takes the answer from the
    platform. An answer you gave is never replaced.
  • Instance mode: one CS2 install, many servers. csm instance create runs a server from
    the one shared, read-only CS2 install through overlayfs, instead of a full copy per server.
    Each instance only stores what it writes itself (logs, demos, backups). No root and no
    sudo: it uses an unprivileged user namespace (Linux 5.11 or newer). Each instance has its
    own ports, HOME, /dev/shm, console and crash restart. Ready Up only.
    • csm instance create|start|stop|restart|status|remove|attach|logs|shell,
      csm instance layer ..., csm instance game, csm instance gc.
    • csm status, start|stop|restart, logs, attach and the TUI work on instances.
    • With csm instance config backend instances, the host agent reports instances as the
      machine's servers, so the platform creates and scales instances.
  • Safe, versioned CS2 updates for instances. A CS2 update never writes to an install a
    running server uses. csm builds a new game version next to the old one (hardlinked, so it
    costs only the changed files), and restarts idle instances onto it. Busy or held instances
    keep the old version until they are idle. Old versions are removed when nothing uses them.
    Ready Up updates work the same way: a new layer, never a change to the one in use.

Changed

  • The legacy stack installs Auto Tournament CS2 1.4.35, pinned, instead of whatever is
    latest (CSM_LEGACY_PLUGIN_VERSION picks another). On an Auto Tournament 3.x platform, csm
    refuses the legacy stack with a clear message before touching anything; use Ready Up there.

Upgrading

  • Update as usual (the TUI offers it, or download the new binary). No config changes.
    Existing server-N folders, server.cfg files and Ready Up data are kept, and nothing
    changes until you use the new commands.
  • To move a host to Ready Up (Auto Tournament 3.0 betas):
    csm plugins stack readyup
    csm plugins channel beta              # while Ready Up has only pre-releases
    csm plugins license noncommercial     # or commercial
    csm update-plugins
  • To link the machine to the platform (Auto Tournament 3.0.0-beta.14 or newer):
    csm link https://your-platform <code>
    csm agent install
  • To try instance mode: csm instance layer build, then csm instance create and
    csm instance start all. See "Instance mode" in the README.

Known limitations

  • Instance mode needs Ready Up (not the legacy stack) and Linux 5.11 or newer. Instances save
    disk and setup time, not memory: each running CS2 server still needs its own RAM.
  • The host agent only removes the last server, and doesn't change launch arguments yet.
  • The TUI install wizard has no license field; it shows how to give the answer.