Skip to content

v0.3.0 - Complete rewrite of internals

Compare
Choose a tag to compare
@john-bv john-bv released this 21 Aug 02:34
· 47 commits to master since this release

Change Logs

  • netrex_events has been dropped.
  • rakrs::start has been dropped, you should use rakrs::Listener::bind() in conjunction with rakrs::Listener::start() instead.
  • Every packet sent to the client is now exposed with Connection::recv() with the exception of the handshake sequence. This will allow you to write your own handlers for certain packets. However keep in mind, the protocol specific packets such as Ack, Nack, and disconnects are not exposed.
  • The internal module has been completely nuked and replaced with SendQueue and RecvQueue's.
    • Frame fragmentation is now more elaborate and elegant.
  • ACK, and NACK are now handled within their traits Ackable that can be appended either a SendQueue or RecvQueue respectively.
  • Added FragmentQueue which is a queue with the ability to join split packets together with ease.
  • Added RecoveryQueue which is a smart queue that will remove a index if and only if a newer packet is added that shifts the queue or if the retry attempts are greator than the value set within the queue, (which is 3 by default)
  • Added Client to allow users to connect to a RakNet server as a client.
  • Added the more elegant way to parse packets with binary_util v3 instead of the mess we had before.
  • Added cross-compatibility with async-std and tokio with both guarded by their own crate feature "async_std" and "async_tokio"
  • Added the ability to opt into minecraft specific raknet changes, like the Motd change with the crate feature "mcpe"

Git change logs

New Contributors

Full Changelog: v0.2.2...v0.3.0