Regarding the deserialize issue:
Code:
$ PATH=~/mono-1.2.5/bin ~/mono-1.2.5/bin/mono RunUO.exe
RunUO - [www.runuo.com] Version 2.0, Build 2806.28250
Core: Running on .NET Framework Version 2.0.50727
Core: Optimizing for 4 processors
Scripts: Compiling C# scripts...done (cached)
Scripts: Compiling VB.NET scripts...no files found.
Scripts: Verifying...done (2107 items, 500 mobiles)
Enter the Ultima Online directory:
> /home/mark/uo/
Regions: Loading...done
World: Loading...
** ERROR **: file mini.c: line 4661 (mono_method_to_ir): assertion failed: (mono_method_signature (cmethod)->is_inflated)
aborting...
Stacktrace:
at (wrapper managed-to-native) System.Object.__icall_wrapper_compile_generic_method (object,intptr,intptr,intptr) <0x00004>
at (wrapper managed-to-native) System.Object.__icall_wrapper_compile_generic_method (object,intptr,intptr,intptr) <0xffffffff>
at Server.BinaryFileReader.ReadStrongMobileList () <0x00020>
at Server.Mobile.Deserialize (Server.GenericReader) <0x002d2>
at Server.Mobiles.PlayerMobile.Deserialize (Server.GenericReader) <0x00034>
at Server.World.Load () <0x016c5>
at Server.ScriptCompiler.Compile (bool,bool) <0x002d8>
at Server.Core.Main (string[]) <0x00865>
at (wrapper runtime-invoke) Server.Core.runtime_invoke_void_string[] (object,intptr,intptr,intptr) <0xffffffff>
It looks like mono chokes on our generic method List<T> ReadStrongMobileList<T>(), which is called by ReadStrongMobileList() (in the form of ReadStrongMobileList<Mobile>()).
Regardless, it shouldn't be much trouble to get this working on your own. It isn't something I want to modify in the repository yet.