Sign inSign up

devnode/ark-ascended

By devnode

Updated almost 3 years ago

devnode's ARK Survival Ascended Docker Image

Image
0

395

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