First, I'm sorry for my poor English and my solutions are not absolute.

Yesterday, I ran ServUO successfully under my ubuntu 12.04 LTS system.
I think critical issues are installation of mono3 and kernel32 exception.
here is solution of above issue.

1. mono3 install in ubuntu 12.04 LTS
Source: http://www.meebey.net/posts/mono_3.0_preview_debian_ubuntu_packages/

Add this line to your /etc/apt/sources.list file:

deb http://debian.meebey.net/experimental/mono /

Now update the APT database and install mono-complete from that repository:
apt-get update
apt-get install mono-complete

2. Solution of kernel32 exception
I found different code between ServUO and RunUO about dll load of kernel32.
The main problem is SafeNativeMethods.QueryPerformanceCounter(out t);
In RunUO, We put option -D with MONO in compile time.
Then avoid start the SafeNativeMethods function in Main.cs, but ServUO did not use that option.

Here is changed my code.
// TODO: Unreliable with certain system configurations.
/*if (_HighRes)
{
SafeNativeMethods.QueryPerformanceCounter(out t);
}
else
{
t = DateTime.UtcNow.Ticks;
}
return (long)(t * _Frequency);
*/

#if !MONO
if (_UseHRT && _HighRes)
{
long t = 0;
SafeNativeMethods.QueryPerformanceCounter(out t);
return (long)((double)t * _Frequency);
}
else
#endif
return (long)((double)DateTime.UtcNow.Ticks * 0.0001);
 
Back