TheDelta / Squad

Dockerfile for automated build of a Squad gameserver: https://hub.docker.com/r/cm2network/squad/

Home Page:https://CM2.Network

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Docker Build Status Docker Stars Docker Pulls Discord

Supported tags and respective Dockerfile links

What is Squad?

Squad is a tactical FPS that provides authentic combat experiences through teamwork, communication, and gameplay. It seeks to bridge the large gap between arcade shooter and military simulation. Large scale, combined arms combat, base building, and a great integrated VoIP system.
This Docker image contains the dedicated server of the game.

Squad

logo

How to use this image

Hosting a simple game server

Running on the host interface (recommended):

$ docker run -d --net=host -v /home/steam/squad-dedicated/ --name=squad-dedicated cm2network/squad

Running using a bind mount for data persistence on container recreation:

$ mkdir -p $(pwd)/squad-data
$ chmod 777 $(pwd)/squad-data # Makes sure the directory is writeable by the unprivileged container user
$ docker run -d --net=host -v $(pwd)/squad-data:/home/steam/squad-dedicated/ --name=squad-dedicated cm2network/squad

Running multiple instances (iterate PORT, QUERYPORT and RCONPORT):

$ docker run -d --net=host -v /home/steam/squad-dedicated/ -e PORT=7788 -e QUERYPORT=27166 -e RCONPORT=21115 --name=squad-dedicated2 cm2network/squad

It's also recommended using "--cpuset-cpus=" to limit the game server to a specific core & thread.
The container will automatically update the game on startup, so if there is a game update just restart the container.

docker-compose.yml example

version: '3.9'

services:
  squad:
    image: cm2network/squad
    container_name: squad
    restart: unless-stopped
    network_mode: "host"
    volumes:
      - /storage/squad/:/home/steam/squad-dedicated/
    environment:
      - PORT=7787
      - QUERYPORT=27165
      - RCONPORT=21114
      - FIXEDMAXPLAYERS=100

Configuration

Environment Variables

Feel free to overwrite these environment variables, using -e (--env):

PORT=7787
QUERYPORT=27165
RCONPORT=21114
FIXEDMAXPLAYERS=80
FIXEDMAXTICKRATE=50
RANDOM=NONE
MODS="()"

Config

The config files can be edited using this command:

$ docker exec -it squad-dedicated nano /home/steam/squad-dedicated/SquadGame/ServerConfig/Server.cfg

If you want to learn more about configuring a Squad server check this documentation.

Mods

Add each id to the MODS environment variable, for example MODS="(13371337 12341234 1111111)"

MODS must be a bash array (mod1id mod2id mod3id) where each mod id is separated by a space and inclosed in brackets

You can get the mod id from the workshop url or by installing it locally and lookup the numeric folder name at <root_steam_folder>/steamapps/workshop/content/393380.

Contributors

Contributors Display

About

Dockerfile for automated build of a Squad gameserver: https://hub.docker.com/r/cm2network/squad/

https://CM2.Network

License:MIT License


Languages

Language:Shell 63.7%Language:Dockerfile 36.3%