Skip to content

Ark: Survival Evolved

As a man or woman stranded, naked, freezing, and starving on the unforgiving shores of a mysterious island called ARK, use your skill and cunning to kill or tame and ride the plethora of leviathan dinosaurs and other primeval creatures roaming the land. Hunt, harvest resources, craft items, grow crops, research technologies, and build shelters to withstand the elements and store valuables, all while teaming up with (or preying upon) hundreds of other players to survive, dominate... and escape! — Gamepedia: ARK

egg-ark-survival-evolved.json

updated

Ports

Add an allocation on the node for each port.

  • Game 7777
  • Raw UDP 7778
  • Query 27015
  • RCON (optional) 27020

Install

Installer image
ghcr.io/ptero-eggs/installers:debian
Steam app
376030
Steam login
not required
Install script
42 lines

Image

  • source image ghcr.io/ptero-eggs/games:source

Panel features

  • steam_disk_space

    The Panel tells the user when SteamCMD does not have enough disk space.

Startup

The Panel runs this command to start the server. It replaces each variable in the command with the value of that variable.

13 variables

Startup command

rmv() { echo  "stopping server"; rcon -t rcon -a 127.0.0.1:27020 -p PleaseChangeMe saveworld &&rcon -t rcon -a 127.0.0.1:27020 -p PleaseChangeMe DoExit && wait ${ARK_PID}; echo "Server Closed"; exit; }; trap rmv 15 2; cd ShooterGame/Binaries/Linux && ./ShooterGameServer TheIsland?listen?SessionName="A Pterodactyl Hosted ARK Server"?ServerPassword={{ARK_PASSWORD}}?ServerAdminPassword=PleaseChangeMe?Port=7777?RCONPort=27020?QueryPort=27015?RCONEnabled=True?MaxPlayers=12?GameModIds=\"{{MOD_ID}}\"$( [ "1" == "1" ] || printf %s ' -NoBattlEye' ) -server -automanagedmods {{ARGS}} -log & ARK_PID=$! ; until echo "waiting for rcon connection..."; (rcon -t rcon -a 127.0.0.1:27020 -p PleaseChangeMe)<&0 & wait $!; do sleep 5; done

Dotted values come from the server settings. These values are examples.

  • If specified, players must provide this password to join the server.

    ARK_PASSWORDUsers can edit

    nullable|alpha_dash|between:1,100

  • If specified, players must provide this password (via the in-game console) to gain access to administrator commands on the server.

    ARK_ADMIN_PASSWORDUsers can edit

    required|alpha_dash|between:1,100

  • Available Maps: TheIsland, TheCenter, Ragnarok, ScorchedEarth_P, Aberration_P, Extinction, Valguero_P, Genesis, CrystalIsles, Gen2, Fjordur

    SERVER_MAPUsers can edit

    required|string|max:20

  • ARK server name

    SESSION_NAMEUsers can edit

    required|string|max:128

  • ARK rcon port used by rcon tools.

    RCON_PORTUsers can edit

    required|numeric

  • ARK query port used by steam server browser and ark client server browser.

    QUERY_PORTUsers can edit

    required|numeric

  • Enable auto-updating from steam

    AUTO_UPDATEUsers can edit

    required|boolean|in:0,1

  • Enable BattleEye

    BATTLE_EYEUsers can edit

    required|boolean|in:0,1

  • ARK steam app id for auto updates. Leave blank to avoid auto update.

    SRCDS_APPIDUsers can see

    nullable|numeric

  • Specify additional launch parameters such as -crossplay. You must include a dash - and separate each parameter with space: -crossplay -exclusivejoin

    ARGSUsers can edit

    nullable|string

  • Specifies the order and which mods are loaded. ModIDs need to be comma-separated such as: ModID1,ModID2

    MOD_IDUsers can edit

    nullable|regex:/^[0-9,]+$/

  • Specifies the maximum amount of players able to join the server.

    MAX_PLAYERSUsers can edit

    numeric

  • Installs beta branch if specified.

    SRCDS_BETAIDUsers can edit

    nullable|string|max:50

Wings

Stop command
^C (SIGINT)
Running when the console shows
Waiting commands for 127.0.0.1:

Readme

Ark: Survival Evolved

Steam Description : As a man or woman stranded naked, freezing and starving on the shores of a mysterious island called ARK, you must hunt, harvest resources, craft items, grow crops, research technologies, and build shelters to withstand the elements. Use your cunning and resources to kill or tame & breed the leviathan dinosaurs and other primeval creatures roaming the land, and team up with or prey on hundreds of other players to survive, dominate... and escape!

Recommended server settings

Minimum RAM

This server requires about 4096M to run with no players on a default map. Although it is recommended to run 6144M by the ARK creators, specific DLC maps will increase this requirement, such as Genesis 2 requiring over 13,440M to start.

See the following - https://ark.gamepedia.com/Dedicated_Server_Setup#Hardware

RCON

The server requires a local RCON connection to function. You will see RCON connection refused messages until the server has successfully started and connects to the RCON, which can take anywhere from 10 to 20 minutes. The RCON Port is only required for external RCON connections.

Server Ports

Port Default
Game 7777
Raw UDP 7778
Query 27015
RCON (optional) 27020

Changes

  1. Update Ark Survival Evolved (#208)

    · Daniel Barton · eef2238

  2. Add steamcmd based eggs

    · Daniel Barton · 60ef9fb

All changes on GitHub

Problem with this egg?

Open an issue on GitHub. Include your Panel and Wings versions.

Install script 42 lines bash in ghcr.io/ptero-eggs/installers:debian Show
#!/bin/bash

if [[ "${STEAM_USER}" == "" ]] || [[ "${STEAM_PASS}" == "" ]]; then
    echo -e "steam user is not set.\n"
    echo -e "Using anonymous user.\n"
    STEAM_USER=anonymous
    STEAM_PASS=""
    STEAM_AUTH=""
else
    echo -e "user set to ${STEAM_USER}"
fi

cd /tmp
mkdir -p /mnt/server/steamcmd
curl -sSL -o steamcmd.tar.gz https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xzvf steamcmd.tar.gz -C /mnt/server/steamcmd
mkdir -p /mnt/server/steamapps # Fix steamcmd disk write error when this folder is missing
cd /mnt/server/steamcmd

chown -R root:root /mnt
export HOME=/mnt/serve

## install game using steamcmd
./steamcmd.sh +force_install_dir /mnt/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ "${WINDOWS_INSTALL}" == "1" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s "-beta ${SRCDS_BETAID}" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s "-betapassword ${SRCDS_BETAPASS}" ) ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6

## set up 32 bit libraries
mkdir -p /mnt/server/.steam/sdk32
cp -v linux32/steamclient.so ../.steam/sdk32/steamclient.so

## set up 64 bit libraries
mkdir -p /mnt/server/.steam/sdk64
cp -v linux64/steamclient.so ../.steam/sdk64/steamclient.so



# Install SteamCMD into server folder
mkdir -p /mnt/server/Engine/Binaries/ThirdParty/SteamCMD/Linux
tar -xzvf /tmp/steamcmd.tar.gz -C /mnt/server/Engine/Binaries/ThirdParty/SteamCMD/Linux

## create a symbolic link for loading mods
cd /mnt/server/Engine/Binaries/ThirdParty/SteamCMD/Linux
ln -sf ../../../../../Steam/steamapps steamapps