[Help]How to start developing an MMORPG Server Emulator

90bfb62ede4fafaf89a06dc20b3b4707
0
geocine 101 Mar 23, 2010 at 13:55

Hi I’m new to this forum and I’m new to game development but I have been programming application systems for 5 years now as a student. Kindly delete this thread if discussing server emulators are not allowed.

What are the things I need to know before starting to create a server emulator for an existing MMORPG game (I only have access to the game client)?

What are the standard procedures in starting to create the server design based on the client?

What are the common approaches in designing and implementing a server emulator for an existing MMORPG game?

Thank You,

11 Replies

Please log in or register to post a reply.

3c5be51fdeec526e1f232d6b68cc0954
0
Sol_HSA 119 Mar 23, 2010 at 14:13

You mean, like a cheating program?

8676d29610e6c98d6dd2d9c38528cd9c
0
alphadog 101 Mar 23, 2010 at 14:30

That is an incredibly difficult project. Basically, you have to reverse engineer all communication formats and protocols between the client and server. Depending on your target, this ranges from moderately difficult to OMGWTFBBQ!! And, add a dash of copyright infringement and DMCA to that.

If you want to see an example of this, one of the most illustrious MMO server emulators are found for Ultima Online. See UOX3 and RunUO.

One question which can help partition your work is: why? What’s your ultimate purpose?

90bfb62ede4fafaf89a06dc20b3b4707
0
geocine 101 Mar 23, 2010 at 14:37

@Sol_HSA

No offense, I guess you don’t play too much MMORPG’s. To explain everything you could read this http://en.wikipedia.org/wiki/Server_emulator

@alphadog

I just want to learn the idea how will I program a server that reacts to certain packets when received from the client and then queries the database based on the packets received.

Btw, I am aware of the difficulty. But, enlightening me to what specific parts are needed to be reverse engineered and some basic How’s would be appreciated.

8676d29610e6c98d6dd2d9c38528cd9c
0
alphadog 101 Mar 23, 2010 at 14:56

@geocine

I just want to learn the idea how will I program a server that reacts to certain packets when received from the client and then queries the database based on the packets received.

Maybe I am missing the point, but if what you want is to learn how to build an MMO server *in general*, then reverse engineering a popular, proprietary MMO sure is a terrible way to get there, both legally and, more simplistically, for simple “personal workload” reasons. There are plenty of books, online resources and even open-source projects that can help you educate yourself properly.

If you actually want to know how one particular MMO does its thing, then you will have to learn about tools like disassemblers, packet sniffers and decrypters. Those tools will help you dissect the communication formats and protocols used between a client and server. There are lots of sites dedicated to the hackers-and-crackers crowd that can explain techniques and methods better than I can (or have time or inclination for).

One popular forum for this that I monitor is RageZone (http://forum.ragezone.com/)). As a professional, I try to keep an eye on what’s going on in the hacker community.

PS: I would be remiss if, as a professional, didn’t implore you to reconsider this unproductive path. Use your interest and energies to create something positive.

90bfb62ede4fafaf89a06dc20b3b4707
0
geocine 101 Mar 23, 2010 at 15:07

Thank you for the information.

Ed823df35ecbbb211ffda5974a156439
0
kvakvs 101 Mar 24, 2010 at 02:09

Even though DMCA is void and has no lawful powers in many countries, and as well you can’t be bound by EULA if you aren’t End User yourself, there is plenty of work involved.

To start with reverse engineering basic functions of server protocol, such as authentication, world and spawn state around you, chat, emotes, movement, basic spells and abilities. Be happy if you’re trying to emulate fairly known game, which already had its protocols reversed and published on the internets.

Next thing is estimated requirement of man-hours for this task. This may well end in thousands of man-hours (many man-months) of work required, to implement the server functionality required for comfortable gameplay.

8676d29610e6c98d6dd2d9c38528cd9c
0
alphadog 101 Mar 24, 2010 at 16:37

@kvakvs

DMCA is void and has no lawful powers in many countries

Really? When did this happen? And as for “many countries”, the DMCA, and its analogue in the EU, constitues pretty broad coverage internationally. Ok, you may get away from prosecution in Africa, but that’s not Ghana help you much.

<ba dum tiss>

Ed823df35ecbbb211ffda5974a156439
0
kvakvs 101 Mar 26, 2010 at 08:15

DMCA is a US law. Just one country.
EU accepted it.
It never happened anywhere else, except those who willingly accepted it. And the world is large :)

3c5be51fdeec526e1f232d6b68cc0954
0
Sol_HSA 119 Mar 26, 2010 at 08:17

@geocine

@Sol_HSA
No offense, I guess you don’t play too much MMORPG’s. To explain everything you could read this http://en.wikipedia.org/wiki/Server_emulator

You’re welcome!

Fd80f81596aa1cf809ceb1c2077e190b
0
rouncer 103 Mar 26, 2010 at 09:54

You have to be a bit of a hacker to do it, its not general stream programming for sure.

4ad8d736108a7f020251cd473266dd64
0
lanystvyl 101 Sep 20, 2011 at 17:47

Kind of necro’ing this post but if any are interested in coding an eq emulator I have some changes I would like to have made. Hit me up at lanystvyl@gmx.com