mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-19 17:37:42 +01:00
Add more logger output for invalid movement kicks
This commit is contained in:
@@ -1,35 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: BillyGalbreath <blake.galbreath@gmail.com>
|
|
||||||
Date: Wed, 27 Jul 2022 00:42:39 -0500
|
|
||||||
Subject: [PATCH] Add more logger output for invalid movement kicks
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
|
||||||
index 47952e504cc4d36b1d875651bb9bbd0a90606ae2..5b33034f01c05b29cd1a90847aa27b356a02264f 100644
|
|
||||||
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
|
||||||
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
|
||||||
@@ -756,6 +756,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
|
||||||
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
|
|
||||||
if (packet.getId() == this.awaitingTeleport) {
|
|
||||||
if (this.awaitingPositionFromClient == null) {
|
|
||||||
+ ServerGamePacketListenerImpl.LOGGER.warn("Disconnected on accept teleport packet. Was not expecting position data from client at this time"); // Purpur
|
|
||||||
this.disconnect((Component) Component.translatable("multiplayer.disconnect.invalid_player_movement"), org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PLAYER_MOVEMENT); // Paper - kick event cause
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
@@ -1425,7 +1426,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
|
||||||
@Override
|
|
||||||
public void handleMovePlayer(ServerboundMovePlayerPacket packet) {
|
|
||||||
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
|
|
||||||
- if (ServerGamePacketListenerImpl.containsInvalidValues(packet.getX(0.0D), packet.getY(0.0D), packet.getZ(0.0D), packet.getYRot(0.0F), packet.getXRot(0.0F))) {
|
|
||||||
+ // Purpur start
|
|
||||||
+ boolean invalidX = Double.isNaN(packet.getX(0.0D));
|
|
||||||
+ boolean invalidY = Double.isNaN(packet.getY(0.0D));
|
|
||||||
+ boolean invalidZ = Double.isNaN(packet.getZ(0.0D));
|
|
||||||
+ boolean invalidYaw = !Floats.isFinite(packet.getYRot(0.0F));
|
|
||||||
+ boolean invalidPitch = !Floats.isFinite(packet.getXRot(0.0F));
|
|
||||||
+ if (invalidX || invalidY || invalidZ || invalidYaw || invalidPitch) {
|
|
||||||
+ ServerGamePacketListenerImpl.LOGGER.warn(String.format("Disconnected on move player packet. Invalid data: x=%b, y=%b, z=%b, yaw=%b, pitch=%b", invalidX, invalidY, invalidZ, invalidYaw, invalidPitch)); // Purpur
|
|
||||||
+ // Purpur end
|
|
||||||
this.disconnect((Component) Component.translatable("multiplayer.disconnect.invalid_player_movement"), org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PLAYER_MOVEMENT); // Paper - kick event cause
|
|
||||||
} else {
|
|
||||||
ServerLevel worldserver = this.player.serverLevel();
|
|
||||||
@@ -43,6 +43,14 @@
|
|||||||
Location oldTo = to.clone();
|
Location oldTo = to.clone();
|
||||||
PlayerMoveEvent event = new PlayerMoveEvent(player, from, to);
|
PlayerMoveEvent event = new PlayerMoveEvent(player, from, to);
|
||||||
this.cserver.getPluginManager().callEvent(event);
|
this.cserver.getPluginManager().callEvent(event);
|
||||||
|
@@ -709,6 +_,7 @@
|
||||||
|
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
|
||||||
|
if (packet.getId() == this.awaitingTeleport) {
|
||||||
|
if (this.awaitingPositionFromClient == null) {
|
||||||
|
+ ServerGamePacketListenerImpl.LOGGER.warn("Disconnected on accept teleport packet. Was not expecting position data from client at this time"); // Purpur - Add more logger output for invalid movement kicks
|
||||||
|
this.disconnect(Component.translatable("multiplayer.disconnect.invalid_player_movement"), org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PLAYER_MOVEMENT); // Paper - kick event cause
|
||||||
|
return;
|
||||||
|
}
|
||||||
@@ -1169,6 +_,10 @@
|
@@ -1169,6 +_,10 @@
|
||||||
final int maxBookPageSize = pageMax.intValue();
|
final int maxBookPageSize = pageMax.intValue();
|
||||||
final double multiplier = Math.clamp(io.papermc.paper.configuration.GlobalConfiguration.get().itemValidation.bookSize.totalMultiplier, 0.3D, 1D);
|
final double multiplier = Math.clamp(io.papermc.paper.configuration.GlobalConfiguration.get().itemValidation.bookSize.totalMultiplier, 0.3D, 1D);
|
||||||
@@ -131,6 +139,23 @@
|
|||||||
@Override
|
@Override
|
||||||
public void handleEntityTagQuery(ServerboundEntityTagQueryPacket packet) {
|
public void handleEntityTagQuery(ServerboundEntityTagQueryPacket packet) {
|
||||||
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
|
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
|
||||||
|
@@ -1285,7 +_,15 @@
|
||||||
|
@Override
|
||||||
|
public void handleMovePlayer(ServerboundMovePlayerPacket packet) {
|
||||||
|
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
|
||||||
|
- if (containsInvalidValues(packet.getX(0.0), packet.getY(0.0), packet.getZ(0.0), packet.getYRot(0.0F), packet.getXRot(0.0F))) {
|
||||||
|
+ // Purpur start - Add more logger output for invalid movement kicks
|
||||||
|
+ boolean invalidX = Double.isNaN(packet.getX(0.0));
|
||||||
|
+ boolean invalidY = Double.isNaN(packet.getY(0.0));
|
||||||
|
+ boolean invalidZ = Double.isNaN(packet.getZ(0.0));
|
||||||
|
+ boolean invalidYaw = !Floats.isFinite(packet.getYRot(0.0F));
|
||||||
|
+ boolean invalidPitch = !Floats.isFinite(packet.getXRot(0.0F));
|
||||||
|
+ if (invalidX || invalidY || invalidZ || invalidYaw || invalidPitch) {
|
||||||
|
+ ServerGamePacketListenerImpl.LOGGER.warn(String.format("Disconnected on move player packet. Invalid data: x=%b, y=%b, z=%b, yaw=%b, pitch=%b", invalidX, invalidY, invalidZ, invalidYaw, invalidPitch));
|
||||||
|
+ // Purpur end - Add more logger output for invalid movement kicks
|
||||||
|
this.disconnect(Component.translatable("multiplayer.disconnect.invalid_player_movement"), org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PLAYER_MOVEMENT); // Paper - kick event cause
|
||||||
|
} else {
|
||||||
|
ServerLevel serverLevel = this.player.serverLevel();
|
||||||
@@ -1460,7 +_,7 @@
|
@@ -1460,7 +_,7 @@
|
||||||
movedWrongly = true;
|
movedWrongly = true;
|
||||||
if (event.getLogWarning())
|
if (event.getLogWarning())
|
||||||
|
|||||||
Reference in New Issue
Block a user