Anyone could recommend a good tutorial or how-to to expand my Linux knowledge. I say this because someone mentioned before here that I could get VitaNex-Core to work with Linux if I knew more about Linux. So people, teach me, so I may get Linux, ServUO, and VitaNex-Core to work together.

P.S.
I did get ServUO and Linux working, as my tutorial is proof of that. But more knowledge wouldn't hurt.
 
I'm certainly no Linux guru, but I imagine to get it to work, you probably need better knowledge of MONO. Vita-nex works wonderfully, but was designed to be compiled in c#, not MONO, so I would imagine the errors are a simple matter of understanding what changes need to be made to compile with MONO (how to work around the lack of full .NET support in Mono).
 
I got it fully working on Linux : ServUO + Vita-Nex Core (& addons).

What problems did you encounter?

My main concern was having the latest MONO version, as @Ravenwolfe mentioned.
Once it's done, everything runs smoothly:)

I have my current live shard working on Linux ;)
(It saves 25$ a month for Windows Server license, so it's worth it :p )
 
I got it fully working on Linux : ServUO + Vita-Nex Core (& addons).

What problems did you encounter?

My main concern was having the latest MONO version, as @Ravenwolfe mentioned.
Once it's done, everything runs smoothly:)

I have my current live shard working on Linux ;)
(It saves 25$ a month for Windows Server license, so it's worth it :p )


Thats why I like Linux.

Your server is cheaper, it runs smoother, saves are quicker, its just an all around better server experience. In my opinion.
And the client end is so much better.


Which version of MONO are you running? I had 3.2 and it was not working.
 
Last edited:
I would love to run a server on linux. I tried once and didn't succeed. I probably gave up way too soon tho. I think my issue was with permissions.
 
I think it works fine with version 3.2.8, which you find on most Linux distributions now.

Although I have version 4.2.1 installed. I installed it manually from a deb file with command dpkg -i : http://software.opensuse.org/download/package?project=home:tpokorra:mono&package=mono-opt

Although I think I had an issue about a missing library. Libjpeg8 I think.
Tell me if you get stuck there... There is a way to avoid that issue :p

Also, for permissions, best commands are :
- chown : give full control of a folder to a certain user.
Example: sudo chown -R uouser /opt/ServUO/

- chmod: set permission like writable, executable, public, private, etc
Example: sudo chmod -R 777 /var/www/html/
(Example not adviced to run on a public server ...).


Hopefully this can help:)
 
Get Better @ Linux
https://www.edx.org/course/introduction-linux-linuxfoundationx-lfs101x-2
https://www.nostarch.com/tlcl

I had no problems getting up and running on Ubuntu 14.04 LTS:

sudo add-apt-repository ppa:keks9n/monodevelop-latest
sudo apt-get update
sudo apt-get install mono-complete tmux
sudo su -
cd /opt
git clone https://github.com/ServUO/ServUO.git ServUO
ctrl+d (to exit root user)
sudo mkdir -p /var/lib/ServUO-data
sudo chmod 777 /var/lib/ServUO-data
cp /path_to_extracted_client/*.mul /var/lib/ServUO-data/
cp /path_to_extracted_client/*.idx /var/lib/ServUO-data/
open an editor (gedit if you need a graphicial one) and point your data path to /var/lib/ServUO-data.

cd /opt/ServUO
tmux (which opens a detachable terminal so you can have your terminal back after starting the server)
make

xx your fingers you did it all right.

detach from tmux
ctrl+b then d
attach to terminal
tmux attach

if you have more than one terminal
tmux ls
choose the window you want and use it's number to attach
tmux attach -t 0 (for instance)

Getting UO Client to run in wine stable is a whole other story... what a pita. I'll write a tutorial once I can get stable.
 
Get Better @ Linux
I had no problems getting up and running on Ubuntu 14.04 LTS:

As a side note, this should not be used in a public environment. The server should run as a dedicated user IE uouser and you have to concern yourself with securing the server and the /var/lib/ServUO permissions should be properly tested and restricted a little less open to the world than 777.

Digital Ocean has good getting started tutorial for 14.04. The rest is up to you.
https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-14-04
 
Sorry typed this from memory...
these three lines should be run in this order. Notice a missing recursive directive in the chmod command above.

cp /path_to_extracted_client/*.mul /var/lib/ServUO-data/
cp /path_to_extracted_client/*.idx /var/lib/ServUO-data/
sudo chmod 777 -R /var/lib/ServUO-data

Or before you start your server just run
sudo chmod 777 -R /var/lib/ServUO-data

I'm sure if you can get this far you get the gist.
 
We gave VNc a real good go in Linux but were not able to get it working. We found that Mono version 4.0.5 was the most stable and performant. However VNc required ServUO to run as Root for some reason (my suspicion is that it is binding to port 80), and it randomly crashes due to a SocketNotConnected excpetion.

We eventually had to move to running a Windows 2012 server inside a VM.

Also ServUO wouldn't even execute under Linux as of December. Had to make a number of fixes for that.
 
I think you guys are off to a great start as far as the Linux is concerned. I see a few small things that could be tweaked but It compiles and runs well enough for me using ML client files. Being ignorant to mono/uo/c# to compiled in 3hrs.. Thats a win good work.
 
As a side note, this should not be used in a public environment. The server should run as a dedicated user IE uouser and you have to concern yourself with securing the server and the /var/lib/ServUO permissions should be properly tested and restricted a little less open to the world than 777.

Digital Ocean has good getting started tutorial for 14.04. The rest is up to you.
https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-14-04

Would u know if they are any good at hosting a server like ours?
 
I'm trying to make an init script so that a dedicated user can launch the UO server on Linux (preferably Debian Jessie without any graphic interface).

Gimme a few days ^^
 
Hello guys, how do you deal with the fact, you need ultima online files? Should I install ultima on linux? :F
 
Hello guys, how do you deal with the fact, you need ultima online files? Should I install ultima on linux? :F

You can copy the required mul/uop files from your install on windows to your linux box and set your client location in the config files.
 
You can copy the required mul/uop files from your install on windows to your linux box and set your client location in the config files.
thanks, I did as you say and it worked.

I managed to run the server on linux, however I have a problem: after a world save, or world generation, my client has a huge lag, and when I try to log in again, login process stops on "Verifying account" :/ Saving process finished for sure, as the log from the server says:
08:26:10 Core: Using standard save strategy
08:26:10 World: Saving...
08:26:10 Closing Save Files.
08:26:10 Save finished in 0.19 seconds.
Also when I change port of the server in Server.cfg, it listens on default port anyway :/
 
Back