Cuberite Forum

Full Version: Many enchantments cause "Bad compression" kick
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Whenever I try to apply more than 14 different enchantments to an item, I get kicked for "Bad compression" when opening my inventory while in creative mode. This does not happen when I'm in survival mode.

Why does this happen, and can it be avoided in some way? I've noticed that I get kicked for the same reason when creating items with a lot of data.
I guess that's the packet compression gone wrong. Could you provide an excerpt of your player JSON file that causes such a behavior?
(12-28-2015, 06:13 PM)xoft Wrote: [ -> ]I guess that's the packet compression gone wrong. Could you provide an excerpt of your player JSON file that causes such a behavior?
Here it is:
Code:
{
   "SpawnX" : 32,
   "SpawnY" : 80,
   "SpawnZ" : 0,
   "air" : 300,
   "enderchestinventory" : [
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      }
   ],
   "food" : 20,
   "foodExhaustion" : 0,
   "foodSaturation" : 5,
   "foodTickTimer" : 59,
   "gamemode" : -1,
   "health" : 20,
   "inventory" : [
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "Count" : 64,
         "Health" : 0,
         "ID" : 12,
         "RepairCost" : 0,
         "ench" : "0=32767;1=32767;2=32767;3=32767;4=32767;5=32767;6=32767;7=32767;8=32767;16=32767;17=32767;18=32767;19=32767;20=32767;21=32767;32=32767;33=32767;34=32767;35=32767;48=32767;49=32767;50=32767;51=32767;61=32767;62=32767;"
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      },
      {
         "ID" : -1
      }
   ],
   "isflying" : false,
   "lastknownname" : "something",
   "position" : [ 42.640030254781351, 80, 7.5407397851712918 ],
   "rotation" : [ 48.599235534667969, 30.14996337890625, 0 ],
   "world" : "overworld",
   "xpCurrent" : 0,
   "xpTotal" : 0
}
The same "Bad compression" error appears when pasting a large command in a command block.
I suppose this has to do with packets larger than 256 bytes, the 1.8 protocol compresses them and I have never really tested that code path. I'd have expected, though, that the chunk data exceeds this threshold too so it should be sent compressed as well.