I'd like to note that this bug was introduced along with the votesystem when it was first used in l4d(2), where it was eventually fixed (whether or not it was before the system was ported over and extended to tf2, idk).

On 22.09.2015 02:08, Spencer 'Voogru' MacDonald wrote:

I’m not sure why the vote kick doesn’t just save the steam id when the vote is started.

Then it doesn’t matter if they leave beforehand, in fact, if they leave prior to the vote finishing, cancel the vote and default ban them for 12 hours.

*From:*hlds-boun...@list.valvesoftware.com [mailto:hlds-boun...@list.valvesoftware.com] *On Behalf Of *Nathaniel Theis
*Sent:* Monday, September 21, 2015 6:55 PM
*To:* Half-Life dedicated Win32 server mailing list
*Subject:* Re: [hlds] [TF2] Players disconnecting before votekicked?

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 <mailto: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

_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlds

Reply via email to