Added missing play state checks

This commit is contained in:
RaphiMC 2023-08-15 22:10:01 +02:00
parent 50c117dd6a
commit a75a016641
No known key found for this signature in database
GPG Key ID: 0F6BB0657A03AC94
4 changed files with 7 additions and 5 deletions

View File

@ -44,7 +44,7 @@ public class ConfigurationPacketHandler extends PacketHandler {
@Override
public boolean handleC2P(IPacket packet, List<ChannelFutureListener> listeners) {
if (packet instanceof UnknownPacket) {
if (packet instanceof UnknownPacket && this.proxyConnection.getConnectionState() == ConnectionState.PLAY) {
final UnknownPacket unknownPacket = (UnknownPacket) packet;
if (unknownPacket.packetId == this.configurationAcknowledgedId) {
listeners.add(f -> {
@ -79,7 +79,7 @@ public class ConfigurationPacketHandler extends PacketHandler {
@Override
public boolean handleP2S(IPacket packet, List<ChannelFutureListener> listeners) {
if (packet instanceof UnknownPacket) {
if (packet instanceof UnknownPacket && this.proxyConnection.getConnectionState() == ConnectionState.PLAY) {
final UnknownPacket unknownPacket = (UnknownPacket) packet;
if (unknownPacket.packetId == this.startConfigurationId) {
this.proxyConnection.getChannel().config().setAutoRead(false);

View File

@ -20,6 +20,7 @@ package net.raphimc.viaproxy.proxy.packethandler;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import io.netty.channel.ChannelFutureListener;
import net.raphimc.netminecraft.constants.ConnectionState;
import net.raphimc.netminecraft.constants.MCPackets;
import net.raphimc.netminecraft.packet.IPacket;
import net.raphimc.netminecraft.packet.PacketTypes;
@ -45,7 +46,7 @@ public class CustomPayloadPacketHandler extends PacketHandler {
@Override
public boolean handleC2P(IPacket packet, List<ChannelFutureListener> listeners) {
if (packet instanceof UnknownPacket) {
if (packet instanceof UnknownPacket && this.proxyConnection.getConnectionState() == ConnectionState.PLAY) {
final UnknownPacket unknownPacket = (UnknownPacket) packet;
if (unknownPacket.packetId == this.customPayloadId) {
final ByteBuf data = Unpooled.wrappedBuffer(unknownPacket.data);

View File

@ -67,7 +67,7 @@ public class LoginPacketHandler extends PacketHandler {
@Override
public boolean handleC2P(IPacket packet, List<ChannelFutureListener> listeners) throws GeneralSecurityException {
if (packet instanceof UnknownPacket) {
if (packet instanceof UnknownPacket && this.proxyConnection.getConnectionState() == ConnectionState.PLAY) {
final UnknownPacket unknownPacket = (UnknownPacket) packet;
if (unknownPacket.packetId == this.chatSessionUpdateId && this.proxyConnection.getChannel().attr(MCPipeline.ENCRYPTION_ATTRIBUTE_KEY).get() == null) {
return false;

View File

@ -22,6 +22,7 @@ import com.viaversion.viaversion.libs.gson.JsonElement;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import io.netty.channel.ChannelFutureListener;
import net.raphimc.netminecraft.constants.ConnectionState;
import net.raphimc.netminecraft.constants.MCPackets;
import net.raphimc.netminecraft.packet.IPacket;
import net.raphimc.netminecraft.packet.PacketTypes;
@ -46,7 +47,7 @@ public class ResourcePackPacketHandler extends PacketHandler {
@Override
public boolean handleP2S(IPacket packet, List<ChannelFutureListener> listeners) {
if (packet instanceof UnknownPacket) {
if (packet instanceof UnknownPacket && this.proxyConnection.getConnectionState() == ConnectionState.PLAY) {
final UnknownPacket unknownPacket = (UnknownPacket) packet;
if (unknownPacket.packetId == this.joinGameId) {
listeners.add(f -> {