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 MinimumRecommended
ProcessorAny AMD64 will work**
RAM2 GiB4 GiB
Storage2 GiB3 GiB
NetworkAnything will work**
Game Ownershipnot needed**

Server Ports

Ports required to run the server in a table format.

Portdefault
Game3724 TCP
Query27016-27030 UDP
Yolks
NameTag
ghcr.io/ptero-eggs/steamcmd:debianghcr.io/ptero-eggs/steamcmd:debian
Variables and Startup

Startup Command

./WurmServerLauncher ip=0.0.0.0 externalport={{SERVER_PORT}} start={{SERVER_WORLD}} maxplayers={{MAX_PLAYERS}} servername="{{SERVERNAME}}" adminpwd={{ADMINPWD}} serverpassword={{SERVERPWD}} epicsettings={{EPIC}} queryport={{QUERY_PORT}} pvp={{PVP}}

Variables

App ID

Environment Variable: SRCDS_APPID
Default Value: 402370
User Viewable:
User Editable:
Auto update

Auto update on restart

Environment Variable: AUTO_UPDATE
Default Value: 1
User Viewable:
User Editable:
Admin Passwod

Unlocks 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.

Environment Variable: ADMINPWD
Default Value:
User Viewable:
User Editable:
Query Port

Used to set the steam query port (27016-27030 UDP)

Environment Variable: QUERY_PORT
Default Value:
User Viewable:
User Editable:
Server Name

The name of the server that will be visible in server browsers.

Environment Variable: SERVERNAME
Default Value:
User Viewable:
User Editable:
Max Players

Sets 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.

Environment Variable: MAX_PLAYERS
Default Value: 25
User Viewable:
User Editable:
Enable PVP

Environment Variable: PVP
Default Value: true
User Viewable:
User Editable:
Server Password

Sets the password that is used when trying to connect to the server.

Environment Variable: SERVERPWD
Default Value:
User Viewable:
User Editable:
Epic

If true the server will follow the rules from the Epic servers in Wurm Online. For instance it will use the skill curve.

Environment Variable: EPIC
Default Value: false
User Viewable:
User Editable:
Clean Logs on Start

Clear the logfile on server start

Environment Variable: SERVER_CLEAN_LOGS_ON_START
Default Value: true
User Viewable:
User Editable:
World

World to use when launching Wurm. The defaults provided are Creative and Adventure (case sensitive)

Environment Variable: SERVER_WORLD
Default Value: dist/Adventure
User Viewable:
User Editable:
Beta

Leave empty for the public branch and beta for the beta branch

Environment Variable: SRCDS_BETAID
Default Value:
User Viewable:
User Editable:
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 "-----------------------------------------"
Installation Imageghcr.io/ptero-eggs/installers:debianInstallation Entrypointbash