Skip to content

[v4.2] Lots of improvements and new features!

Compare
Choose a tag to compare
@evolutionleo evolutionleo released this 02 Jan 20:38
· 168 commits to main since this release
2b9a6eb

๐Ÿ—’๏ธ Changelog: ๐Ÿ—’๏ธ

  • Collisions revamp. Entities can now have rotating colliders
  • (Now depending on "detect-collisions", which wraps "rbush" and "sat", instead of using "rbush" directly)
  • Change client-side collisions to check based on the "solid" asset tag rather than just hard-coded oWall object
  • New Warp Portal entity and proper room transition
  • Queue packets for later using queuePacket() (e.x. for when you receive entities while still changing rooms)
  • Position interpolation for entities to drastically reduce jittering
  • Entity positions are now automatically rounded up to 1/100ths each tick to account for 0.1 + 0.2 = 0.30000000000000004
  • Entity props and improved .yy room loading (now also loading variable definitions)
  • A critical fix that finally prevents the game from occasionally crashing when ran over WAN with a latency
  • Fixes a bug with the entities that started in the room that would load them twice into the rtree
  • Fixes a bug that would load non-solid entities into the rtree
  • Performance improvements
  • A Stress Test room with 50 boxes
  • New demo rooms to showcase the Warp Portals
  • Rooms automatically stop processing entities when there are no players present for X seconds (you can change/disable it in the config)
  • Purge all local entities on room start (GMS2) - to avoid creating duplicates when loading entities from the server
  • Bundle "entity" commands into a single "entities" command that each room is sending once per tick. Also adds meta-data to see which room sent the entities
  • Optimize the lobby packets to only send relevant info (instead of all the entities of every room)
  • Bumps the packet size header bytes from u16 to u32
  • Adds a new "initial_lobbies" config that controls how many lobbies the server creates on start
  • Adds a new "verbose_lag" config that sends warning when the server is running below its tps
  • Minor QoL improvement to the Demo's menu rooms - pressing escape now sends you back to main menu
  • Adds a "Reconnect" button in the main menu
  • Console output styling using the "chalk" library
  • Implement a gulp script to preserve newlines when building TypeScript to JavaScript, which enables me to publish (an actually humanly-readable) JS version of the server in just a couple minutes
  • Fixes a bug that would infinitely flood the global.clients list when reconnecting to an already running server
  • Fixes a typo/bug when if you used the --port command line argument it would try to assign the same port to both TCP and WS servers
  • Minor change to wrapping outside room - the object now has to be moving away from the room for the wrapping to happen
  • Adds pinging functionality

Enjoy!
- Evoleo