The maximum number of chunks per packet is limited to 255 due to the value being packed into 1 byte in the chunk header. The incorrect limit caused full packets to be packed with the number of chunks value being 0 due to the value 256 overflowing, which would result in receivers not unpacking any chunks due to the number being 0.
See https://github.com/ddnet/ddnet/pull/10504