Protocol messages table

From CatchChallenger wiki
Jump to: navigation, search

Note Note:

The first byte send by server is 0x00 to say no encrypted or 0x01 to say encrypted by Ssl

Organised by destination/sources to improve the income performance routing

No packet can be at same time compressed and with fixed size. Message/Query is decompressed after the packet routing and control to prevent DDOS by dropping the double send (send 2 time or more the datapack list). Nothing is compressed/decompressed at message layer, to have fine compression control, compress only part of packet, do some control before uncompress

Client → Server

Packet Code Data Source Destination Fixed Message size
00 Reserved for implementation use
01 Reply to server query (See reply)
02 Send position + direction (Fast) Client GameServer Yes
03 Chat Client GameServer No
04 Clan invite accept Client GameServer Yes
06 Use an object/recipe in battle Client GameServer No
07 Try escape Client GameServer Yes
08 Change monster Client GameServer Yes
09 Learn attack Client GameServer Yes
0A Request a player battle Client GameServer No
0B Heal all the monster Client GameServer Yes
0C Start a requested bot fight Client GameServer Yes
0D Monster up/down Client GameServer Yes
0E Monster change in fight Client GameServer Yes
0F Monster evolution validated Client GameServer No
10 Use object on monster Client GameServer No
11 Use an attack of a monster Client GameServer Yes
12 Use an object/recipe Client GameServer No
13 Destroy an object Client GameServer No
14 Put object into a trade (when trade is accepted) Client GameServer No
15 Finish the trade (when trade is accepted) Client GameServer Yes
16 Cancel the trade (when trade is accepted) Client GameServer Yes
17 Deposite/withdraw to warehouse Client GameServer No
18 Take an object on map (visible or not) Client GameServer Yes
19 Use seed into dirt (in plantOnlyVisibleByPlayer==true) Client GameServer Yes
1A Collect mature plant (in plantOnlyVisibleByPlayer==true) Client GameServer Yes
1B Quest start Client GameServer Yes
1C Quest finish Client GameServer Yes
1D Quest cancel Client GameServer Yes
1E Quest next step Client GameServer Yes
1F Waiting for city caputre Client GameServer Yes
3E Unlock and unregister charater id (disconnected) GameServer MasterServer Yes
3F Current player number (Game server to master) GameServer MasterServer Yes

Server → Client

Packet Code Data Source Destination Fixed Message size
40 Send server list to real player LoginServer Client No
44 Logical group MasterServer LoginServer No
45 Raw server list master to login MasterServer LoginServer No
46 Login settings and Characters group MasterServer LoginServer No
48 Update server list master to login MasterServer LoginServer No
47 Update the game server current player number on the game server MasterServer/Login LoginServer/Client Yes
4D Disconnect for duplicate connexion detected MasterServer GameServer Yes
50 Result of the turn (battle) GameServer Client No
51 The other player have declined you battle request GameServer Client Yes
52 The other player have accepted you battle request GameServer Client No
53 Random seed list GameServer Client No
54 Send the inventory GameServer Client No
55 Add object GameServer Client No
56 Remove object GameServer Client No
57 The other player have put object (trade) GameServer Client No
58 The other player have accepted (trade, send the info too) GameServer Client No
59 The other player have canceled (trade) GameServer Client Yes
5A The other player have finished (trade) GameServer Client Yes
5B Server have validated the trade (trade) GameServer Client Yes
5C Insert plant on map (Fast) GameServer Client No
5D Remove plant on map (Fast) GameServer Client No
5E City capture validated GameServer Client Yes
5F Chat GameServer Client No
60 kicked/ban and reason GameServer Client No
61 Clan disolved GameServer Client No
62 Clan info GameServer Client No
63 Clan invite ask GameServer Client No
64 Player number GameServer Client Yes
65 Remove all other player on the map GameServer Client Yes
66 Reinser player on same map (Fast) GameServer Client No
67 Reinser player on other map (Fast) GameServer Client No
68 Move player on map (Fast) GameServer Client No
69 Remove player from map (Fast) GameServer Client No
6A Remove all other player on the border map GameServer Client Yes
6B Insert player on map (Fast) GameServer Client No
75 Send datapack size GameServer and LoginServer Client Yes
76 update file (raw) GameServer and LoginServer Client No
77 update file (compressed) GameServer and LoginServer Client No
78 Gateway Cache updating Gateway Client No
7F Reply to client query (See reply)

Client → Server with reply

Packet Code Data Source Destination Fixed Query size Fixed Reply size
80 Stock objects Client GameServer No No
81 Object list can be withdraw Client GameServer No No
82 Withdraw an object Client GameServer No No
83 Use seed into dirt Client GameServer No Yes
84 Collect mature plant Client GameServer Yes Yes
85 Usage of recipe Client GameServer Yes No
86 Use object Client GameServer Yes No
87 Get shop list Client GameServer Yes No
88 Buy object Client GameServer Yes No
89 Sell object Client GameServer Yes No
8A Get factory list Client GameServer Yes No
8B Buy factory object Client GameServer Yes No
8C Sell factory object Client GameServer Yes No
8D Get market list (Unique id to ident even if the position have changed) Client GameServer Yes No
8E Buy into the market (Unique id to ident even if the position have changed) Client GameServer No No
8F Put object into the market Client GameServer No No
90 Withdraw market cash Client GameServer Yes No
91 Withdraw market object (Unique id to ident even if the position have changed) Client GameServer No No
92 Clan action Client GameServer No No
93 Select character on game server Client GameServer Yes No
A0 Protocol initialization for client (Fast, 1) Client GameServer/LoginServer Yes No
A1 Send datapack file list Client GameServer/LoginServer Yes No
A8 Get first data and send the login (Fast, 1) Client LoginServer Yes No
A9 Create account (Fast, 1) Client LoginServer Yes No
AA Add character Client LoginServer No Yes
AB Remove character Client LoginServer Yes Yes
AC Select character Client LoginServer Yes No
AD Stat client Client LoginServer Yes Yes
B0 get maxMonsterId block GameServer MasterServer Yes Yes
B1 get maxClanId block GameServer MasterServer Yes Yes
B2 Register game server GameServer MasterServer No No
B8 Protocol initialization and auth for master LoginServer/GameServer MasterServer Yes No
BD Register login server LoginServer MasterServer Yes No
BE Select character on master LoginServer MasterServer Yes No
BF get maxAccountId block LoginServer MasterServer Yes Yes
C0 get maxCharacterId block LoginServer MasterServer Yes Yes
C1 get maxMonsterId block LoginServer MasterServer Yes Yes

Note Note:

All the main code in this column is considered query with needed reply.

  • 1) Fast to have good performance, to face to bruteforce, DDOS, ...

Server → Client with reply

Packet Code Data Source Destination Fixed Query size Fixed Reply size
DF Another player request a battle GameServer Client No Yes
E0 Another player request a trade GameServer Client No Yes
E1 Teleport the player GameServer Client No Yes
E2 Event change GameServer Client Yes Yes
F8 Get token for character select (Master -> Game server) MasterServer GameServer Yes No
F9 Ping (Master -> Game server) MasterServer GameServer Yes Yes