RunUO Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

XmlSpawner2 with mono and RUNUO 2.0

lweberru

Wanderer
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
 

Greystar

Wanderer
lweberru;748218 said:
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.
 

lweberru

Wanderer
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

Wanderer
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
 
Top