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!

Mono 0.30

Status
Not open for further replies.

Bradley

Sorceror
I've been writing .NET applications as part of my job since the framework was released, and had been playing with the beta and RC code before that. So Far I've had 5 .NET classes ranging from VB.NET through ASP, and ADO. I also independantly code and contract my time out to other companies. I will be .NET certified from http://www.learningtree.com/us/cert/progs/7097.htm once I finished my 7th class at the end of next month. I've been writing windows and Web applications for the past 6 years before .NET came out.

I AM a geek, let there be no doubt about it.
 

Bradley

Sorceror
Phantom said:
I know alot of shit. I know more shit then I don't know.

Dude, the first sign of not knowing what you think you know, is to claim what you just did. You will be much better served by knowing that there is always someone who knows more. A wise person know that he hardly knows anything compared to what can be learned.

*EDIT* No, I have not tried running RunUO on the windows version of MONO, If i had I wouldn't have asked if anyone else had tried it. I never claimed to have tried it, I was jsut offering a suggestion for a way better track down where the flaw was. It's always easier to track down a problem by eliminating as much complexity as possable. You and I seem to have a long history of not getting along too well, unfortunatly I don't think we ever will, our personality types are jsut way too different.
 

Phantom

Knight
How can saying I don't know anything be a flaw?

:D

I was taught knowing what you don't is the first step to learning.

Dude, the first sign of not knowing what you think you know, is to claim what you just did

:D

I am not even going to give you more "material" my poor body, I am laughing so hard.
 

psz

Administrator
Ladies, we don't need a .Net pissing contest, because IT REALLY DOESN'T MATTER how much EITHER of you know...

RunUO is compatible with Microsoft's .Net in Windows.
RunUO is NOT compatible with Mono in Linux.

These are the only two CURRENT facts.

Can't we leave it at that?
 

DeepFreez

Wanderer
Bradley said:
Has anyone tried getting RunUO to run in the *windows* version of Mono, without the MS .NET framework installed?

Tried it today. Uninstalled the framework and executed
mono Server.exe

I got the same errors as when I had the framework installed.

[code:1]
Scripts: Compiling C# scripts...Error:
System.IO.FileNotFoundException: File 'Scripts/Output/Scripts.CS.dll' not found.

in (unmanaged) (wrapper managed-to-native) System.Reflection.Assembly:LoadFrom (
string)
in <0x00004> (wrapper managed-to-native) System.Reflection.Assembly:LoadFrom (st
ring)
in <0x0035f> Mono.CSharp.CSharpCodeCompiler:CompileAssemblyFromFileBatch (System
.CodeDom.Compiler.CompilerParameters,string[],bool)
in <0x0001c> Mono.CSharp.CSharpCodeCompiler:CompileAssemblyFromFileBatch (System
.CodeDom.Compiler.CompilerParameters,string[])
in <0x000c5> Server.ScriptCompiler:CompileCSScripts (bool)
in <0x00076> Server.ScriptCompiler:Compile (bool)
in <0x00499> Server.Core:Main (string[])
[/code:1]

Would seem the 0.30 release stil does something funny. Lets hope for 0.31 :)
 

cal7

Wanderer
only one little thing i want to add about
the ms .net claiming cross plattform compatibility:
why does a project like mono or the gnu .net
project even exist?
why didn't microsoft release the framework
for other plattforms like linux if it wants cross
plattform ability.
i dont want to start blaiming ms again for
everything like it happens often by other linux people
so i just give links to two, in my opinion
excellent articles, written by excellent people who
know what they are talking about:

http://www.linuxuser.co.uk/articles/issue15/lu15-Cover_feature-Tempted_by_net.pdf
http://www.dotgnu.org/danger.html

p.s.: i know it's the wrong forum but since
we already dicused so much about it in this thread :)
 

psz

Administrator
Would you want an Apple programmer to write a Windows app? Or would you want a Linux programmer to write an Apple app? No, of course not... They have more experience in the hardware and software they use, than on other hardware and software.

SGI didn't write the OpenGL for all the different platforms (not directly, anyway). They released the specs, and the UNIX sourcecode, and gave a hand to the people working on the other platforms.

Same thing: MS gave out the specs and the SDK, and now the Linux community and the Mac community (and BeOS and Solaris, etc) can all work on their own.
 

ZixThree

Wanderer
RunUO as of Beta 36 could not run on Mono. In class TileMatrix, private function ReadStaticBlock, it uses _lread which is an invocation of Win32 _lread function which is platform specific.

Also, the scripts uses ZLib using invocation which I don't know it is compatible in any way with invocation on other systems than windows.

End of discussion.

For now.

ZixThree
 

Correa

Wanderer
I couldn't resist correcting some statements, my fingers are ichying for it *g*
It's so much fun discussing language concepts :)

.NET and Java have the same concept of Virtual Machine, but I don't think they have the same concept of portability. I can prove: Inside RunUO distribution, there is a zlib.dll, zlib is a well known compression library, written in.... guess what? C. If you know something about programming, you do know that C is compiled into machine language, not .NET bytecode. There is your portability problem with the language itself (not RunUO). Just because of that, you can't guarantee the "Compile once, run (or should I say debug :twisted: ) anywhere" concept. Java bitches a lot if you try to do something like that. It's a real pain in the ass to use the native api interface, but the .NET thingy isn't that carefull. Personally I don't think Microsoft would be any interested in such a portable language.


Well, that's just my 2 cents. Of course, maybe I'm just plain wrong, after all, I only do computer programming for 11 years since I was 12 years old, 5 of those doing mainly C++. Life is a continuing learning process, isn't it?
 

Phantom

Knight
Philantrop said:
Phantom said:
I know alot of shit. I know more shit then I don't know.

When you've grown up and earned some real life experience you'll recognize that we all know next to nothing.

How dare you....

In 3 years I have learned alot about the real world. All I can say is I strive on knowlege.

By the way I was talking about .NET of what I don't know and do know.
 

Bradley

Sorceror
ok, this is getting nowhere fast...

Phantom, you get to call him one name in revenge for what he said, then we all go to sleep and pretend this thread never existed.
 

Phantom

Knight
Bradley said:
ok, this is getting nowhere fast...

Phantom, you get to call him one name in revenge for what he said, then we all go to sleep and pretend this thread never existed.

Why would I call him a name?

I have not been rude to anyone. When i feel people express the wrong knowlege I say something.

Its the only time I say something expect wen I spit out the knowlege.
 

DeepFreez

Wanderer
ZixThree said:
RunUO as of Beta 36 could not run on Mono. In class TileMatrix, private function ReadStaticBlock, it uses _lread which is an invocation of Win32 _lread function which is platform specific.
AHA... finally some useful information!
So unless Mono has some mechanism to transparently make these calls, RunUO will never work with Mono. Unless of course the devs put in some extra gumph to check for platforms, or removes the platform dependat code (prolly at the expense of performance <sigh>)


ZixThree said:
Also, the scripts uses ZLib using invocation which I don't know it is compatible in any way with invocation on other systems than windows.
External library invocation is something that I think can be handled in a platform independant way. Not sure tho, so I will have to do some reading.

One of the things about .Net is that it can handle "managed" and "unmanaged" code.... so it might be that the above two things can be hidden in "unmanaged" code.
 

Phantom

Knight
Its always been known when Mono was able to support RunUO fully that RunUO would be modified to fully suport little quirks.

But since thats not even worth awhile at this point as it doesn't work with mono on windows there is no point in doing that.

Its doubtful it will be done before mono is consider stable enough ie 1.0 or a higher version then .30
 

David

Moderate
OK, this dead horse has been beat enough. RunUO will eventually run on Mono. For now and the foreseeable future it does not. That's all we really need to know.
 

ste

Wanderer
mono guys cant blind-fix

The fact that mono can have bugs/incomplet impelmentation is possible like in any software. But how do you except the mono developer to fix a bug they dont even know it exist ? Well, you are all programmers here, u know what i mean. If you want a bug to be fixed, the best way could be to report it (assuming it's a bug, reading previous post, it seems to be a problem in mono-internal functions?). At last it could work a lot better than just just sit there and praying "let's hope they will fix the secret bug we didnt told them about" ;)

A general way in debuging a program with multiple componnents/library is :
- isolate the problem : determining which fuction call cause the problem, with what parameters, reducing the code to 5..10 (or any number as small as plossible) lines that expose the problem.

- communicate with mono staff : they have a complete bug management system : http://www.go-mono.com/bugs.html
they also have a mailing list that you can find on the contact page http://www.go-mono.com/contact.html

- then wait :) now you are allowed to claim "it's not our fault it's the evil mono thing" :)

But jumping right to step 3 might not be the best solution. Note that i have a very limited .net framework knowlegde and of course i know nothing about the runuo source code (and i cant), but at last i find the above not completely stupid.

It's not a flam post or any thing like that, and i find rather positive that the #1 uo server emulator has some interest in a real server operating system. It's a lot better than sphere for example, they make linux fan waiting for 6 month for a version update and then they nearly annouce "sorry we drop linux support, we use a super new windows only architecture." there is about 15 threads about it in their forums : http://www.sphereserver.net/board/showthread.php?t=7103

It would be a good timing if it could work in the following months : it would allow a large amount of linux users to upgrade.

and i didnt talk about any "use wine" solution, while runing a client program with wine is sometime acceptable when no other choice are possible, using wine for an internet-wide SERVER is realy something that hurt. It has some strong dependencys on the XFree graphic server software, that should not be installed on linux server (mine just has no screen:). It require indirectly administror privileges to run, that bring the server security to something comparable to a windows-level security (any failure on wine/x graphic server/runuo could cause full system root-level compromision, not just to an unprivilegied account). Plus it add in all case about 200 mb of useless wine/graphic server on the hard drive, and also represent an burden of at last 80 mb of ram, maybe more if wine must emulate multi thread/process (it take 28mb of ram to run only notepad.exe with wine, an Xserver easily take the rest). The speed penality vary a lot, things get worse for a program with a lot of I/O (emulating every winsocks call has a price, just imagin the number of external dll calls the server make to send a network packet, multiply that by the number of users on the server and by the number of packets/s/user)

The support of this or that software is very changing between minor versions of wine (they cant check for regression by testing it with every windows program), meaning that upgrading wine could cause runuo to stop working even if it could work with current wine version, and upgrading is not allways a matter of changing the version number, but could also be a security concern.
So maybe you can try it yourself with wine on your 2 pc local network durring 20 minutes and say "ooOOOooOO it works", but it will never be the 500+ users & infinite uptime with the wine way.

let me add : good jobs making a completely usable server, it's not an easy task i know. And that's about all i have to say. (you can notice i didnt have talked about opensource advantages, i'm a very tolerant linux addict ;)
 

Arek

Sorceror
RunUO on Wine

Well, I just got through looking at Wine as an alternative to Mono for running RunUO on linux, and I have a couple of rebuttals for your arguments about not using it:

ste said:
[Wine] has some strong dependencys on the XFree graphic server software
While it's true that Wine is rather heavily dependant on X (not XFree) at the moment, it does have some support for running command-line programs without X.

ste said:
It require indirectly administror privileges to run, that bring the server security to something comparable to a windows-level security (any failure on wine/x graphic server/runuo could cause full system root-level compromision, not just to an unprivilegied account).
I haven't actually looked into this, but 2 things come to mind: First, root access might not actually be required if you're running in non-X mode, and second, even if it is, the security risk here is NOTHING compared to the risk of running Windows on your server (look at blaster, and the MyDoom line of virii/worms if you need proof).

ste said:
Plus it add in all case about 200 mb of useless wine/graphic server on the hard drive, and also represent an burden of at last 80 mb of ram, maybe more if wine must emulate multi thread/process (it take 28mb of ram to run only notepad.exe with wine, an Xserver easily take the rest). The speed penality vary a lot, things get worse for a program with a lot of I/O (emulating every winsocks call has a price, just imagin the number of external dll calls the server make to send a network packet, multiply that by the number of users on the server and by the number of packets/s/user)
If RunUO can be run under wine without X, that would remove quite a bit of the overhead (no X server present). There is still the overhead of emulating the Win32 API, and of the .NET Runtime, but IMO Windows has enough security problems that even running RunUO/Wine as root would probably be safer. This might need to be tested more thoroughly to see if the overhead would become a serious problem with over 200 users (A rather large freeshard), but it may be easier for some people (like me) to find hosting if they can use a linux server instead of a windows server.

ste said:
The support of this or that software is very changing between minor versions of wine (they cant check for regression by testing it with every windows program), meaning that upgrading wine could cause runuo to stop working even if it could work with current wine version, and upgrading is not allways a matter of changing the version number, but could also be a security concern.
Hmmm...This could be a problem. OTOH, wouldn't using native .dlls wherever possible help alleviate this? Just avoid upgrading without good reason.

IMO, RunUO+Wine is might be a better setup than Windows, if it's done properly. Mono would be even better, but it's not ready yet. Maybe in another 6 months or so, but not now.

One other thing: You could try using RunUO with Rotor (Microsoft's Shared Source CLI implementation - it's been mostly ported to linux, and it's known to work 100% on BSD), but I won't guarantee that it'll work - not all of the libraries are present, and I don't know if it's .NET 1.1 compliant or not.
 
Status
Not open for further replies.
Top