Skip to content

EvilOlaf/scum

Repository files navigation

SCUM Dedicated Server - dockerized

🏁 Quick start

  1. Grab the docker-compose.yml
  2. run docker compose up -d and be patient1
  3. Fire up your SCUM game and connect using either no port or port 7779

➡️ Docker image contents

  • slim Debian Bookworm with Wine 10.0
  • pre-configured 64-bit Wine prefix
  • SCUM server startup script, which
    • installs/updates SCUM dedicated server on startup

➡️ Requirements

  • Linux
  • Docker.io with docker compose
  • 8GB memory (absolute bare minimum, get 16GB or at least 12GB. 32GB or even more for large servers)

❓ How to use plain Docker without compose

Don't want to use docker compose? Check decomposerize.

❓ How to customize ports

In your docker-compose.yml adjust GAMEPORT2 and QUERYPORT.

Warning

When GAMEPORT or QUERYPORT are altered, this change MUST reflect the port mapping as well.

Example for ports 10000 and 20000:
   environment:
     - GAMEPORT=10000
     - QUERYPORT=20000
   ports:
     - "10000:10000/udp"
     - "10000:10000/tcp"
     - "10001:10001/udp"
     - "10001:10001/tcp"
     - "10002:10002/udp"
     - "10002:10002/tcp"
     - "20000:20000/udp"
     - "20000:20000/tcp"

The port for players to connect is now 10002.

❓ How to customize SCUM server

All server data is exposed in the scumserver-data folder.
For further information check here.

❓ How to automatically restart every X hours

This image does not come with an automated way to periodically restart.
Though this should be easy enough to setup using a cronjob, like
0 */6 * * * YourDockerUser cd /path/to/docker/compose/file && docker compose restart
Need different time or interval but lacking knowledge of cron? Check crontab.guru

❓ Which Docker image? main or latest?

Images tagged as latest are tested and known to work.3 Any other tag represents active development and/or automated untested builds.

ℹ️ Footnotes

I am certain some port exposures are unnecessary. However, I could not find clear documentation on which ports and protocols are actually required. The SCUM server's port calculation behaviour doesn't help either. Exposing additional ports should not cause any harm.

This image started as reverse-engineered4 version of the j0s0n/scum-wine Docker image. It attempts to fix some of its issues relating to updates and restarts and perhaps adds some enhancements. All credit for the initial work goes to j0s0n.

EvilOlaf - scum stars - scum forks - scum GitHub tag maintained - yes OS - Linux Made with Docker

Footnotes

  1. Use docker compose logs -f to check the process.
    Once you see something like scum-server | LogBattlEye: Display: Config entry: MasterPort 8037
    in the logs, your game server should be ready to accept player connections.

  2. SCUM has a weird way to assign the ports necessary for gameplay. It will always use two ports right after the assigned GAMEPORT. For example if your GAMEPORT is 7777, then it will always use 7778 and 7779 for various things as well. This also results in being 7779 the port for players to connect even though 7777 is configure. Ridiculous and dumb IMHO but it is what it is.

  3. After the SCUM game server has fully started with the specific Docker image, I launch my game client and connect to it. If I can join the game and play a bit without issues, I consider the image tested and working.

  4. As the author of the original image seems reluctant to provide the Dockerfile, I decided to take matters into my own hands.
    For the reason above the original image should be considered closed-source/proprietary.

About

SCUM dedicated server dockerized

Topics

Resources

Stars

Watchers

Forks

Packages