Skip to content

Releases: pmmp/RakLib

0.12.3

21 Apr 12:18
Compare
Choose a tag to compare

Changes since 0.12.2

  • Fixed a bug in sequenced & ordered packets handling that could result in crashes.

0.12.2

07 Feb 16:45
Compare
Choose a tag to compare

Changes since 0.12.1

  • Removed unnecessary REUSEADDR socket option causing crashes on WSL.

0.12.1

04 Jan 15:09
Compare
Choose a tag to compare

Changes since 0.12.0

  • Fixed an unnecessary wait() in ServerHandler
  • Address-already-in-use message is now consistent on all platforms.
  • Fixed an incorrect doc comment in Session.
  • Use global function and constant imports to enhance runtime performance (this does have a significant effect!).

0.12.0

13 Jun 10:14
Compare
Choose a tag to compare

Changes since 0.11.0

General

  • php-64bit is now required in composer.json.
  • Now using PSR-4 autoloading standard instead of classmap.
  • IPv6 sockets are now supported, php-ipv6 now mandatory in composer.json.
  • Now can integrate with pocketmine/snooze in order to have a parent thread signalled when a packet is pushed into the buffer.

Protocol

  • Added missing encode/decode for NewIncomingConnection and ConnectionRequest packets.

Sessions

  • Logs will no longer get spammed when a client terminates the connection improperly (for example crashing).
  • Fixed latency incurred by sleeping before processing received packets for no reason.
  • Ordering and sequencing channels are now supported for receive.
  • Fixed lag and connection instability on poor connections when packets arrive in the wrong order (RakLib was forcing clients to resend even if the packet turned up correctly but in the wrong order).

0.11.0

13 Apr 19:06
Compare
Choose a tag to compare

Changes since 0.10.0

General

  • pocketmine/binaryutils is now used for binary I/O instead of inbuilt classes. raklib\Binary has been removed.
  • Connecting clients with incompatible protocol versions will now be disconnected correctly. RakLibServer now accepts a protocol version override in the constructor.
  • RakLibServer now accepts a maximum MTU size constructor parameter.
  • RakLibServer autostart constructor parameter has been removed.
  • Address handling has been cleaned up in preparation for IPv6 support (adds an InternetAddress class in raklib\utils namespace).
  • Exceptions on bad packets will now only spam the logger in debug mode.

EncapsulatedPacket

  • Separated thread-copy encoding and RakNet protocol encoding. This is now both faster and easier to read.
    • The internal parameters have been removed from fromBinary() and toBinary().
    • fromInternalBinary() and toInternalBinary() functions have been added.

OpenConnectionRequest1

  • Fixed bug in encode method supplying incorrect arguments to str_pad().

ServerInstance interface

  • Typehints have been applied to PHP 7.2 standards.

UDPServerSocket

  • Constructor now requires InternetAddress instead of ThreadedLogger, string, int.
  • Exceptions will now be thrown on failure to open sockets, instead of using die().