-
Notifications
You must be signed in to change notification settings - Fork 14
Packet
This will not explain the basics of networking, but more specifically what an SOEPacket is.
A "packet" is the most basic form of data that can be sent from either the client or server.
There is a specific set of packets for:
- Connecting
- Sending multiple packets
- Disconnecting
- Pinging
- Sending messages
A full listing can be found here.
| Name | Type | Byte-Order | Description |
|---|---|---|---|
| OpCode | uint16 | Net | The type of packet. (The operation that should be carried out) |
| Packet Header | N/A | N/A | Determines whether the packet args are compressed, or encrypted. |
| Packet Args | N/A | N/A | The data for this packet. |
| CRC Checksum | byte[] | Net | The CRC of the entire contents of the packet. More info here. |
Note: The packet header and CRC checksum only appear in packets after the initial connection handshake.
Implementation: SOEPacket
If you come across a message that is not handled please contribute to this repository and add it into the SOEProtocol handlers found here.
All packet types should be handled.
You can write packets through an SOEWriter instance that has been initialized to write packets.
SOEWriter writer = new SOEWriter(0x02, false);Calling GetFinalSOEMessage on a writer that is set-up to write packets will return null in any case.
Connection Handshake
Data Types
~~. What is a Packet?
01. Session Request
02. Session Response
03. Multi
05. Disconnect
09. Reliable Data
0D. Fragmented Reliable Data
15. Reliable Data Acknowledge
~~. What is a Message?
19. Multi-data
Free Realms (Coming Soon...)
Star Wars Galaxies
Vanguard: Saga of Heroes