Egg Repository

Pterodactyl Community Egg Repository

Wurm Unlimited

Wurm Unlimited is the standalone version of the fantasy sandbox world Wurm Online, the MMORPG where the players are in charge! A pioneer in the ideas of player influence, crafting and adventure, it is now one of the most deep and feature packed true sandbox experiences available.

Read Me

Wurm Unlimited

Steam

Documentation

Install notes

On first install the backup command will error as nothing was created yet. This can safly be ignored

Installation/System Requirements

Bare Minimum Recommended
Processor Any AMD64 will work **
RAM 2 GiB 4 GiB
Storage 2 GiB 3 GiB
Network Anything will work **
Game Ownership not needed **

Server Ports

Ports required to run the server in a table format.

Port default
Game 3724 TCP
Query 27016-27030 UDP
Yolks
NameTag
ghcr.io/ptero-eggs/steamcmd:debianghcr.io/ptero-eggs/steamcmd:debian
Variables
NameDescriptionEnvironment VariableDefault ValueUser ViewableUser Editable
App IDSRCDS_APPID402370NoNo
Auto updateAuto update on restartAUTO_UPDATE1YesYes
Admin PasswodUnlocks the admin commands from within the game, that can be used to change the gameplay settings of the server, such as skill gain rate and field growth time.ADMINPWDYesYes
Query PortUsed to set the steam query port (27016-27030 UDP)QUERY_PORTYesNo
Server NameThe name of the server that will be visible in server browsers.SERVERNAMEYesYes
Max PlayersSets the max number of players allowed on the server, if this is set through this command line option then the internal game commands to change the player limit will not work.MAX_PLAYERS25YesNo
Enable PVPPVPtrueYesYes
Server PasswordSets the password that is used when trying to connect to the server.SERVERPWDYesYes
EpicIf true the server will follow the rules from the Epic servers in Wurm Online. For instance it will use the skill curve.EPICfalseYesYes
Clean Logs on StartClear the logfile on server startSERVER_CLEAN_LOGS_ON_STARTtrueYesYes
WorldWorld to use when launching Wurm. The defaults provided are Creative and Adventure (case sensitive)SERVER_WORLDdist/AdventureYesYes
BetaLeave empty for the public branch and beta for the beta branchSRCDS_BETAIDYesYes
Install Script
#!/bin/bash
# steamcmd Base Installation Script
#
# Server Files: /mnt/server
# Image to install with is 'ghcr.io/ptero-eggs/installers:debian'

# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.
#apt -y update
#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates

## 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

## add below your custom commands if needed

# Copying steamclient.so as per https://www.wurmpedia.com/index.php/Server_administration_(Wurm_Unlimited)#Headless
mkdir -p /mnt/server/nativelibs
cp -v linux64/steamclient.so /mnt/server/nativelibs

mkdir -p ./backup
cp ./WurmServerLauncher ./backup/
cp -r ./dist/Adventure ./backup/
cp -r ./dist/Creative ./backup/

## install end
echo "-----------------------------------------"
echo "Installation completed..."
echo "-----------------------------------------"