The actual bug is a race condition. A votekick is a kick (a forced disconnect, basically, by player ID), and a ban (prevents joining, by SteamID).
If a player should disconnect while a vote is in progress, the kick won't go through (their player ID will change as they reconnect), but the ban will (since their SteamID never changes.) However, bans are checked early in the connection process. So, if the player reconnects before the vote passes, the ban won't prevent them from joining (because it's not applied yet when they join!), and they bypassed the kick because their player ID is different. The solution to this is to check all connected players' SteamIDs when a ban is added, and kick matching players. Probably not overly difficult to do with SM. There are also loads of third-party votekick and ban management systems, that aren't vulnerable to this. One trick: If somebody should bypass a votekick, when they come back, they're sort of in a state of limbo. If they should be kicked or disconnect, they can't rejoin (because the ban is now in effect); thus, kicking them a second time will get them off for good. - Nate On Sun, Sep 20, 2015 at 8:40 AM, Miika <miikalaak...@hotmail.com> wrote: > We recently started using Valve’s own votekick feature on few of our TF2 > servers. It seems you can prevent yourself from getting votekick banned by > disconnecting just before the vote goes through. Seen a lot of players do > this recently and it’s really an annoying problem. > > Is there any way to prevent this or is there a SourceMod alternative that > prevents this? > > _______________________________________________ > To unsubscribe, edit your list preferences, or view the list archives, > please visit: > https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlds > >
_______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlds