Sign inSign up

devnode/ark-ascended

By devnode

•Updated almost 3 years ago

devnode's ARK Survival Ascended Docker Image

Image
0

401

devnode/ark-ascended repository overview

⁠devnode's ARK Survival Ascended Docker Image

This Docker image uses GloriousEggroll's Proton-GE which allows to run the ARK Survival Ascended Windows server binaries on Linux easily. Also the Image is based on a fork of https://github.com/azixus/ARK_Ascended_Docker⁠ with my own additions which include different paths, optional timezone, helper scripts, a default PvE config and an autoupdate process to keep the server up to date.

Much love to the following people for their work and inspiration:

  • azixus
  • cdp1337
  • GloriousEggroll

⁠Quick start

  1. Clone project
  2. create .env file
  3. Start with docker-compose up
$ git clone https://gitlab.devnode.net/gameserver/ark-ascended.git
$ cd ark-ascended
$ mv example.env .env
$ docker-compose up -d
  1. How to see the logs?
$ docker logs -f ark-ascended

⁠Usage

You can just download the Project by cloning the git repository.

$ git clone https://gitlab.devnode.net/gameserver/ark-ascended.git
$ cd ark-ascended

Before starting the container, edit the .env⁠ file to customize the starting parameters of the server. You may also edit Game.ini⁠ and GameUserSettings.ini⁠ for additional settings. Once this is done, start the container as follow:

$ docker compose up -d

During the startup of the container, the ASA server will be automatically downloaded and updated with a cronjob via steamcmd. After the download is finished the ASA server will start with a default configuration.

$ docker logs -f ark-ascended
[   INF   ] *** Timezone is Europe/Berlin...
[   INF   ] *** Server is already installed. Found: ArkAscendedServer.exe
[   INF   ] *** Starting manager ...
[   INF   ] *** Server auto update enabled. (KEEP_SERVER_UPDATED=1)

[  TRACE  ] 2023-11-26 19:42:38  *** server autoUpdateCheck
[   INF   ] *** Starting ARK Survival Ascended server on port 7777 ...
-------- STARTING SERVER --------
tail: /home/steam/arkserver/ShooterGame/Saved/Logs/ShooterGame.log: file truncated
[2023.11.26-18.42.40:976][  0]Log file open, 11/26/23 19:42:40
[2023.11.26-18.42.40:976][  0]LogMemory: Platform Memory Stats for WindowsServer
[2023.11.26-18.42.40:976][  0]LogMemory: Process Physical Memory: 329.31 MB used, 332.88 MB peak
[2023.11.26-18.42.40:976][  0]LogMemory: Process Virtual Memory: 302.12 MB used, 302.12 MB peak
[2023.11.26-18.42.40:976][  0]LogMemory: Physical Memory: 21122.87 MB used,  42961.35 MB free, 64084.22 MB total
[2023.11.26-18.42.40:976][  0]LogMemory: Virtual Memory: 21132.12 MB used,  75687.09 MB free, 96819.22 MB total
[   INF   ] *** Server should be up in a few minutes
[2023.11.26-18.42.41:574][  0]ARK Version: 31.37
[2023.11.26-18.42.45:357][  7]Primal Game Data Took 0.00 seconds
[2023.11.26-18.43.36:079][  7]Server: "[EU/DE] Test Server" has successfully started!
[2023.11.26-18.43.37:659][  7]Commandline:  TheIsland_WP?listen?SessionName="[EU/DE] Test Server"?Port=7777?MaxPlayers=70?ServerAdminPassword="AdminPassword"?RCONEnabled=True?RCONPort=32330?ServerCrosshair=true?OverrideStructurePlatformPrevention=true?OverrideOfficialDifficulty=6.0?ShowFloatingDamageText=true?AllowFlyerCarryPvE=true -mods=940003 -log -NoBattlEye -WinLiveMaxPlayers=70 -ForceAllowCaveFlyers -ForceRespawnDinos -AllowRaidDinoFeeding=true -ActiveEvent=
[2023.11.26-18.43.37:659][  7]Full Startup: 57.45 seconds
[2023.11.26-18.43.37:659][  7]Number of cores 4
[2023.11.26-18.43.43:349][  8]wp.Runtime.HLOD = "1"
⁠How to become admin?
  1. You need to find your EOS id.
  2. Create a text file with your EOS id, each id entry should be a new line.
  3. The text file providing the Admins EOS Ids has to be available on the internet
  4. Add AdminListURL="https://to/your/location⁠" to your GameUserSettings.ini

Can be hosted on a webserver or gist github.
( Could be smth like AdminListURL="https://dl.dropboxusercontent.com/scl/fi/jk5h34klh5k3j4h5k3hk5/eos.txt?rlkey=642hqw4z1g7cb4yo9nvb68lzn⁠" )
Find your EOSid by connecting to your server while viewing logs with 'docker logs -f ark-ascended'.
You should see something like this:

[286]IP for incoming account 0002f570d00000a28c7fdb00b0008943 - IP X.X.X.X
⁠Manager commands

The manager script supports several commands that we highlight below. You can either use it by:

$ docker exec -it ark-ascended bash
$ manager 

or

$ docker exec ark-ascended manager

Please be aware that you use -i when using the restoreBackup command. (See restoreBackup below..)

manager

$ docker exec ark-ascended manager
[   INF   ] *** Invalid action. Supported actions: status, start, stop, restart, saveworld, rcon, update, backup, restoreBackup
[   INF   ] *** Usage: /usr/local/bin/manager <action> [--saveworld]

manager status

$ docker exec ark-ascended manager status
[   INF   ] *** Server PID 2982
[   INF   ] *** Server listening on port 7777
[   INF   ] *** Server is up with 0 players connected

manager saveworld

$ docker exec ark-ascended manager saveworld
[   INF   ] *** Saving world...
[   INF   ] *** World saved!

manager stop

$ docker exec ark-ascended manager stop
[   INF   ] *** Stopping server gracefully...
[   INF   ] *** Waiting 30s for the server to stop
[   INF   ] *** Done
$ docker exec ark-ascended manager stop --saveworld
[   INF   ] *** Saving world...
[   INF   ] *** World saved!
[   INF   ] *** Stopping server gracefully...
[   INF   ] *** Waiting 30s for the server to stop
[   INF   ] *** Done

manager start

$ docker exec ark-ascended manager start
[   INF   ] *** Starting ARK Survival Ascended server on port 7777 ...
[   INF   ] *** Server should be up in a few minutes

manager restart

$ docker exec ark-ascended manager restart
[   INF   ] *** Stopping server gracefully...
[   INF   ] *** Waiting 30s for the server to stop
[   INF   ] *** Done
[   INF   ] *** Starting ARK Survival Ascended server on port 7777 ...
[   INF   ] *** Server should be up in a few minutes
$ docker exec ark-ascended manager restart --saveworld
[   INF   ] *** Sending Broadcast to server (Restart)...
[   INF   ] *** Restarting broadcast sent!
[   INF   ] *** Saving world...
[   INF   ] *** World saved!
[   INF   ] *** Stopping server gracefully...
[   INF   ] *** Waiting 30s for the server to stop
[   INF   ] *** Done
[   INF   ] *** Starting ARK Survival Ascended server on port 7777 ...
[   INF   ] *** Server should be up in a few minutes

manager backup

$ docker exec ark-ascended manager backup
[   INF   ] ***************************************************************
[   INF   ] *** Creating backup. Backups are saved in your ./backup volume.
[   INF   ] ***************************************************************
[   INF   ] *** Saving world...
[   INF   ] *** World saved!
[   INF   ] *** copying save folder
[   INF   ] *** creating archive
[   INF   ] *** Number of backups in path: 5
[   INF   ] *** Size of Backup folder: 140M     /home/steam/backups/asa-server
[   INF   ] *** BACKUP CREATED
[   INF   ] ***************************************************************

manager restoreBackup

# Notes for restoreBackup
#
# Its important to use -i (interactive) for restoreBackup (like in the example below) in order to be able to select a backup file.

$ docker exec -i ark-ascended manager restoreBackup
[   INF   ] *** Stopping the server.
[   INF   ] *** Stopping server gracefully...
[   INF   ] *** Waiting 30s for the server to stop
[   INF   ] *** Done
[   INF   ] *** Here is a list of all your backup archives:
1 - - - - - File: backup_2023-11-26_19-16-14.tar.gz
[   INF   ] *** Please input the number of the archive you want to restore.
1
[   INF   ] *** backup_2023-11-26_19-16-14.tar.gz is getting restored ...
[   INF   ] *** Backup restored successfully!
[   INF   ] *** Starting ARK Survival Ascended server on port 7777 ...
[   INF   ] *** Server should be up in a few minutes

# An alternative would be to use the manager from within the running container:
# $ docker exec -it ark-ascended bash 
# $ manager restoreBackup 

$ docker exec -it ark-ascended bash
steam@803b73fd8fd3:~/arkserver$ manager restoreBackup
[   INF   ] *** Stopping the server.
[   INF   ] *** Stopping server gracefully...
[   INF   ] *** Waiting 30s for the server to stop
[   INF   ] *** Done
[   INF   ] *** Here is a list of all your backup archives:
1 - - - - - File: backup_2023-11-26_19-16-14.tar.gz
[   INF   ] *** Please input the number of the archive you want to restore.
1
[   INF   ] *** backup_2023-11-26_19-16-14.tar.gz is getting restored ...
[   INF   ] *** Backup restored successfully!
[   INF   ] *** Starting ARK Survival Ascended server on port 7777 ...
[   INF   ] *** Server should be up in a few minutes

RCON commands

$ ./manager.sh rcon cheat Broadcast "Hello World"
Server received, But no response!!

Tag summary

Content type

Image

Digest

sha256:5170d1177…

Size

591.4 MB

Last updated

almost 3 years ago

docker pull devnode/ark-ascended