the recorder has to write a state_data packet at the beginning of a recording. this packet tells the client which player_id they r asigned. without this you cant view the recording. however only an Id from 0 to 31 is allowed by clients.
you cant just use a player_id that is already asigned to a player. if u do, the resulting recording will make u join as that player. the client doesnt process everything the server/playback tells it to do such as walking. so you cant spectate the player whose player_id was used.
so if the server is full the recorder has no other choice than to use a player_id outside 0->31 and the resulting recording cant be viewed.
only clients with following modification can view recordings made from replay.py: