Malicious player can drop large bundles to kick/soft-ban other players
See video on a vanilla server:
1. Player A (can also be unmodified + survival mode, top left) signs ~30 books with all pages filled to put into 2 bundles
2. Player A drops these bundles to Player B (unmodified)
3. Player B opens any non-player inventory (such as a chest) --> gets kicked for an oversized packet, OR disconnects manually with the two items in their inventory
From then on, Player B cannot rejoin without having their playerdata deleted.
I have attached a saved hotbar with one bundle. You technically don't even need a modified client for this and can do this in pure survival mode, in this case I only used it to more quickly create large books to put into the bundles:
final List<String> chars = "通用规范汉国务院关于公布《通用规范汉字表》的通知".chars().mapToObj(Character::toString).toList(); final Random random = new Random(); final List<String> list = new ArrayList<>(); for (int page = 0; page < 100; page++) { final StringBuilder content = new StringBuilder(); for (int i = 0; i < 1024; i++) { content.append(chars.get(random.nextInt(chars.size()))); } list.add(content.toString()); } final ServerboundEditBookPacket packet = new ServerboundEditBookPacket(minecraft.player.getInventory().selected, list, Optional.of("通用规范汉国务院关于公布《通用规范汉字表》的通知")); minecraft.getConnection().send(packet);
As you can see in the video, even just dropping one of these severely lags the player connection. If you drop a lot of them on the ground without picking them up, walking into a chunk with the dropped items can take dozens of seconds (see second video). This can still be made worse by putting these bundles into shulker boxes, then shulker boxes into chests by having them drop into a hopper
2024-10-15, 09:18 AM
2024-10-24, 04:08 PM
0
1
1.21.2 Pre-Release 3, 1.21.2 Pre-Release 4, 1.21.2, 1.21.3
-