Go Back   RunUO - Ultima Online Emulation > RunUO > Server Support on Mono

Server Support on Mono Forum dedicated to RunUO 2.0 on Mono.

Reply
 
Thread Tools Display Modes
Old 04-02-2008, 11:43 AM   #1 (permalink)
Lurker
 
Join Date: Mar 2008
Posts: 9
Default XmlSpawner2 with mono and RUNUO 2.0

Hi,

RUNUO (svn) works with mono 1.2.6 and the fixpacks from
RunUOForge > Projects > RunUO on Linux > Home thanks to RavenTUS

There is another problem, installing XmlSpawner2:
Code:
RunUO - [www.runuo.com] Version 2.0, Build 3013.23354
Core: Running on .NET Framework Version 2.0.50727
Core: Unix environment detected
Scripts: Compiling C# scripts...failed (12 errors, 0 warnings)
Errors:
 + Custom/XmlMobiles/XmlQuestNPC.cs:
    CS0234: Line 11: The type or namespace name `Scripts' does not exist in the namespace `Server'. Are you missing an assembly reference?
    CS0246: Line 11: The type or namespace name `Scripts.Commands' could not be found. Are you missing a using directive or an assembly reference?
 + Custom/XmlAttach/XmlAttachment.cs:
    CS0234: Line 4: The type or namespace name `Scripts' does not exist in the namespace `Server'. Are you missing an assembly reference?
    CS0246: Line 4: The type or namespace name `Scripts.Commands' could not be found. Are you missing a using directive or an assembly reference?
    CS0234: Line 4: The type or namespace name `Scripts' does not exist in the namespace `Server'. Are you missing an assembly reference?
    CS0246: Line 4: The type or namespace name `Scripts.Commands' could not be found. Are you missing a using directive or an assembly reference?
 + Custom/XmlUtils/WriteMulti.cs:
    CS0246: Line 40: The type or namespace name `CommandEventArgs' could not be found. Are you missing a using directive or an assembly reference?
 + Custom/XmlSpawnerSkillCheck.cs:
    CS0234: Line 11: The type or namespace name `Scripts' does not exist in the namespace `Server'. Are you missing an assembly reference?
    CS0246: Line 11: The type or namespace name `Scripts.Commands' could not be found. Are you missing a using directive or an assembly reference?
    CS0234: Line 11: The type or namespace name `Scripts' does not exist in the namespace `Server'. Are you missing an assembly reference?
    CS0246: Line 11: The type or namespace name `Scripts.Commands' could not be found. Are you missing a using directive or an assembly reference?
 + Custom/XmlSpawner2.cs:
    CS0506: `Server.Mobiles.XmlSpawner.Name': Line 1217: cannot override inherited member `Server.Item.Name' because it is not marked virtual, abstract or override
 + Custom/XmlQuest/XmlQuestPoints.cs:
    CS0246: Line 167: The type or namespace name `CommandEventArgs' could not be found. Are you missing a using directive or an assembly reference?
    CS0246: Line 187: The type or namespace name `CommandEventArgs' could not be found. Are you missing a using directive or an assembly reference?
 + Custom/XmlMobiles/TalkingBaseVendor.cs:
    CS0115: Line 753: `Server.Mobiles.TalkingBaseVendor.GetContextMenuEntries(Server.Mobile, System.Collections.ArrayList)' is marked as an override but no suitable method found to override
 + Custom/XmlMobiles/TalkingBaseEscortable.cs:
    CS0115: Line 462: `Server.Mobiles.TalkingBaseEscortable.AddCustomContextEntries(Server.Mobile, System.Collections.ArrayList)' is marked as an override but no suitable method found to override
 + Custom/XmlQuest/XmlQuestToken.cs:
    CS0506: `Server.Items.XmlQuestToken.Name': Line 866: cannot override inherited member `Server.Item.Name' because it is not marked virtual, abstract or override
 + Custom/XmlUtils/WhatIsIt.cs:
    CS0246: Line 62: The type or namespace name `CommandEventArgs' could not be found. Are you missing a using directive or an assembly reference?
 + Custom/XmlMobiles/TalkingBaseCreature.cs:
    CS0115: Line 746: `Server.Mobiles.TalkingBaseCreature.GetContextMenuEntries(Server.Mobile, System.Collections.ArrayList)' is marked as an override but no suitable method found to override
 + Custom/XmlQuest/XmlQuestHolder.cs:
    CS0506: `Server.Items.XmlQuestHolder.Name': Line 781: cannot override inherited member `Server.Item.Name' because it is not marked virtual, abstract or override
Scripts: One or more scripts failed to compile or no script files were found.
 - Press return to exit, or R to try again.
Exiting...done
I was able to remove some of the
Code:
The type or namespace name `Scripts'
by replacing
Code:
using Server.Scripts;
with

Code:
using Server;
with this script:

Code:
for file in Custom/XmlQuest/XmlQuestLeaders.cs Custom/XmlUtils/XmlEdit.cs Custom/BaseXmlSpawner.cs Custom/XmlMobiles/TalkingBaseVendor.cs Custom/XmlAttach/XmlGetAttachGump.cs Custom/XmlAttach/XmlAttach.cs Custom/XmlSpawnerGumps.cs Custom/XmlSpawner2.cs Custom/ItemFlags.cs Custom/XmlUtils/XmlAdd.cs Custom/XmlMobiles/TalkingBaseCreature.cs Custom/XmlUtils/XmlFind.cs Custom/SpawnerExporter.cs Custom/XmlAttachments/XmlDialog.cs; do echo $file; cat Scripts/$file | sed -e 's/using Server\.Scripts/using Server/g' > Scripts/$file.neu;cp -p Scripts/$file Scripts/$file.backup; mv -f Scripts/$file.neu Scripts/$file; done
but there are a lot of further error messages as you can see.

I know, that XmlSpawner2 != runuo and this forum only said: "runuo works with mono", but XmlSpawner2 is I think one of the best addons I have ever seen. So for a usefull runuo/mono environment we need a solution which works with some popular addons like XmlSpawner2, nerun, ...

What could be done to get XmlSpawner2 work with mono?

Regards
Lukas
lweberru is offline   Reply With Quote
Old 04-02-2008, 12:44 PM   #2 (permalink)
Forum Expert
 
Greystar's Avatar
 
Join Date: Mar 2004
Location: NorthCentral IL, USA
Age: 34
Posts: 3,848
Default

Quote:
Originally Posted by lweberru View Post
Hi,

RUNUO (svn) works with mono 1.2.6 and the fixpacks from
RunUOForge > Projects > RunUO on Linux > Home thanks to RavenTUS

There is another problem, installing XmlSpawner2:
Code:
RunUO - [www.runuo.com] Version 2.0, Build 3013.23354
Core: Running on .NET Framework Version 2.0.50727
Core: Unix environment detected
Scripts: Compiling C# scripts...failed (12 errors, 0 warnings)
Errors:
 + Custom/XmlMobiles/XmlQuestNPC.cs:
    CS0234: Line 11: The type or namespace name `Scripts' does not exist in the namespace `Server'. Are you missing an assembly reference?
    CS0246: Line 11: The type or namespace name `Scripts.Commands' could not be found. Are you missing a using directive or an assembly reference?
 + Custom/XmlAttach/XmlAttachment.cs:
    CS0234: Line 4: The type or namespace name `Scripts' does not exist in the namespace `Server'. Are you missing an assembly reference?
    CS0246: Line 4: The type or namespace name `Scripts.Commands' could not be found. Are you missing a using directive or an assembly reference?
    CS0234: Line 4: The type or namespace name `Scripts' does not exist in the namespace `Server'. Are you missing an assembly reference?
    CS0246: Line 4: The type or namespace name `Scripts.Commands' could not be found. Are you missing a using directive or an assembly reference?
 + Custom/XmlUtils/WriteMulti.cs:
    CS0246: Line 40: The type or namespace name `CommandEventArgs' could not be found. Are you missing a using directive or an assembly reference?
 + Custom/XmlSpawnerSkillCheck.cs:
    CS0234: Line 11: The type or namespace name `Scripts' does not exist in the namespace `Server'. Are you missing an assembly reference?
    CS0246: Line 11: The type or namespace name `Scripts.Commands' could not be found. Are you missing a using directive or an assembly reference?
    CS0234: Line 11: The type or namespace name `Scripts' does not exist in the namespace `Server'. Are you missing an assembly reference?
    CS0246: Line 11: The type or namespace name `Scripts.Commands' could not be found. Are you missing a using directive or an assembly reference?
 + Custom/XmlSpawner2.cs:
    CS0506: `Server.Mobiles.XmlSpawner.Name': Line 1217: cannot override inherited member `Server.Item.Name' because it is not marked virtual, abstract or override
 + Custom/XmlQuest/XmlQuestPoints.cs:
    CS0246: Line 167: The type or namespace name `CommandEventArgs' could not be found. Are you missing a using directive or an assembly reference?
    CS0246: Line 187: The type or namespace name `CommandEventArgs' could not be found. Are you missing a using directive or an assembly reference?
 + Custom/XmlMobiles/TalkingBaseVendor.cs:
    CS0115: Line 753: `Server.Mobiles.TalkingBaseVendor.GetContextMenuEntries(Server.Mobile, System.Collections.ArrayList)' is marked as an override but no suitable method found to override
 + Custom/XmlMobiles/TalkingBaseEscortable.cs:
    CS0115: Line 462: `Server.Mobiles.TalkingBaseEscortable.AddCustomContextEntries(Server.Mobile, System.Collections.ArrayList)' is marked as an override but no suitable method found to override
 + Custom/XmlQuest/XmlQuestToken.cs:
    CS0506: `Server.Items.XmlQuestToken.Name': Line 866: cannot override inherited member `Server.Item.Name' because it is not marked virtual, abstract or override
 + Custom/XmlUtils/WhatIsIt.cs:
    CS0246: Line 62: The type or namespace name `CommandEventArgs' could not be found. Are you missing a using directive or an assembly reference?
 + Custom/XmlMobiles/TalkingBaseCreature.cs:
    CS0115: Line 746: `Server.Mobiles.TalkingBaseCreature.GetContextMenuEntries(Server.Mobile, System.Collections.ArrayList)' is marked as an override but no suitable method found to override
 + Custom/XmlQuest/XmlQuestHolder.cs:
    CS0506: `Server.Items.XmlQuestHolder.Name': Line 781: cannot override inherited member `Server.Item.Name' because it is not marked virtual, abstract or override
Scripts: One or more scripts failed to compile or no script files were found.
 - Press return to exit, or R to try again.
Exiting...done
I was able to remove some of the
Code:
The type or namespace name `Scripts'
by replacing
Code:
using Server.Scripts;
with

Code:
using Server;
with this script:

Code:
for file in Custom/XmlQuest/XmlQuestLeaders.cs Custom/XmlUtils/XmlEdit.cs Custom/BaseXmlSpawner.cs Custom/XmlMobiles/TalkingBaseVendor.cs Custom/XmlAttach/XmlGetAttachGump.cs Custom/XmlAttach/XmlAttach.cs Custom/XmlSpawnerGumps.cs Custom/XmlSpawner2.cs Custom/ItemFlags.cs Custom/XmlUtils/XmlAdd.cs Custom/XmlMobiles/TalkingBaseCreature.cs Custom/XmlUtils/XmlFind.cs Custom/SpawnerExporter.cs Custom/XmlAttachments/XmlDialog.cs; do echo $file; cat Scripts/$file | sed -e 's/using Server\.Scripts/using Server/g' > Scripts/$file.neu;cp -p Scripts/$file Scripts/$file.backup; mv -f Scripts/$file.neu Scripts/$file; done
but there are a lot of further error messages as you can see.

I know, that XmlSpawner2 != runuo and this forum only said: "runuo works with mono", but XmlSpawner2 is I think one of the best addons I have ever seen. So for a usefull runuo/mono environment we need a solution which works with some popular addons like XmlSpawner2, nerun, ...

What could be done to get XmlSpawner2 work with mono?

Regards
Lukas
How about instead of Replacing just adding the needed lines... Ie

change using Server.Scripts; back to using Server; that might be needed somwhere else
then adding
using Server.Scripts;
using Server.Scripts.Commands; (or is it Server.Commands).

If it removed errors in one thing just try adding the lines its looking for. Also make sure you are using the most recent version of XMLSpawner which should be located in one of Arte's sig's or in one of his posts. The one here MAY not be the most up to date but the one at XMLSpawnerFans.com (might need to remove the s) will be the most up to date.

ps) sorry if there is redundancy in above post I'm at work and not really reading what I'm typing.
__________________
Quote:
(\__/)
(='.'=)This is Bunny. Copy and paste bunny into your
(")_(")signature to help him gain world domination.
Killable Guards (GS Version)
Just a Simple Staff Tool
You can leave me messages.
Ernest Gary Gygax - Quote "I would like the world to remember me as the guy who really enjoyed playing games and sharing his knowledge and his fun pastimes with everybody else."
Greystar is offline   Reply With Quote
Old 04-03-2008, 11:58 AM   #3 (permalink)
Lurker
 
Join Date: Mar 2008
Posts: 9
Default

Hi,

thanks for the TIP with the XmlSpawner Version!
Now I can at least compile.

But I am getting an error message quiete after loading the world:

Code:
RunUO - [www.runuo.com] Version 2.0, Build 3013.23354
Core: Running on .NET Framework Version 2.0.50727
Core: Unix environment detected
Scripts: Compiling C# scripts...done (cached)
Scripts: Compiling VB.NET scripts...no files found.
Scripts: Verifying...done (2148 items, 507 mobiles)
Regions: Loading...done
World: Loading...done (158670 items, 29032 mobiles) (9,83 seconds)
Stacktrace:

  at (wrapper managed-to-native) System.Diagnostics.FileVersionInfo.GetVersionInfo_internal (string) <0x00004>
  at (wrapper managed-to-native) System.Diagnostics.FileVersionInfo.GetVersionInfo_internal (string) <0xffffffff>
  at System.Diagnostics.FileVersionInfo.GetVersionInfo (string) <0x00069>
  at Server.Misc.ClientVerification.Initialize () <0x00080>
  at (wrapper runtime-invoke) Server.Misc.MapDefinitions.runtime_invoke_void (object,intptr,intptr,intptr) <0xffffffff>
  at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (object,object[]) <0x00004>
  at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (object,object[]) <0xffffffff>
  at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) <0x0009a>
  at System.Reflection.MethodBase.Invoke (object,object[]) <0x0001a>
  at Server.ScriptCompiler.Compile (bool,bool) <0x003bc>
  at Server.Core.Main (string[]) <0x0090d>
  at (wrapper runtime-invoke) Server.Core.runtime_invoke_void_string[] (object,intptr,intptr,intptr) <0xffffffff>

Native stacktrace:

        mono [0x8170d80]
        mono [0x813d432]
        [0x110440]
        mono [0x817a760]
        mono [0x817b6bd]
        mono [0x817b879]
        [0x1214a81]
        [0x1214972]
        [0x12146a1]
        [0x2248ab6]
        mono [0x815dbd6]
        mono(mono_runtime_invoke+0x27) [0x80f15d7]
        mono(mono_runtime_invoke_array+0x226) [0x80f7016]
        mono [0x80ea58c]
        [0x246c5d]
        [0x2462fb]
        [0x2248a8b]
        [0x2797a5]
        [0x24221e]
        [0x2411c3]
        mono [0x815dbd6]
        mono(mono_runtime_invoke+0x27) [0x80f15d7]
        mono(mono_runtime_exec_main+0xb0) [0x80f52f0]
        mono(mono_runtime_run_main+0x226) [0x80f5a16]
        mono(mono_main+0xa15) [0x8059615]
        mono [0x80586fe]
        /lib/libc.so.6(__libc_start_main+0xe0) [0x2f2f70]
        mono [0x8058641]

Debug info from gdb:

Using host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 1127744 (LWP 20142)]
[New Thread 15637392 (LWP 20144)]
[New Thread 2444176 (LWP 20143)]
0x00110402 in __kernel_vsyscall ()
  3 Thread 2444176 (LWP 20143)  0x00110402 in __kernel_vsyscall ()
  2 Thread 15637392 (LWP 20144)  0x00110402 in __kernel_vsyscall ()
  1 Thread 1127744 (LWP 20142)  0x00110402 in __kernel_vsyscall ()

Thread 3 (Thread 2444176 (LWP 20143)):
#0  0x00110402 in __kernel_vsyscall ()
#1  0x002d15e6 in nanosleep () from /lib/libpthread.so.0
#2  0x08122c5e in collection_thread (unused=0x0) at collection.c:34
#3  0x002ca44b in start_thread () from /lib/libpthread.so.0
#4  0x003ad80e in clone () from /lib/libc.so.6

Thread 2 (Thread 15637392 (LWP 20144)):
#0  0x00110402 in __kernel_vsyscall ()
#1  0x002ce206 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x0811d50f in timedwait_signal_poll_cond (cond=0x44c1dc, mutex=0x44c1c4, 
    timeout=0x0, alertable=0) at handles.c:1443
#3  0x0811d60f in _wapi_handle_timedwait_signal_handle (handle=0x404, 
    timeout=0x0, alertable=0) at handles.c:1523
#4  0x0811d75a in _wapi_handle_wait_signal_handle (handle=0xfffffe00, 
    alertable=-512) at handles.c:1483
#5  0x0810d741 in WaitForSingleObjectEx (handle=0x404, timeout=4294967295, 
    alertable=0) at wait.c:200
#6  0x080e29e7 in finalizer_thread (unused=0x0) at gc.c:894
#7  0x080c7ca0 in start_wrapper (data=0xa0e4980) at threads.c:573
#8  0x0810fa30 in thread_start_routine (args=0x92bb10) at threads.c:264
#9  0x0812d004 in GC_start_routine (arg=0xfffffe00) at pthread_support.c:1369
#10 0x002ca44b in start_thread () from /lib/libpthread.so.0
#11 0x003ad80e in clone () from /lib/libc.so.6

Thread 1 (Thread 1127744 (LWP 20142)):
#0  0x00110402 in __kernel_vsyscall ()
#1  0x003a6561 in select () from /lib/libc.so.6
#2  0x054d0f5e in g_spawn_sync () from /lib/libglib-2.0.so.0
#3  0x054d132c in g_spawn_command_line_sync () from /lib/libglib-2.0.so.0
#4  0x08170dfb in mono_handle_native_sigsegv (signal=11, ctx=0xbffa7e1c)
    at mini-exceptions.c:1061
#5  0x0813d432 in sigsegv_signal_handler (_dummy=11, info=0xbffa7d9c, 
    context=0xbffa7e1c) at mini.c:11596
#6  <signal handler called>
#7  unicode_chars (str=0x19df14a) at process.c:81
#8  0x0817a760 in process_get_versioninfo_block (data=0x19df14a, 
    block=0x19df14a) at process.c:243
#9  0x0817b6bd in process_get_fileversion (filever=0xb77b41a0, 
    image=<value optimized out>) at process.c:539
#10 0x0817b879 in ves_icall_System_Diagnostics_FileVersionInfo_GetVersionInfo_internal (this=0xb77b41a0, filename=0xb36d76c8) at process.c:690
#11 0x01214a81 in ?? ()
#12 0xb77b41a0 in ?? ()
#13 0xb36d76c8 in ?? ()
#14 0xbffa8368 in ?? ()
#15 0x01214998 in ?? ()
#16 0xb77b41a0 in ?? ()
#17 0x0adc0e24 in ?? ()
#18 0xb77b41a0 in ?? ()
#19 0xb36d76c8 in ?? ()
#20 0x0a790434 in ?? ()
#21 0xbffa8214 in ?? ()
#22 0x01214a5c in ?? ()
#23 0xbffa822c in ?? ()
#24 0x01214972 in ?? ()
#25 0xb77b41a0 in ?? ()
#26 0xb36d76c8 in ?? ()
#27 0xb77b41a0 in ?? ()
#28 0x00000001 in ?? ()
#29 0xbffa8254 in ?? ()
#30 0x012146a1 in ?? ()
#31 0xb36d76c8 in ?? ()
#32 0x00021f00 in ?? ()
#33 0x00000004 in ?? ()
#34 0x0a790434 in ?? ()
#35 0xb274ac90 in ?? ()
#36 0x0a790434 in ?? ()
#37 0x00000000 in ?? ()
#0  0x00110402 in __kernel_vsyscall ()


=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================
I think it's something inside the Method
Code:
Server.Misc.ClientVerification.Initialize ()
I had a look and found:

Code:
                public static void Initialize()
                {
                        EventSink.ClientVersionReceived += new ClientVersionReceivedHandler( EventSink_ClientVersionReceived );

                        //ClientVersion.Required = null;
                        //Required = new ClientVersion( "6.0.0.0" );

                        if( m_DetectClientRequirement )
                        {
                                string path = Core.FindDataFile( "client.exe" );

                                if( File.Exists( path ) )
                                {
                                        FileVersionInfo info = FileVersionInfo.GetVersionInfo( path );

                                        if ( info.FileMajorPart != 0 || info.FileMinorPart != 0 || info.FileBuildPart != 0 || info.FilePrivatePart != 0
 )
                                        {
                                                Required = new ClientVersion( info.FileMajorPart, info.FileMinorPart, info.FileBuildPart, info.FilePriv
atePart );
                                        }
                                }
                        }

                        if( Required != null )
                        {
                                Utility.PushColor( ConsoleColor.White );
                                Console.WriteLine( "Restricting client version to {0}. Action to be taken: {1}", Required, m_OldClientResponse );
                                Utility.PopColor();
                        }
                }
So for some reason it seems not to be possible loading checking the "client.exe".

The rights on this file an all the other is correct!

Someone has an Idea?

Regards
Lukas
lweberru is offline   Reply With Quote
Old 04-04-2008, 05:56 AM   #4 (permalink)
Lurker
 
Join Date: Mar 2008
Posts: 9
Default

So,

I got the whole thing running!

1.) Install mono 1.2.6
2.) Install runuo via svn (r286)
3.) copy the linux addon over the orig runuo svn files
4.) remove the client detection, which caused the crash
5.) installed the XmlSpawner2_20_v324 inc extra and support
6.) did all the things which were inside the "installation 2.0.txt" of XmlSpawner2
7.) Imported the nerun distribution via XmlSpawner2

If anyone want's the system please let me know

Regards
Lukas
lweberru is offline   Reply With Quote
Old 07-20-2008, 01:35 PM   #5 (permalink)
Newbie
 
Join Date: Jul 2008
Age: 31
Posts: 52
Default

u didnt change anything in the xmlspawner package then?
Vince-Lithium is offline   Reply With Quote
Old 07-24-2008, 11:05 AM   #6 (permalink)
Lurker
 
Join Date: Mar 2008
Posts: 9
Default

I did not change anything else

Lukas
lweberru is offline   Reply With Quote
Old 07-24-2008, 05:23 PM   #7 (permalink)
Newbie
 
Join Date: Jul 2008
Age: 31
Posts: 52
Default

yups works great ddint have to edit anything xmlpoinst works good also
Vince-Lithium is offline   Reply With Quote
Reply

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off



Powered by vBulletin® Version 3.7.0
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0 RC5