Dear all,
I am just wondering if an MMORPG can be reverse engineered with just its game client? The game server is already dead for more than a decade and till date, no server source files can be found online. I am hoping to get some useful insights from you guys here. Thanks.
@pixelducky yes it is possible. Doing such is basically the definition of reverse-engineering. Not gonna be easy though. You have to find out what request and responses the client makes when it starts/used and go from there. Basically you'll have to make a program (the server) that can respond appropriately to the clients requests/responses. That's gist of it. Since you had to ask this question, I'm going to assume you have quite a lot of work ahead of you so that you can understand how to do this. Maybe not, but that's usually how things go here. Funny name btw, I like it.
Happy Hacking!
"Unless someone like you cares a whole awful lot, nothing is going to get better. It's not."-Dr. Seuss
I don't want admiration. I want you to follow my example.
The best way to bring moderator attention to a post is to use the report button (⚠️).
Like my releases or want to thank me? -> give me rep. (✶ at bottom left)
For other displays of affection -> use the like button.
Moderator of Trickster Online & f168
RZ Dev
@PyroSamurai thanks for the reply! I understand it is gonna be a hell lot of work but this has been a little secret goal ever since I played that game (which also happens to be my first MMORPG) more than 10 years ago. This game was made in Korea by a company called Moya. Later some Taiwan company called Wayi picked that up and ran the game servers in Taiwan and Singapore. Unfortunately, due to bad management, the game servers was shut down in 2004. IMO the game had nice mechanics (pvp, pve, guild wars, weapon mastery, crafting mastery..etc) and 2.5D graphics for a game back in those days. I am feeling pretty nostalgic and sad as I am typing this because the game was a big part of my teenage-hood. Haha..ohh well.
I know servers can be created/implemented in various programming languages. Should I make a decision on the language choice now? Java, C++, C#, etc. On a random thought, do you think a NodeJs server with MongoDB can cut it? It's Javascript so I am guessing portability shouldn't be an issue.
Heh![]()
Which game are you talking about by the way?
On the question - you probably should make a server right away so yeah you should pick a language. I'm not sure if it makes much difference which one it's going to be as long as it's easy for you. NodeJS will probably do just fine, although I might look at other options as well with the fact in mind that for the protocol part you will be fiddling with bits and bytes quite a bit.
Last edited by Negata; 24-09-15 at 11:38 AM.
Bow down before the one you serve.
That's a bit of a loaded question that requires some background knowledge of the game and gameplay to give a proper answer to. You are talking about using NodeJS server w/ a DB as replacement for the original server and DB. The issue with NodeJS is that since it uses only a single thread to do all its computations, it will easily get bogged down if it has to do a lot of them. Keep that in mind.Originally Posted by pixelducky
My advice is to choose a language you can prototype quickly in for now (and know well or is easy to learn). Then when you have your ideas worked out (i.e. prototyped), go back and look at what your code is trying to accomplish and choose the best language for that purpose (keeping in mind your own ability to write in that language). So, basically write some draft programs first and then write a polished program afterwards.
You might want to posts some links to some reviews of the game or something to give us general idea of what it is like.
Happy Hacking!
"Unless someone like you cares a whole awful lot, nothing is going to get better. It's not."-Dr. Seuss
I don't want admiration. I want you to follow my example.
The best way to bring moderator attention to a post is to use the report button (⚠️).
Like my releases or want to thank me? -> give me rep. (✶ at bottom left)
For other displays of affection -> use the like button.
Moderator of Trickster Online & f168
RZ Dev
A good way to start is by writting a simple packet logger and keep times next to each packet so you know the frequency. I would recommend a basic language like C#. After you gather the packets and determine the frequency of each packet choose a language that is going to be suitable in terms of the server environment such as Windows or Linux. I personally recommend starting with C as it is easier to move from one environment to another to suit your needs in the future. If it is more of a learning process I usually recommend people to start with C++ or C#. Your database will take some research however. For example. How many threads is the environment capable of handling, how many requests per second do you need to handle, do you want to rely on stored procedures in a DB or functions in the server, size of the DB, and security.
--
which game?
some server files exist but never got public.
if it not high profitable item anymore maybe you can buy it from someone around with some reasonable price.
edit: p.s. don't ask me I don't had any :) but I know it exist.
Do you even read? You're just giving general advice for people who want to start making a pserver.
It's totally possible, a lot of others replied to this. Stick with a high level programming language such as Java or C# since C++ will likely give you a lot of headache. I wouldn't recommend mongoDB for this project tough since it isn't going to be a big scaled system. Feel free to ask me questions, I've made a couple of emulators for a few games so I might be able to help you out with some stuff. (I'm not going to spoon feed you tough).
Developer
I CAN NOT HELP YOU WITH YOUR SERVER, USE THE CORRECT HELP SECTION INSTEAD.
I AM ONLY TAIGA ON RAGEZONE!
I WILL NEVER CONTACT YOU OUTSIDE OF RAGEZONE OR OFFER YOU SERVER FILES.
DO NOT PM ME FOR GAME RELATED QUESTIONS, THESE MESSAGES WILL BE IGNORED!
Bow down before the one you serve.