Improve Experience for Low-end Network Players by Re-ordering Packet Sending Priority

Discussion in 'Performance Tweaking' started by connection_lost, Jun 22, 2016.

  1. Player with low-end network (mostly low bandwidth) will experience unbearable lag while joining the server. I do not have a direct proof for this, but this seems to be our current situation:
    • Upon player joins the server, the server will start sending him data. This include chunks, mobs, chats etc.. All packets does not seem to have a priority.
    • When a player has just joined the server, his packet queue will contains a lot of chunk data (big ones).
    • Since packets does not have a priority system, he is not able to receive other packets before chunk has finished loading. For instance, a player joins the server, and someone said hello, the player will not be able to see the greeting before all chunks are loaded.
    So I am looking for a way to somehow modify packet sending queue. I believe it is possible (via nms maybe), so if anyone have idea or experience can help me achieve this?

    Maybe useful things:
    • NMS method "EntityPlayerRef#chunkQueue#get(EntityPlayer)" exists
    • NoLagg plugin somehow can modify chunk sending queue.