Open Barbosik opened 7 years ago
Protocol 16 is rolled out. At a glance there is no significant change with protocol 15.
extended flags 0x02 is for friends only 0x04 is used only for logged in players maybe to connect player cells with leaderboard
also for leaderboard record flags: 0x01 = player position right after flags present 0x02 = player name present 0x04 = the player id used to connect cells with leaderboard 0x08 = its me 0x10 = its friend
NuclearC, do you know what means packet 5? (from server to the client, it has just one byte 0x05). All other packets is pretty clear for me. But this one is a real puzzle :)
looks like its not always sent, tried to debug in corejs but never got it again :(
protocol 17 is released. There are no significant changes. Just a little change in protocol id and secret key hiding. Parser for secret key can be easy fixed - just last function in a sequence has been changed for a little. Parser for protocol id is the same, but some variable names were changed, needs pattern search.
Ok. You should make a repo for this tbh
feel free to do a pull request
some info about message list supported by current client implementation. Client version: 2.11.8 Protocol: 17 Secret: 0x00005274
0x05 - ? 0x10 - cell update 0x11 - camera update 0x12 - clear full+update cipher key 0x14 - clear 0x20 - owned
0x32 - lb team 0x35 - lb ffa v14 0x36 - lb ffa+fb v14
0x40 - border update 0x55 - captcha request (requires #56 response with captcha result) 0x66 - proto message (serialized requests for shop, xp, etc) 0x67 - got login 0x68 - logout request (requires disconnect) 0x80 - show message "A new Agar.io version is available." 0x82 - ? 0x83 - show message "The server are going to be rebooted in a while" 0xa0 - ?show player direction arrow (not tested deep) 0xa1 - ?hide player direction arrow (not tested deep) 0xe2 - ping (requires #e3 pong response) 0xf0 - ?server restart notification 0xf1 - cipher key 0xff - compressed message (uint32 unpackedSize, LZ4 compressed block)
There are some changes in the client, so it doesn't support private servers. Hope it will be fixed.
I don't think anyone is interested in this anymore. There is no point in doing this anymore.
it is useful for custom client implementation. I'm using it in my client and it works pretty good.
@Barbosik Did you abandon MultiOgar?
Also, does anyone know the latest protocol version agar.io uses, is it still 17?
I'm not interested in MultiOgar anymore, but there are some forks, you can use it.
yes, it uses protocol 17 and secret 0x00005274 at this moment. The message list above is taken from the latest version. Actually all information required to implement current protocol is available on github. The small exception is a new procedure to obtain the server. It uses proto message serializer and request to http://bouncer.agar.io. It's not big deal to reverse it.
I tried to implement private server for the latest client, but it seems they changed something, so it crashes on join command (out of memory). Probably it's due to border size. So, there is need to investigate what is going on. But spectate mode works ok.
for me my server works pretty good with latest agar client
The new server to client message: 0x72 it shows menu. It is used to cancel spectate mode. Probably it is used when there are too many spectators to prevent server lags.
🤔
a new server to client message catched: 0x81 - probably it means "reject connection", because it appears when the client sends invalid client version at handshake. But sometimes it may happens for valid client. Server sends 0x81 and nothing more...
updated description for Extended flags and leaderboard RecordFlags description in the topic
May be it will be interesting for someone. Here is the latest protocol 15:
1) Cell Update message 0x10
A little change in the structure of cell update message:
Structure of Eat Record:
Structure of Cell Update Record:
Structure of Remove Record:
The Flags:
The Extended Flags:
If someone knows some more details, please let me know, I will update the table.
2) Leaderboard FFA message 0x35
3) Leaderboard FFA teams message 0x36
The structure of FFA Record is the following:
RecordFlags description:
That's it :) Please let me know if you know more details.
History: 26.05.2018: updated description for Extended flags and leaderboard RecordFlags description