Skip to content

Net v0.3.0

Compare
Choose a tag to compare
@YetAnotherClown YetAnotherClown released this 20 Sep 10:50
· 139 commits to main since this release

Net v0.3.0

Added

  • Matter Example Game AttackOfTheKillerRoombas, adapted from the official Matter Example Game.

API Changes

  • Removed the ReliableOrdered and ReliableUnordered Channels in favor for the new Reliable Channel. ReliableUnordered already sent and received packets in order, rendering ReliableOrdered useless and wasteful.

Current State

With the release of v0.3.0, Net should now have a relatively stable API. Most of the API is now Unit Tested and I've been using Net personally in some of my other projects for a while now.

With stability no longer being an issue for Net, I'll be working towards adding the remainder of the features on the To-Do List such as Ratelimits, Middleware, and the Debugger. I will also be working to improve the Documentation and the overall on-boarding experience for Net.

Unit Testing

The Unit Tests for Net are almost complete, the progress on them are shown below, all bugs found while writing these tests have been merged into the main branch.

  • Initial Setup
  • Player & Remote Mocking
  • Test Scheduling
  • Public API Tests
  • Internal Tests

Since v0.2.0

Added

  • Matter Example Game AttackOfTheKillerRoombas, adapted from the official Matter Example Game.

Changed

  • Net:start() now utilizes middleware in Matter to schedule networking code.
  • Internal Naming of Functions for support for Roblox Debugging tools such as ScriptProfiler.
  • Updated the Getting Started page in Documentation to highlight the need to setup on both the Server and Client with the same configuration.

Fixed

  • Minor issues in the Documentation.
  • The iterator always defaulting to sending all packet information regardless if an returnFilter was provided.
  • Net:query() returning the Sender on Clients despite the Sender always being known on the Client as Net.Server.
  • The internal filter of Net:query() never returning the Sender when type { Player } is provided as a QueryParam and only one Player has sent packets.
  • The internal filter of Net:query() filtering out Server Packets on the Client.
  • The internal QueryParams Parser mistaking the Net.Server Recipient as an Identifier.
  • The typecheck in Bridge when processing the outgoing queue always fails when the recipient is of type Player.
  • Middleware in the start method runs only once every two frames
  • Iterator filter fails to properly filter key-value pairs by @IntegralsGetYouArea in #1
  • Iterator filter should also take a key with it's value
  • Identifiers always have the same position when the pos parameter is not given
  • Query never filters Players, typecheck would always fail because typeof(Player) returns Instance
  • Query filtering all Players on the server when no Player was given in the QueryParams

New Contributors