Is it still possible to reverse engineer an old MMORPG with just the game client?

Results 1 to 9 of 9
  1. #1
    Newbie pixelducky is offline
    MemberRank
    Jan 2015 Join Date
    3Posts

    Is it still possible to reverse engineer an old MMORPG with just the game client?

    Is it still possible to reverse engineer an old MMORPG with just the game client?
    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.


  2. #2
    Libre Software Developer PyroSamurai is offline
    ModeratorRank
    Sep 2012 Join Date
    USALocation
    591Posts

    Re: Is it still possible to reverse engineer an old MMORPG with just the game client?

    @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


  3. #3
    Newbie pixelducky is offline
    MemberRank
    Jan 2015 Join Date
    3Posts

    Re: Is it still possible to reverse engineer an old MMORPG with just the game client?

    @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.

    Quote Originally Posted by PyroSamurai View Post
    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.
    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.

    Quote Originally Posted by PyroSamurai View Post
    Funny name btw, I like it.
    Heh

  4. #4
    Watching from above Negata is offline
    LegendRank
    Apr 2004 Join Date
    FinlandLocation
    5,449Posts

    Re: Is it still possible to reverse engineer an old MMORPG with just the game client?

    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 10:38 AM.
    Bow down before the one you serve.

  5. #5
    Libre Software Developer PyroSamurai is offline
    ModeratorRank
    Sep 2012 Join Date
    USALocation
    591Posts

    Re: Is it still possible to reverse engineer an old MMORPG with just the game client?

    Quote Originally Posted by pixelducky
    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.
    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.

    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


  6. #6
    -- Nayr438 is offline
    True MemberRank
    May 2008 Join Date
    228Posts

    Re: Is it still possible to reverse engineer an old MMORPG with just the game client?

    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.
    --

  7. #7
    Account Upgraded | Title Enabled! iostream is offline
    True MemberRank
    Mar 2004 Join Date
    ThailandLocation
    201Posts

    Re: Is it still possible to reverse engineer an old MMORPG with just the game client?

    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.

  8. #8
    ◝(⁰▿⁰)◜Smile◝ (⁰▿⁰)◜ Taiga is offline
    DeveloperAlpha MaleRank
    May 2007 Join Date
    InternetLocation
    2,464Posts

    Re: Is it still possible to reverse engineer an old MMORPG with just the game client?

    Quote Originally Posted by Nayr438 View Post
    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.
    Do you even read? You're just giving general advice for people who want to start making a pserver.

    Quote Originally Posted by pixelducky View Post
    The game server is already dead for more than a decade and till date, no server source files can be found online.
    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!


  9. #9
    Watching from above Negata is offline
    LegendRank
    Apr 2004 Join Date
    FinlandLocation
    5,449Posts

    Re: Is it still possible to reverse engineer an old MMORPG with just the game client?

    Quote Originally Posted by new name View Post
    I wouldn't recommend mongoDB for this project tough since it isn't going to be a big scaled system.
    Actually I find Mongo to be best suited for something you know will stay small. Not implying its other features might nor might not be particularly useful here, just thought that should be corrected.
    Bow down before the one you serve.



Advertisement