I would to thank the community for all their help with getting my Linux ServUO server and shard up and running. Thank everyone for putting up with my million posts that was stacked on top of one another which irritated some people but forgave me.

I thought after my success I should write a tutorial about how I did it for other people who may be interested. I needed to write this tutorial after I screwed some settings on my Linux L.A.M.P server that dealt with Apache. I was able to do this at one time, I can do it again.

Some of the programs that I use to accomplish this goal are:
  1. For SSH I use FireSSH which you can find under addons for Mozilla Firefox, which allows for cutting and pasting.
  2. To edit all of the files on the server, I use vi <filename> which is already installed with the server. I have found you don’t need anything more than that.
  3. Tmux is used to run the server even while I log off. I like it because I found it to be the most stable one out there. I tried using screen, but it killed the server session after twelve hours of operation. I was not happy.
I did quite a bit of research on different pages on ServUO.com and RunUO.com to get this going because I could not find a single tutorial that actually worked for me.

You may get some errors, I would recommend researching them on ServUO.com. The community there are knowledgeable, friendly, and a great bunch of people. I didn’t have any, that’s why I didn’t list them and add the solutions because mine was working from before and all I did was copy it on a usb stick as a back-up copy and re-installed it on the refreshed server.

I am assuming that you have Ubuntu 14.04 LTS installed with SSH, L.A.M.P., ftp, DNS Server, and PostGreSQL. Google on how to install it but I have listed one to save you some time----
http://ubuntuserverguide.com/2014/04/how-to-install-ubuntu-server-14-04-trusty-tahr.html

1. use your SSH software or log into your server.

2. Get root access by typing sudo su and entering your password.

3. Sudo apt-get update && apt-get upgrade

4. Next we need to edit your sources.list file. Do the following.
Vi /etc/apt/sources.list
add the following line of code to your sources.list
deb http://debian.meebey.net/experimental/mono /
leave the space between the last slash and mono, if you don’t it will throw an error and will not update.

5. sudo apt-get install mono-complete

* * * * * * * * UPDATE 9-24-14 * * * * * * * *
6. Install MonoDevelop
sudo apt-get install monodevelop

7. Compile ServUO with the following code:
mcs -sdk:4.5 -out:ServUO.exe -d:MONO -d:Framework_4_0 -d:ServUO -optimize+ -unsafe r:System,System.Configuration.Install,System.Data,System.Drawing,System.EnterpriseServices,System.Management,System.Security,System.ServiceProcess,System.Web,System.Web.Services,System.Windows.Forms,System.Xml,OpenUO.Core.dll,OpenUO.Ultima.dll,OpenUO.Ultima.Windows.Forms.dll,SevenZipSharp.dll -nowarn:219 -recurse:Server/*.cs

8. * * * VERY IMPORTANT * * *
A. YOU MUST BE SIGNED IN AS THE ROOT USER OF YOUR SERVER, NOT A USER
1. type sudo su to get root access (if you have not already)
2. type sudo chmod 777 /path/to/your/server's/save/folder
a. so your server can write the saves, if you don't, it will crash the server.
3. mono ServUO.exe

9. Enjoy and have fun.
 
Last edited:
i follow your tutorial, thanks for the help!, but i have one problem, when i copy your lines, i get this message:

  1. error CS2007: Unrecognized command-line option: `-sdk:4.5

 
do a search for your answer, I have no clue what to tell you. No prob. I found it runs fine, and I think better, under linux than windows. I just wish with a linux version we could make a script to reload the script files while the game is running. But thats me.
 
A friend help me installing a newest MONO, but when i compile ServUO i get this error:

  1. System.DllNotFoundException: kernel32
Do you know the reason? you had a similar error when you installed ?, will the MonoDevelop that is not installed (i Think)?
 
I just tried your guide and I get this error...

Code:
ubuntu@servuo:~/ServUO$ mcs -sdk:4.5 -out:ServUO.exe -d:MONO -d:Framework_4_0 -d:ServUO -optimize+ -unsafe r:System,System.Configuration.Install,System.Data,System.Drawing,System.EnterpriseServices,System.Management,System.Security,System.ServiceProcess,System.Web,System.Web.Services,System.Windows.Forms,System.Xml,OpenUO.Core.dll,OpenUO.Ultima.dll,OpenUO.Ultima.Windows.Forms.dll,SevenZipSharp.dll -nowarn:219 -recurse:Server/*.cs
error CS2001: Source file `r:System,System.Configuration.Install,System.Data,System.Drawing,System.EnterpriseServices,System.Management,System.Security,System.ServiceProcess,System.Web,System.Web.Services,System.Windows.Forms,System.Xml,OpenUO.Core.dll,OpenUO.Ultima.dll,OpenUO.Ultima.Windows.Forms.dll,SevenZipSharp.dll' could not be found
Compilation failed: 1 error(s), 0 warnings

So my next question is how do you run the Compile.MONO.bat file from Ubuntu?

Thanks,

Phred
 
nope same error even after adding the step on a clean install - you didn't see my posting on this topic either?

when I used this command I compiled

sudo mcs -sdk:4.5 -out:ServUO.exe -d:MONO -d:Framework_4_0 -d:ServUO -optimize+ -unsafe -r:System,System.Configuration.Install,System.Data,System.Drawing,System.EnterpriseServices,System.Management,System.Security,System.ServiceProcess,System.Web,System.Web.Services,System.Windows.Forms,System.Xml,OpenUO.Core.dll,OpenUO.Ultima.dll,OpenUO.Ultima.Windows.Forms.dll,SevenZipSharp.dll -nowarn:219 -recurse:Server/*.cs
 
Here is my feedback about testing a server on a VPS.
For this test, I asked a free 2 months trial VPS (Virtual Private Server) at Aruba Cloud.

First, logon the VPS, create a dedicated user and configure a FTP for uploads.
Code:
ssh [email protected]
adduser adminuo
login
Here I login as "adminuo" with the password I provided when I added the user.
Then I install all the needed packages I will use.
Code:
sudo apt-get update
sudo apt-get install screen
sudo apt-get install make
sudo apt-get install git
sudo apt-get install mono-complete
sudo apt-get install vsftpd
chmod a-w ~
sudo nano /etc/vsftpd.conf
In the configuration file, the following change has to be made:
Code:
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
Then I restarted the FTP service and imported the RunUO files.
Code:
sudo service vsftpd restart
git init
git clone https://github.com/ServUO/ServUO.git SERVER
mkdir UOFILES
nano SERVER/Config/DataPath.cfg
In the DataPath config file, I changed the directory where I will put the resources (mul and idx files):
Code:
# Uncomment this line and set it to the path of the client files to set a
# custom data path. Otherwise ServUO will look for the client in the default
# Windows installation directories. Note that this is *required* when running
# on non-Windows systems.
CustomPath=../UOFILES

# If true all data paths other than CustomPath will be ignored.
# Highly Recommended if you set a custom client above to prevent multiple
# instances of the client being loaded.
IgnoreStandardPaths=False
Then, I used a FTP client like Filezilla to upload all the needed resources in the UOFILES directory so RunUO has all the mul and idx files.
After, that, I used the "screen" tool to make the session persistent so I can then logout and relog and the server will be still running:
Code:
screen
cd SERVER
make
To exit, I press "Ctrl-A" and then "d"
Then I can logout. When I relogin, I just login as "adminuo" and I just need to type this to go back to the console:
Code:
screen -r
 
Last edited:
Back