The Isle
gamesThe Isle is an open beta with an open-world survival game where players choose from three factions in an attempt to survive a fierce island. Hunt. Prey. Survive.
README
The Isle Evrima
The Isle is an open beta with an open-world survival game where players choose from three factions in an attempt to survive a fierce island. Hunt. Prey. Survive.
Server Ports
The Isle requires 3 ports
| Port | default |
|---|---|
| Game | 7777 |
| Rcon | 9999 |
| Queue | 10000 |
Docker Images (1)
| Name | Image |
|---|---|
ghcr.io/ptero-eggs/steamcmd:debian | ghcr.io/ptero-eggs/steamcmd:debian |
Startup Command
/home/container/TheIsle/Binaries/Linux/TheIsleServer-Linux-Shipping -Port=$SERVER_PORT -ini:Engine:[EpicOnlineServices]:DedicatedServerClientId=xyza7891gk5PRo3J7G9puCJGFJjmEguW -ini:Engine:[EpicOnlineServices]:DedicatedServerClientSecret=pKWl6t5i9NJK8gTpVlAxzENZ65P8hYzodV8Dqe5Rlc8 Variables (16)
Server Name
Sets the name for the server
- Environment:
SERVER_NAME- Default:
A Pterodactyl server- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|max:70
Player Count
- Environment:
PLAYER_COUNT- Default:
100- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|numeric|digits_between:1,100
Allow Replay
Enable or disable Replay
- Environment:
ALLOW_REPLAY- Default:
false- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|in:true,false
Humans
Enable or disable humans
- Environment:
HUMANS- Default:
false- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|in:true,false
Enable Dynamic weather
Enable or disable dynamic weather
- Environment:
DYNAMIC_WEATHER- Default:
true- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|in:true,false
RCON
Enable RCON
- Environment:
RCON- Default:
false- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|in:true,false
Rcon Port
- Environment:
RCON_PORT- Default:
44000- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|numeric
RCON Password
- Environment:
RCON_PASSWORD- Default:
None- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string
Enable Queue
Enable the queue
- Environment:
ENABLE_QUEUE- Default:
true- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|in:true,false
Queue Port
- Environment:
QUEUE_PORT- Default:
44000- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|numeric
Discord
- Environment:
DISCORD- Default:
norden- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
nullable|string|max:20
Server Password
Enable server password
- Environment:
SERVER_PASSWORD_ENABLED- Default:
false- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|in:true,false
Server Password
The password of the server
- Environment:
SERVER_PASSWORD- Default:
No password- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
nullable|string|max:20
Auto Update
Auto update on restart
- Environment:
AUTO_UPDATE- Default:
1- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|boolean
Beta branch of a steam app.
- Environment:
SRCDS_BETAID- Default:
evrima- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|max:20
App id
- Environment:
SRCDS_APPID- Default:
412680- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|in:412680
Installation Script
Container:
ghcr.io/ptero-eggs/installers:debianEntrypoint:
bash#!/bin/bash
# steamcmd Base Installation Script
#
## just in case someone removed the defaults.
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
## download and install steamcmd
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
# SteamCMD fails otherwise for some reason, even running as root.
# This is changed at the end of the install process anyways.
chown -R root:root /mnt
export HOME=/mnt/server
## 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
# The Isle
mkdir -p /mnt/server/TheIsle/Saved/Config/LinuxServer
#Config File
cat > /mnt/server/TheIsle/Saved/Config/LinuxServer/Game.ini << ENDOFFILE
[/Script/TheIsle.TIGameSession]
ServerName=${SERVER_NAME}
MaxPlayerCount=${PLAYER_COUNT}
MapName=Gateway
bRconEnabled=${RCON}
RconPort=${RCON_PORT}
RconPassword=${RCON_PASSWORD}
bServerPassword=${SERVER_PASSWORD_ENABLED}
ServerPassword=${SERVER_PASSWORD}
bServerDynamicWeather=${DYNAMIC_WEATHER}
bAllowReplay=${ALLOW_REPLAY}
bEnableHumans=${HUMANS}
bQueueEnabled=${ENABLE_QUEUE}
QueuePort=${QUEUE_PORT}
-
[/Script/TheIsle.TIGameStateBase]
AdminsSteamIDs=${ADMINSTEAMID}
ENDOFFILE
#Hotfix
cat > /mnt/server/TheIsle/Saved/Config/LinuxServer/Engine.ini << ENDOFFILE
[Core.System]
Paths=../../../Engine/Content
Paths=%GAMEDIR%Content
Paths=../../../Engine/Plugins/Runtime/SoundUtilities/Content
Paths=../../../Engine/Plugins/Runtime/Synthesis/Content
Paths=../../../Engine/Plugins/Runtime/AudioSynesthesia/Content
Paths=../../../Engine/Plugins/Runtime/WebBrowserWidget/Content
Paths=../../../Engine/Plugins/FX/Niagara/Content
Paths=../../../Engine/Plugins/Experimental/PythonScriptPlugin/Content
Paths=../../../TheIsle/Plugins/SteamCore/Content
Paths=../../../TheIsle/Plugins/RVTObjectLandscapeBlending/Content
Paths=../../../Engine/Plugins/Runtime/Nvidia/DLSS/Content
Paths=../../../TheIsle/Plugins/DonMeshPainting/Content
Paths=../../../TheIsle/Plugins/UIPF/Content
Paths=../../../TheIsle/Plugins/EOSCore/Content
Paths=../../../Engine/Plugins/Experimental/ControlRig/Content
Paths=../../../Engine/Plugins/Runtime/Nvidia/DLSSMoviePipelineSupport/Content
Paths=../../../Engine/Plugins/MovieScene/MovieRenderPipeline/Content
Paths=../../../Engine/Plugins/Compositing/OpenColorIO/Content
Paths=../../../Engine/Plugins/MovieScene/SequencerScripting/Content
Paths=../../../TheIsle/Plugins/ImpostorBaker/Content
Paths=../../../Engine/Plugins/2D/Paper2D/Content
Paths=../../../Engine/Plugins/Developer/AnimationSharing/Content
Paths=../../../Engine/Plugins/Editor/GeometryMode/Content
Paths=../../../Engine/Plugins/Editor/SpeedTreeImporter/Content
Paths=../../../Engine/Plugins/Enterprise/DatasmithContent/Content
Paths=../../../Engine/Plugins/Experimental/ChaosClothEditor/Content
Paths=../../../Engine/Plugins/Experimental/GeometryProcessing/Content
Paths=../../../Engine/Plugins/Experimental/GeometryCollectionPlugin/Content
Paths=../../../Engine/Plugins/Experimental/ChaosSolverPlugin/Content
Paths=../../../Engine/Plugins/Experimental/ChaosNiagara/Content
Paths=../../../Engine/Plugins/Experimental/MotoSynth/Content
Paths=../../../Engine/Plugins/Media/MediaCompositing/Content
Paths=../../../Engine/Plugins/Runtime/OpenXREyeTracker/Content
Paths=../../../Engine/Plugins/Runtime/OpenXR/Content
Paths=../../../Engine/Plugins/Runtime/OpenXRHandTracking/Content
Paths=../../../Engine/Plugins/VirtualProduction/Takes/Content
[EpicOnlineServices]
DedicatedServerClientId=xyza7891gk5PRo3J7G9puCJGFJjmEguW
DedicatedServerClientSecret=pKWl6t5i9NJK8gTpVlAxzENZ65P8hYzodV8Dqe5Rlc8
ENDOFFILE
chmod -R 777 /mnt/server/TheIsle/Saved/Config/LinuxServer
## install end
echo "-----------------------------------------"
echo "Installation completed..."
echo "-----------------------------------------"