How to Get Started in Game Server Emualtion

Results 1 to 5 of 5
  1. #1
    Registered lambda101 is offline
    MemberRank
    Aug 2020 Join Date
    7Posts

    How to Get Started in Game Server Emualtion

    How to Get Started in Game Server Emualtion
    Hello Guys I visited this website earlier and I wanted to know how to make a game server emulator
    I am now 16 and all what I know is C++, Reverse Engineering, ASM, Malware Analysis and also I can code basic assault, csgo hacks. All my experience with emualtion is that I made a chip8 emulator

    So my questions are:

    How to get started in game server emualtion ?
    What is the best game to start with ?
    what programming languages i need beside c++ ?
    Do i need to have experience with game dev ?


    Thanks in advance :)


  2. #2
    Ultimate Member GHOST107 is offline
    MemberRank
    Oct 2008 Join Date
    170Posts

    Re: How to Get Started in Game Server Emualtion

    To make an emulator you will need to know network programming and also a data set of a client network packets, you will need to respond to the client requests with the proper packet.

    To get a client dataset you will need a sniffer, to sniff the packets from the client when it makes an request to the server or receives an response from the server.

    Depending on the case sniffers can be attached to the client or to the network interface(wireshark or pcap attaches itself to the network interface and sniffs all ingoing and outgoing trafic, detours of). Another method is to inject the sniffer into the clients send and recv.

    Also network packets are encrypted so you would need to find the encryption and decryption methods, usually they are not too far from the send and recv, and in some cases they are only xor encrypted, but if you do not understand the encryption method, you can also attach sniffer before encryption and after decryption. When developing the client and the encryption is to hard to understand you can also deactivate it.

    Doing reverse engineering to the client some clients have anti hack or anti reverse engineering modules attached to them, that will detect if the client was compromised or not, or if you are software. Also the client can be packed and to reverse engeneer on it you have to unpack it into the memory and dump it and fix import tables and original entry point, or make a patcher to patch certain points into memory after the client is unpacked.

    When making the client to connect to your server, so you have to either redirect the connection or you have change it from client.

    If the client passed their end of life and there is no compatible server online you have to reverse engeneer the packet from the client by looking how the packet is parsed in the client.

    Once you have the list of packets you will need to classify them, and implement on your server.

    As to where to start would be simple MUD games, building sniffers to build your packet datasets, and changing the client connection, to connect to your server.

    A good book for creating a simple server is:
    https://flylib.com/books/en/4.241.1/

    And the source from that book:
    https://github.com/cltsang/SimpleMUD

    Other posts:
    http://forum.ragezone.com/f860/creat...lator-1155746/
    http://forum.ragezone.com/f144/mere-curiosity-1049695/
    http://forum.ragezone.com/f144/emulator-mmorpg-1021182/
    Last edited by GHOST107; 09-08-20 at 01:27 PM.

  3. #3
    Registered lambda101 is offline
    MemberRank
    Aug 2020 Join Date
    7Posts

    Re: How to Get Started in Game Server Emualtion

    Thanks <3 But U Didn't answer some questions like what programming languages i need beside c++ and do i need to have a game dev background for ex should i need to know how to make a mmo before making a server emualtor

  4. #4
    Ultimate Member GHOST107 is offline
    MemberRank
    Oct 2008 Join Date
    170Posts

    Re: How to Get Started in Game Server Emualtion

    I think C++ is enough to develop an emulator, depending on how well you know c++( I'm talking about c++17 or c++20 standards), Since you are 16 you should also learn about Data Structures(some structures are defined in std library, but they are not thread safe, and having knowledge on how they work will help you a lot), and Object Oriented Programming, and Design Patterns. Distributed Programming and algorithms helps(this things are advanced topics).

    In a server you will also need a database so you will need to know some knowledge about Databases and SQL.

    Also depending on the type of the emulator you are making will be hard to find some libraries for c++( ex. I had to write the websocket protocol from scratch using documentation https://tools.ietf.org/html/rfc6455). Where on other programming languages those libraries are already available.

    You do not need to know too much about game developing since mostly it is based on client, since you are making an emulator you will need to respond to the client requests, similar to how websites are made, the client is the frontend written with html, js, css and the server backend(PHP, ASP, JSP, NodeJS, etc).

    But the example about text based MUD Games (Multi-User Dungeon Games), is a good way to practice building a MMORPG Server, than later adapting it to be an emulator for other clients.

    For NodeJS I think there is an example:
    http://forum.ragezone.com/f578/1-mmo...ction-1092707/

    if C++ is to hard for server emulator you can try other programming languages like Java, C#, JS, etc).
    Last edited by GHOST107; 10-08-20 at 12:22 AM.

  5. #5
    Registered lambda101 is offline
    MemberRank
    Aug 2020 Join Date
    7Posts

    Re: How to Get Started in Game Server Emualtion

    Thanks Bro :)



Advertisement