Skip to content

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.

egg-wurm-unlimited.json

updated

Ports

Add an allocation on the node for each port.

  • Game 3724 TCP
  • Query 27016-27030 UDP

Install

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

Image

  • SteamCMD, Debian ghcr.io/ptero-eggs/steamcmd:debian

Startup

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

12 variables

Startup command

./WurmServerLauncher ip=0.0.0.0 externalport=3724 TCP start=dist/Adventure maxplayers=25 servername="{{SERVERNAME}}" adminpwd={{ADMINPWD}} serverpassword={{SERVERPWD}} epicsettings=false queryport={{QUERY_PORT}} pvp=true

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

  • SRCDS_APPIDUsers cannot see

    required|string|in:402370

  • Auto update on restart

    AUTO_UPDATEUsers can edit

    required|boolean

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

    ADMINPWDUsers can edit

    nullable|string|max:20

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

    QUERY_PORTUsers can see

    required|intA value is required.

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

    SERVERNAMEUsers can edit

    required|string|max:64A value is required.

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

    MAX_PLAYERSUsers can see

    required|int

  • PVPUsers can edit

    required|string|in:true,false

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

    SERVERPWDUsers can edit

    nullable|string|max:64

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

    EPICUsers can edit

    required|string|in:true,false

  • Clear the logfile on server start

    SERVER_CLEAN_LOGS_ON_STARTUsers can edit

    required|string|in:true,false

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

    SERVER_WORLDUsers can edit

    required|string|max:128

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

    SRCDS_BETAIDUsers can edit

    nullable|string|in:,beta

Wings

Stop command
shutdown
Running when the console shows
Wurm Server launcher finished at

Files Wings edits

Wings sets these values in these files before each start.

LaunchConfig.ini properties

CleanLogsOnStart
{{server.build.env.SERVER_CLEAN_LOGS_ON_START}}

Readme

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

Changes

  1. 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 60 lines bash in ghcr.io/ptero-eggs/installers:debian Show
#!/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 "-----------------------------------------"