View Code? Open in Web Editor
NEW
This project forked from nuclearc/agar.io-protocol
Latest Agar.io protocol (without integrity checks) used to connect to private servers.
agar.io-protocol's Introduction
Latest Agar.io Protocol required for private servers and other stuff. (version 16)
- Unsigned Char (uint8)
- Unsigned Short (uint16)
- Unsigned Int (uint32)
- Signed Char (int8)
- Signed Short (int16)
- Signed Int (int32)
- Float (float32)
- Double (float64)
- Null Terminated UTF8 String (null_utf8)
Data Type |
Value |
Description |
uint8 |
0x00 |
Opcode |
null_utf8 |
... |
Player Name |
Data Type |
Value |
Description |
uint8 |
0x01 |
Opcode |
Data Type |
Value |
Description |
uint8 |
0x10 |
Opcode |
int32 |
... |
Target X |
int32 |
... |
Target Y |
int32 |
... |
Value |
Data Type |
Value |
Description |
uint8 |
0x11 |
Opcode |
Data Type |
Value |
Description |
uint8 |
0x15 |
Opcode |
Data Type |
Value |
Description |
uint8 |
0x56 |
Opcode |
null_utf8 |
... |
Generated Captcha Token |
Data Type |
Value |
Description |
uint8 |
0x66 |
Opcode |
... |
... |
Mobile data |
Data Type |
Value |
Description |
uint8 |
0xe3 |
Opcode |
... |
... |
Ping Data |
Establish Connection (0xfe)
Data Type |
Value |
Description |
uint8 |
0xfe |
Opcode |
uint32 |
... |
Protocol Version (0x0d) |
Data Type |
Value |
Description |
uint8 |
0xff |
Opcode |
int32 |
... |
EKS/DKS |
Data Type |
Value |
Description |
uint8 |
0x10 |
Opcode |
uint16 |
0 |
Eat Record Length |
... |
... |
Eat Record |
... |
... |
Update Record (read untill cell id == 0) |
uint16 |
0 |
Remove Record Length |
... |
... |
Remove Record |
Data Type |
Value |
Description |
uint32 |
0 |
Eater ID |
uint32 |
0 |
Victim ID |
Data Type |
Value |
Description |
uint32 |
0 |
Removing Cell ID |
Data Type |
Value |
Description |
uint32 |
... |
Cell ID |
int32 |
... |
Cell X |
int32 |
... |
Cell Y |
uint16 |
... |
Cell Radius |
uint8 |
... |
Cell Flags |
uint8 |
... |
Cell Flags 2 (read if flags & 0x80) |
uint8 |
0 |
Cell Color (RED) (read if flags & 0x02) |
uint8 |
0 |
Cell Color (GREEN) (read if flags & 0x02) |
uint8 |
0 |
Cell Color (BLUE) (read if flags & 0x02) |
null_utf8 |
... |
Cell Skin (read if flags & 0x04) |
null_utf8 |
... |
Cell Name (read if flags & 0x08) |
uint32 |
... |
Cell Account (read if flags_2 & 0x04) |
Mask |
Description |
0x01 |
Virus |
0x02 |
Has Color |
0x04 |
Has Skin |
0x08 |
Has Name |
0x10 |
Agitated |
0x20 |
Ejected Mass |
0x40 |
Other's Ejected Mass |
0x80 |
Extended Flags |
Mask |
Description |
0x01 |
Food |
0x02 |
Is Friend |
0x04 |
Has Account ID |
Data Type |
Value |
Description |
uint8 |
0x11 |
Opcode |
float32 |
... |
X coordinate |
float32 |
... |
Y coordinate |
float32 |
... |
Zoom Factor |
Data Type |
Value |
Description |
uint8 |
0x12 |
Opcode |
Data Type |
Value |
Description |
uint8 |
0x20 |
Opcode |
uint32 |
... |
Cell ID |
Leaderboard List (0x35||0x36)
Data Type |
Value |
Description |
uint8 |
0x35 or 0x36 |
Opcode |
uint16 |
... |
Friend Count (read if op == 0x34) |
... |
... |
LB Record |
Mask |
Description |
0x01 |
place |
0x02 |
player name |
0x04 |
player account id |
0x08 |
its meh |
0x10 |
its friend |
Data Type |
Value |
Description |
uint8 |
... |
Flags |
uint16 |
... |
(Read if flags & 0x01) Player Place |
null_utf8 |
... |
(Read if flags & 0x02) Player Name |
uint32 |
... |
(Read if flags & 0x04) Player Account |
Data Type |
Value |
Description |
uint8 |
0x32 |
Opcode |
uint32 |
... |
Length |
float32 |
... |
Red |
float32 |
... |
Green |
float32 |
... |
Blue |
Initial Border and Dynamic Border (0x40)
Data Type |
Value |
Description |
uint8 |
0x40 |
Opcode |
float64 |
... |
minx |
float64 |
... |
miny |
float64 |
... |
maxx |
float64 |
... |
maxy |
uint32 |
... |
Gamemode |
null_utf8 |
... |
Server Name |
Data Type |
Value |
Description |
uint8 |
0x55 |
Opcode |
Data Type |
Value |
Description |
uint8 |
0x66 |
Opcode |
... |
... |
Mobile data |
Data Type |
Value |
Description |
uint8 |
0x67 |
Opcode |
Data Type |
Value |
Description |
uint8 |
0x68 |
Opcode |
Data Type |
Value |
Description |
uint8 |
0x69 |
Opcode |
null_utf8 |
... |
Account Name/IP |
Outdated Client (request to update agario.core.js) (0x80)
Data Type |
Value |
Description |
uint8 |
0x80 |
Opcode |
Data Type |
Value |
Description |
uint8 |
0xa0 |
Opcode |
int16 |
... |
x |
int16 |
... |
y |
null_str8 |
... |
(optional) (sent only once) player name |
Data Type |
Value |
Description |
uint8 |
0xa1 |
Opcode |
Data Type |
Value |
Description |
uint8 |
0xe2 |
Opcode |
... |
... |
Random Data |
Data Type |
Value |
Description |
uint8 |
0xf1 |
Opcode |
int32 |
DKS2 |
DKS2 |
Data Type |
Value |
Description |
uint8 |
0xff |
Opcode |
uint32 |
... |
Decompressed Length |
... |
... |
Sub-Packet |