-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Minor
-
None
-
Affects Version/s: None
-
None
This is probably the real issue for SPIGOT-625
As you can see on the screenshots, the stop method in MinecraftServer executes the u() metho in the PlayerList. This methods iterates over all players and executes the disconnect method in PlayerConnection. This method goes over to the disconnect(EntityPlayer entityplayer) in PlayerList where the player gets removed from the "players" list WHILE iterating.
Because every disconnect player gets removed from the "players" list while iterating, only the first half of online players get disconnected cleanly.
A simple solution would be to iterate over a copy of the "players" list on the shutdown method "u"