README
Unturned
Steam Description You're one of the few not yet turned zombie. Keeping it that way will be a challenge.
- Go in guns blazing and attract the attention of everything, living and dead.
- Take a subtle approach sneaking around and making use of distractions.
- Confront and learn to counter special abilities ranging from invisibility to fire breathing to lightning attacks.
GSLT
You can manually create GSLTs while logged in with your Steam account here: https://steamcommunity.com/dev/managegameservers
Use Unturned's app ID 304930, and a memo to remind you which server the token is for.
Server Ports
Unturned requires 2 ports to run properly.
| Port | default |
|---|---|
| Game | 27015 |
| Game +1 | 27016 |
Docker Images (1)
| Name | Image |
|---|---|
ghcr.io/ptero-eggs/steamcmd:debian | ghcr.io/ptero-eggs/steamcmd:debian |
Startup Command
./Unturned_Headless.x86_64 -batchmode -nographics -bind 0.0.0.0 -port {{SERVER_PORT}} -GSLT {{GSLT}} -Name "{{SRV_NAME}}" -Password {{SRV_PW}} +InternetServer/{{SRV_ID}} Variables (7)
Server Name
- Environment:
SRV_NAME- Default:
Pterodactyl hosted Server- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
string|max:50
Server Password
- Environment:
SRV_PW- Default:
None- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
nullable|string
GSLT
- Environment:
GSLT- Default:
None- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string
Server ID
ID of the server for savegames
- Environment:
SRV_ID- Default:
PterodactylUnturned- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
string
Auto update
Auto update on restart
- Environment:
AUTO_UPDATE- Default:
1- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|boolean
Steam App ID
Steam App ID require for install and startup update
- Environment:
SRCDS_APPID- Default:
1110390- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string|in:1110390
ld lib path
This is needed to load specific libraries
- Environment:
LD_LIBRARY_PATH- Default:
./Unturned_Headless_Data/Plugins/x86_64/- User Viewable:
- ❌
- User Editable:
- ❌
- Rules:
required|string
Installation Script
Container:
ghcr.io/ptero-eggs/installers:debianEntrypoint:
bash#!/bin/bash
# steamcmd Base Installation Script
#
# Server Files: /mnt/server
# Image to install with is 'ghcr.io/ptero-eggs/installers:debian'
## 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
## 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
## add below your custom commands if needed
## Specific to Unturned
cd /mnt/server/
ln -s ../../../steamcmd/linux64/steamclient.so Unturned_Headless_Data/Plugins/x86_64/steamclient.so
ln -s ../Extras/Rocket.Unturned/ Modules/
## install end
echo "-----------------------------------------"
echo "Installation completed..."
echo "-----------------------------------------"