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!

RunUO 2.0 SVN 313 Package

Mark

Knight
RunUO 2.0 SVN 313 Package

THIS PACKAGE WAS UPDATED TO SVN REVISION 313 ON 2/26/2009.

Download Here

Basic Instructions:
Code:
$ tar zxf RunUO-2.0-SVN313-MONO.tar.gz 
$ cd RunUO
$ mono RunUO.exe 
RunUO - [www.runuo.com] Version 2.0, Build 3340.34903
Core: Running on .NET Framework Version 2.0.50727
Core: Optimizing for 2 64-bit processors
Core: Unix environment detected
Scripts: Compiling C# scripts...done (0 errors, 0 warnings)
Scripts: Skipping VB.NET Scripts...done (use -vb to enable)
Scripts: Verifying...done (2120 items, 500 mobiles)
Enter the Ultima Online directory:
>

Requirements:
1. You will need the Mono runtime, the Mono compiler and the Mono winforms library (in Ubuntu and other similar distributions of Linux these packages are named mono-runtime, mono-gmcs, and libmono-winforms2.0-cil).
2. You will need an installation of Ultima Online (see Scripts\Misc\DataPath.cs for more information).
 
Wow. i have been trying to get this to work for a while. Thanks!!

Only 1 problem.. I can't connect to it..

Code:
RunUO - [www.runuo.com] Version 2.0, Build 3340.34903
Core: Running on .NET Framework Version 2.0.50727
Core: Optimizing for 2 64-bit processors
Core: Unix environment detected
Scripts: Compiling C# scripts...done (0 errors, 0 warnings)
Scripts: Skipping VB.NET Scripts...done (use -vb to enable)
Scripts: Verifying...done (2120 items, 500 mobiles)
Regions: Loading...Warning: Land EOS for Felucca (167, 249)
Warning: Land EOS for Trammel (167, 249)
Warning: Land EOS for Ilshenar (105, 88)
Warning: Land EOS for Malas (124, 64)
Warning: Land EOS for Tokuno (32, 97)
done
World: Loading...done (1 items, 0 mobiles) (0.05 seconds)
[B]Listener Failed: 0.0.0.0:2593 (In Use)[/B]
I'm kinda lost as to where to change things so i can connect or get people to connect.
 

Mark

Knight
bleedingspiderlegs;792006 said:
Wow. i have been trying to get this to work for a while. Thanks!!

Only 1 problem.. I can't connect to it..

Code:
RunUO - [www.runuo.com] Version 2.0, Build 3340.34903
Core: Running on .NET Framework Version 2.0.50727
Core: Optimizing for 2 64-bit processors
Core: Unix environment detected
Scripts: Compiling C# scripts...done (0 errors, 0 warnings)
Scripts: Skipping VB.NET Scripts...done (use -vb to enable)
Scripts: Verifying...done (2120 items, 500 mobiles)
Regions: Loading...Warning: Land EOS for Felucca (167, 249)
Warning: Land EOS for Trammel (167, 249)
Warning: Land EOS for Ilshenar (105, 88)
Warning: Land EOS for Malas (124, 64)
Warning: Land EOS for Tokuno (32, 97)
done
World: Loading...done (1 items, 0 mobiles) (0.05 seconds)
[B]Listener Failed: 0.0.0.0:2593 (In Use)[/B]
I'm kinda lost as to where to change things so i can connect or get people to connect.

It sounds like something else on your system is already listening on TCP port 2593.

To check, type:
$ sudo netstat -lnp | grep 2593

Once you discover what is using that port you can either kill it off or modify it to use a different port.

Another option would be to change what IP address and port RunUO will attempt to use by modifying the file Scripts\Misc\SocketOptions.cs.
 
I'm guessing I'd change

Code:
new IPEndPoint( IPAddress.Any, 2593 ),
? Scratch that question. I got it to work with 2493

I don't know if it will help any, but this is what it says when i put
sudo netstat -lnp | grep 2593

Code:
tcp        0      0 0.0.0.0:2593            0.0.0.0:*               LISTEN      6500/uoproxy
 

Mark

Knight
bleedingspiderlegs;792008 said:
I'm guessing I'd change

Code:
new IPEndPoint( IPAddress.Any, 2593 ),
?

I don't know if it will help any, but this is what it says when i put
sudo netstat -lnp | grep 2593

Code:
tcp        0      0 0.0.0.0:2593            0.0.0.0:*               LISTEN      6500/uoproxy

The output of the netstat command indicates that you have another program called 'uoproxy' running that is listening on port 2593.

You have a few options to choose from:
1. Change the port uoproxy listens on to something other than 2593.
2. Change the port RunUO listens on by editing the aforementioned file (for example, change the 2593 to 2594 and tell people who are trying to connect to your server to use port 2594).
3. If you don't feel like changing anything at all, you could just stop the uoproxy program when you want to use RunUO.
 
Ok..New problem. I crash when i try to do anything. everything from walking to commands...but i can spam and not crash.

Crashlog:
Code:
Server Crash Report
===================

RunUO Version 2.0, Build 3340.34903
Operating System: Unix 2.6.27.11
.NET Framework: 2.0.50727.42
Time: 2/25/2009 10:46:02 PM
Mobiles: 1
Items: 17
Exception:
System.DllNotFoundException: libz
  at (wrapper managed-to-native) Server.Network.CompressorUnix:compress2 (byte[],int&,byte[],int,Server.Network.ZLibQuality)
  at Server.Network.CompressorUnix.Compress (System.Byte[] dest, System.Int32& destLength, System.Byte[] source, Int32 sourceLength, ZLibQuality quality) [0x00000] 
  at Server.Network.Compression.Pack (System.Byte[] dest, System.Int32& destLength, System.Byte[] source, Int32 sourceLength, ZLibQuality quality) [0x00000] 
  at Server.Network.DisplayGumpPacked.WritePacked (Server.Network.PacketWriter src) [0x00000] 
  at Server.Network.DisplayGumpPacked.Flush () [0x00000] 
  at Server.Gumps.Gump.Compile (Server.Network.NetState ns) [0x00000] 
  at Server.Gumps.Gump.SendTo (Server.Network.NetState state) [0x00000] 
  at Server.Mobile.SendGump (Server.Gumps.Gump g, Boolean throwOnOffline) [0x00000] 
  at Server.Mobile.SendGump (Server.Gumps.Gump g) [0x00000] 
  at Server.Gumps.GoGump.DisplayTo (Server.Mobile from) [0x00000] 
  at Server.Commands.CommandHandlers.Go_OnCommand (Server.Commands.CommandEventArgs e) [0x00000] 
  at Server.Commands.CommandSystem.Handle (Server.Mobile from, System.String text, MessageType type) [0x00000] 
  at Server.Mobile.DoSpeech (System.String text, System.Int32[] keywords, MessageType type, Int32 hue) [0x00000] 
  at Server.Mobiles.PlayerMobile.DoSpeech (System.String text, System.Int32[] keywords, MessageType type, Int32 hue) [0x00000] 
  at Server.Network.PacketHandlers.UnicodeSpeech (Server.Network.NetState state, Server.Network.PacketReader pvSrc) [0x00000] 
  at Server.Network.MessagePump.HandleReceive (Server.Network.NetState ns) [0x00000] 
  at Server.Network.MessagePump.Slice () [0x00000] 
  at Server.Core.Main (System.String[] args) [0x00000] 

Clients:
- Count: 1

+ 127.0.1.1: (account = bleedngspidrlegs) (mobile = 0x1 'Melwasul')

Is there a chance it might have something to do with this?
Code:
Regions: Loading...Warning: Land EOS for Felucca (167, 249)
Warning: Land EOS for Trammel (167, 249)
Warning: Land EOS for Ilshenar (105, 88)
Warning: Land EOS for Malas (124, 64)
Warning: Land EOS for Tokuno (32, 97)
 

Mark

Knight
bleedingspiderlegs;792013 said:
Ok..New problem. I crash when i try to do anything. everything from walking to commands...but i can spam and not crash.

Crashlog:
Code:
Server Crash Report
===================

RunUO Version 2.0, Build 3340.34903
Operating System: Unix 2.6.27.11
.NET Framework: 2.0.50727.42
Time: 2/25/2009 10:46:02 PM
Mobiles: 1
Items: 17
Exception:
System.DllNotFoundException: libz
  at (wrapper managed-to-native) Server.Network.CompressorUnix:compress2 (byte[],int&,byte[],int,Server.Network.ZLibQuality)
  at Server.Network.CompressorUnix.Compress (System.Byte[] dest, System.Int32& destLength, System.Byte[] source, Int32 sourceLength, ZLibQuality quality) [0x00000] 
  at Server.Network.Compression.Pack (System.Byte[] dest, System.Int32& destLength, System.Byte[] source, Int32 sourceLength, ZLibQuality quality) [0x00000] 
  at Server.Network.DisplayGumpPacked.WritePacked (Server.Network.PacketWriter src) [0x00000] 
  at Server.Network.DisplayGumpPacked.Flush () [0x00000] 
  at Server.Gumps.Gump.Compile (Server.Network.NetState ns) [0x00000] 
  at Server.Gumps.Gump.SendTo (Server.Network.NetState state) [0x00000] 
  at Server.Mobile.SendGump (Server.Gumps.Gump g, Boolean throwOnOffline) [0x00000] 
  at Server.Mobile.SendGump (Server.Gumps.Gump g) [0x00000] 
  at Server.Gumps.GoGump.DisplayTo (Server.Mobile from) [0x00000] 
  at Server.Commands.CommandHandlers.Go_OnCommand (Server.Commands.CommandEventArgs e) [0x00000] 
  at Server.Commands.CommandSystem.Handle (Server.Mobile from, System.String text, MessageType type) [0x00000] 
  at Server.Mobile.DoSpeech (System.String text, System.Int32[] keywords, MessageType type, Int32 hue) [0x00000] 
  at Server.Mobiles.PlayerMobile.DoSpeech (System.String text, System.Int32[] keywords, MessageType type, Int32 hue) [0x00000] 
  at Server.Network.PacketHandlers.UnicodeSpeech (Server.Network.NetState state, Server.Network.PacketReader pvSrc) [0x00000] 
  at Server.Network.MessagePump.HandleReceive (Server.Network.NetState ns) [0x00000] 
  at Server.Network.MessagePump.Slice () [0x00000] 
  at Server.Core.Main (System.String[] args) [0x00000] 

Clients:
- Count: 1

+ 127.0.1.1: (account = bleedngspidrlegs) (mobile = 0x1 'Melwasul')

Is there a chance it might have something to do with this?
Code:
Regions: Loading...Warning: Land EOS for Felucca (167, 249)
Warning: Land EOS for Trammel (167, 249)
Warning: Land EOS for Ilshenar (105, 88)
Warning: Land EOS for Malas (124, 64)
Warning: Land EOS for Tokuno (32, 97)

There are a few issues I believe.

I need the output of the following commands on your system:
mono -V
locate libz

What distribution are you running?
 
I am using Ubuntu 8.10 dual booting with vista. thats where /host comes in.

Code:
$ [B]mono -V[/B]
Mono JIT compiler version 1.9.1 (tarball)
Copyright (C) 2002-2007 Novell, Inc and Contributors. www.mono-project.com
	TLS:           __thread
	GC:            Included Boehm (with typed GC)
	SIGSEGV:       altstack
	Notifications: epoll
	Architecture:  amd64
	Disabled:      none
$ [B]locate libz[/B]
/host/Program Files/Autodesk/Maya2008/lib/libzlib.lib
/host/Program Files/Mono-1.9.1/lib/libz.a
/host/Program Files/Mono-1.9.1/lib/libz.dll.a
/usr/lib/libz.so.1
/usr/lib/libz.so.1.2.3.3
/usr/lib/libzephyr.so.3
/usr/lib/libzephyr.so.3.0.0
/usr/lib/compiz/libzoom.so
/usr/lib/purple-2/libzephyr.so
/usr/lib32/libz.so.1
/usr/lib32/libz.so.1.2.3.3
/usr/share/doc/libzephyr3
/usr/share/doc/libzephyr3/changelog.Debian.gz
/usr/share/doc/libzephyr3/copyright
/var/lib/dpkg/info/libzephyr3.list
/var/lib/dpkg/info/libzephyr3.md5sums
/var/lib/dpkg/info/libzephyr3.postinst
/var/lib/dpkg/info/libzephyr3.postrm
/var/lib/dpkg/info/libzephyr3.shlibs
 

Mark

Knight
bleedingspiderlegs;792018 said:
I am using Ubuntu 8.10 dual booting with vista. thats where /host comes in.

Code:
$ [B]mono -V[/B]
Mono JIT compiler version 1.9.1 (tarball)
Copyright (C) 2002-2007 Novell, Inc and Contributors. www.mono-project.com
	TLS:           __thread
	GC:            Included Boehm (with typed GC)
	SIGSEGV:       altstack
	Notifications: epoll
	Architecture:  amd64
	Disabled:      none
$ [B]locate libz[/B]
/host/Program Files/Autodesk/Maya2008/lib/libzlib.lib
/host/Program Files/Mono-1.9.1/lib/libz.a
/host/Program Files/Mono-1.9.1/lib/libz.dll.a
/usr/lib/libz.so.1
/usr/lib/libz.so.1.2.3.3
/usr/lib/libzephyr.so.3
/usr/lib/libzephyr.so.3.0.0
/usr/lib/compiz/libzoom.so
/usr/lib/purple-2/libzephyr.so
/usr/lib32/libz.so.1
/usr/lib32/libz.so.1.2.3.3
/usr/share/doc/libzephyr3
/usr/share/doc/libzephyr3/changelog.Debian.gz
/usr/share/doc/libzephyr3/copyright
/var/lib/dpkg/info/libzephyr3.list
/var/lib/dpkg/info/libzephyr3.md5sums
/var/lib/dpkg/info/libzephyr3.postinst
/var/lib/dpkg/info/libzephyr3.postrm
/var/lib/dpkg/info/libzephyr3.shlibs

Give me a few minutes to make a new package.

EDIT: It will be a little longer. I think the bulk of these issues are related to the 64-bit platform and I'd like to resolve them all at once.
 

Sythen

Sorceror
This Is Awesome!

I just wanted to say that I think it's really cool that Mark is helping you directly with this. I don't have a linux system, but if I did this post is very informative. :)
 

Mark

Knight
There are three issues so far:
1. Information I received regarding Mono 1.9.1 and FileStream.SafeFileHandle.DangerousGetHandle() was partially incorrect. I'll need to revert to the Mono specific methods we used in revision 311. This is the cause of the "EOS" errors you received.
2. Mono cannot find libz on your system because there is no libz.so symlink in /usr/lib/, only libz.so.1 and libz.so.1.2.3.3. This isn't a major concern; some distributions have it, some don't. We can tell Mono what to do with libz references by modifying /etc/mono/config or creating a file named RunUO.exe.config in the same directory as RunUO.exe and adding a few lines (we could also make the symlink ourselves, but that is a dirty solution).
3. The final issue is slightly more complex. Even after Mono finds libz, there are still issues with the library calls that RunUO makes. We are providing a pointer to a 32-bit integer to the function when a pointer to a 64-bit integer is required.

For anyone more curious about number three above:
1. zlib is written in C.
2. Most of the time, in programs written in C and built on a 32-bit system, a 'long' is actually the same size as an 'int' (32 bits). If you want a 64 bit integer, you have to use 'long long' (ridiculous, I know).
3. In C#, a 'long' is always 64 bits, an 'int' is always 32 bits.
4. When 64-bit systems became commonplace 'long' was changed. In C programs built on a 64-bit system a 'long' became 64 bits (once again, in most cases). This is referred to as LP64. Microsoft however went with something referred to as LLP64 and programs in C compiled for 64-bit Windows still have 32-bit 'long' types.
5. zlib uses the type 'long' in arguments of several functions that RunUO calls. We give them an 'int'. In 32-bit systems (Windows or Linux) it doesn't matter. With 64-bit Windows it doesn't matter either, it also thinks they are the same size. However, 64-bit Linux does care.
 

Mark

Knight
To solve issue number 2 above create a file in the same directory as RunUO.exe named RunUO.exe.config and add the following lines:

Code:
<configuration>
   <dllmap dll="libz" target="/usr/lib/libz.so.1.2.3.3" />
</configuration>

Replace /usr/lib/libz.so.1.2.3.3 with the path to libz on your system if necessary.
 

Mark

Knight
bleedingspiderlegs;792028 said:
So..Make a libz file and copy/past libs1.2.3.3 in it? i dont wanna end up breaking something so i want to make sure.

No.

Start in the directory RunUO.exe is in.

Use a text editor to create a file (case-sensitive)

$ nano -w RunUO.exe.config

Copy and paste the following into it:
Code:
<configuration>
   <dllmap dll="libz" target="/usr/lib/libz.so.1.2.3.3" />
</configuration>

Hold ctrl and hit w to save and exit.
 

Mark

Knight
bleedingspiderlegs;792030 said:
I guess i should read what im copy/pasting before i ask questions lol, i already did that just didnt really read it. sorry.

Things still won't work correctly until I make another package, but that shouldn't take too long. When I'm finished you will have to download it and make the RunUO.exe.config file again.
 
alright. caught me right before i sent the crashlog again, just tested it and crashed..but im glad you knew it was comin!

I look forward to seeing the fix. thanks!
 
Top