Results 1 to 10 of 10

Thread: Is there a server emulation on the way

  1. #1
    Registered User
    Join Date
    Apr 2005
    Posts
    3

    Is there a server emulation on the way

    Hi,
    i was wondering if there is anybody trying to program a server emulator for EQ2. I play with the idea myself....

  2. #2
    Registered User
    Join Date
    Feb 2003
    Posts
    126

    Re: Is there a server emulation on the way

    So what are you waiting for?

  3. #3
    Registered User
    Join Date
    Jan 2005
    Posts
    72

    Re: Is there a server emulation on the way

    I have a very basic one I was using to test network protocol stuff out. Im sure its no where near what you would call a server emulator since it doesnt dictate a game to the client. It just does basic network traffic.

    Most of the code is shared with EverSpy2 and EverDump in the SonyProtocolLib. You should read through it, im sure it will serve as a good starting point

  4. #4
    Registered User
    Join Date
    Apr 2005
    Posts
    3

    Re: Is there a server emulation on the way

    I am evaluating several MMORPGS at the moment.
    I played dark age of camelot but it was rather static.
    So i tried everquest 2 as a demo and it was far better when it came to quests and interaction. Everquest 1 i didnt so far test.
    World of warcraft is quite funny but the graphics are a bit to ...much comicstyle i would say and apart of that its very buggy.

    I would be willing to have a look and invest time in programming an emulator (java preferred) provided i would know where to start

    I have so far no clue as to how the server communicates with the client and what data a backend would have to provide.

    I think it would be relatively easy to set up a backend if the client server communication protocols would be available for use already as that (for me) seems to be the most difficult part.

  5. #5
    Registered User
    Join Date
    Jan 2005
    Posts
    72

    Re: Is there a server emulation on the way

    The SOE protocol is documented by myself and others. It is the protocol that is used for EQ1, EQ2, and SWG (maybe other SOE games). There is another layer on top of that protocol which is game specific. The game specific layer contains all the game messages and commands.


    As for the use of java... umm... ok... Java is an interpreted language. You would be wasting a huge chunk of your server cpu time in the java virtual machine. You would be much much beter off writing it in C/C++. Still a good world server would take more than one machine to handle.

  6. #6
    Registered User
    Join Date
    Dec 2001
    Posts
    1,262

    Re: Is there a server emulation on the way

    Bleh... Java Myth #13453... Java performance is just fine... with modern JIT compilers, and well written code, java can be just as fast, and in some cases faster than C++. I work in both Java and C++ all day, and have for the last 9 years (since java came out, pretty much). While early version of java (up to about 1.3 or so), did have performance issues... modern JVMs are quite fast.

    As a matter of fact, my old version of SEQ, and my current version of SEQ2 are both written in 100% java, and work quite well. The only issue you will find in java for this kind of work, is that there are no unsigned types... This can become an issue with algorithms that use data as bitfields, instead of higher order types. It isnt a real issue, if you are aware of it and write your code appropriately, but it can bite you in the ass if you arent paying attention.

    As for the protocol... both the common SOE protocol and the EQ2 specific one are fairly well known at this point by a few people... if you are really interested in working on this project, I would recommend you take a look at Acid's source for EverDump, for some info on the basic protocol... the EQ2 specific messages, you'll either have to reverse engineer yourself, or hope one of the people already familiar with them is willing to help you.

    --Jeeves
    "Only two things are infinite, the universe and human stupidity, and I'm not sure about the former." --Albert Einstein

  7. #7
    Registered User
    Join Date
    Jan 2005
    Posts
    72

    Re: Is there a server emulation on the way

    Quote Originally Posted by high_jeeves
    modern JVMs are quite fast.
    Any VM is slower than an actual machine. Issuing instructions to the hardware is the fastest way to use the hardware. Issuing instructions to an intermediary only slows it down. There is no reason to use java for something like this, especially since an mmo server is extremely performance critical.

  8. #8
    Registered User
    Join Date
    Jan 2002
    Posts
    1,508

    Re: Is there a server emulation on the way

    webservers are also performance critical, yet java is used for the backend of a number of servers and don't suffer any worse than if it was C code on the backend.

    As near as I can tell, java's only real slowdown has been in having a GUI on the application.

  9. #9
    Registered User
    Join Date
    Dec 2001
    Posts
    1,262

    Re: Is there a server emulation on the way

    Any VM is slower than an actual machine. Issuing instructions to the hardware is the fastest way to use the hardware. Issuing instructions to an intermediary only slows it down. There is no reason to use java for something like this, especially since an mmo server is extremely performance critical.
    But thats the whole point of a JIT compiler... it converts the bytecode to native code on the fly.. caches that native code, and then uses it for future execution of the same block. This actually has many advantages over compiled code, since more about the state of the application is known at runtime than compile time. JIT compilers frequently generate better code than standard compilers.

    An effective MMO server could easily be written in Java, (as many high volume web systems currently are).

    --Jeeves
    "Only two things are infinite, the universe and human stupidity, and I'm not sure about the former." --Albert Einstein

  10. #10
    Registered User
    Join Date
    Apr 2005
    Posts
    3

    Re: Is there a server emulation on the way

    Actually i knew that this would happen ....
    That "my language is better" topic occurs every now and then.

    Speed is not the issue with java.
    First of all there are JITs as said above, secondly we dont have to deal with "primary" calls but with objectoriented languages.
    We talk about instanciation, destruction and handling of objects here. c++ is performing rather poor in that aspect. Its an "artificial" objectoriented language so to speak.
    Java is faster when it comes to programming oo.
    C# is already in some aspects faster than java when it comes to oo.

    As said ... performance is not the issue here. Java would be ok.

    I think the post about the datatypes contains the "best" critics about the language.
    Also problematic (but solvable) are issues with bits (as javas smalles primitive is a byte).

    Anyway ... we derived from the topic
    Anybody got some direct links where i could take a look at code without searching for it ?

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

You may post new threads
You may post replies
You may post attachments
You may edit your posts
HTML code is Off
vB code is On
Smilies are On
[IMG] code is Off