Shadows-of-Fire / FastWorkbench

Caching recipes in the crafting table
MIT License
23 stars 17 forks source link

[1.16.5] Packet size, connexion to server #78

Closed drakray closed 2 years ago

drakray commented 2 years ago

I'm not sure this is caused by FWB, but I'm out of idea.

I get an error on my server console, saying [29Nov.2021 19:40:28.449] [Netty Epoll Server IO #3/ERROR] [net.minecraft.network.NettyCompressionEncoder/]: Attempted to send packet over maximum protocol size: 2099300 > 2097152

followed by a VERY large block of text looking like this

35 00 00 00 00 00 00 00 00 00 e6 c0 01 2c 66 61     5............,fa
72 6d 65 72 73 64 65 6c 69 67 68 74 3a 63 75 74     rmersdelight:cut
74 69 6e 67 2f 62 72 6f 77 6e 5f 6d 75 73 68 72     ting/brown_mushr
6f 6f 6d 5f 63 6f 6c 6f 6e 79 18 6d 79 73 74 69     oom_colony.mysti
63 61 6c 77 6f 72 6c 64 3a 73 6f 66 74 5f 73 74     calworld:soft_st
6f 6e 65 32 70 72 6f 64 75 63 74 69 76 65 62 65     one2productivebe
65 73 3a 63 6f 6d 62 5f 62 6c 6f 63 6b 2f 70 69     es:comb_block/pi
6e 6b 5f 73 6c 69 6d 79 5f 62 6c 6f 63 6b 5f 74     nk_slimy_block_t
6f 5f 63 6f 6d 62 29 67 65 6d 73 6e 6a 65 77 65     o_comb)gemsnjewe
6c 73 3a 70 65 72 69 64 6f 74 5f 73 65 74 5f 67     ls:peridot_set_g
6f 6c 64 5f 61 78 65 5f 73 6d 69 74 68 69 6e 67     old_axe_smithing
1a 75 70 67 72 61 64 65 5f 61 71 75 61 74 69 63     .upgrade_aquatic
3a 72 69 76 65 72 5f 73 69 67 6e 2d 67 65 6d 73     :river_sign-gems
6e 6a 65 77 65 6c 73 3a 67 61 72 6e 65 74 5f 73     njewels:garnet_s
[...]

I "cleaned" it, to see what it is, and its a list of recipe name They seem to correspond to the recipeBook.recipes entry list from the player.dat file (opened with NBTExplorer)

Some mods have reaaaally long recipe name(environmental, mana-and-artifice, architects_palette) It seems this list is sent twice in the same packet(might be the recipeBook.toBeDisplayed that is also sent) Do you think it's inadvertently caused by FWB, as a result of sending all recipe at once? Something that would otherwise only be a problem when a player unlock every recipe?

Could it be fixed by removing the recipeBook entry altogether? Or splitting the packet in multiple smaller one? It also doesn't seem "compressed", as I could just remove the hexChar, then the newLine, and finally splitting on newLine by modName to get the list in a text file with Notepad++

Any idea?

Shadows-of-Fire commented 2 years ago

FB does not send any packets besides the single recipemessage packet during crafting (which sends a single recipe id, that would never exceed the protocol limit).

If your recipe book is literally too large and preventing connections, as it appears to be, you can try the older version of FB which has the recipe book nuke, but all recipes are synced on login anyway post 1.13, so you may have problems regardless.

But yeah, fb cannot cause this kind of problem