explicitly handle running out of player slots

This commit is contained in:
p2r3
2025-08-27 15:31:09 +03:00
parent 035be84850
commit b7234ab31e
4 changed files with 14 additions and 1 deletions

View File

@@ -79,10 +79,12 @@ int reservePlayerData (int client_fd, uint8_t *uuid, char *name) {
}
}
if (empty) {
if (player_data_count >= MAX_PLAYERS) return 1;
player_data[i].client_fd = client_fd;
memcpy(player_data[i].uuid, uuid, 16);
memcpy(player_data[i].name, name, 16);
resetPlayerData(&player_data[i]);
player_data_count ++;
return 0;
}
}
@@ -105,6 +107,12 @@ void clearPlayerFD (int client_fd) {
for (int i = 0; i < MAX_PLAYERS; i ++) {
if (player_data[i].client_fd == client_fd) {
player_data[i].client_fd = -1;
break;
}
}
for (int i = 0; i < MAX_PLAYERS * 2; i += 2) {
if (client_states[i] == client_fd) {
client_states[i] = -1;
return;
}
}