Howdy! This is my first post! Mainly making this post to refer back to when I have to do a re-installation of sorts or, if someone is struggling getting their server to run on a raspberry pi 4. My specs are as follows;

OS: Ubuntu 20.04.1
Hardware Raspberry Pi 4 (8GB)
Mono: 4.7.2

I followed a few guides on running ServUO on Linux but kept getting hung up on various errors. However, ultimately I had to do the following to get it running

-Copy a ServUO-master folder from a Windows box that had an "Ultima" directory.
-Use the MakeFile from this post "When using Make I get an error that C# is outdated"
-Updated my Utility.cs via "Utility Compatibility Update by Voxpire · Pull Request #4857 · ServUO/ServUO"
-Run the compile commands for "Ultima.dll" and "ServUO.exe" from the following post "HowTo: Compile and Run ServUO using Mono in Linux"

I'm not sure at what point the "Ultima" directory is created, probably need to dig into the code to figure this out for myself. Once I had those things in place, I was able to run the compile commands no problem and the server fired up and I was off the the races. Apologies that this isn't very concise, I'm pretty new to the project and was just wanting a way to contribute if even just a tiny bit. Also, here's a nice post on getting your server to run as a service on startup for Linux "https://www.servuo.com/threads/runn...ntu-16-04-with-auto-restarts.6060/#post-68229".

Here are the errors I encountered---
-Couldn't find the "Ultima" directory
-Utility.cs errors "error CS1644: Feature `default literal' cannot be used because it is not part of the C# 7.0 language specification"
-General exception errors...something about "Rectangle2D".

UPDATE: 3.21.22
I noticed the "servuo as a service" link was broken and I wasn't able to find a new one. In order for ServUO to start as a service, create a systemd service unit for it

touch /etc/systemd/system/servuo.service

Now paste the following text into the newly created file:

Description=ServUO Service

ExecStart=mono /path/to/file/ServUO.exe


Save the file and you will want to reload the systemd w/ the following command:

sudo systemctl daemon-reload

You can then start the service with this command:

sudo systemctl start servuo.service

Check the status of the service with this command:

sudo systemctl status servuo.service

and finally you can set it to autostart w/ the following command:

sudo systemctl enable servuo.service
Last edited:


The Ultima Directory refers to the Ultima Online Client installed on the local machine. The server uses the tiledata, map data, and a few other things from the local client.


i use raspberry pi4 for server Ultima online.

i write this post: