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).
- 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:
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:
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:
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
Let's change to the steam user:
su - steam
Next, let's download and unpack
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:
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):
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
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:
cp -R dist/Creative .
cp -R dist/Adventure .
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.
# 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"
#!/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
sudo service wurm restart