LinuxGSM is the command-line tool for quick, simple deployment and management of Linux dedicated game servers.
This docker image is under development and not officialy supported.
A dockerised version of LinuxGSM https://linuxgsm.com Dockerhub https://hub.docker.com/r/gameservermanagers/linuxgsm-docker/
- Choose your servercode and replace in below
- start
docker-compose -f examples/SERVER.yml up -d, if the server needs credentials there will be placeholders in the compose. - get config location
docker exec -it lgsm-SERVER-1 details - copy your own config into:
docker cp my_local_config.txt lgsm-SERVER-1:/config_location_from_step_3 - print config content
docker exec lgsm-SERVER-1 cat /config_location_from_step_3 - stop with:
- Stopping container and keep files
docker-compose -f examples/SERVER.yml downordocker stop lgsm-SERVER-1 - Stopping container and remove files
docker-compose -f examples/SERVER.yml down --volumes
- Stopping container and keep files
- build with
./test/single.sh --build-only servercode - test with
./test/single.sh servercode - get help
./test/single.sh --help - LinuxGSM monitor executed every few seconds as health check
docker stop CONTAINERis redirected to lgsm-stopdocker logs CONTAINERshow the game server logdocker exec -it CONTAINER --helpevery linuxgsm command is available in two forms e.g.lgsm-updateandupdate. Available commands differ for different servercodes.- Repository / Container / Dev structure documentation
- How to build this / How to use it for lgsm testing
You can configure LinuxGSM and some gameservers(alpha state) with environment variables directly. E.g. you want to set steamuser / steampass which is a LinuxGSM option:
CONFIG_steamuser=...its checked if this variable exists before its set, container will exit very early if the configuration option isn't already part of _default.cfgCONFIGFORCED_steamuser=...The variable will be set always, no check done.- These options will be written to the instance.cfg, thereforce you can use it to set options like
CONFIG_startparameters,CONFIG_discordalertand so on.
You can create cron jobs with environment variables. CRON_update_daily=0 7 * * * update will create a cronjob which will check for updates once a day.
volumes:
ahl2server-files:
name: lgsm
services:
ahl2server:
image: "gameservermanagers/linuxgsm-docker:ahl2server"
tty: true
restart: unless-stopped
environment:
- "CRON_update_daily=0 7 * * * update"
- "CONFIGFORCED_steamuser=MySteamName"
- "CONFIGFORCED_steampass=my steam password"
volumes:
- ahl2server-files:/home/linuxgsm
- /etc/localtime:/etc/localtime:ro
ports:
# Game
- "27015:27015/udp"
# Query / RCON
- "27015:27015/tcp"
# SourceTV
- "27020:27020/udp"
# Client
- "27005:27005/udp"