Skip to content

Repository files navigation

Plutainer

Run a dedicated game server in Docker. One image, eleven games, configured with environment variables.

services:
  my-server:
    image: ghcr.io/ayymoss/plutainer:latest
    ports: ["4976:4976/udp"]
    volumes:
      - /path/to/BO2/files:/home/plutainer/gamefiles:ro
      - ./my-server:/home/plutainer/app
    environment:
      PLUTAINER_GAME: t6zm
      PLUTAINER_CONFIG_FILE: dedicated_zm.cfg
      PLUTO_SERVER_KEY: your-key-here
    restart: unless-stopped

docker compose up -d and you have a Black Ops II zombies server. Plutainer writes a working config on first start, so there is nothing to prepare beyond the game files you own.

→ Start here: the Quickstart

Supported games

Game PLUTAINER_GAME Notes
World at War (T4) t4mp, t4sp Plutonium. Needs a server key
Black Ops (T5) t5mp, t5sp Plutonium. Needs a valid server key — see why
Black Ops II (T6) t6mp, t6zm Plutonium. Needs a server key
Modern Warfare 3 (IW5) iw5mp Plutonium. Needs a server key
Modern Warfare 2 (IW4x) iw4x No key. amd64 only
Black Ops III (T7x) t7x Alterware. No key
Modern Warfare (CoD4x) cod4x Multiplayer only, amd64 only. Needs a masterserver token to appear in the server browser
7 Days to Die 7dtd Native Linux server, amd64 only. Installed by SteamCMD; no gamefiles mount
Counter-Strike 2 cs2 Source 2, amd64 only. Installed by SteamCMD; ~67 GB. Needs a GSLT to be listed
Left 4 Dead 2 l4d2 Source engine, amd64 only. Installed by SteamCMD; no gamefiles mount
Half-Life 2: Deathmatch hl2dm Source engine, amd64 only. Installed by SteamCMD; no gamefiles mount

Image: ghcr.io/ayymoss/plutainer:latest — multi-arch (amd64 + arm64), with documented architecture exceptions.

Documentation

If you want to… Read
Get a first server running Quickstart
Know what your game needs Games — files, keys, config names, ports
Look up an environment variable Configuration
Understand where configs and logs live Volumes & configs
Send RCON commands RCON
Connect IW4MAdmin IW4MAdmin
Know when a server counts as healthy Healthcheck & restarts
Fix something that's broken Troubleshooting & FAQ
Copy a working compose file Examples
Upgrade from v1 Migration guide

What Plutainer does for you

  • Writes a working config on first start. Community defaults are seeded into app/configs/, and never overwrite files you've edited.
  • Fetches the server binaries. Plutonium, IW4x and T7x updaters run at startup; CoD4x ships in the image; the SteamCMD games install themselves. You supply base game files only for the games that need them.
  • Puts every config in one folder. Edit app/configs/whatever.cfg; Plutainer symlinks it to wherever the engine expects it.
  • Keeps logs findable. app/logs/ holds stable symlinks to the active log files, wherever the game moved them.
  • Fails loudly, not endlessly. A misconfiguration holds the container in Up with a readable error instead of a restart loop.
  • Reports real health. The healthcheck asks the server for its current map — no RCON password required.

Support

Discord: https://discord.gg/JekrGGWAUg — for Plutainer setup and configuration, including IW4MAdmin.

Plutonium-specific game issues are out of scope, and some familiarity with Docker is assumed. New to Docker? Start at https://docs.docker.com/get-started/.

Credits

About

Plutainer is a Docker image that simplifies running dedicated game servers (IW4x, AW-T7x, P-T4, P-T5, P-T6, P-IW5). It streamlines server setup and management through environment variables, automatic updater scripts, and a robust RCON healthcheck. Just bring your game files, configure the docker-compose.yml, and get your server online.

Topics

Resources

Stars

13 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages