Skip to content

Latest commit

 

History

History
executable file
·
283 lines (203 loc) · 9.68 KB

CHANGELOG.md

File metadata and controls

executable file
·
283 lines (203 loc) · 9.68 KB

07.05.2016

Agar developers made completely new code for game. Now code runs inside virtual machine that I can not reverse-engineer due to lack of knowledge and experience. Unfortunately its time to say goodbye to agario-client. Initial idea of agario-client was for me to learn websockets, binary protocols, reverse-engineering, github and have fun overall. I believe that I achieved all that. Thanks to all, it was great time!

01.04.2016

Protocol changes:

Code changes due to PR #130

  • client.auth_provider is not used anymore
  • Google+ tokens support is unknown at the moment

21.03.2016

  • Event client.on.getLogin added

19.03.2016

Code changes:

  • Event client.on.leaderBoardUpdate arguments changed from old_leaders_ids, new_leaders_ids to old_highlights, new_highlights, old_names, new_names as fix for changed packet ID 49 (fixed by kosak)

18.03.2016

Protocol changes:

  • Initial key (pakect ID 255) changed key from 2200049715 to 154669603

17.03.2016

Protocol changes:

  • New packet ID 104 that forces client to call window.logout() to logout from account

Code changes:

  • New event client.on.logoutRequest for logout packet ID 104

28.02.2016

Protocol changes:

  • New packet ID 18 that commands to delete all known balls from memory.

Code changes:

  • New destroy ball reason server-forced when server commands to delete all balls.

16.02.2016

Now agar.io sends random "virtual" size map as protection from bots. New sizes are refreshing in client.on.mapSizeLoad event. When you re-spawning you should delete old balls from memory because their coordinates will be invalid. Not adding this to client's code because it can be changed by agar any time.

28.01.2016

Now agar.io server allows only 3 connections from single IP instead of 5.

14.01.2016

Added support for the debug line (added by henopied) Code changes:

  • on.debugLine(line_x, line_y) added, the server sometimes sends a line for the client to render from your ball to the point though don't expect to see it.

13.01.2016

Code changes:

  • client.local_address added. Local interface to bind to for network connections (IP address of interface)
  • AgarioClient.servers opt.local_address added. Local interface to bind to for network connections (IP address of interface)

12.01.2016

Code changes:

  • client.headers added for customizing WebSocket connection headers.

07.01.2016

Code changes:

  • client.on.packetError(packet, err, preventCrash) added. Check issue #46

Thanks to DrTheGoat for helping with getting corrupted packet.

25.12.2015

agar changes:

  • Facebook key is deprecated. Now tokens used.

Code changes:

  • Example examples/auth_token.js added demonstrating requesting facebook token
  • client.facebook_key marked as deprecated
  • client.auth_token added
  • client.auth_provider added
  • AgarioClient.Account added
  • AgarioClient.Account.requestFBToken() added (with Endromede's help)

This update would not been possible without Endromede who reverse-engineered new tokens system.

29.11.2015

Example examples/multiple.js added demonstrating 5 clients connecting to a party server from one script

28.11.2015

Protocol changes:

  • Initial key (pakect ID 255) changed key from 154669603 (0x9381223) to 2200049715 (0x83221833)

30.10.2015

Protocol changes:

  • Premium skins/colors added
  • Previously reserved byte in packet ID 16 part 2 is now used for some variable of ball and indicator of premium skin/color

New variables/skins info will be added to agario-client later

28.10.2015

Code changes:

  • example.js moved to ./examples/

Thanks to henopied who showed me how to add SOCKS/Proxy support now we have:

  • AgarioClient.agent added
  • AgarioClient.servers opt.agent added
  • AgarioClient.servers opt.resolve added
  • AgarioClient.servers opt.ip added
  • ./examples/socks.js added showing how to use SOCKS

Test it using node ./node_modules/agario-client/examples/socks.js

10.10.2015

Code changes:

  • Client.spectateModeToggle() added (by jashman)

29.09.2015

Client changes:

  • Facebook key is now stored in JSON.parse(localStorage.loginCache3).authToken

20.09.2015

Code changes:

Protection from coding incidents added. Next functions now can be called before connection established:

  • client.spawn()
  • client.spectate()
  • client.moveTo()
  • client.split()
  • client.eject()

They will return false if packet was not sent and true on success.

17.09.2015

Code changes:

  • AgarioClient.Ball added
  • Added stability to spawn(). By default client will try to spawn 25 times before disconnect
  • on.connected event is now emited without 2sec delay
  • First spawn() after connect is now much faster
  • Config variable client.spawn_attempts added
  • Config variable client.spawn_interval added
  • example.js updated with custom events/variables example

11.09.2015

Code changes:

  • ball.mass added

13.08.2015

Protocol changes:

  • Move packet id 16 coordinates changed from DoubleLE to Int32LE

31.07.2015

Code changes: Deprecated on 04.06.2015 functions removed:

  • function Client.off removed
  • function Client.offAll removed
  • function Client.emitEvent removed

23.07.2015

Code changes:

var AgarioClient = require('agario-client');

  • AgarioClient.servers.getFFAServer added
  • AgarioClient.servers.getTeamsServer added
  • AgarioClient.servers.getExperimentalServer added
  • AgarioClient.servers.getPartyServer added
  • AgarioClient.servers.createParty added
  • example.js is now using AgarioClient.servers.getFFAServer

18.07.2015

Protocol changes:

  • Initial packet id 254 sends 05 instead 04 which forces server to use new protocol
  • Tick packet id 16 part 2 now uses SInt32LE for coordinates

17.07.2015

Code changes:

  • Client.facebook_key added to login with facebook key
  • Client.on.experienceUpdate(level, current_exp, need_exp) experience information update (if logined)

24.06.2015

Protocol changes:

  • Initial packet id 255 changed from 0xFF33189283 to 0xFF23123809
  • Server will disconnect you if you send old packet

23.06.2015

Protocol changes:

  • Initial packet id 255 changed from 0xFF29282828 to 0xFF33189283
  • Server will disconnect you if you send old packet

21.06.2015

Today is a bad day Protocol changes:

  • Now website sends server and server's key without which you will not be accepted by server
  • New packet id 80 that used for sending server's key to server

Code changes:

  • Client.connect(server) changed to Client.connect(server, key)
  • Initial packet id 255 changed to simulate original code
  • Initial packets 254 and 80 added
  • connected event is now calling with 2000ms delay otherwise server will ignore spawn packet

13.06.2015

Code changes:

  • Client.spectate() added (by RouxRC)
  • Client.on.spectateFieldUpdate(cord_x, cord_y, zoom_level) added

08.06.2015

Protocol changes:

  • New packet id 240 that moves offset (why, agar? what for?)

Code changes:

07.06.2015

agario-client added to NPM

06.06.2015

Code changes:

04.06.2015

Code changes:

  • Ball.color is now working (fixed by GeoffreyFrogeye)
  • New events methods (improved by GeoffreyFrogeye)
  • Deprecated property Ball.is_virus completely removed
  • Deprecated property Ball.is_mine completely removed
  • .off() marked as deprecated and replaced with .removeListener()
  • .offAll() marked as deprecated and replaced with .removeAllListeners()
  • .emitEvent() marked as deprecated and replaced with .emit()
  • Client.server added

01.06.2015

Protocol changes:

  • ball coordinates changed from 32bit float to 16bit signed integer
  • ball size changed from 32bit float to 16bit signed integer
  • packet ID 16 part 3 changed from list of visible balls to list of destroyed balls
  • two bits between 2 and 3 part of packet 16 is not sent anymore

18.05.2015

Now example.js will automatically request server and connect to it.

12.05.2015

Protocol changes:

  • ball coordinates changed from 64bit float to 32bit float
  • ball size changed from 64bit float to 32bit float
  • color is now generating on server and sent to client
  • new packet 72 that not used in original code
  • new packet 50 used for teams scores in teams mode

Code changes:

  • color is now stored in Ball.color
  • added empty processor for packet ID 72 (packet not used in original code)
  • added Client.teams_scores property for teams mode
  • added Client.on.teamsScoresUpdate(old_scores, new_scores) event for teams mode