Docker for ARK: Survival Evolved
Find a file
2015-10-27 14:06:31 +01:00
arkmanager-system.cfg Fix arkmanager system config file with instead of hardcoded steam port. 2015-10-23 11:19:31 +02:00
arkmanager-user.cfg Fix user arkmanager default settings 2015-10-23 14:37:34 +02:00
Dockerfile Add link to arkmanager in /usr/bin to allow crontab to call it directly 2015-10-27 13:42:32 +01:00
README.md Update README.md 2015-10-27 14:06:31 +01:00
run.sh Add link to arkmanager in /usr/bin to allow crontab to call it directly 2015-10-27 13:42:32 +01:00

ARK: Survival Evolved - Docker

Docker build for managing an ARK: Survival Evolved server.

This image uses Ark Server Tools to manage an ark server.

If you use an old volume, delete arkmanager.cfg to get the new configuration file.
Don't forget to use docker pull turzam/ark to get the latest version of the image

Features

  • Easy install (no steamcmd / lib32... to install)
  • Use Ark Server Tools : update/install/start/backup/rcon
  • Easy crontab configuration
  • Easy access to ark config file
  • Mods handling (via Ark Server Tools)
  • Docker stop is a clean stop

Usage

Fast & Easy server setup :
docker run -d -p 7778:7778 -p 7778:7778/udp -p 27015:27015 -p 27015:27015/udp -e SESSIONNAME=myserver -e ADMINPASSWORD="mypasswordadmin" --name ark turzam/ark

You can map the ark volume to access config files :
docker run -d -p 7778:7778 -p 7778:7778/udp -p 27015:27015 -p 27015:27015/udp -e SESSIONNAME=myserver -v /my/path/to/ark:/ark --name ark turzam/ark
Then you can edit /my/path/to/ark/arkcmanager.cfg (the values override GameUserSetting.ini) and /my/path/to/ark/[GameUserSetting.ini/Game.ini]

You can manager your server with rcon if you map the rcon port (you can rebind the rcon port with docker):
docker run -d -p 7778:7778 -p 7778:7778/udp -p 27015:27015 -p 27015:27015/udp -p 32330:32330 -e SESSIONNAME=myserver --name ark turzam/ark

You can change server and steam port to allow multiple servers on same host:
(You can't just rebind the port with docker. It won't work, you need to change STEAMPORT & SERVERPORT variable) docker run -d -p 7779:7779 -p 7779:7779/udp -p 27016:27016 -p 27016:27016/udp -p 32331:32330 -e SESSIONNAME=myserver2 -e SERVERPORT=27016 -e STEAMPORT=7779 --name ark2 turzam/ark

You can check your server with :
docker exec ark arkmanager status

You can manually update your server:
docker exec ark arkmanager update --force

You can force save your server :
docker exec ark arkmanager saveworld

You can backup your server :
docker exec ark arkmanager backup

You can upgrade Ark Server Tools :
docker exec ark arkmanager upgrade-tools

You can use rcon command via docker :
docker exec ark arkmanager rconcmd ListPlayers
Full list of available command here

You can check all available command for arkmanager here

You can easily configure automatic update and backup.
If you edit the file /my/path/to/ark/crontab you can add your crontab job.
For example :
# Update the server every hours
0 * * * * arkmanager update --warn --update-mods >> /ark/log/crontab.log 2&>1 # Backup the server each day at 00:00
0 0 * * * arkmanager backup >> /ark/log/crontab.log 2&>1
You can check this website for more information on cron.


  • First run
    docker run -it -p 7778:7778 -p 7778:7778/udp -p 27015:27015 -p 27015:27015/udp -p 32330:32330 -e SESSIONNAME=myserver -e ADMINPASSWORD="mypasswordadmin" -e AUTOUPDATE=120 -e AUTOBACKUP=60 -e WARNMINUTE=30 -v /my/path/to/ark:/ark --name ark turzam/ark
  • Wait for ark to be downloaded installed and launched, then Ctrl+C to stop the server.
  • Modify /my/path/to/ark/GameUserSetting.ini and Game.ini
  • Add auto update every day and autobackup by editing /my/path/to/ark/crontab with this lines : 0 0 * * * arkmanager update --warn --update-mods >> /ark/log/crontab.log 2&>1 0 0 * * * arkmanager backup >> /ark/log/crontab.log 2&>1
  • docker start ark
  • Check your server with :
    docker exec ark arkmanager status

Variables

  • SESSIONNAME Name of your ark server (default : "Ark Docker")
  • SERVERMAP Map of your ark server (default : "TheIsland")
  • SERVERPASSWORD Password of your ark server (default : "")
  • ADMINPASSWORD Admin password of your ark server (default : "adminpassword")
  • SERVERPORT Ark server port (can't rebind with docker, it doesn't work) (default : 27015)
  • STEAMPORT Steam server port (can't rebind with docker, it doesn't work) (default : 7778)
  • BACKUPONSTART 1 : Backup the server when the container is started. 0: no backup (default : 1)
  • UPDATEPONSTART 1 : Update the server when the container is started. 0: no update (default : 1)
  • WARNMINUTE Number of minute to warn the players when auto-update (default : 30)

Volumes

  • /ark : Working directory :
    • /ark/server : Server files and data.
    • /ark/log : logs
    • /ark/backup : backups
    • /ark/arkmanager.cfg : config file
    • /ark/crontab : crontab config file
    • /ark/Game.ini : ark game.ini config file
    • /ark/GameUserSetting.ini : ark gameusersetting.ini config file

Expose

  • Port : STEAMPORT : Steam port (default: 7778)
  • Port : SERVERPORT : server port (default: 27015)
  • Port : 32330 : rcon port

Known issues


Changelog

  • 1.0 :
    • Initial image : works with Ark Server tools 1.3
    • Add auto-update & auto-backup
  • 1.1 :
  • 1.2 :
    • Remove variable AUTOBACKUP & AUTOUPDATE
    • Add crontab support
    • You can now config crontab with the file /your/ark/path/crontab