A Fabric mod that allows using RakNet as Minecraft networking backend.

Overview

RaknetFabric

A Fabric mod that allows using RakNet as Minecraft networking backend.

Features

  • Higher reliability and lower latency under unreliable and rate-limited client connections.
  • Uses RakNet's multiple channels to achieve higher responsiveness.
  • Supports ViaVersion client-side and ViaVersion server-side. (MultiConnect compatibility is unknown)
  • Currently, the networking behavior is similar to TCP Slow Start.

How to use it?

Prerequisites

  • RaknetFabric is currently confirmed to be working on 1.18.2, 1.18.1 and 1.17.1, other Minecraft versions are not tested.
  • You need to have a UDP port opened at the same port number of your normal server port.

Installation and usage

  • Download the latest release from GitHub or development builds from CodeMC
  • Install the mod on both client and server.
  • Prefix your server address with raknet; (or raknetl; to use high mtu) and save or connect directly. (e.g. raknet;example.com)
  • Enjoy!
Comments
  • Potential memory leak?

    Potential memory leak?

    Describe the bug After prolonged connection, the player eventually runs out of memory. The problem doesn't exist outside a Raknet connection, and, once the problem happens, it prevents player from further rejoining the server again with Raknet, only restarting the game works.

    To Reproduce Steps to reproduce the behavior:

    1. Join server with Raknet
    2. Idle
    3. Gets kicked

    Screenshots 图片

    Runtime info (please complete the following information):

    • OS: Arch Linux
    • Minecraft version: 1.18.2
    • Mod version: alpha 4.16

    Crash reports / logs https://0x0.st/oQly.txt

    Other mods https://0x0.st/oQlt.txt

    Checklist

    • [x] I am using the official version of the mod.
    • [x] I tried the latest development version but the issue persists.
    • [x] I searched for similar open issues and could not find an existing bug report on this.
    bug 
    opened by Neubulae 12
  • Mixin transformation of ServerLoginNetworkAddon fails with Fabric API 0.58.5

    Mixin transformation of ServerLoginNetworkAddon fails with Fabric API 0.58.5

    Describe the bug With Raknetify and Fabric API 0.58.5, it's impossible to join servers and singleplayer worlds.

    To Reproduce Steps to reproduce the behavior:

    1. Try to join a server or singleplayer world.
    2. Unable to join, log says that Raknet's Mixin for Fabric API's ServerLoginNetworkAddon failed.

    Expected behavior You'd be able to join singleplayer and multiplayer worlds normally.

    Screenshots 2022-08-03_06 47 19

    Runtime info (please complete the following information):

    • Windows 10
    • 1.19.1
    • Raknetify Fabric 0.1.0 Alpha 5.4

    Crash reports / logs 03.08 10:47:58 [Server] Netty Epoll Server IO #2/INFO [STDERR]: java.lang.RuntimeException: Mixin transformation of net.fabricmc.fabric.impl.networking.server.ServerLoginNetworkAddon failed

    Other mods Fabric Api 0.58.5

    Checklist

    • [x] I am using the official version of the mod.
    • [x] I tried the latest development version but the issue persists.
    • [x] I searched for similar open issues and could not find an existing bug report on this.
    bug 
    opened by AViewFromTheTop 8
  • Issues with latest Velocity build

    Issues with latest Velocity build

    Describe the bug Use latest Velocity(#161 so far) and the plugin won't load

    Runtime info (please complete the following information):

    • OS: Arch Linux
    • Minecraft version: 1.18.2
    • Mod version: alpha 4.16

    Crash reports / logs https://0x0.st/oQvK.txt

    Checklist

    • [x] I am using the official version of the mod.
    • [x] I tried the latest development version but the issue persists.
    • [x] I searched for similar open issues and could not find an existing bug report on this.
    bug 
    opened by Neubulae 5
  • java.lang.RuntimeException

    java.lang.RuntimeException

    Describe the bug The server does not successfully stop when GeyserMC and Raknetify are installed. GeyserMC is on a different port.

    To Reproduce Steps to reproduce the behavior:

    1. Install GeyserMC and Raknetify
    2. Stop the server

    Expected behavior The server stops successfully

    Runtime info (please complete the following information):

    • OS: Ubuntu 20.04.4 LTS x86_64
    • Minecraft version: 1.19
    • Mod version: 0.1.0+alpha.4.10 devbuild

    Crash reports / logs https://mclo.gs/KPYRacm

    Other mods GeyserMC

    Checklist

    • [x] I am using the official version of the mod.
    • [x] I tried the latest development version but the issue persists.
    • [x] I searched for similar open issues and could not find an existing bug report on this.

    Additional context This happens when you try to stop the server with /stop.

    bug question 
    opened by nikijaz 2
  • swords work half of the time

    swords work half of the time

    Describe the bug Swords deal full damage half of the time To Reproduce Steps to reproduce the behavior:

    1. install an entity health mod
    2. join a raknet server
    3. use a sword
    4. observe

    Expected behavior sword should deal full damage

    Runtime info (please complete the following information):

    • OS: ArchCraft x86-64
    • Minecraft version: 1.18.2
    • Mod version: latest

    Crash reports / logs sadly logs don't show anything useful

    Other mods https://hst.sh/zofobocori.sql is modlist

    Checklist

    • [x] I am using the official version of the mod.
    • [ ] I tried the latest development version but the issue persists.
    • [x] I searched for similar open issues and could not find an existing bug report on this.

    Additional context raknetify seems to be the issue because singleplayer works

    bug 
    opened by barokvanzieks 2
  • User can't connect due to bad packet compression

    User can't connect due to bad packet compression

    23.02 01:25:11 [Server] Netty Epoll Server IO #2/INFO [STDOUT]: Krypton detected, applying compatibility
    23.02 01:25:11 [Server] User Authenticator #28/INFO UUID of player [USERNAME REDACTED] is [UUID REDACTED]
    23.02 01:25:11 [Server] Netty Epoll Server IO #2/INFO [STDERR]: io.netty.handler.codec.DecoderException: Badly compressed packet - size of 236 is below server threshold of 512
    23.02 01:25:11 [Server] Netty Epoll Server IO #2/INFO [STDERR]: io.netty.handler.codec.DecoderException: Badly compressed packet - size of 120 is below server threshold of 512
    23.02 01:25:11 [Disconnect] User com.mojang.authlib.GameProfile@REDACTED[id=REDACTED,name=REDACTED,properties={textures=[com.mojang.authlib.properties.Property@REDACTED]},legacy=false] (/IP REDACTED) has disconnected, reason: Internal Exception: io.netty.handler.codec.DecoderException: Badly compressed packet - size of 236 is below server threshold of 512
    

    The Network Compression Threshold on the server is actually set to 128. I do not know what version of the mod the player has, I have told them to update to 1.4 - don't know yet if this has fixed the issue.

    They were not using Raknet when they had this issue.

    opened by SulpherStaer 2
  • Krypton detected, applying compatibility INFO spam

    Krypton detected, applying compatibility INFO spam

    The player was able to log in and had no connectivity issues. The server however complained about said player by giving several Server thread/WARN Mismatch in destroy block pos: errors.

    22.02 23:03:59 [Server] Netty Epoll Server IO #0/INFO [STDOUT]: Krypton detected, applying compatibility
    22.02 23:03:59 [Server] User Authenticator #11/INFO UUID of player [USERNAME REDACTED] is [UUID REDACTED]
    22.02 23:03:59 [Server] Netty Epoll Server IO #0/WARN An exception was thrown by net.fabricmc.fabric.impl.networking.server.ServerLoginNetworkAddon$$Lambda$6896/0x0000000801da3668.operationComplete()
    22.02 23:03:59 [Server] INFO java.lang.IllegalArgumentException: Duplicate handler name: decompress
    22.02 23:03:59 [Server] INFO at io.netty.channel.DefaultChannelPipeline.checkDuplicateName(DefaultChannelPipeline.java:1055) ~[netty-all-4.1.68.Final.jar:?]
    22.02 23:03:59 [Server] INFO at io.netty.channel.DefaultChannelPipeline.filterName(DefaultChannelPipeline.java:284) ~[netty-all-4.1.68.Final.jar:?]
    22.02 23:03:59 [Server] INFO at io.netty.channel.DefaultChannelPipeline.addBefore(DefaultChannelPipeline.java:247) ~[netty-all-4.1.68.Final.jar:?]
    22.02 23:03:59 [Server] INFO at io.netty.channel.DefaultChannelPipeline.addBefore(DefaultChannelPipeline.java:237) ~[netty-all-4.1.68.Final.jar:?]
    22.02 23:03:59 [Server] INFO at net.minecraft.class_2535.handler$bhn000$setCompressionThreshold(class_2535.java:2057) ~[server-intermediary.jar:?]
    22.02 23:03:59 [Server] INFO at net.minecraft.class_2535.method_10760(class_2535.java) ~[server-intermediary.jar:?]
    22.02 23:03:59 [Server] INFO at net.fabricmc.fabric.impl.networking.server.ServerLoginNetworkAddon.lambda$sendCompressionPacket$2(ServerLoginNetworkAddon.java:117) ~[fabric-networking-api-v1-1.0.19+d7c144a865-27ddd48d544c3695.jar:?]
    22.02 23:03:59 [Server] INFO at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:578) ~[netty-all-4.1.68.Final.jar:?]
    22.02 23:03:59 [Server] INFO at io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:571) ~[netty-all-4.1.68.Final.jar:?]
    22.02 23:03:59 [Server] INFO at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:550) ~[netty-all-4.1.68.Final.jar:?]
    22.02 23:03:59 [Server] INFO at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:491) ~[netty-all-4.1.68.Final.jar:?]
    22.02 23:03:59 [Server] INFO at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:616) ~[netty-all-4.1.68.Final.jar:?]
    22.02 23:03:59 [Server] INFO at io.netty.util.concurrent.DefaultPromise.setSuccess0(DefaultPromise.java:605) ~[netty-all-4.1.68.Final.jar:?]
    22.02 23:03:59 [Server] INFO at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:104) ~[netty-all-4.1.68.Final.jar:?]
    22.02 23:03:59 [Server] INFO at io.netty.util.internal.PromiseNotificationUtil.trySuccess(PromiseNotificationUtil.java:48) ~[netty-all-4.1.68.Final.jar:?]
    22.02 23:03:59 [Server] INFO at io.netty.channel.ChannelOutboundBuffer.safeSuccess(ChannelOutboundBuffer.java:717) ~[netty-all-4.1.68.Final.jar:?]
    22.02 23:03:59 [Server] INFO at io.netty.channel.ChannelOutboundBuffer.remove(ChannelOutboundBuffer.java:272) ~[netty-all-4.1.68.Final.jar:?]
    22.02 23:03:59 [Server] INFO at io.netty.channel.ChannelOutboundBuffer.removeBytes(ChannelOutboundBuffer.java:352) ~[netty-all-4.1.68.Final.jar:?]
    22.02 23:03:59 [Server] INFO at io.netty.channel.epoll.AbstractEpollChannel.doWriteBytes(AbstractEpollChannel.java:364) ~[netty-all-4.1.68.Final.jar:?]
    22.02 23:03:59 [Server] INFO at io.netty.channel.epoll.AbstractEpollStreamChannel.writeBytes(AbstractEpollStreamChannel.java:260) ~[netty-all-4.1.68.Final.jar:?]
    22.02 23:03:59 [Server] INFO at io.netty.channel.epoll.AbstractEpollStreamChannel.doWriteSingle(AbstractEpollStreamChannel.java:471) ~[netty-all-4.1.68.Final.jar:?]
    22.02 23:03:59 [Server] INFO at io.netty.channel.epoll.AbstractEpollStreamChannel.doWrite(AbstractEpollStreamChannel.java:429) ~[netty-all-4.1.68.Final.jar:?]
    22.02 23:03:59 [Server] INFO at io.netty.channel.AbstractChannel$AbstractUnsafe.flush0(AbstractChannel.java:949) ~[netty-all-4.1.68.Final.jar:?]
    22.02 23:03:59 [Server] INFO at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.flush0(AbstractEpollChannel.java:557) ~[netty-all-4.1.68.Final.jar:?]
    22.02 23:03:59 [Server] INFO at io.netty.channel.AbstractChannel$AbstractUnsafe.flush(AbstractChannel.java:913) ~[netty-all-4.1.68.Final.jar:?]
    22.02 23:03:59 [Server] INFO at io.netty.channel.DefaultChannelPipeline$HeadContext.flush(DefaultChannelPipeline.java:1372) ~[netty-all-4.1.68.Final.jar:?]
    22.02 23:03:59 [Server] INFO at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:750) ~[netty-all-4.1.68.Final.jar:?]
    22.02 23:03:59 [Server] INFO at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:742) ~[netty-all-4.1.68.Final.jar:?]
    22.02 23:03:59 [Server] INFO at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:728) ~[netty-all-4.1.68.Final.jar:?]
    22.02 23:03:59 [Server] INFO at io.netty.channel.DefaultChannelPipeline.flush(DefaultChannelPipeline.java:967) ~[netty-all-4.1.68.Final.jar:?]
    22.02 23:03:59 [Server] INFO at io.netty.channel.AbstractChannel.flush(AbstractChannel.java:254) ~[netty-all-4.1.68.Final.jar:?]
    22.02 23:03:59 [Server] INFO at net.minecraft.class_2535.doSendPacket(class_2535.java:1605) ~[server-intermediary.jar:?]
    22.02 23:03:59 [Server] INFO at net.minecraft.class_2535.md076ce5$lambda$sendImmediately$rewrite$0$0(class_2535.java:1582) ~[server-intermediary.jar:?]
    22.02 23:03:59 [Server] INFO at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164) [netty-all-4.1.68.Final.jar:?]
    22.02 23:03:59 [Server] INFO at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:469) [netty-all-4.1.68.Final.jar:?]
    22.02 23:03:59 [Server] INFO at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:384) [netty-all-4.1.68.Final.jar:?]
    22.02 23:03:59 [Server] INFO at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) [netty-all-4.1.68.Final.jar:?]
    22.02 23:03:59 [Server] INFO at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-all-4.1.68.Final.jar:?]
    22.02 23:03:59 [Server] INFO at java.lang.Thread.run(Thread.java:833) [?:?]
    22.02 23:04:00 [Connect] User [USERNAME REDACTED], IP [IP REDACTED]
    22.02 23:04:00 [Server] Server thread/INFO [USERNAME REDACTED] joined the game
    
    opened by SulpherStaer 2
  • Krypton incompatibility with *small* packets on Vanilla transport

    Krypton incompatibility with *small* packets on Vanilla transport

    Steps to Reproduce

    • Install both Krypton 0.1.6 and Raknet Fabric 0.1.0+alpha.1.4-all on the server.
    • Join with vanilla protocol & transport (i.e. no raknet;). Localhost vs. external server doesn't matter.
    • Get a Diamond Pickaxe with Unbreaking 1 from an enchanting table.
    • Get another Diamond Pickaxe with Efficiency 1 and Unbreaking 1 from an enchanting table.
      • Note, the order of enchantments may matter here.
    • Attempt to combine the Unbreaking 1 pickaxe with the Efficiency 1 & Unbreaking 1 pickaxe in an anvil.
    • Get immediately kicked due to badly compressed packet?

    Notes

    The server was with stock settings at the time of testing, which means the compression threshold of 256 was applied. There are no other configs available, for as LazyDFU (present purely to reduce boot time), Krypton and RaknetFabric has no user/admin-configurable options.

    The full server.properties for reference.
    #Minecraft server properties
    #Sun Feb 20 12:57:52 CST 2022
    enable-jmx-monitoring=false
    rcon.port=25575
    gamemode=survival
    enable-command-block=false
    enable-query=false
    level-name=world
    motd=A Minecraft Server
    query.port=25565
    pvp=true
    difficulty=easy
    network-compression-threshold=256
    require-resource-pack=false
    max-tick-time=60000
    use-native-transport=true
    max-players=20
    online-mode=true
    enable-status=true
    allow-flight=false
    broadcast-rcon-to-ops=true
    view-distance=10
    server-ip=
    resource-pack-prompt=
    allow-nether=true
    server-port=25565
    enable-rcon=false
    sync-chunk-writes=true
    op-permission-level=4
    prevent-proxy-connections=false
    hide-online-players=false
    resource-pack=
    entity-broadcast-range-percentage=100
    simulation-distance=10
    rcon.password=
    player-idle-timeout=0
    force-gamemode=false
    rate-limit=0
    hardcore=false
    white-list=false
    broadcast-console-to-ops=true
    spawn-npcs=true
    spawn-animals=true
    function-permission-level=2
    text-filtering-config=
    spawn-monsters=true
    enforce-whitelist=false
    resource-pack-sha1=
    spawn-protection=16
    max-world-size=29999984
    

    Logs

    The full, unmodified logs with both the Vanilla and Raknet transports used. The same task was attempted with both, with only the Vanilla transport crashing.
    [12:57:45 INFO]: Loading Minecraft 1.18.1 with Fabric Loader 0.13.2
    [12:57:46 INFO]: Loading 7 mods:
    	- com_velocitypowered_velocity-native 1.1.0-SNAPSHOT via krypton
    	- fabricloader 0.13.2
    	- java 17
    	- krypton 0.1.6
    	- lazydfu 0.1.2
    	- minecraft 1.18.1
    	- raknet-fabric 0.1.0+alpha.1.4
    [12:57:46 INFO]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=file:/home/kjp12/Downloads/raknet/libraries/net/fabricmc/sponge-mixin/0.11.2+mixin.0.8.5/sponge-mixin-0.11.2+mixin.0.8.5.jar Service=Knot/Fabric Env=SERVER
    [12:57:46 INFO]: Compatibility level set to JAVA_16
    [12:57:46 WARN]: Error loading class: net/fabricmc/fabric/impl/networking/server/ServerLoginNetworkAddon (java.lang.ClassNotFoundException: net/fabricmc/fabric/impl/networking/server/ServerLoginNetworkAddon)
    [12:57:51 INFO]: Compression will use libdeflate (Linux x86_64), encryption will use OpenSSL 1.1.x (Linux x86_64)
    [12:57:51 INFO]: Krypton is now accelerating your Minecraft server's networking stack 🚀
    [12:57:52 INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD'
    [12:57:52 WARN]: Ambiguity between arguments [teleport, location] and [teleport, destination] with inputs: [0.1 -0.5 .9, 0 0 0]
    [12:57:52 WARN]: Ambiguity between arguments [teleport, location] and [teleport, targets] with inputs: [0.1 -0.5 .9, 0 0 0]
    [12:57:52 WARN]: Ambiguity between arguments [teleport, destination] and [teleport, targets] with inputs: [Player, 0123, @e, dd12be42-52a9-4a91-a8a1-11c01849e498]
    [12:57:52 WARN]: Ambiguity between arguments [teleport, targets] and [teleport, destination] with inputs: [Player, 0123, dd12be42-52a9-4a91-a8a1-11c01849e498]
    [12:57:52 WARN]: Ambiguity between arguments [teleport, targets, location] and [teleport, targets, destination] with inputs: [0.1 -0.5 .9, 0 0 0]
    [12:57:52 INFO]: Reloading ResourceManager: Default
    [12:57:53 INFO]: Loaded 7 recipes
    [12:57:53 INFO]: Loaded 1141 advancements
    [12:57:56 INFO]: Starting minecraft server version 1.18.1
    [12:57:56 INFO]: Loading properties
    [12:57:56 INFO]: Default game type: SURVIVAL
    [12:57:56 INFO]: Generating keypair
    [12:57:56 INFO]: Starting Minecraft server on *:25565
    [12:57:56 INFO]: Using epoll channel type
    [12:57:56 INFO]: Using epoll channel type
    [12:57:56 INFO]: Preparing level "world"
    [12:57:56 INFO]: Preparing start region for dimension minecraft:overworld
    [12:57:57 INFO]: [STDOUT]: Krypton detected, applying compatibility
    [12:57:58 INFO]: Preparing spawn area: 0%
    [12:57:58 INFO]: UUID of player _KJP12 is 82fe072f-b2d9-4005-b8a6-9284195a576e
    [12:58:01 INFO]: Preparing spawn area: 0%
    [12:58:01 INFO]: Preparing spawn area: 0%
    [12:58:01 INFO]: Preparing spawn area: 0%
    [12:58:01 INFO]: Preparing spawn area: 0%
    [12:58:01 INFO]: Preparing spawn area: 0%
    [12:58:01 INFO]: Preparing spawn area: 0%
    [12:58:01 INFO]: Preparing spawn area: 0%
    [12:58:01 INFO]: Preparing spawn area: 0%
    [12:58:01 INFO]: Preparing spawn area: 0%
    [12:58:01 INFO]: Preparing spawn area: 0%
    [12:58:02 INFO]: Preparing spawn area: 4%
    [12:58:02 INFO]: Preparing spawn area: 10%
    [12:58:03 INFO]: Preparing spawn area: 17%
    [12:58:03 INFO]: Preparing spawn area: 33%
    [12:58:04 INFO]: Preparing spawn area: 42%
    [12:58:04 INFO]: Preparing spawn area: 55%
    [12:58:05 INFO]: Preparing spawn area: 69%
    [12:58:05 INFO]: Preparing spawn area: 79%
    [12:58:06 INFO]: Preparing spawn area: 79%
    [12:58:06 INFO]: Preparing spawn area: 83%
    [12:58:07 INFO]: Preparing spawn area: 85%
    [12:58:07 INFO]: Preparing spawn area: 88%
    [12:58:08 INFO]: Preparing spawn area: 91%
    [12:58:08 INFO]: Preparing spawn area: 96%
    [12:58:09 INFO]: Preparing spawn area: 98%
    [12:58:09 INFO]: Time elapsed: 12561 ms
    [12:58:09 INFO]: Done (12.780s)! For help, type "help"
    [12:58:09 INFO]: _KJP12[/[0:0:0:0:0:0:0:1%0]:45814] logged in with entity id 200 at (-32.127683096115916, 71.0, -73.60408038656982)
    [12:58:09 INFO]: _KJP12 joined the game
    [12:58:12 INFO]: [STDERR]: io.netty.handler.codec.DecoderException: Badly compressed packet - size of 259 is below server threshold of 512
    [12:58:12 INFO]: [STDERR]: io.netty.handler.codec.DecoderException: Badly compressed packet - size of 120 is below server threshold of 512
    [12:58:12 INFO]: _KJP12 lost connection: Internal Exception: io.netty.handler.codec.DecoderException: Badly compressed packet - size of 259 is below server threshold of 512
    [12:58:12 INFO]: _KJP12 left the game
    [13:01:06 INFO]: [STDOUT]: Krypton detected, applying compatibility
    [13:01:06 INFO]: UUID of player _KJP12 is 82fe072f-b2d9-4005-b8a6-9284195a576e
    [13:01:06 INFO]: [STDOUT]: _KJP12 logged in via RakNet, mtu 1398
    [13:01:06 INFO]: _KJP12[/[0:0:0:0:0:0:0:1%0]:44051] logged in with entity id 214 at (-32.127683096115916, 71.0, -73.60408038656982)
    [13:01:06 INFO]: _KJP12 joined the game
    [13:01:06 INFO]: [STDOUT]: [MultiChannellingDataCodec] Started multichannel
    

    Minimal reproducible world

    The world contains a chest with both pickaxes in the required order to reproduce the same error.

    opened by KJP12 1
  • Mixin application failes when trying to join a server using a 1.19.2 client

    Mixin application failes when trying to join a server using a 1.19.2 client

    Describe the bug The client crashes and spouts an error about a mixin failing to apply when trying to join a Raknetified server with a 1.19.2 client.

    To Reproduce Steps to reproduce the behavior:

    1. Install Fabric in a 1.19.2 instance.
    2. Install the latest development version of Raknetify.
    3. Try to join a Raknetified server.

    Expected behavior The client joins the server successfully and I am able to play with Raknet.

    Screenshots Not applicable.

    Runtime info (please complete the following information):

    • OS: Arch Linux x86_64 (Linux 5.18.16-hardened1-1-hardened)
    • Minecraft version: 1.19.2
    • Mod version: 0.1.0+alpha.5.6
    • Mod branch: master

    Crash reports / logs https://pastebin.com/5LNxbVVP

    Other mods None.

    Checklist

    • [x] I am using the official version of the mod.
    • [x] I tried the latest development version but the issue persists.
    • [x] I searched for similar open issues and could not find an existing bug report on this.

    Additional context Not necessary.

    bug 
    opened by allinkdev 0
  • [Automated PR] Regenerate Mappings

    [Automated PR] Regenerate Mappings

    This PR is automatically created by GitHub Actions genMappings.yml

    This PR regenerates multichannel mappings used by proxies to reflect changes made in fabric

    automated pr 
    opened by github-actions[bot] 0
  • [Automated PR] Regenerate Mappings

    [Automated PR] Regenerate Mappings

    This PR is automatically created by GitHub Actions genMappings.yml

    This PR regenerates multichannel mappings used by proxies to reflect changes made in fabric

    automated pr 
    opened by github-actions[bot] 0
  • Raknetify is incompatibile with BungeeTabListPlus

    Raknetify is incompatibile with BungeeTabListPlus

    Describe the bug Using Raknetify and BungeeTabListPlus causes weird issues such as missing players or simply none at all. image

    To Reproduce Steps to reproduce the behavior: Use Raknetify and BungeeTabListPlus on a Waterfall proxy with multiple backend servers, with BTLP set to show players on all servers, have another player switch between servers. The more complicated the BTLP configuration, the more things will break.

    Expected behavior The tablist should remain consistent. image

    Screenshots See screenshots in above sections

    Runtime info (please complete the following information): Server

    • OS: Arch Linux
    • Minecraft version: 1.19.3 (Waterfall + Paper on backend)
    • Mod version: 0.1.0+alpha.5.32 (Waterfall) from Modrinth

    Client

    • OS: Arch Linux
    • Minecraft version: 1.19.3 (Quilt)
    • Mod version: 0.1.0+alpha.5.32 (Fabric) from Modrinth

    Other mods

    • On the client the issue was reproducable with just Quilted Fabric API and Raknetify
    • On the server the issue was "resolved" after removing BTLP

    Checklist

    • [x] I am using the official version of the mod.
    • [x] I tried the latest development version but the issue persists.
    • [x] I searched for similar open issues and could not find an existing bug report on this.

    Additional context Removing BTLP is not a solution, please do not suggest it.

    bug 
    opened by Peter-Crawley 0
  • [Automated PR] Regenerate Mappings

    [Automated PR] Regenerate Mappings

    This PR is automatically created by GitHub Actions genMappings.yml

    This PR regenerates multichannel mappings used by proxies to reflect changes made in fabric

    automated pr 
    opened by github-actions[bot] 0
  • java.lang.ClassCastException console spam

    java.lang.ClassCastException console spam

    Describe the bug After the UDP server starts, Raknet spams console with this when a player joins.

    To Reproduce Steps to reproduce the behavior:

    1. Install Raknet
    2. Startup the server
    3. Let the player join and run around
    4. Check console

    Expected behavior For my console to be clear without exceptions.

    Screenshots N/A

    Runtime info (please complete the following information):

    • OS:
      • Host: Void Linux
      • Docker: itzg/minecraft-server (Ubuntu, Hotspot Java 17)
    • Minecraft version: 1.19.2
    • Mod version: Build 106 from CodeMC
    • Mod branch: N/A

    Crash reports / logs

    [19:26:28] [Raknetify NIO #0/WARN]: An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception.
    java.lang.ClassCastException: class io.netty.channel.socket.DatagramPacket cannot be cast to class io.netty.channel.Channel (io.netty.channel.socket.DatagramPacket and io.netty.channel.Channel are in unnamed module of loader net.fabricmc.loader.impl.launch.knot.KnotClassLoader @97e1986)
    	at org.geysermc.floodgate.inject.fabric.FabricInjector$1.channelRead(FabricInjector.java:25) ~[floodgate-fabric.jar:?]
    	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [Geyser-Fabric.jar:?]
    	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [Geyser-Fabric.jar:?]
    	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [Geyser-Fabric.jar:?]
    	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) [Geyser-Fabric.jar:?]
    	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [Geyser-Fabric.jar:?]
    	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [Geyser-Fabric.jar:?]
    	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) [Geyser-Fabric.jar:?]
    	at network.ycc.raknet.channel.DatagramChannelProxy$ListenerInboundProxy.channelRead(DatagramChannelProxy.java:371) [raknetify-fabric-0.1.0+alpha.5.21-all.jar:?]
    	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [Geyser-Fabric.jar:?]
    	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [Geyser-Fabric.jar:?]
    	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [Geyser-Fabric.jar:?]
    	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) [Geyser-Fabric.jar:?]
    	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [Geyser-Fabric.jar:?]
    	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [Geyser-Fabric.jar:?]
    	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) [Geyser-Fabric.jar:?]
    	at io.netty.channel.nio.AbstractNioMessageChannel$NioMessageUnsafe.read(AbstractNioMessageChannel.java:97) [Geyser-Fabric.jar:?]
    	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) [Geyser-Fabric.jar:?]
    	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) [Geyser-Fabric.jar:?]
    	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) [Geyser-Fabric.jar:?]
    	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) [Geyser-Fabric.jar:?]
    	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) [Geyser-Fabric.jar:?]
    	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [Geyser-Fabric.jar:?]
    	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [Geyser-Fabric.jar:?]
    	at java.lang.Thread.run(Unknown Source) [?:?]
    

    Other mods From Console: https://code.forsaken-borders.net/dogaxenato.css From ls *.jar | cat: https://code.forsaken-borders.net/ezocuhadib.css

    Checklist

    • [x] I am using the official version of the mod.
    • [x] I tried the latest development version but the issue persists.
    • [x] I searched for similar open issues and could not find an existing bug report on this.

    Additional context The server has Krypton, Geyser and Floodgate installed. All Java players have the Krypton mod client-side. Raknet Java players have reported no issues. Normal Java players have reported no issues. 1 Bedrock player connecting through Geyser and Floodgate has reported that they do not receive chat messages while the other Bedrock player has sent screenshots of them receiving chat messages.

    bug 
    opened by OoLunar 3
  • Velocity Plugin Incompatibility: LimboAPI (+ LimboAuth and/or LimboFilter)

    Velocity Plugin Incompatibility: LimboAPI (+ LimboAuth and/or LimboFilter)

    Describe the bug

    Everytime you try to login on a 1.19.2/1.19.2-compatible server via Raknet the client crashes due to a OOB exception on a login packet.

    To Reproduce

    Steps to reproduce the behavior:

    1. Host a Velocity + Paper/Quilt 1.19.2 server (my Quilt backend has raknetify)
    2. Try to join
    3. Get disconnected.

    Expected behavior

    The client should join without problems.

    Screenshots

    image image

    Runtime info (please complete the following information):

    • OS: Windows 10 21H1 (19043.1826)
    • Minecraft version: 1.19.2
    • Mod version: 0.1.0-alpha.5.12 (happens on older versions too)

    Crash reports / logs

    Netty Client Crash

    Other mods

    Client Modlist Velocity Proxy Plugins

    Checklist

    • [x] I am using the official version of the mod.
    • [x] I tried the latest development version but the issue persists.
    • [x] I searched for similar open issues and could not find an existing bug report on this.
    bug question 
    opened by CamperSamu 6
  • Create + Raknetify train weirdness

    Create + Raknetify train weirdness

    Describe the bug General weirdness when playing around with trains while connecting to the server with raknetify. Here are acouple of issues ive encountered (Player A: has Raknetify. Player B: doesnt have Raknetify)

    1. If A tries to make a train, it will produce a Fake derailed train, and the bogeys glitch out either spinning wild or rotated 90 degrees
    2. If B makes a train, it will produce a Fake derailed train like example 1
    3. If B is riding and moving a Fake derailed train, A will see the Fake derailed train stay still even though its moving for B and other players without Raknetify, and when B disembarks, he TPs to where to train is supposed to be
    4. If A gets on the Fake derailed train and spam right click fast enuf on the controls, he can control it, but the train will be in a superpossition state of Derailed and Not derailed, and when moving it stutters because of the state flipping

    To Reproduce Steps to reproduce the behavior:

    1. Make a server with Raknetify and Create
    2. Have 2 people connect 1 with raknetify and 1 without
    3. Have both of them make trains, and observe weirdness (if it doesnt show, try having a train in the world, and the raknetify player relog)

    Expected behavior Normal create train behaviour

    Screenshots image

    Runtime info (please complete the following information):

    • OS: Windows 11, Server on ARM Linux
    • Minecraft version: 1.18.2
    • Mod version: 0.1.0+alpha.5.4
    • Mod branch: (fill this if you are not using the default ver branches)

    Crash reports / logs Pastebin link

    Other mods Pastebin link

    Checklist

    • [X] I am using the official version of the mod.
    • [X] I tried the latest development version but the issue persists.
    • [X] I searched for similar open issues and could not find an existing bug report on this.

    Additional context If i log on the server without raknetify the train works as normal

    bug 
    opened by Senjosei 5
  • Failed to initialize a channel. Closing: [id: 0x1d4ab1dd, L:/192.168.0.5:30000 ! R:/46.164.218.151:2322] java.util.NoSuchElementException: timeout

    Failed to initialize a channel. Closing: [id: 0x1d4ab1dd, L:/192.168.0.5:30000 ! R:/46.164.218.151:2322] java.util.NoSuchElementException: timeout

    Describe the bug I can't connect to the server and I see error in console (ports are open and I can connect without raknet)

    To Reproduce Steps to reproduce the behavior:

    1. Start server
    2. Wait ~10 seconds
    3. See error

    Expected behavior No error in console + successful connection

    Screenshots image

    Runtime info (please complete the following information):

    • OS: Windows 10 (Host) & Windows 11 (Client)
    • Minecraft version: 1.19 (Both Host and Client)
    • Mod version: Raknetify BungeeCord 0.1.0+alpha.5.0 (Host) & raknetify-fabric-0.1.0+alpha.5.0-all.jar (Client)
    • Mod branch: (fill this if you are not using the default ver branches)

    Crash reports / logs https://pastebin.com/myuREyad

    Other mods No other plugins (Host) No other plugins (Client)

    Checklist

    • [x] I am using the official version of the mod.
    • [x] I tried the latest development version but the issue persists.
    • [x] I searched for similar open issues and could not find an existing bug report on this.

    Additional context

    bug question 
    opened by MineForce899 6
Releases(0.1.0+alpha.5)
  • 0.1.0+alpha.5(Jul 17, 2022)

    Raknetify 0.1.0+alpha.5 is released

    This release improves overall stability and fixes some bugs.

    Changelog:

    • Fixes server connection issues when binding on multiple network interfaces
    • Supports velocity (Currently with a hacky method, still waiting for PaperMC/Velocity#723)
    • Fixes a slow memory leak on fabric servers and clients

    Full Changelog: https://github.com/RelativityMC/raknetify/compare/0.1.0+alpha.4...0.1.0+alpha.5

    Source code(tar.gz)
    Source code(zip)
    raknetify-bungee-0.1.0+alpha.5.0-all.jar(1.11 MB)
    raknetify-fabric-0.1.0+alpha.5.0-all.jar(651.24 KB)
    raknetify-velocity-0.1.0+alpha.5.0-all.jar(1.10 MB)
  • 0.1.0+alpha.4(Jun 19, 2022)

    Raknetify 0.1.0+alpha.4 is released

    This small release improves responsiveness on unreliable networking and fixes some bugs.

    Changelog:

    • Fixes players not being able to connect using raknetify without krypton
    • Handles packet priority better during the initialization of multichannel
    • Improves responsiveness on unreliable and rate-limited networking

    Notes:

    • Velocity support is already present in the repository but not released in this version:
      There are shading issues with the build system of Velocity that prevents this from working with a unmodified proxy jar
      Pending PR: PaperMC/Velocity#723

    Full Changelog: https://github.com/RelativityMC/raknetify/compare/0.1.0+alpha.3...0.1.0+alpha.4

    Source code(tar.gz)
    Source code(zip)
    raknetify-bungee-0.1.0+alpha.4.0-all.jar(1.03 MB)
    raknetify-fabric-0.1.0+alpha.4.0-all.jar(636.02 KB)
  • 0.1.0+alpha.3(Jun 8, 2022)

    Raknetify (formerly known as RaknetFabric) 0.1.0+alpha.3 is released

    This release improves performance and responsiveness significantly and adds support for proxies.

    Changelog:

    • Rebrands as raknetify
    • Introduces high MTU mode using raknetl; prefix, significantly reduces networking overhead on reliable networking
    • Introduces packet priority system for higher responsiveness on unreliable and rate-limited networking
    • Introduces streaming compression on each ordered channels
    • Adds support for BungeeCord proxies

    Notes:

    • Velocity support is already present in the repository but not released in this version:
      There are shading issues with the build system of Velocity that prevents this from working with a unmodified proxy jar
      Pending PR: PaperMC/Velocity#723

    Full Changelog: https://github.com/RelativityMC/raknetify/compare/0.1.0+alpha.2...0.1.0+alpha.3

    Source code(tar.gz)
    Source code(zip)
    raknetify-bungee-0.1.0+alpha.3.0-all.jar(1.03 MB)
    raknetify-fabric-0.1.0+alpha.3.0-all.jar(633.80 KB)
  • 0.1.0+alpha.2(Mar 13, 2022)

  • 0.1.0+alpha.1(Feb 11, 2022)

Owner
null
A client-side Fabric mod for Minecraft Beta 1.7.3 that allows you to connect to servers running almost any patch from Alpha v1.1.2_01 to Beta 1.7.3.

multiversion-fabric A client-side Fabric mod for Minecraft Beta 1.7.3 that allows you to connect to servers running almost any patch from Alpha v1.1.2

0n1 2 Mar 13, 2022
An elegant Minecraft mod template for the Fabric mod loader

Fabric Example Mod Lorem ipsum dolor sit amet Example is a Minecraft mod that lorem ipsum dolor sit amet. Ut mi lectus, egestas a justo nec, hendrerit

Axieum 24 Dec 25, 2022
Addon to the Minecraft Forge/Fabric mod InvMove that adds mod compatibilities

Addon to the Minecraft Forge/Fabric mod InvMove that adds mod compatibilities

David M. 3 Oct 21, 2022
A legacy-fabric mod that makes minecraft versions older than 1.13 run using LWJGL 3 instead of the legacy LWJGL 2

A legacy-fabric mod that makes minecraft versions older than 1.13 run using LWJGL 3 instead of the legacy LWJGL 2

Zarzel K. Shih 17 Dec 4, 2022
A Fabric mod that allows for efficient connected textures

Continuity Continuity is a Fabric mod built around modern APIs to allow for the most efficient connected textures experience possible. It is designed

null 192 Jan 9, 2023
A simple Serverside Fabric mod that allows you to assign commands to Item(Stacks)

Item Commander Shiny item do stuff A simple Serverside Fabric mod that allows you to assign commands to Item(Stacks). It works by adding NBT data to t

null 2 Feb 25, 2022
A minecraft mod that allows using minecrafts structure block based test system

MC Tester Mod This mod allows using the automated structure based test system Mojang created for minecraft. The test system is only partially included

2No2Name 21 Nov 11, 2022
Small mod for Minecraft Forge 1.16.5 that sends messages of in-game events to a channel in your Discord server. This mod also enables cross-chatting between Minecraft and Discord.

DiscordSync Small mod for Minecraft Forge 1.16.5 that sends messages of in-game events to a channel in your Discord server. This mod also enables cros

AeonLucid 4 Dec 20, 2022
A minimal sit mod for Fabric & Quilt using Polymer.

Polysit A polymer-based server-side sit mod for Fabric & Quilt! How to Use? Requirements: Minecraft 1.18.2 Polymer Polysit One of either mod loader: Q

The Glitch 5 Jun 30, 2022
A Minecraft Mod for Fabric which aims to make Block Entity rendering faster and more customizable with almost no compromises.

Enhanced Block Entities EBE is a 100% client side mod for Minecraft on the Fabric mod loader which aims to increase the performance of block entity re

null 151 Dec 30, 2022
A Fabric mod designed to improve the chunk performance of Minecraft.

C^2M-Engine A Fabric mod designed to improve the chunk performance of Minecraft. So what is C2ME? C^2M-Engine, or C2ME for short, is a Fabric mod desi

null 411 Jan 5, 2023
Minecraft Multi-Threading Mod Fabric Port

MCMTFabric - Minecraft Multi-Threading Mod Fabric Port This mod is based on the amazing work on JMT-MCMT. Please check that repository for details. No

Grider 108 Dec 30, 2022
Fabric mod for rainbow backgrounds in minecraft guis

rainbowify rainbowify is a Fabric mod for Minecraft 1.17 that adds a customizable rainbow background to many Minecraft HUDs. Discord: https://discord.

Lennox 18 Sep 29, 2022
A Minecraft mod on the Fabric modloader which aims to add some useful vehicles.

Automobility A Minecraft vehicle mod adding customizable cars. Made for ModFest 1.17 Screenshots Try it out! Recommended to use along with LambdaContr

null 31 Dec 15, 2022
Minecraft mod to change the stack size of all items. Fabric 1.17

Stacker Minecraft mod to change the stack size of all items. For Fabric 1.17 Note: This mod has a config that defaults to 64. Change it to be whatever

Andrew Grant 18 Sep 25, 2022
Minecraft Fabric mod for Stardew Valley-inspired hotbar swapping.

HotbarSwap Minecraft Fabric mod for Stardew Valley-inspired hotbar swapping. Developed for 1.18.1. Features Adds 2 keybinds: Swap Hotbar (Default: H):

null 6 Sep 19, 2022
Minecraft Fabric mod for Stardew Valley-inspired hotbar swapping

HotbarCycle Minecraft Fabric mod for Stardew Valley-inspired hotbar cycling. Developed for 1.18.1. Features Adds 2 keybinds: Swap Hotbar (Default: H):

null 7 Jan 8, 2023
Minecraft Forge/Fabric mod that adds the ability to walk around while in inventories

Minecraft Forge/Fabric mod that adds the ability to walk around while in inventories

David M. 16 Nov 22, 2022
Mesh is a cross-version minecraft mod development platform for Forge and Fabric.

Mesh is a cross-version minecraft mod development platform for Forge and Fabric. Supported Versions Mesh will eventually be able to run on most f

null 12 Dec 13, 2022