og-cod-plutainer/examples
Amos 275c4c06d9
docs: correct the CoD4x key situation
"No key" was misleading. CoD4x has no Plutonium-style key, but a public server
does need a masterserver token: without one it cannot register, and an
unregistered server never appears in the in-game server browser, so in practice
nobody finds it. Only players given the address can connect directly. Host
migration needs one too.

The engine documents the source itself - sv_authtoken is registered with the
description "Token to register on masterserver. You can get it from
http://cod4master.cod4x.ovh" - and validates it at 32 characters. Both are now
in the docs, along with what actually happens when it is absent.

Corrected in the README game table, the games at-a-glance table, the quickstart
prerequisites, the variable reference, the troubleshooting entry, and both
examples. IW4x and T7x really do need nothing and are left as they were.
2026-08-15 18:01:04 +01:00
..
env.example docs: correct the CoD4x key situation 2026-08-15 18:01:04 +01:00
multi-server.yml docs: split the README into task-focused pages, rework the examples 2026-08-15 17:22:30 +01:00
per-game.yml docs: correct the CoD4x key situation 2026-08-15 18:01:04 +01:00
README.md docs: split the README into task-focused pages, rework the examples 2026-08-15 17:22:30 +01:00
single-server.yml docs: split the README into task-focused pages, rework the examples 2026-08-15 17:22:30 +01:00
with-iw4madmin.yml docs: split the README into task-focused pages, rework the examples 2026-08-15 17:22:30 +01:00

Examples

Copy the one that matches what you're doing, adjust the paths, docker compose up -d.

File What it is
single-server.yml One server. Start here
per-game.yml One ready-made service block for every supported game — copy the ones you want
multi-server.yml Several servers sharing one set of game files
with-iw4madmin.yml Servers plus an IW4MAdmin sidecar
env.example Keys and passwords, kept out of the compose file

The three things you must change

  1. The gamefiles path/opt/game-files/… in every example. Point it at your own copy.
  2. PLUTAINER_CONFIG_FILE — must name a config Plutainer seeds for that game (list).
  3. Ports — one server per port. Publish UDP.

Secrets

Put keys and RCON passwords in a .env file next to your compose file, and reference them as ${VARIABLE}:

cp examples/env.example .env

.env is picked up automatically by docker compose. Don't commit it.

New to this?

Read the Quickstart first — it walks through the same thing with explanations.