2017-05-14 01:37:46 +00:00
|
|
|
From abc6c09bbf47a3db7b6c4360f253ed58fcfa3148 Mon Sep 17 00:00:00 2001
|
2016-12-22 02:22:02 +00:00
|
|
|
From: Aikar <aikar@aikar.co>
|
|
|
|
Date: Thu, 23 Jun 2016 23:33:57 -0400
|
|
|
|
Subject: [PATCH] IllegalPacketEvent
|
|
|
|
|
|
|
|
Fired for invalid data from players that represents hacking attempts
|
|
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
2017-05-14 01:37:46 +00:00
|
|
|
index 3946ee6e5..4a3b7be2a 100644
|
2016-12-22 02:22:02 +00:00
|
|
|
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
|
|
|
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
|
|
|
@@ -56,6 +56,7 @@ import org.bukkit.inventory.CraftingInventory;
|
|
|
|
import org.bukkit.inventory.EquipmentSlot;
|
|
|
|
import org.bukkit.inventory.InventoryView;
|
|
|
|
import org.bukkit.util.NumberConversions;
|
|
|
|
+import com.destroystokyo.paper.event.player.IllegalPacketEvent; // Paper
|
|
|
|
import co.aikar.timings.MinecraftTimings; // Paper
|
|
|
|
// CraftBukkit end
|
|
|
|
|
2017-04-20 13:22:08 +00:00
|
|
|
@@ -2236,8 +2237,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
|
2016-12-22 02:22:02 +00:00
|
|
|
CraftEventFactory.handleEditBookEvent(player, itemstack1); // CraftBukkit
|
|
|
|
}
|
|
|
|
} catch (Exception exception) {
|
|
|
|
- PlayerConnection.LOGGER.error("Couldn\'t handle book info", exception);
|
|
|
|
- this.disconnect("Invalid book data!"); // CraftBukkit
|
|
|
|
+ IllegalPacketEvent.process(player.getBukkitEntity(), "InvalidBookEdit", "Invalid book data!", exception); // Paper
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
String s1;
|
2017-04-20 13:22:08 +00:00
|
|
|
@@ -2286,8 +2286,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
|
2016-12-22 02:22:02 +00:00
|
|
|
CraftEventFactory.handleEditBookEvent(player, itemstack2); // CraftBukkit
|
|
|
|
}
|
|
|
|
} catch (Exception exception1) {
|
|
|
|
- PlayerConnection.LOGGER.error("Couldn\'t sign book", exception1);
|
|
|
|
- this.disconnect("Invalid book data!"); // CraftBukkit
|
|
|
|
+ IllegalPacketEvent.process(player.getBukkitEntity(), "InvalidBookSign", "Invalid book data!", exception1); // Paper
|
|
|
|
}
|
|
|
|
} else if ("MC|TrSel".equals(s)) {
|
|
|
|
try {
|
2017-04-20 13:22:08 +00:00
|
|
|
@@ -2298,8 +2297,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
|
2016-12-22 02:22:02 +00:00
|
|
|
((ContainerMerchant) container).d(j);
|
|
|
|
}
|
|
|
|
} catch (Exception exception2) {
|
|
|
|
- PlayerConnection.LOGGER.error("Couldn\'t select trade", exception2);
|
|
|
|
- this.disconnect("Invalid trade data!"); // CraftBukkit
|
|
|
|
+ IllegalPacketEvent.process(player.getBukkitEntity(), "InvalidTrade", "Invalid trade data!", exception2); // Paper
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
TileEntity tileentity;
|
2017-04-20 13:22:08 +00:00
|
|
|
@@ -2440,8 +2438,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
|
2016-12-22 02:22:02 +00:00
|
|
|
iinventory.update();
|
|
|
|
}
|
|
|
|
} catch (Exception exception5) {
|
|
|
|
- PlayerConnection.LOGGER.error("Couldn\'t set beacon", exception5);
|
|
|
|
- this.disconnect("Invalid beacon data!"); // CraftBukkit
|
|
|
|
+ IllegalPacketEvent.process(player.getBukkitEntity(), "InvalidBeacon", "Invalid beacon data!", exception5); // Paper
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else if ("MC|ItemName".equals(s)) {
|
2017-05-14 01:37:46 +00:00
|
|
|
@@ -2540,8 +2537,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
|
2016-12-22 02:22:02 +00:00
|
|
|
this.player.playerConnection.sendPacket(new PacketPlayOutSetSlot(-2, k, this.player.inventory.getItem(k)));
|
|
|
|
this.player.playerConnection.sendPacket(new PacketPlayOutHeldItemSlot(this.player.inventory.itemInHandIndex));
|
|
|
|
} catch (Exception exception7) {
|
|
|
|
- PlayerConnection.LOGGER.error("Couldn\'t pick item", exception7);
|
2017-05-14 01:37:46 +00:00
|
|
|
- this.disconnect("Invalid pick item!"); // CraftBukkit
|
2016-12-22 02:22:02 +00:00
|
|
|
+ IllegalPacketEvent.process(player.getBukkitEntity(), "InvalidPickItem", "Invalid PickItem", exception7); // Paper
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// CraftBukkit start
|
|
|
|
--
|
2017-05-14 01:37:46 +00:00
|
|
|
2.13.0.windows.1
|
2016-12-22 02:22:02 +00:00
|
|
|
|