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"