by Spike » Thu Aug 07, 2014 1:59 am
MAX_SCOREBOARD is hardcoded as 16, no?
always say maxclients is 16 and ignore the setting yourself?
thanks to the use of bytes, and colormap 0 being special, the logical max of the vanilla network protocol (as defined by datatypes rather than arbitrary limits) is 255 players max (this is the limit in dp+fte, if configured to ignore compatibility).
the real problem with changing it mid-map is that player slots and entities have a specific mapping, and certain mods have certain expectations about player slot limits (frikbot comes to mind). this would require you to reserve the first 256 entity slots, meaning you only have 350ish more until you reach the weird 600-entity limit (which could be bumped to 65k with vanilla data types).
the quakeworld method is to just say 'the limit is 32', and then control whether those 32 player slots can actually be used or not with the maxclients/maxspectators cvars (naturally the maximum combined value of these is 32).
this is the simplest approach of course, but does mean that you're always eating 32 entity slots even if they're never going to have players in them.
for compat you would need to say the limit is 16.
just so you know, fte strips colormaps and scoreboards above 16 slots for nq clients. it at least keeps it playable despite quakeworld requiring 32 player slots.
there shouldn't be any issues with changing the limit on map changes, so long as you're prepared to kick clients if the limit is reduced. just make sure the client gets reset to a state where its asking for the serverinfo until it gets it.
.