Skip to content

Quick Start

This is the shortest path from nothing to a server other players can join. It uses the container image, which is the recommended way of installing a server on linux. You need Docker or Podman installed. Everything else is downloaded for you on the first start.

Running on Windows

If you are trying to run the server on windows, see On Windows

1. Create a folder

Pick a location that can hold a few gigabytes and create a folder for your server.

my-server/
└── compose.yaml          created in the next step

2. Add a compose file

compose.yaml
services:
  server:
    image: ghcr.io/replayre/server
    restart: unless-stopped
    stop_grace_period: 30s
    tty: true
    ports:
      # cfg/server.cfg is overruled by these
      - "${GAME_PORT:-20770}:${GAME_PORT:-20770}/udp"
      - "${GAME_PORT:-20770}:${GAME_PORT:-20770}/tcp"
      - "${VOIP_PORT:-20771}:${VOIP_PORT:-20771}/udp"
      - "${VOIP_PORT:-20771}:${VOIP_PORT:-20771}/tcp"
    environment:
      # settings are applied on every start
      CHANNEL: "alpha"
      AUTO_UPDATE: "true"
      RESTART_AFTER_UPDATE: "auto"
      GAME_PORT: "${GAME_PORT:-20770}"
      VOIP_PORT: "${VOIP_PORT:-20771}"
    volumes:
      - server-data:/srv
      - ./cfg:/srv/cfg
      - ./logs:/srv/logs
      - ./ugc:/srv/data/ugc

volumes:
  server-data:

The restart line is important. A server that updates itself has to be able to stop and come back, and in a container that is the job of the restart policy. See Updates.

3. Start it

docker compose up -d

The first start downloads the server files into the server-data volume and creates cfg/server.cfg from a bundled example. When it finishes you can read the log to confirm the server is up:

docker compose logs -f

or

ls -la logs/
cat logs/<newest>

Look for a line naming the address the server is listening on. Then rename your server by editing cfg/server.cfg and restarting:

cfg/server.cfg
sv_name "My server"
sv_desc "Private server for friends"
docker compose restart

4. Allow LAN players to join

Players on your local network can connect right away. You can connect to server running on the default port on your local machine using the Connect to Local Server button (see Connecting).

If you want to connect to local server on a different machine in your LAN, use the console

connect <local-server-ip>

You need to open or forward the ports listed in the compose file above. See Networking & Ports.

5. Adding your server to the server list

If you want to add your server to the global server list, follow the instructions to obtain a server key here Registering a server.

Edit your server.cfg and add it like:

cfg/server.cfg
sv_server_key <your key>

sv_lan

If you want to temporarely hide your server from the server list you can always specify sv_lan true, even if you have a sv_server_key configured. This is also useful if a locally hosted server is temporarely not able to reach the internet, but you want to continue playing

If you want to change the endpoint that is listed in the server list, use:

cfg/server.cfg
sv_endpoint <ip or dns>:<port>

Warning

During alpha you need to set sv_endpoint to the same address you specified in the management panel

This will change at a later date to allow complex reverse proxy setups

Next steps