mirror of
https://github.com/GeyserMC/MCProtocolLib.git
synced 2025-06-08 02:43:53 -04:00
* Reimplement session structure Benefits are clear, developers can easily provide custom behaviour by overriding the server and client classes to provide custom channels (like geyser does for localchannel) and also custom channel handlers can be provided, like for ViaVersion support. Transfers were moved to a flag. There are now ClientSession and ServerSession interfaces which extend Session. This way a ServerSession doesn't have connect methods. Binding to UnixDomainSockets or any other type of SocketAddress is now supported and the client can connect to those too. Tcp was renamed to Net because now non-tcp protocols like local channels and udp (for bedrock ViaBedrock) can be used. * Split up server groups and share channel initializer code This allows us to share more code between server and client. Additionally, the split worker groups allow mcpl to handle server packets more closely to vanilla and reduce timeouts during load. * Allow more code sharing for custom implementations * Fill in arbitrary values for remote address if ipv6 client connects to ipv4 server and vice verse * Use proper separator for ipv6 * Fix channel method signature * Update protocol/src/main/java/org/geysermc/mcprotocollib/protocol/ClientListener.java Co-authored-by: chris <github@onechris.mozmail.com> * Update protocol/src/main/java/org/geysermc/mcprotocollib/protocol/ClientListener.java Co-authored-by: chris <github@onechris.mozmail.com> * Update protocol/src/main/java/org/geysermc/mcprotocollib/network/net/NetClientSession.java Co-authored-by: chris <github@onechris.mozmail.com> * Add log * Implement resolving InetSocketAddresses is unresolved * Rename net package and drop prefix for most classes * Move session and server into their own packages * Rename Net prefix to network * Add ClientNetworkSession factory and pass props properly when following redirects --------- Co-authored-by: chris <github@onechris.mozmail.com> |
||
---|---|---|
.. | ||
src/main/java/org/geysermc/mcprotocollib | ||
build.gradle.kts |