The code looks well. You have only one problem
When your server is full, the plugin won't work.
Because steam wouldn't you connect to the server.
The only way to fix this is to reserve one slot or to hide one (like the amxx plugin adminslots.amxx).
I would guess you to use this plugin.