diff --git a/build-logic/src/main/kotlin/Versions.kt b/build-logic/src/main/kotlin/Versions.kt
index 8d0185cc8..1aa91aee0 100644
--- a/build-logic/src/main/kotlin/Versions.kt
+++ b/build-logic/src/main/kotlin/Versions.kt
@@ -31,7 +31,7 @@ object Versions {
     const val gsonVersion = "2.3.1" // Provided by Spigot 1.8.8
     const val nbtVersion = "2.1.0"
     const val websocketVersion = "1.5.1"
-    const val protocolVersion = "f0feacd"
+    const val protocolVersion = "96a4daf"
     const val raknetVersion = "1.6.28-20220125.214016-6"
     const val mcauthlibVersion = "d9d773e"
     const val mcprotocollibversion = "9f78bd5"
diff --git a/core/build.gradle.kts b/core/build.gradle.kts
index 0d1c16825..62e8f1c17 100644
--- a/core/build.gradle.kts
+++ b/core/build.gradle.kts
@@ -30,7 +30,7 @@ dependencies {
     // Network libraries
     implementation("org.java-websocket", "Java-WebSocket", Versions.websocketVersion)
 
-    api("com.github.CloudburstMC.Protocol", "bedrock-v553", Versions.protocolVersion) {
+    api("com.github.CloudburstMC.Protocol", "bedrock-v554", Versions.protocolVersion) {
         exclude("com.nukkitx.network", "raknet")
         exclude("com.nukkitx", "nbt")
     }
diff --git a/core/src/main/java/org/geysermc/geyser/network/ConnectorServerEventHandler.java b/core/src/main/java/org/geysermc/geyser/network/ConnectorServerEventHandler.java
index bf655740f..c9a3201c1 100644
--- a/core/src/main/java/org/geysermc/geyser/network/ConnectorServerEventHandler.java
+++ b/core/src/main/java/org/geysermc/geyser/network/ConnectorServerEventHandler.java
@@ -28,7 +28,7 @@ package org.geysermc.geyser.network;
 import com.nukkitx.protocol.bedrock.BedrockPong;
 import com.nukkitx.protocol.bedrock.BedrockServerEventHandler;
 import com.nukkitx.protocol.bedrock.BedrockServerSession;
-import com.nukkitx.protocol.bedrock.v553.Bedrock_v553;
+import com.nukkitx.protocol.bedrock.v554.Bedrock_v554;
 import io.netty.buffer.ByteBuf;
 import io.netty.channel.ChannelHandlerContext;
 import io.netty.channel.DefaultEventLoopGroup;
@@ -172,7 +172,7 @@ public class ConnectorServerEventHandler implements BedrockServerEventHandler {
     @Override
     public void onSessionCreation(@Nonnull BedrockServerSession bedrockServerSession) {
         try {
-            bedrockServerSession.setPacketCodec(Bedrock_v553.V553_CODEC); // Has the RequestNetworkSettingsPacket
+            bedrockServerSession.setPacketCodec(Bedrock_v554.V554_CODEC); // Has the RequestNetworkSettingsPacket
             bedrockServerSession.setLogging(true);
             bedrockServerSession.setCompressionLevel(geyser.getConfig().getBedrock().getCompressionLevel());
             bedrockServerSession.setPacketHandler(new UpstreamPacketHandler(geyser, new GeyserSession(geyser, bedrockServerSession, eventLoopGroup.next())));
diff --git a/core/src/main/java/org/geysermc/geyser/network/GameProtocol.java b/core/src/main/java/org/geysermc/geyser/network/GameProtocol.java
index dde0b0c04..ab931e901 100644
--- a/core/src/main/java/org/geysermc/geyser/network/GameProtocol.java
+++ b/core/src/main/java/org/geysermc/geyser/network/GameProtocol.java
@@ -31,7 +31,7 @@ import com.nukkitx.protocol.bedrock.BedrockPacketCodec;
 import com.nukkitx.protocol.bedrock.v527.Bedrock_v527;
 import com.nukkitx.protocol.bedrock.v534.Bedrock_v534;
 import com.nukkitx.protocol.bedrock.v544.Bedrock_v544;
-import com.nukkitx.protocol.bedrock.v553.Bedrock_v553;
+import com.nukkitx.protocol.bedrock.v554.Bedrock_v554;
 import org.geysermc.geyser.session.GeyserSession;
 
 import java.util.ArrayList;
@@ -72,7 +72,7 @@ public final class GameProtocol {
         SUPPORTED_BEDROCK_CODECS.add(DEFAULT_BEDROCK_CODEC.toBuilder()
                 .minecraftVersion("1.19.21/1.19.22")
                 .build());
-        SUPPORTED_BEDROCK_CODECS.add(Bedrock_v553.V553_CODEC);
+        SUPPORTED_BEDROCK_CODECS.add(Bedrock_v554.V554_CODEC);
     }
 
     /**