This commit is contained in:
OurLobanov 2024-06-26 20:40:14 +03:00
parent ac51ec1bc6
commit c682c5a7b0
2 changed files with 6 additions and 26 deletions

View file

@ -47,18 +47,8 @@ public class LoggingPacketHandler implements BedrockPacketHandler {
this.cooldownHandler = new PacketCooldownManager(session); this.cooldownHandler = new PacketCooldownManager(session);
} }
public boolean handleLimit(BedrockPacket packet) {
boolean safePacket = this.cooldownHandler.handle(packet);
if (!safePacket) {
session.disconnect("many Packets " + packet.getClass().getSimpleName());
}
return !safePacket;
}
PacketSignal defaultHandler(BedrockPacket packet) { PacketSignal defaultHandler(BedrockPacket packet) {
if (handleLimit(packet)) { this.cooldownHandler.handle(packet);
return PacketSignal.HANDLED;
}
geyser.getLogger().debug("Handled packet: " + packet.getClass().getSimpleName()); geyser.getLogger().debug("Handled packet: " + packet.getClass().getSimpleName());
return PacketSignal.HANDLED; return PacketSignal.HANDLED;
} }

View file

@ -85,9 +85,7 @@ public class UpstreamPacketHandler extends LoggingPacketHandler {
@Override @Override
PacketSignal defaultHandler(BedrockPacket packet) { PacketSignal defaultHandler(BedrockPacket packet) {
if (handleLimit(packet)) { this.cooldownHandler.handle(packet);
return PacketSignal.HANDLED;
}
return translateAndDefault(packet); return translateAndDefault(packet);
} }
@ -156,9 +154,7 @@ public class UpstreamPacketHandler extends LoggingPacketHandler {
@Override @Override
public PacketSignal handle(LoginPacket loginPacket) { public PacketSignal handle(LoginPacket loginPacket) {
if(this.handleLimit(loginPacket)){ this.cooldownHandler.handle(loginPacket);
return PacketSignal.HANDLED;
}
if (geyser.isShuttingDown() || geyser.isReloading()) { if (geyser.isShuttingDown() || geyser.isReloading()) {
// Don't allow new players in if we're no longer operating // Don't allow new players in if we're no longer operating
session.disconnect(GeyserLocale.getLocaleStringLog("geyser.core.shutdown.kick.message")); session.disconnect(GeyserLocale.getLocaleStringLog("geyser.core.shutdown.kick.message"));
@ -210,9 +206,7 @@ public class UpstreamPacketHandler extends LoggingPacketHandler {
@Override @Override
public PacketSignal handle(ResourcePackClientResponsePacket packet) { public PacketSignal handle(ResourcePackClientResponsePacket packet) {
if (this.handleLimit(packet)) { this.cooldownHandler.handle(packet);
return PacketSignal.HANDLED;
}
if (packet.getPackIds().size() > this.resourcePackLoadEvent.getPacks().size()) { if (packet.getPackIds().size() > this.resourcePackLoadEvent.getPacks().size()) {
session.disconnect("Packet " + packet.getClass().getSimpleName() + " PackIds max count"); session.disconnect("Packet " + packet.getClass().getSimpleName() + " PackIds max count");
return PacketSignal.HANDLED; return PacketSignal.HANDLED;
@ -281,9 +275,7 @@ public class UpstreamPacketHandler extends LoggingPacketHandler {
@Override @Override
public PacketSignal handle(ModalFormResponsePacket packet) { public PacketSignal handle(ModalFormResponsePacket packet) {
if(this.handleLimit(packet)){ this.cooldownHandler.handle(packet);
return PacketSignal.HANDLED;
}
session.executeInEventLoop(() -> session.getFormCache().handleResponse(packet)); session.executeInEventLoop(() -> session.getFormCache().handleResponse(packet));
return PacketSignal.HANDLED; return PacketSignal.HANDLED;
} }
@ -324,9 +316,7 @@ public class UpstreamPacketHandler extends LoggingPacketHandler {
@Override @Override
public PacketSignal handle(ResourcePackChunkRequestPacket packet) { public PacketSignal handle(ResourcePackChunkRequestPacket packet) {
if (this.handleLimit(packet)) { this.cooldownHandler.handle(packet);
return PacketSignal.HANDLED;
}
ResourcePackChunkDataPacket data = new ResourcePackChunkDataPacket(); ResourcePackChunkDataPacket data = new ResourcePackChunkDataPacket();
ResourcePack pack = this.resourcePackLoadEvent.getPacks().get(packet.getPackId().toString()); ResourcePack pack = this.resourcePackLoadEvent.getPacks().get(packet.getPackId().toString());
if (pack == null) { if (pack == null) {