Ark-docker/README.md

139 lines
5.5 KiB
Markdown
Raw Normal View History

2015-10-22 10:39:59 +02:00
# ARK: Survival Evolved - Docker
2015-09-17 13:21:43 +02:00
2015-10-22 10:39:59 +02:00
Docker build for managing an ARK: Survival Evolved server.
2015-09-17 13:21:43 +02:00
2015-10-22 10:39:59 +02:00
This image uses [Ark Server Tools](https://github.com/FezVrasta/ark-server-tools) to manage an ark server.
2015-09-17 13:21:43 +02:00
2015-10-27 08:56:27 +01:00
*If you use an old volume, delete arkmanager.cfg to get the new configuration file.*
2015-10-27 14:06:31 +01:00
__Don't forget to use `docker pull turzam/ark` to get the latest version of the image__
2015-10-27 08:56:27 +01:00
2015-10-23 11:53:52 +02:00
## Features
- Easy install (no steamcmd / lib32... to install)
- Use Ark Server Tools : update/install/start/backup/rcon
2015-10-27 14:06:31 +01:00
- Easy crontab configuration
- Easy access to ark config file
2015-10-23 11:53:52 +02:00
- Mods handling (via Ark Server Tools)
2015-10-23 11:58:54 +02:00
- `Docker stop` is a clean stop
2015-10-23 11:53:52 +02:00
2015-09-17 13:21:43 +02:00
## Usage
Fast & Easy server setup :
2015-09-18 11:23:38 +02:00
`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`
2015-09-17 13:21:43 +02:00
You can map the ark volume to access config files :
2015-09-18 11:23:38 +02:00
`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`
2015-10-27 14:06:31 +01:00
Then you can edit */my/path/to/ark/arkcmanager.cfg* (the values override GameUserSetting.ini) and */my/path/to/ark/[GameUserSetting.ini/Game.ini]*
2015-09-17 13:21:43 +02:00
2015-10-23 11:53:52 +02:00
You can manager your server with rcon if you map the rcon port (you can rebind the rcon port with docker):
2015-09-18 11:23:38 +02:00
`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`
2015-09-17 13:21:43 +02:00
2015-09-18 11:23:38 +02:00
You can change server and steam port to allow multiple servers on same host:
2015-10-23 11:53:52 +02:00
*(You can't just rebind the port with docker. It won't work, you need to change STEAMPORT & SERVERPORT variable)*
2015-09-18 11:23:38 +02:00
`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`
2015-09-17 13:21:43 +02:00
You can check your server with :
`docker exec ark arkmanager status`
You can manually update your server:
2015-10-23 11:53:52 +02:00
`docker exec ark arkmanager update --force`
2015-09-17 13:21:43 +02:00
You can force save your server :
`docker exec ark arkmanager saveworld`
2015-10-23 11:53:52 +02:00
You can backup your server :
`docker exec ark arkmanager backup`
You can upgrade Ark Server Tools :
`docker exec ark arkmanager upgrade-tools`
2015-09-17 13:21:43 +02:00
You can use rcon command via docker :
`docker exec ark arkmanager rconcmd ListPlayers`
*Full list of available command [here](http://steamcommunity.com/sharedfiles/filedetails/?id=454529617&searchtext=admin)*
__You can check all available command for arkmanager__ [here](https://github.com/FezVrasta/ark-server-tools/blob/master/README.md)
2015-10-27 14:06:31 +01:00
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](http://www.unix.com/man-page/linux/5/crontab/) for more information on cron.*
2015-09-17 13:21:43 +02:00
---
## Recommended Usage
- First run
2015-09-18 11:23:38 +02:00
`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`
2015-09-17 13:21:43 +02:00
- Wait for ark to be downloaded installed and launched, then Ctrl+C to stop the server.
2015-10-27 14:06:31 +01:00
- 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 `
2015-09-17 13:21:43 +02:00
- `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")
2015-09-18 11:23:38 +02:00
+ __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)
2015-09-17 13:21:43 +02:00
+ __BACKUPONSTART__
1 : Backup the server when the container is started. 0: no backup (default : 1)
+ __UPDATEPONSTART__
2015-11-05 14:48:46 +01:00
1 : Update the server when the container is started. 0: no update (default : 1)
+ __TZ__
Time Zone : Set the container timezone (for crontab).
2015-09-18 11:23:38 +02:00
2015-09-17 13:21:43 +02:00
---
## Volumes
+ __/ark__ : Working directory :
+ /ark/server : Server files and data.
+ /ark/log : logs
+ /ark/backup : backups
+ /ark/arkmanager.cfg : config file
2015-10-27 14:06:31 +01:00
+ /ark/crontab : crontab config file
+ /ark/Game.ini : ark game.ini config file
+ /ark/GameUserSetting.ini : ark gameusersetting.ini config file
2015-09-17 13:21:43 +02:00
---
## Expose
2015-09-18 11:23:38 +02:00
+ Port : __STEAMPORT__ : Steam port (default: 7778)
+ Port : __SERVERPORT__ : server port (default: 27015)
2015-09-17 13:21:43 +02:00
+ Port : __32330__ : rcon port
---
## Known issues
2015-10-27 10:38:07 +01:00
---
## Changelog
+ 1.0 :
- Initial image : works with Ark Server tools 1.3
- Add auto-update & auto-backup
2015-10-27 10:43:55 +01:00
+ 1.1 :
2015-10-27 10:38:07 +01:00
- Works with Ark Server Tools 1.4 [See changelog here](https://github.com/FezVrasta/ark-server-tools/releases/tag/v1.4)
- Handle mods && auto update mods
2015-10-27 14:06:31 +01:00
+ 1.2 :
2015-11-05 14:48:46 +01:00
- Remove variable AUTOBACKUP & AUTOUPDATE
- Remove variable WARNMINUTE (can now be find in arkmanager.cfg)
2015-10-27 14:06:31 +01:00
- Add crontab support
- You can now config crontab with the file /your/ark/path/crontab
2015-10-27 10:38:07 +01:00