Please Mojang, consider fixing this very very old issue with spectator and the gamerule! Many servers could then get rid of the whitelist and just set the default gamemode to spectator!
So the situation now is:
When spectatorsGenerateChunks=false:
not existing chunks are not generated
existing chunks are not loaded (in any state)
previously loaded chunks are (slowly) unloaded until nothing is loaded (exept spawn region / other players / portals)
=> Hence, spectator can only stay in previously loaded regions (for limited time), or in the spawn area, or go along with another player
=> But spectator cannot go around and see the world! And cannot even disconnect and reconnect outside of the spawning chunks because the world wont load and render --> account is trapped! (even worce in hardcore mode)
When spectatorsGenerateChunks=true:
world is generated when spectator goes into unknown lands
existing chunks are loaded with full functionality (entity processing)
=> Here, spectator acts like a survival player, loading and generating the world, possibly causing increase of the world size (on disk) and causing server lag due to entity processing (e.g. visiting a Mob-Switch)
So please consider here my suggestion for a change:
gamerule: spectatorsGenerateChunks=false:
not yet existing chunks are not generated (as is)
but earlier generated chunks are loaded in a non-redstone-processing, and non-entity-processing state
could be like the 3rd ring of chunks around an active portal loader where nothing is processed (which should then actually also be rendered, unlike now!)
but unlike the portal, mobs loaded by spectator must not count towards the mob-cap
also mobs or items must not despawn due to spectator presence
previously loaded chunks are unloaded when spectator leaves the area (same as survival player)
=> Hence, spectator can go around the world but not damage it by any means. And can disconnect and reconnect whenever he wants.
gamerule: spectatorsGenerateChunks=true:
leave the behaviour as is, it's the least change effort.
Or, to make it more consistent, introduce an additional gamerule: spectatorsLoadWorld where the loading of existing chunks goes to.
So the optional additional gamerule might maybe look like:
spectatorsLoadWorld:
if true: spectators load world like survival players
but only generate new chunks if also spectatorsGenerateChunks=true
if false: spectators load world non-redstone- + non-entities-processing + no mobcap counts.
and also generate new chunks and load them as non-processing if spectatorsGenerateChunks=true
(mho: spectators not loading existing chunks at all makes just no sense at all.)
Cheers and Thanks!
Please Mojang, consider fixing this very very old issue with spectator and the gamerule! Many servers could then get rid of the whitelist and just set the default gamemode to spectator!
So the situation now is:
When spectatorsGenerateChunks=false:
not existing chunks are not generated
existing chunks are not loaded (in any state)
previously loaded chunks are (slowly) unloaded until nothing is loaded (exept spawn region / other players / portals)
=> Hence, spectator can only stay in previously loaded regions (for limited time), or in the spawn area, or go along with another player
=> But spectator cannot go around and see the world! And cannot even disconnect and reconnect outside of the spawning chunks because the world wont load and render --> account is trapped! (even worce in hardcore mode)
When spectatorsGenerateChunks=true:
world is generated when spectator goes into unknown lands
existing chunks are loaded with full functionality (entity processing)
=> Here, spectator acts like a survival player, loading and generating the world, possibly causing increase of the world size (on disk) and causing server lag due to entity processing (e.g. visiting a Mob-Switch)
So please consider here my suggestion for a change:
gamerule: spectatorsGenerateChunks=false:
not yet existing chunks are not generated (as is)
but earlier generated chunks are loaded in a non-redstone-processing, and non-entity-processing state
— could be like the 3rd ring of chunks around an active portal loader where nothing is processed (which should then actually also be rendered, unlike now!)
— but unlike the portal, mobs loaded by spectator must not count towards the mob-cap
— also mobs or items must not despawn due to spectator presence
previously loaded chunks are unloaded when spectator leaves the area (same as survival player)
=> Hence, spectator can go around the world but not damage it by any means. And can disconnect and reconnect whenever he wants.
gamerule: spectatorsGenerateChunks=true:
leave the behaviour as is, it's the least change effort.
Or, to make it more consistent, introduce an additional gamerule: spectatorsLoadWorld where the loading of existing chunks goes to.
So the optional additional gamerule might maybe look like:
spectatorsLoadWorld:
if true: spectators load world like survival players
— but only generate new chunks if also spectatorsGenerateChunks=true
if false: spectators load world non-redstone- + non-entities-processing + no mobcap counts.
— and also generate new chunks and load them as non-processing if spectatorsGenerateChunks=true
(mho: spectators not loading existing chunks at all makes just no sense at all.)
Cheers and Thanks!