1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
5/5, 2 ratings

Linux Mono

Summary of the tutorial

How to properly install Mono in Linux and fix some common issues like: (1) Reticulating splines take too long, (2) ServUO compile under Mono, but don't run, (3) How to make server restart faster for developers.
1 Installation
Install Mono from Mono official download site. ALWAYS. From there you will get the latest version, the most updated one.

I have Debian 9 (64 bits). I have tried to install Mono from Debian official repository. It install OK, ServUO compiles OK, but startup time is not fully ok. In a Core i3-4160 it took 450 seconds (7m30s) to load. Then i removed Debian version (that is and installed from Mono Official Download page (that is Startup time fall from 450 seconds to just 190 seconds (3m10s). This is 2.37 times faster!

For exemple, Debian 9 installation:

In a terminal, write this and press enter:
In a terminal, write this and press enter:
In a terminal, write this and press enter:
In a terminal, write this and press enter:
Now, just a check. In a terminal, write this and press enter:
If it is or above it's OK!

2 Compiling ServUO
So easy. Open a terminal, go to the folder where is ServUO (ServUO should be unziped), enter ServUO folder, of course, and just use this command:
It will create the executable file that is ServUO.MONO.exe.

The server will start to run immediately after the compile, in the same terminal window.

3 ServUO run troubleshooting
Compile will be OK, but when the server run you will get this error:
It is very easy to fix. Close terminal. Open your archive manager, go to ServUO folder, open Server folder, look for the script ScriptCompiler.cs.

Basically, open ScriptCompiler.cs and look for:
And change to:
In other words: just change "" to files.

Now, get back to step 2 above, and compile ServUO again. Now everything gonna work!

4 Faster startup for Developers
If you don't know what is a developer, well... You are not one! You can stop reading it right here.

But, if you are a developer you know that wait 190 seconds (in my case) to a server startup just to test a script is counter-productive.

Go to the folder /ServUO/Config and look for Honesty.cfg. Open it.

Look at line 2:
Change to False:
Save it and restart server again. You will see no Felucca nor Trammel - Reticulating splines... Startup will be very fast.

5 Fast and Furious
Speed is never enough to a developer. Even with step 4 above wait to compile all scripts just to see if a SINGLE code line will work is not fair.

The best solution is to use Lokai's Versioning script. It was developed for RunUO, but Lokai has updated it to ServUO.

What it does is just compile the scripts that have changed, preserving the ones that has not being changed. The result is a terrific gain in speed!

Download the script clicking the link above. Unzip it. There will be 2 scripts:
But remember that we have made changes to ScriptCompiler.cs.

So, open ScriptCompiler.cs that comes with Lokai's Versioning and apply the changes explained in step 3 above.

Now, just copy and paste both (Main and ScriptCompiler) over the ones in /ServUO/Server.

To finish, recompile server as you have learned in step 2 above.