Skip to content

This Sourcemod plugin replaces the black screen kick vote by a translucent menu.

License

Notifications You must be signed in to change notification settings

Hubfront/L4D1-L4D2-Votekick-Coop-Versus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Description:

This plugin replaces the black screen kick vote by a translucent menu. 
It is a fork of the discontinued plugin “[L4D1 & L4D2] Votekick – no black screen (Coop & Versus)” from Dragokas.

My motivation of the fork is mainly:
- fix bugs
- continue support

Features:

- translucent menu
- full versus support
- kick for 1 hour (adjustable) even if the player used a trick to quit from the game before the vote ends.
- prevents votekick exploit
- un-kick (from the same menu)
- vote announcement
- no black screen
- flexible configuration of access rights
- kick reasons (with translation):

    * See the file: data/votekick_reason.txt

- all actions are logged (who kick, whom kick, who tried to kick, ip/country/nick/SteamId, reason ...)
- ability to use deny list (by SteamId or nickname) to prevent specific users from starting the vote:

    * See the file: data/votekick_vote_block.txt

- auto-add to deny list the users from the "newnames.txt" file in Auto-Name-Changer by Exle plugin.
- ability to exclude a list of users you may not want to connect for a given time period. Excluded users receive the message "STEAM UserID is banned."
 
    * See the file: data/votekick_ban.txt (if not present, create it by setting cvar sm_votekick_use_banfile set to "1" in cfg-file)

Logfile location:

- logs/vote_kick.log

Data file:

- data/votekick_vote_block.txt - list of users you may want to exclude from the right to vote

    * (SteamId and nicknames with simple mask * are allowed).

- data/votekick_reason.txt - list of kick reasons (optionally, must be supplied with appropriate translation in file: l4d_votekick.phrases.txt).

Guide to add more kick reasons:

    - Add new line in data/votekick_reason.txt
    - Edit translation file to add new entry similar to "Rusher" in file: translations/l4d_votekick.phrases.txt

- data/votekick_ban.txt - list of users you may not want to connect for a given time period. Optional. Only read/created (if not present) if cvar sm_votekick_use_banfile = 1 (default: 0).

    * Format: SteamId, Start (Unixtime), Minutes, Self note

- data/votekick_ban_lastwrite.txt - timestamp file. Optional. Only read/created (if not present) if cvar sm_votekick_use_banfile = 1 (default: 0).

Permissions:

- by default, vote can be started by player with "k" (StartVote) flag (adjustable).
- by default, vote can be vetoed or force passed by player with "d" (Ban) flag (adjustable).
- ability to set a minimum time to allow voting to be repeated.
- ability to set a minimum number of players to hold a vote.
- admins cannot target root admin.
- non-admins cannot target admins.
- users with lower immunity level cannot target users with higher level.
- everybody able to start vote kick against users from deny list (regardless of sm_votekick_accessflag ConVar settings).
- (in versus) users can't target users from opposite team

Settings (ConVars):

- sm_votekick_delay - def.: 60 - Minimum delay (in sec.) allowed between votes
- sm_votekick_timeout - def.: 10 - How long (in sec.) does the vote last
- sm_votekick_announcedelay - def.: 2.0 - Delay (in sec.) between announce and vote menu appearing
- sm_votekick_kicktime - def.: 3600 - How long player will be kicked (in sec.)
- sm_votekick_minplayers - def.: 1 - Minimum players present in game to allow starting vote for kick
- sm_votekick_minplayers_versus - def.: 1 - Minimum players present in team to allow starting vote for kick (Versus gamemode)
- sm_votekick_accessflag - def.: "" (StartVote) - Admin flag required to start the vote (leave empty to allow for everybody)
- sm_votekick_vetoflag - def.: "d" (Ban) - Admin flag required to veto/votepass the vote
- sm_votekick_log - def.: 1 - Use logging? (1 - Yes / 0 - No)
- sm_votekick_show_kick_reason - def: 0 - Allow to select kick reason? (1 - Yes / 0 - No)
- sm_votekick_show_bots - def.: 0 - Allow to vote kick survivor bots? (1 - Yes / 0 - No)
- sm_votekick_show_self - def.: 0 - Allow to self-kick (for debug purposes)? (1 - Yes / 0 - No)
- sm_votekick_show_vote_details - def.: 1 - Allow to show number of yesVotes - noVotes? (1 - Yes / 0 - No)
- sm_votekick_use_banfile - def.: 0 - Use file based temporary bans? (1 - Yes / 0 - No)
- sm_votekick_use_banfile_log - def.: 1 - File based temporary bans: log attempts to join the server? (1 - Yes / 0 - No)

Commands:

- sm_vk - Show menu to select player to vote for kick/unkick
- sm_votekick - same as sm_vk
- sm_veto - Allow admin to veto current vote
- sm_votepass - Allow admin to bypass current vote
- sm_pass - same as sm_votepass

Requirements:

- GeoIP extension (included in SourceMod).
- SourceMod v.1.10+

Languages:

- English
- Russian

Installation:

- copy smx file to addons/sourcemod/plugins/
- copy l4d_votekick.phrases.txt file to addons/sourcemod/translations/
- copy data/ .txt files to addons/sourcemod/data/
- banfile:
  to enable, set sm_votekick_use_banfile = 1 in the cfg file. 	  
  * file data/votekick_ban.txt will be created with next map start/change, if it not already exists.
  There You can add a player's STEAM Id to exclude them from connection
  * file data/votekick_ban_lastwrite.txt will be created with next map start/change, if it not already exists.    
  to disable, set sm_votekick_use_banfile = 0 in the cfg file (effective with the next map change).

Credits:

- D1maxa – for the initial plugin
- Dragokas – much thanks for his outstanding and inspiring work on which this plugin is based

References:

- [L4D1 & L4D2] Votekick (Coop & Versus): https://forums.alliedmods.net/showthread.php?t=349341

About

This Sourcemod plugin replaces the black screen kick vote by a translucent menu.

Resources

License

Stars

Watchers

Forks

Packages

No packages published