Yeah yeah yeah. I know it's been a while since I made a new post, and this one is unlike my previous ones.

Today, I'm going to teach you how to build a Wurm Unlimited dedicated Linux server (hey, the same thing as my title).

First, you'll need a Linux server. I'd recommend AWS or DigitalOcean. The specs I'd recommend, at a minimum:

Ubuntu 16.04/CentOS 7.x

100GB SSD

2 vCPU

2GB RAM

Now, with AWS, do not assign a public IP to the server. Create the server without a public IP, then go to Elastic IPs, create one, then associate the Elastic IP to your new instance's interface.

Also, with any service provider, ensure the following ports are allowed:

UDP 8766 27016-27030

TCP 8766 3724



I am going to assume you know how to create key-pairs, and you have one, and it is assigned to your server. I am also going to assume you know how to SSH into a server, and have the software required to do so.

While I said "Ubuntu or CentOS", this write-up is going to be about Ubuntu -- the one I have used to create a server.

Got the server up, and are in via SSH? Cool. Sudo up:

sudo -i

update the box:

apt update && apt full-upgrade && reboot

This will disconnect you. Wait a 2-3 minutes, then SSH back in, and sudo up again.

Now, it's time to have fun. Run this command:

adduser steam

It will prompt for a password. You can assign it any password that you like. Hit "ENTER/RETURN" the rest of the way down.

Next, run this, and it will install required packages, as well as a few that may not ever be needed, but you will be glad you added if you wind up needing them:

apt-get -y install lib32gcc1 libswt-gtk-3-java zip sqlite3 python2.7

Now, let's install steamcmd :

Let's change to the steam user:

su - steam

Next, let's download and unpack steamcmd :

curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -

Now that we've downloaded steamcmd and extracted, let's install Wurm Unlimited Dedicated Server:

cd Steam ./steamcmd.sh +login anonymous +force_install_dir /home/steam/wu +app_update 402370 +validate +quit

Let's move into the Wurms Unlimited area:

cd ../wu

OPTIONAL: Install mods and patch the service:

Don't do this if you're not sure you want mods

Run the following to get the mods (changing the version to the latest):

wget https://github.com/ago1024/WurmServerModLauncher/releases/download/v0.32.1/server-modlauncher-0.32.1.zip

Next, run this (no need to change for version):

unzip $(ls server-modlauncher*|sort|tail -1) chmod +x patcher.sh ./patcher.sh

Now, you can add new mods by following the mod instructions, and dropping the mods in /home/steam/wu/mods/

END mod section

Creating a creative server:

To start the server, we need some server files in place. To do that, let's copy their boiler plate files:

cd /home/steam/wu

For Creative:

cp -R dist/Creative .

For Adventure:

cp -R dist/Adventure .

Start-up scripts:

Change the following scripts to fit your server's needs. These files do not exist by default. Read the comments (lines that start with " # ") for info on the line below them.

/home/steam/wu/server.cfg

# Set the IP if the default IP (eth0, usually) isn't your external interface. # Leave at '' if you are unsure. If this doesn't work, change to the 10., or 192., # or 172. IP on the server. If you have more than one, try each until it works. IP='' # 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. ADMINPWD="" # If true the server will follow the rules from the Epic servers in Wurm Online. # For instance it will use the skill curve. EPICSETTINGS="false" # Used to set the port which the client connects through (Default 3724 TCP) EXTERNALPORT="" # If the server is a home server ( belongs to a single kingdom ). HOMESERVER="true" # The kingdom the server belongs to. # If you're using the Adventure base, use 1, 2, or 3. # If you're using Creative, use 4. # Kingdom numbers: # 0 - No kingdom # 1 - Jen-Kellon # 2 - Mol-Rehan # 3 - Horde of the Summoned # 4 - Freedom HOMEKINGDOM=4 # Defaults to true, should only be set to false if the server is intended to be # connected with another server that is going to act as a loginserver. LOGINSERVER="true" # 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. MAXPLAYERS=200 # Used to set the steam query port (27016-27030 UDP) QUERYPORT=27017 # The name of the server that will be visible in server browsers. SERVERNAME="YOUR SERVER'S NAME" # Sets the password that is used when trying to connect to the server. If set, password will be required to play SERVERPASSWORD="" # Starts the launcher with the configuration and world data from the subdirectory # specified in <name>. If you used Adventure, change the line below to # START="Adventure" START="Creative"

/home/steam/wu/start_server.sh

#!/bin/bash cd /home/steam/wu if [ -f ./server.cfg ]; then source ./server.cfg else echo "Unable to find server.cfg file. Quitting like a coward." exit 1 fi if [ -f WurmServerLauncher-patched ]; then service_file='./WurmServerLauncher-patched' else service_file='./WurmServerLauncher' fi $service_file ADMINPWD="$ADMINPWD" EPICSETTINGS="$EPICSETTINGS" EXTERNALPORT="$EXTERNALPORT" HOMESERVER="$HOMESERVER" HOMEKINGDOM="$HOMEKINGDOM" LOGINSERVER="$LOGINSERVER" MAXPLAYERS="$MAXPLAYERS" QUERYPORT="$QUERYPORT" SERVERNAME="$SERVERNAME" SERVERPASSWORD="$SERVERPASSWORD" START="$START" IP="$IP"

Next, run the following command:

chmod +x /home/steam/wu/start_server.sh exit

You shoud now be root. Now we need to create the service unit file.

create the file /lib/systemd/system/wurm.service that contains the following:

# Wurm Unlimited Dedicated Server systemd service file [Unit] Description=Wurm Unlimited Server After=network.target [Service] User=steam Group=steam WorkingDirectory=/home/steam/wu ExecStart=/home/steam/wu/start_server.sh TimeoutSec=600 Restart=on-failure

Now that that's done, run this:

sudo systemctl enable wurm.service

That will ensure that it starts automatically

Now, we get to start the server:

sudo service wurm start

To check the status:

sudo service wurm status

To restart: