Glowstone-Legacy icon indicating copy to clipboard operation
Glowstone-Legacy copied to clipboard

Commands that block the main loop are not executed in order

Open dequis opened this issue 11 years ago • 3 comments

I did a series of commands like /tp 5000 100 5000 increasing the Z coordinate by 1000 each time, very quickly. Since that requires a bunch of worldgen, that blocks the main loop. The problem is that some of those commands are executed as soon as they are received, resulting in this:

03:08:24 [INFO] dequis issued command: /tp 5000 100 5000
03:08:35 [INFO] dequis issued command: /tp 5000 100 6000
03:08:40 [INFO] dequis issued command: /tp 5000 100 8000
03:08:40 [INFO] dequis issued command: /tp 5000 100 7000
03:08:40 [INFO] dequis issued command: /tp 5000 100 9000
03:08:45 [INFO] dequis issued command: /tp 5000 100 12000
03:08:45 [INFO] dequis issued command: /tp 5000 100 11000
03:08:45 [INFO] dequis issued command: /tp 5000 100 10000
03:08:51 [INFO] dequis issued command: /tp 5000 100 15000
03:08:51 [INFO] dequis issued command: /tp 5000 100 13000
03:08:51 [INFO] dequis issued command: /tp 5000 100 14000
03:08:56 [INFO] dequis kicked: Timed out

(command replies omitted for clarity)

In case that doesn't look obvious enough, it should be:

5000 -> 6000 -> 7000 -> 8000 -> 9000 -> 10000 -> 11000 -> 12000 -> 13000 -> 14000 -> 15000

And is:

5000 -> 6000 -> 8000 -> 7000 -> 9000 -> 12000 -> 11000 -> 10000 -> 15000 -> 14000 -> 13000

dequis avatar Nov 27 '14 06:11 dequis

Another interesting point is the timestamps. The server seems to be handling 3-6 commands every 5-10 seconds (both statistics approximate).

turt2live avatar Nov 27 '14 06:11 turt2live

Oh, that's pretty interesting. Maybe there's some command threading going on?

gdude2002 avatar Nov 27 '14 08:11 gdude2002

This is a good one cool good

JMinecraftF avatar Dec 18 '14 20:12 JMinecraftF