Link Search Menu Expand Document

Opcodes

Operation codes (opcodes) are the integers that are always the first component of the payload. These range from 0 to 20 currently and a breakdown can be found below

OpcodeNameSourceDestinationDescription
0Normal PayloadEitherEitherAny normal payload transmitted from the client to the server, or vice versa. Normally these are general Query payloads
1PingServerClientUsed to check for stale or dead connections and close them. Sent once every 42500 milliseconds
2PongClientServerSent by the client, upon the request of a Ping by the server.
3DisconnectServerClientA request to the client to close the connection, see here
4ReconnectServerClientA request to the client to re-initiate the connection. Usually sent in order to re-negotiate an encryption key
5ShutdownClientServerA request to the server to close the connection. Requests will be answered by an Opcode 3 Disconnect
6StatusClientServerA request to the server to provide state information to the client. Only trusted clients are accepted. see what this means
7HelloServerClientA payload defining the key and iv to use to encrypt the user credentials of the Opcode 8 payload
8AuthenticateClientServerA payload defining the username and password of the user attempting to log into the database. should be encrypted using the information provided through Opcode 7
9ReadyServerClientInformation pertaining to the logged in user. Sent upon the accepting of a valid Opcode 8 payload
10ConnectServerServerSent internally to the server to inform it that a new connection has been received and accepted, and that it should provide details accordingly
11ReservedN/AN/AN/A
12ReservedN/AN/AN/A
13ReservedN/AN/AN/A
14ReservedN/AN/AN/A
15ReservedN/AN/AN/A
16ReservedN/AN/AN/A
17ReservedN/AN/AN/A
18MEMUSEServerServerSent by the server to itself (internal comms) to provide the program with an idea of just how much ram is in use at a given time. Allows the system to selectively move data into and out of memory according to memory usage
19TerminateEitherEitherUsed to signal that this connection will not be receiving on the opposite end, and should be closed immediately. Also sent if an invalid Opcode 8 payload is provided to the server
20Payload TamperEitherEitherThis opcode should only be sent, or received if there has been evidence of payload tampering. It will immediately be responded to with an Opcode 19 Terminate payload