Don't allow player's client id to be empty
Client id is the only unique way of identifying people and I'm surprised that having it is not a requirement for joining a server. It's the only way for admins to identify trolls. Banning an IP address is not the greatest idea, since IP addresses can be used by many people at the same time or change users over time. The best way to ban someone would be to use their client id or client id + IP. Unfortunately that's not always possible, because players might not have a client id at all.