Coder Social home page Coder Social logo

ark-docker's Introduction

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, get the new arkmanager.cfg in the template directory.
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/mods
  • 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/arkmanager.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 mods:
docker exec ark arkmanager update --update-mods

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.

To add mods, you only need to change the variable ark_GameModIds in arkmanager.cfg with a list of your modIds (like this ark_GameModIds="987654321,1234568"). If UPDATEONSTART is enable, just restart your docker or use docker exec ark arkmanager update --update-mods.


Recommended Usage

  • 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.
  • Edit /my/path/to/ark/GameUserSetting.ini and Game.ini
  • Edit /my/path/to/ark/arkserver.cfg to add mods and configure warning time.
  • 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)
  • BACKUPONSTOP 1 : Backup the server when the container is stopped. 0: no backup (default : 0)
  • WARNONSTOP 1 : Warn the players before the container is stopped. 0: no warning (default : 0)
  • TZ Time Zone : Set the container timezone (for crontab). (You can get your timezone posix format with the command tzselect. For example, France is "Europe/Paris").
  • UID UID of the user used. Owner of the volume /ark
  • GID GID of the user used. Owner of the volume /ark

Volumes

  • /ark : Working directory :
    • /ark/server : Server files and data.
    • /ark/log : logs
    • /ark/backup : backups
    • /ark/arkmanager.cfg : config file for Ark Server Tools
    • /ark/crontab : crontab config file
    • /ark/Game.ini : ark game.ini config file
    • /ark/GameUserSetting.ini : ark gameusersetting.ini config file
    • /ark/template : Default config files
    • /ark/template/arkmanager.cfg : default config file for Ark Server Tools
    • /ark/template/crontab : default config file for crontab
    • /ark/staging : default directory if you use the --downloadonly option when updating.

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
    • Remove variable WARNMINUTE (can now be find in arkmanager.cfg)
    • Add crontab support
    • You can now config crontab with the file /your/ark/path/crontab
    • Add template directory with default config files.
    • Add documentation on TZ variable.
  • 1.3 :
    • Add BACKUPONSTOP to backup the server when you stop the server (thanks to fkoester)
    • Add WARNONSTOP to add warning message when you stop the server (default: 60 min)
    • Works with Ark Server Tools v1.5
      • Compressing backups so they take up less space
      • Downloading updates to a staging directory before applying
      • Added support for automatically updating on restart
      • Show a spinner when updating
    • Add UID & GID to set the uid & gid of the user used in the container (and permissions on the volume /ark)

ark-docker's People

Contributors

lhw avatar turz4m avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ark-docker's Issues

docker-compose failed to create symbolic link, Game.ini and GameUserSettings.ini already exist

Trying to set up a server using the docker-compose.yml included here. I get the following error messages

ln: failed to create symbolic link 'Game.ini': File exists
ln: failed to create symbolic link 'GameUserSettings.ini': File exists

I believe that because of the failed symlink the configs that had been generated before are not being used by the server (hence the failure to create the symbolic link)

Is the docker-compose.yml a waste of time basically?

Ark Configs + Cores

Hello TuRz4m

I tried to change the Configuration file so that the game is a bit less time intensive.
That is how I got the Problem, that the Game.ini as well as the GameUsersSettings.ini configs always set to default if i restart the Container or restart the arkmanager.
Is that normal? I testet it when I tried out the Server but the Configs are not used.

Inputed Config:

Game.ini:

LayEggIntervalMultiplier=2
GlobalSpoilingTimeMultiplier=2
EggHatchSpeedMultiplier=4
MatingIntervalMultiplier=2
CropGrowthSpeedMultiplier=2
CropDecaySpeedMultiplier=0.5

GameUser...ini:

[ServerSettings]
allowThirdPersonPlayer=0
AllowCaveBuildingPvE=0
alwaysNotifyPlayerJoined=1
alwaysNotifyPlayerLeft=1
bAllowFlyerCarryPvE=1
bDisableStructureDecayPvE=1
DayCycleSpeedScale=1.00000
DayTimeSpeedScale=1.00000
NightTimeSpeedScale=1.00000
DinoCharacterFoodDrainMultiplier=0.50000
DinoCharacterHealthRecoveryMultiplier=1.00000
DinoCharacterStaminaDrainMultiplier=1.00000
DinoCountMultiplier=2.00000
DinoDamageMultiplier=1.00000
DinoResistanceMultiplier=1.00000
globalVoiceChat=1
HarvestAmountMultiplier=4.00000
HarvestHealthMultiplier=1.00000
MaxStructuresInRange=6700
noTributeDownloads=1
PreventDownloadSurvivors=1
PreventDownloadItems=1
PreventDownloadDinos=1
PlayerCharacterFoodDrainMultiplier=0.20000
PlayerCharacterHealthRecoveryMultiplier=1.00000
PlayerCharacterStaminaDrainMultiplier=1.00000
PlayerCharacterWaterDrainMultiplier=0.20000
PlayerDamageMultiplier=1.00000
PlayerResistanceMultiplier=1.00000
proximityChat=0
ResourceNoReplenishRadiusPlayers=1.00000
ResourceNoReplenishRadiusStructures=1.00000
ResourcesRespawnPeriodMultiplier=1.00000
ServerAdminPassword=xxxxxx
ServerCrosshair=1
serverForceNoHud=0
serverHardcore=0
ServerPassword=xxxxxxx
serverPVE=0
ShowMapPlayerLocation=1
StructureDamageMultiplier=1.00000
StructureResistanceMultiplier=1.00000
TamedDinoDamageMultiplier=1.00000
TamedDinoResistanceMultiplier=1.00000
TamingSpeedMultiplier=8.00000
XPMultiplier=2.00000
EnablePVPGamma=1
EnablePVEGamma=1
SpectatorPassword=
DifficultyOffset=0.50000
PvEStructureDecayPeriodMultiplier=1.00000
PvEStructureDecayDestructionPeriod=1.00000
Banlist=./banlist.conf
PvPStructureDecay=0
DisableDinoDecayPvE=0
PvEDinoDecayPeriodMultiplier=1.00000
AdminLogging=1
MaxTamedDinos=8000
MaxNumbersofPlayersInTribe=2
BattleNumOfTribestoStartGame=2
TimeToCollapseROD=100
BattleAutoStartGameInterval=100
BattleSuddenDeathInterval=300
KickIdlePlayersPeriod=1800
PerPlatformMaxStructuresMultiplier=1.00000
StructureDamageRepairCooldown=0
bForceAllStructureLocking=1
AutoDestroyOldStructuresMultiplier=0.00000
bUseVSync=0
MaxPlatformSaddleStructureLimit=100
bPassiveDefensesDamageRiderlessDinos=1
[/script/engine.gamesession]
MaxPlayers=20
[SessionSettings]
SessionName=xxxxxxxxx
[MessageOfTheDay]
Duration=5
Message=

After the Server rebooted:

[ServerSettings]
ServerPassword=xxxxxxxx
ServerAdminPassword=xxxxxxx
RCONEnabled=True
RCONPort=32330
PvEDinoDecayPeriodMultiplier=1.000000
KickIdlePlayersPeriod=2400.000000
PerPlatformMaxStructuresMultiplier=1.000000
AutoSavePeriodMinutes=15.000000
ListenServerTetherDistanceMultiplier=1.000000
MaxTamedDinos=5000.000000
RCONServerGameLogBuffer=600.000000

[/Script/ShooterGame.ShooterGameUserSettings]
MasterAudioVolume=1.000000
MusicAudioVolume=1.000000
SFXAudioVolume=1.000000
VoiceAudioVolume=1.000000
CameraShakeScale=1.000000
bFirstPersonRiding=False
bThirdPersonPlayer=False
bShowStatusNotificationMessages=True
TrueSkyQuality=0.000000
FOVMultiplier=1.000000
GroundClutterDensity=0.000000
bFilmGrain=False
bMotionBlur=False
bUseDFAO=False
bUseSSAO=False
bShowChatBox=True
bCameraViewBob=True
bInvertLookY=False
bFloatingNames=True
bChatBubbles=True
bHideServerInfo=False
bJoinNotifications=False
bCraftablesShowAllItems=True
bLocalInventoryShowAllItems=False
bRemoteInventoryShowAllItems=False
LookLeftRightSensitivity=1.000000
LookUpDownSensitivity=1.000000
GraphicsQuality=1
ActiveLingeringWorldTiles=6
ClientNetQuality=3
LastServerSearchType=0
LastServerSearchHideFull=False
LastServerSearchProtected=False
HideItemTextOverlay=False
bDistanceFieldShadowing=False
LODScalar=0.780000
bToggleToTalk=False
HighQualityMaterials=True
HighQualitySurfaces=True
bTemperatureF=False
bDisableTorporEffect=False
bChatShowSteamName=False
bChatShowTribeName=True
EmoteKeyBind1=0
EmoteKeyBind2=0
bNoBloodEffects=False
bLowQualityVFX=False
bSpectatorManualFloatingNames=False
bSuppressAdminIcon=False
bUseSimpleDistanceMovement=False
bUseVSync=False
MacroCtrl0=
MacroCtrl1=
MacroCtrl2=
MacroCtrl3=
MacroCtrl4=
MacroCtrl5=
MacroCtrl6=
MacroCtrl7=
MacroCtrl8=
MacroCtrl9=
ResolutionSizeX=1280
ResolutionSizeY=720
LastUserConfirmedResolutionSizeX=1280
LastUserConfirmedResolutionSizeY=720
WindowPosX=-1
WindowPosY=-1
bUseDesktopResolutionForFullscreen=False
FullscreenMode=2
LastConfirmedFullscreenMode=2
Version=5

[ScalabilityGroups]
sg.ResolutionQuality=100
sg.ViewDistanceQuality=3
sg.AntiAliasingQuality=3
sg.ShadowQuality=3
sg.PostProcessQuality=3
sg.TextureQuality=3
sg.EffectsQuality=3
sg.TrueSkyQuality=3
sg.GroundClutterQuality=3
sg.IBLQuality=1
sg.HeightFieldShadowQuality=3

[SessionSettings]
SessionName=xxxxxxxxx

[/Script/Engine.GameSession]
MaxPlayers=70

Do you know what might be the issue? Have I done something wrong?

Plus everytime we reboot the System, the System creates a Core file, which is around 800 MB large. This starts up filling up our Server. Do you know what we could do, to stop that or to automate the deleating of the Core files, that our Server doen't grow too rapidly?

Thank you very much for you help

OnstageThrower

steamcmd cannot execute binary file

I'm getting the following error on startup:

/home/steam/steamcmd/steamcmd.sh: line 29: /home/steam/steamcmd/linux32/steamcmd: cannot execute binary file: Exec format error

amd64 architecture, lib32gcc1 is installed in the container, base OS is UnRAID 6.2.4. Have successfully run an Ark server on this box before, but that was many months ago.

Port Config

It seems like this image is somwhere only exposing tcp ports. i wanted to use docker cloud, but i cannot change the ports to udp

Signal 11 caught. Segfault

Hi TuRz4m,

I'm trying to bootstrap a new server and can't get it to start.
Here is the arkmanager-user.cfg:

# --- USER CONFIG --- #
# ARK server options - use ark_<optionname>=<value>
# comment out these values if you want to define them
# inside your GameUserSettings.ini file
serverMap=${SERVERMAP}                                          # server map (default TheIsland)
serverMapModId=504122600
ark_SessionName=${SESSIONNAME}                                  # if your session name needs special characters please use the .ini instead
ark_ServerPassword=${SERVERPASSWORD}                            # ARK server password, empty: no password required to login
ark_ServerAdminPassword=${ADMINPASSWORD}                        # ARK server admin password, KEEP IT SAFE!
ark_MaxPlayers=${NBPLAYERS}                                      # Number MAX of player
# ark_bRawSockets=""                                            # Uncomment if you want to use ark raw socket (instead of steam p2p) [Not recommended]
arkflag_log=""


# ----- Mods ----- #
#ark_GameModIds="487516323,487516324,487516325"                     # Uncomment to specify additional mods by Mod Id separated by commas
ark_GameModIds="479295136"
# Mod OS Selection
mod_branch=Windows
# Add mod-specific OS selection below:
#mod_branch_496735411=Windows
# ----------------#

# ARK server flags - use arkflag_<optionname>=true
#arkflag_OnlyAdminRejoinAsSpectator=true                            # Uncomment to only allow admins to rejoin as spectator
#arkflag_DisableDeathSpectator=true                                 # Uncomment to disable players from becoming spectators when they die

# ARK server options - i.e. for -optname=val, use arkopt_optname=val
#arkopt_StructureDestructionTag=DestroySwampSnowStructures


# Update warning messages
# Modify as desired, putting the %d replacement operator where the number belongs
msgWarnUpdateMinutes="This ARK server will shutdown for an update in %d minutes"
msgWarnUpdateSeconds="This ARK server will shutdown for an update in %d seconds"
arkBackupPreUpdate="false"                                          # set this to true if you want to perform a backup before updating
arkwarnminutes="30"                                                 # number of minutes to warn players when using update --warn

arkserver.log

00:19:44: start
00:19:44: Running /ark/server/ShooterGame/Binaries/Linux/ShooterGameServer -MapModID=504122600\?GameModIds=479295136\?MaxPlayers=70\?Port=7777\?QueryPort=27015\?RCONEnabled=True\?RCONPort=32330\?ServerAdminPassword=xxxx\?ServerPassword\?SessionName=\[FR\]\ Krokmou\ Valhalla\?listen -log
00:19:45: Server PID: 3046
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
Setting breakpad minidump AppID = 346110
Signal 11 caught.
/usr/local/bin/arkmanager: line 558:  3046 Segmentation fault      "$arkserverroot/$arkserverexec" "$arkserveropts" "${arkextraopts[@]}"
00:20:32: Bad PID ''; expected '3046'
00:20:32: exited with status 0

update.log

00:18:51: Mod 479295136 updated
00:19:43: Mod 504122600 updated

The server should run Valhalla map and Aku Shima mod.
If you have time, can you confirm that the server either crash or won't start using this configuration ?

I can't figure out what to look, both mods are downloaded correctly (it seems) and Ark is successfully installed.
Thank you.

problems in setup

Hey

I have now tried to use your image to setup a ark server without any luck.
(this is my first try with docker)

When trying to start the docker image ( docker run -it -p 7779:7778 -p 7779:7778/udp -p 27016:27015 -p 27016:27015/udp -p 32331:32330 -e SESSIONNAME="Ark" -e ADMINPASSWORD="somerandompassword" -e AUTOUPDATE=120 -e AUTOBACKUP=60 -e WARNMINUTE=30 -v ~/docker-ark:/ark:Z --name ark turzam/ark

i get the following output

Ark Server - Wed Jul 6 13:53:00 UTC 2016

[Error] Can't access ark directory. Check permissions on your mapped directory with /ark

What am i doing wrong? what am i missing?

1.3-dev auto-update no longer executed

I noticed that using the 1.3-dev branch the auto-update on start is not working anymore, although this setting should be the default.

That's my docker-compose.yml:

ark:
  image: turzam/ark:1.3-dev
  net: "host"
  ports:
    - 7778:7778
    - 7778:7778/udp
    - 27015:27015
    - 27015:27015/udp
    - 32330:32330
  environment:
    - SESSIONNAME=The Gold Enigmas
    - BACKUPONSTOP=1
    - SERVERPASSWORD=rexdodo
    - ADMINPASSWORD=EgAPisw
  volumes:
    - /mnt/data/docker/arkserver:/ark

As you can see, UPDATEPONSTART is not explicetely set but according to the README UPDATEPONSTART=1 should be the default (And this worked using the master branch).

I can force an update with:

docker exec arkserver_ark_1 arkmanager update --force

UID is an internal variable in bash

It's not appropriate to use UID as an environment variable as it is a reserved internal variable in bash (and possibly other shells). 'docker run' will fail if UID parameter is provided. It should probably be renamed. GID is fine.

Example cron jobs incorrect in README.md

The example you've given has the commands end in:

/ark/log/crontab.log 2&>1

But this will fail jobs because the redirect is written incorrectly. The proper syntax is:

2>&1

Following the recommended usage, but not loading GameUserSettings.ini

I've followed the recommended usage section, the server runs and is accessible. It doesn't seem to be loading any values from the GameUserSettings.ini file though. I've changed and saved (and checked) the file, but on starting the servers, none of the changes take effect. Is there something I can check?

BTW, changes to arkmanager.cfg are working.

Patch v231.9 broke startup with error while loading shared libraries: libsteam_api.so: cannot open shared object file: No such file or directory

/ark/server/ShooterGame/Binaries/Linux/ShooterGameServer: error while loading shared libraries: libsteam_api.so: cannot open shared object file: No such file or directory

As discussed here: https://steamcommunity.com/app/346110/discussions/0/451850468372935427/

You will need to download and place the libsteam_api.so file inside the container's /usr/lib/ or ../server/ShooterGame/Binaries/Linux/

We'll see if devs push out a hotfix since it looks like something is missing from ../server/ShooterGame/Binaries/Linux/ but if they don't, /usr/lib/ works.

Can't join server

Hi,

I can't join my server. I added the server via steam server list and all setting will be displayed correctly. But when I try to join in ARK, I get the "Joining failed - Connection timeout" error message. I removed the password and disabled BattlEye nothing seems to help.

How can I fix this?

Implement -battleye switch

Hey TuRz4m,

Love you´re ark-docker.

Would it be possible to implement the -UseBattlEye switch somewhere in the arkmanager.cfg?
It is for the anti-cheat system for Ark, the normale usage for the switch looks like this:

./ShooterGameServer TheIsland?listen?ServerCrosshair=True?MapPlayerLocation=True?AllowThirdPersonPlayer=True?MaxStructuresInRange=100 -UseBattlEye

On first run, can't find .ark-update.lock

What is below is the output I get when trying to run the container. All I've done aside from first pulling the container. Followed the recommended usage section in the readme. As far as I can tell, running the docker creates a few empty folders and files and hangs indefinitely on the line after "Update server" below. A file titled .ark-update.lock.### is created in /ark/server with a seemingly random two or three digit number. I have no idea if that is working as intended or not. Ark Server Tools seems to work, I can use the "status" command (or at least it gives the output).

Would love some help here, I was already in over my head when I started.

Also, I can't copy to the directory or change the file names in the directory. Not sure if that is intended or not.

`root@Throne:~# 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" -v /mnt/user/appdata/ArkSE/ark:/ark --name ark turzam/ark
###########################################################################

Ark Server - Wed Jan 25 01:04:44 UTC 2017

UID 1000 - GID 1000

###########################################################################
No game files found. Installing...
Running command 'install' for instance 'main'
... No crontab set.
Running command 'start' for instance 'main'
Updating server
/usr/local/bin/arkmanager: line 989: /ark/server/.ark-update.lock: No such file or directory
/usr/local/bin/arkmanager: line 989: /ark/server/.ark-update.lock: No such file or directory
/usr/local/bin/arkmanager: line 989: /ark/server/.ark-update.lock: No such file or directory
/usr/local/bin/arkmanager: line 989: /ark/server/.ark-update.lock: No such file or directory
/usr/local/bin/arkmanager: line 989: /ark/server/.ark-update.lock: No such file or directory
^C
Session terminated, terminating shell... ...terminated.
root@Throne:~#`

Also, I apparently have done something wrong on the code formatting thing here. I'm not normally this useless, I promise.

arkmanager: line 196: exec: runuser: not found

Hey everyone,

I recently found this docker image and it seems really awesome but I am having some issues getting it started properly. I was able to successfully run the container and it generated all the files on my drive but there seems to be an issue with the container because whenever I run any of the arkmanager commands I get the following error:
/usr/local/bin/arkmanager: line 196: exec: runuser: not found

Here is the command I used to create my container:
docker run -it -p XXX.XXX.XXX:7778:7778 -p XXX.XXX.XXX:7778:7778/udp -p XXX.XXX.XXX:27015:27015 -p XXX.XXX.XXX:27015:27015/udp -p XXX.XXX.XXX:32330:32330 -e SESSIONNAME=myserver -e ADMINPASSWORD="mypasswordadmin" -e AUTOUPDATE=120 -e AUTOBACKUP=60 -e WARNMINUTE=30 -v C:\ark:/ark --name ark turzam/ark

Any help that could be provided would be awesome,

Thanks so much.

steamcmd

After I start the docker, it looks like the steam command does not install the ark server software.

./steamcmd.sh: line 29: /home/steam/steamcmd/linux32/steamcmd: cannot execute binary file: Exec format error

###########################################################################

Ark Server - Sun Jun 11 23:43:13 EDT 2017

UID 1000 - GID 1000

###########################################################################
No game files found. Installing...
Running command 'install' for instance 'main'
... No crontab set.
Running command 'start' for instance 'main'
Updating server
/home/steam/steamcmd/steamcmd.sh: line 29: /home/steam/steamcmd/linux32/steamcmd: cannot execute binary file: Exec format error
Your server is already up to date! The most recent version is Unknown.
The server is starting...
The server is now running, and should be up within 10 minutes
Waiting...

6/25/2017 1:00pm est
UPDATE: I am running this docker on UnRaid 6.4 rc6. The stock unRaid kernel does not have IA32 Emulation enabled which is why the docker will not work on stock unRaid. I built a test unRaid kernel and enabled IA32 and was able to get this docker working.

Clarification for setup with arkservers.net

I think this is a documentation issue ...

Is there a different port setup / mapping required for getting your server listed on arkservers.net so that console players can join? Currently the documentations indicates that using port 7778 is just for Steam support, which has nothing to do with arkservers.net ... which expects port 7777 to be used.

Cannot change maxplayers value

Hi,

For some reason I am unable to set the amount of max players, my GameUserInfo.ini file defaults to 70 players on server startup.

Show Progress at Download and Update

Hey,

would it be possible to show some progress on downloads such as installing and updates?

I'm installing this server now for a few hours and I don't know if it is stucked at the download or if the download is just slow.

Thanks

Mods do not install with current version of arkamanger

This docker is stuck to version 1.5 of arkmanager and cannot be updated, per the author's details in another ticket. This is the output of any mod I try to install with this docker arkmanager version:

sudo docker exec ark arkmanager installmod 655581765
Running command 'installmod' for instance 'main'
Downloading mod 655581765 ... Mod 655581765 was not successfully downloaded

I've asked for the ability to manually update ark server tools in another issue. I understand the need for making a docker stable, but anyone who wants to manually update pieces should be able to. I think it's inherently understood that updating or changing things may make the build unstable.

While I love this docker for its ease of use, the hand rails are proving to be more of a pain than what the docker eases for admins.

Arkmanager maybe not updating

Hi again turzam,
I have some problems with you arkmanager installation. Arkmanager upgrade-tools command seems to make a loop at checking update.
I would really be able to update to the latest arkmanager commit since your version stills have the downloading mod 11111 error and it has been fixed already.

Cluster Setup

I was wondering if anyone has had any success setting up clusters with this image and if there's any information on how to configure that. I'm really just looking to be able to upload my survivors and dinos and play other maps, even if the maps don't run concurrently.

any updates?

Hey TuRz4m,

will you bring some updates?
Last one is a year ago.

Best,
Avendretter

Permissions Denied on first run

I am trying to perform a first run of the container using a volume, but I cant figure out why it is complaining about permissions. I've tried running it as a normal user (steam) as well as root, same issue.

See below output:

[root@localhost ~]# 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 /home/steam/Steam/ARK:/ark --name ark turzam/ark
chown: cannot read directory '/ark': Permission denied
###########################################################################

Ark Server - Fri Aug 24 11:30:00 UTC 2018

UID 1000 - GID 1000

###########################################################################
mkdir: cannot create directory '/ark/template': Permission denied
cp: cannot create regular file '/ark/template/arkmanager.cfg': No such file or directory
cp: cannot create regular file '/ark/template/crontab': No such file or directory
cp: cannot create regular file '/ark/arkmanager.cfg': Permission denied
mkdir: cannot create directory '/ark/log': Permission denied
mkdir: cannot create directory '/ark/backup': Permission denied
mkdir: cannot create directory '/ark/staging': Permission denied
ln: failed to create symbolic link 'Game.ini': Permission denied
ln: failed to create symbolic link 'GameUserSettings.ini': Permission denied
cp: cannot stat '/ark/template/crontab': No such file or directory
No game files found. Installing...
mkdir: cannot create directory '/ark/server': Permission denied
mkdir: cannot create directory '/ark/server': Permission denied
mkdir: cannot create directory '/ark/server': Permission denied
touch: cannot touch '/ark/server/ShooterGame/Binaries/Linux/ShooterGameServer': No such file or directory
/etc/arkmanager/arkmanager.cfg: line 44: /ark/arkmanager.cfg: No such file or directory
[ WARN ] Your ARK server exec could not be found.
[ ERROR ] The ARK SavedArks directory is not writable, and saveworld will fail
[ ERROR ] You have not rights to write in the log directory.
Running command 'install' for instance 'main'
[ WARN ] Your ARK server exec could not be found.
[ ERROR ] The ARK SavedArks directory is not writable, and saveworld will fail
[ ERROR ] You have not rights to write in the log directory.
Creating the ARK server root directory (/ark/server)
mkdir: cannot create directory '/ark/server': Permission denied
... |^C
Session terminated, terminating shell... ...terminated.

Size

Hello! How many space need this image?

Updated to 255 - server not starting

Server ist not starting after todays update.

The arkserver.log has following output regarding the error:

/usr/local/bin/arkmanager: line 641: ulimit: open files: cannot modify limit: Operation not permitted
15:10:40: Running /ark/server/ShooterGame/Binaries/Linux/ShooterGameServer TheIsland\?MaxPlayers=20\?Port=7777\?QueryPort=27015\?RCONEnabled=True\?RCONPort=32330\?ServerAdminPassword=adminpassword\?ServerPassword=intense\?SessionName=Camo\'s\ Island\?listen -log
/ark/server/ShooterGame/Binaries/Linux/ShooterGameServer: error while loading shared libraries: libsteam_api.so: cannot open shared object file: No such file or directory
15:10:40: Server PID: 396
15:10:45: Bad PID ''; expected '396'
15:10:45: exited with status 0

Even after fixing the libsteam_api.so-issue, the problem provails. Pulling latest docker-image yields not update whatsoever.
Completely destroying and starting the server with docker-compose down -v and docker-compose up -d does not fix the issue either.

Any idea on how to fix this?

Thx in advance.

EDIT:
The ulimit-issue was no problem in the past.

docker host problems with multiple ip addresses

Hello turzam

I got an Issue with you ARK Server Image.
If I had a docker host with multiple IPv4 Addresses and a single network adapter in the server which is configured like this:
TYPE="Ethernet"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
NAME="eth0"
ONBOOT="yes"
HWADDR="08:00:27:3F:AB:68"
IPADDR0="192.168.1.150"
IPADDR1="192.168.1.151"
IPADDR2="192.168.1.152"
PREFIX0="24"
GATEWAY0="192.168.1.1"
DNS1="192.168.1.1"

Now if I start the ark server like this:
docker run –it –p 192.168.1.1517778:7778 –p 192.168.1.1517778:7778/udp –p 192.168.1.15127015:27015 –p 192.168.1.151:27015:27015/udp –p 192.168.1.15132330:32330 –e SESSIONNAME=”my ark server” –e ADMINPASSWORD=”my secret password” –e AUTOUPDATE=60 –e WARNMINUTE=30 –e SERVERPASSWORD=”my super password” –v /my/stoage/dir:/ark –e /my/backup/dir:/ark/backup –name ark turzam/ark
The ark server runs nice. If I use docker exec ark arkmanager status the arkmanager tells me that everything is right but it tells me that the IP is 192.168.1.152. OK.

Now I tried to connect to the IP that I had set before and to connect to the IP wich the arkmanager said. Now steam can find the ark server but if you would like to connect you got a querry error from ark

I hope you can fix this issue.

Thank you very much for looking at our issue.

Reguards
BigGold1310

restarting server after update not working

the restart server after update seems good but then the server is jsut waiting and if i get the status the server is often in no status for listening. which log do you need? I don't see anything particular in it .

Incorrect version arkmanager?

root@ns313831:# docker pull turzam/ark
Using default tag: latest
latest: Pulling from turzam/ark
Digest: sha256:49ef4e05bd025c5845a134a1b7c4d450a8f7c77008aac8374c3e2455d17cc63d
Status: Image is up to date for turzam/ark:latest
root@ns313831:
# docker exec ark arkmanager --version
Version: 1.4
Channel: master
After updating the version of the ark docker appears is the 1.4, you would not show 1.5?

Is this correct?

I get "[ WARN ] Your ARK server exec could not be found." after running force update

I attempted to manually update my server when it was running by issuing this command:
docker exec ark arkmanager update --force

The command had similar output to this (I lost the original):

Applying update from staging directory
cp: cannot stat '/ark/staging/ShooterGame/.': No such file or directory
cp: cannot stat '/ark/staging/Engine/.': No such file or directory
cp: cannot stat '/ark/staging/linux64/.': No such file or directory
cp: cannot stat '/ark/staging/PackageInfo.bin': No such file or directory
cp: cannot stat '/ark/staging/steamclient.so': No such file or directory
cp: cannot stat '/ark/staging/steamapps/.': No such file or directory
find: `Engine': No such file or directory
find: `linux64': No such file or directory
rmdir: failed to remove 'ShooterGame/Content': Directory not empty
rmdir: failed to remove 'ShooterGame': Directory not empty

Now, when I try to start my server and check its status I get this:

[  WARN  ]      Your ARK server exec could not be found.
Running command 'status' for instance 'main'
[  WARN  ]      Your ARK server exec could not be found.
 Server running:   No 
 Server listening:   No 
 Server version:   1943736 

I'm new to docker so I'm not sure if it's just an issue due to the fact I changed the image directory (-g /home/ark-server) or not. Any ideas for how to get my server back to a working state?

Here is the output of my /home/ark-server/ark directory:

-rw-r--r-- 1 ubuntu ubuntu 3.3K Jul  8 07:05 arkmanager.cfg
drwxrwxr-x 2 ubuntu ubuntu 4.0K Jul  8 07:05 backup
-rw-r--r-- 1 ubuntu ubuntu  848 Jul  8 07:43 crontab
lrwxrwxrwx 1 ubuntu ubuntu   52 Jul  8 07:05 Game.ini -> server/ShooterGame/Saved/Config/LinuxServer/Game.ini
lrwxrwxrwx 1 ubuntu ubuntu   64 Jul  8 07:05 GameUserSettings.ini -> server/ShooterGame/Saved/Config/LinuxServer/Ga
meUserSettings.ini
drwxrwxr-x 2 ubuntu ubuntu 4.0K Jul  8 07:09 log
drwxrwxr-x 4 ubuntu ubuntu 4.0K Jul  8 17:08 server
drwxrwxr-x 2 ubuntu ubuntu 4.0K Jul  8 07:05 staging
drwxrwxr-x 2 ubuntu ubuntu 4.0K Jul  8 07:05 template

Server is not listening

My server appears to be starting correctly, but when I run status I receive the following message:

Running command 'status' for instance 'main'
 Server running:   Yes 
 Server listening:   No 
 Server version:   5349305 

Not sure where to check, I have the ports open on the docker call and on my router.

docker run -it -p 7778:7778 -p 7778:7778/udp -p 27015:27015 -p 27015:27015/udp -p 32330:32330 -e SESSIONNAME='####' -e ADMINPASSWORD='####' -e SERVERPASSWORD='####' -e AUTOUPDATE=120 -e AUTOBACKUP=60 -e WARNMINUTE=30 -e TZ='America/Los_Angeles' -v /opt/docker/ark:/ark --restart unless-stopped --name ark turzam/ark

Any help or direction will be much appreciated.

libsteam_api.so Error - is it back?

Hi, seems im getting this: #5

2020-02-26 18:29:42: [main] /ark/server/ShooterGame/Binaries/Linux/ShooterGameServer: error while loading shared libraries: /ark/server/ShooterGame/Binaries/Linux/libsteam_api.so: invalid ELF header 2020-02-26 18:29:42: [main] 2020-02-26 18:29:42: Server PID: 2317 2020-02-26 18:29:47: [main] 2020-02-26 18:29:47: Bad PID ''; expected '2317' 2020-02-26 18:29:47: [main] 2020-02-26 18:29:47: exited with status 0

TIA!

Update README to include SELinux info for RHEL/CentOS 7

Had to do a bit of digging to figure out why I couldn't get my volume mapping to work under CentOS 7 (I'm new to Docker).

On RHEL7/CentOS 7, if SELinux is enabled, you need to include the ':z' or ':Z' suffix to the volume mapping parameter to tell Docker to apply SELinux labels. The ':z' suffix labels the mounted volume with a shared label that other containers can use; the ':Z' suffix labels the mounted volume with a private label only that container can use.

I ended up finding the info I needed from the docker-run man page, but it might help others if this info is available on the README as well.

Failed copying ark profiles

I found in my logs this message:

Copying ARK profile files,
[Backup],
Running command 'backup' for instance 'main',
Copying ARK world file [ OK ],
cp: cannot stat '/ark/server/ShooterGame/Saved/SavedArks/.tmpprofile': No such file or directory,
.arkprofile [ FAILED ],
Copying ARK tribe files ,
.arktribe [ FAILED ],
cp: cannot stat '/ark/server/ShooterGame/Saved/SavedArks/
.tmptribe': No such file or directory,
cp: cannot stat '/ark/server/ShooterGame/Saved/SavedArks/
.arktribe': No such file or directory,
Copying GameUserSettings.ini [ OK ],
Copying Game.ini [ OK ],
Compressing Backup [ OK ],
cp: cannot stat '/ark/server/ShooterGame/Saved/SavedArks/
.arkprofile': No such file or directory,
Created Backup: 2021-02-14_22.35.19.tar.bz2

My directory looks like this:

image

Valhalla server

I've got an issue launching Ark-Docker with Valhalla map.
Minutes after running the image for the first time (without any existing files) ShooterGame Segfault.

Here is some trace:

20:56:21: start
20:56:21: Running /ark/server/ShooterGame/Binaries/Linux/ShooterGameServer -MapModID=504122600\?MaxPlayers=70\?Port=7777\?QueryPort=27015\?RCONEnabled=True\?RCONPort=32330\?ServerAdminPassword=ark1337\?ServerPassword\?SessionName=Krokmou\?listen -log
20:56:21: Server PID: 96
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
Setting breakpad minidump AppID = 346110
Signal 11 caught.
/usr/local/bin/arkmanager: line 558:    96 Segmentation fault      "$arkserverroot/$arkserverexec" "$arkserveropts" "${arkextraopts[@]}"
20:56:58: Bad PID ''; expected '96'
20:56:58: exited with status 0

When the server start for the first time, the Mods folder is empty (however when I restart the server using docker restart ark, it downloads the mod):

# first start
my_user@my_server:/home/my_user/$ ls -l /usr/local/ark/server/ShooterGame/Content/Mods/
total 0

# after restart
Downloading item 504122600 ...
Success. Downloaded item 504122600 to "/home/steam/steamcmd/steamapps/workshop/content/346110/504122600" (1490819003 bytes) Mod 504122600 downloaded
The server is already stopped
Copying files to /ark/server/ShooterGame/Content/Mods/504122600

my_user@my_server:/home/my_user/$ ls -l /usr/local/ark/server/ShooterGame/Content/Mods/
total 4
drwxr-xr-x 3 my_user my_user 4096 Jan  4 21:07 504122600

Here is my arkmanager-user.cfg:

# --- USER CONFIG --- #
# ARK server options - use ark_<optionname>=<value>
# comment out these values if you want to define them
# inside your GameUserSettings.ini file
serverMap=${SERVERMAP}                                          # server map (default TheIsland)
serverMapModId=504122600
ark_SessionName=${SESSIONNAME}                                  # if your session name needs special characters please use the .ini instead
ark_ServerPassword=${SERVERPASSWORD}                            # ARK server password, empty: no password required to login
ark_ServerAdminPassword=${ADMINPASSWORD}                        # ARK server admin password, KEEP IT SAFE!
ark_MaxPlayers=${NBPLAYERS}                                      # Number MAX of player
# ark_bRawSockets=""                                            # Uncomment if you want to use ark raw socket (instead of steam p2p) [Not recommended]
arkflag_log=""

# ----- Mods ----- #
#ark_GameModIds="487516323,487516324,487516325"                     # Uncomment to specify additional #ark_GameModIds="504122600"
mod_branch=Windows

# Update warning messages
# Modify as desired, putting the %d replacement operator where the number belongs
msgWarnUpdateMinutes="This ARK server will shutdown for an update in %d minutes"
msgWarnUpdateSeconds="This ARK server will shutdown for an update in %d seconds"
arkBackupPreUpdate="false"                                          # set this to true if you want to perform a backup before updating
arkwarnminutes="30"                                                 # number of minutes to warn players when using update --warn

Here is how i built & run this image:

docker build --no-cache -t ark .
docker run -d -p 7778:7778 -p 7778:7778/udp -p 27015:27015 -p 27015:27015/udp -p 32330:32330 -e MaxPlayers=70 -e ADMINPASSWORD=SOMEPASSWORD -e UPDATEONSTART=1 -e SESSIONNAME=SOME_NAME -v /etc/localtime:/etc/localtime -v /usr/local/ark:/ark --name ark ark

What I would like to achieve is running this Image under a fresh install (without any existing files) and having the server started with custom map Valhalla _without having to restart the server_.

The actual workaround I use to make it work is:

1. start docker image and have ShooterGame segfault
2. restart the server, so it download the mod and work without issues

Any idea on how to fix this?

Timeout when connecting to my own server

I get connection timeout when I try to connect to my own server that's in my local network. All ports open and up to date. Also, using 8gb so plenty there too.

Server online: No

Hey guys im running the server but it won't show the online status.
What should I provide as additional information so that hopefully you kind guys can help me.

docker exec ark arkmanager status
Running command 'status' for instance 'main'
 Server running:   Yes
 Server listening:   Yes
Server Name: Georodin.de - (v311.79)
Players: 0 / 66
 Server online:   No
 Server version:   5153677

Ark Server Ports not correctly working.

I have specified docker ports 7777 in the run command of the docker server .
I also have the appropriate ports forwarded for the Server on my Router
But
Steam reports the game in the Server Browser running on 7776.

How do I get this docker to use ports 7777

ShooterGameServer - Permission Denied

Hey guys,

I keep getting the following error:

13:03:12: Running /ark/server/ShooterGame/Binaries/Linux/ShooterGameServer TheIsland?MaxPlayers=70?Port=7777?QueryPort=27015?RCONEnabled=True?RCONPort=32330?ServerAdminPassword=test123?ServerPassword=test?SessionName=Test?listen -log
/usr/local/bin/arkmanager: line 663: /ark/server/ShooterGame/Binaries/Linux/ShooterGameServer: Permission denied
13:03:12: Server PID: 201
13:03:17: Bad PID ''; expected '201'
13:03:17: exited with status 0

The permission do look good to me:

root@36d743637e8c:/ark# ls -l /ark/server/ShooterGame/Binaries/Linux/
total 87528
drwxrwxr-x 2 steam steam 4096 Oct 2 12:59 BattlEye
-rwxrwxr-x 1 steam steam 70611248 Oct 2 12:58 ShooterGameServer
-rwxrwxr-x 1 steam steam 6 Oct 2 12:58 steam_appid.txt
-rwxrwxr-x 1 steam steam 19003205 Oct 2 12:58 steamclient.so
root@36d743637e8c:/ark#

Any ideas how to fix this?

thanks,

Denqbar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.