• Unfortunately, we have experienced significant hard drive damage that requires urgent maintenance and rebuilding. The forum will be a state of read only until we install our new drives and rebuild all the configurations needed. Please follow our Facebook page for updates, we will be back up shortly! (The forum could go offline at any given time due to the nature of the failed drives whilst awaiting the upgrades.) When you see an Incapsula error, you know we are in the process of migration.

GM login packet information

Joined
Aug 14, 2009
Messages
1,097
Reaction score
134
When the client authenticates with SystemServer, the server knows that the connection is a "client connection" and not a "GM tool connection". So, you can authenticate with SystemServer in the same way as G-OP, but from the client:

Packet ID 0x1454:
Code:
struct SS_GMLogin {
    uint8_t passwordLength;
    char[passwordLength] password; // NOT null terminated
}

Here, you will either receive packet 0x1455 in response or get disconnected because of a login failure.

If you've successfully logged in, SystemServer will let GameServer know that you've logged in as a GM, and you'll be able to send GM-only packets.

If you want to replicate the official client's login behavior, when it receives 0x1455 it will:
1. Make you invisible
2. Set your speed to 3
3. Make you invincible ("immortal")

If you didn't notice from above, the packets that G-OP sends are used by the GM client too. For example, this is the teleport character packet (also SystemServer):

Packet ID 0x145B:
Code:
struct SS_TeleportChar {
    uint8_t passwordLength;
    char[passwordLength] password;
    string fromCharName; // null terminated
    string toCharName; // null terminated
}

There are a multitude of ways that you can accomplish the sending of these packets. Perhaps the easiest would be to build a proxy between the server and your client which allows you to send packets to arbitrary connections.

My hope is that if someone does something with this information, that they will make their work open source. It's not a lot of information, but the structures become extremely obvious when you search around for these packet IDs in the server.
 
Back
Top