1
0
2025-04-10 23:26:48 +03:00

141 lines
7.5 KiB
Plaintext

[img]https://img.shields.io/static/v1?logo=GitHub&labelColor=gray&color=blue&logoColor=white&label=&message=Open Source[/img] [img]https://img.shields.io/github/license/GenZmeY/KF2-ControlledVoteCollector[/img] [img]https://img.shields.io/steam/downloads/2847465899[/img] [img]https://img.shields.io/steam/favorites/2847465899[/img] [img]https://img.shields.io/steam/update-date/2847465899[/img] [url=https://steamcommunity.com/sharedfiles/filedetails/changelog/2847465899][img]https://img.shields.io/github/v/tag/GenZmeY/KF2-ControlledVoteCollector[/img][/url]
[h1]📋 Description[/h1]
New vote collector with improvements and features.
[h1]✨ Features[/h1]
[list]
[*]Map statistics
[*]Next map setting
[*]Public voting
[*]Kick logging
[*]Kick voting setup
[*]Early kick protection
[/list]
[h1]❌ Whitelisted?[/h1]
No. This mod is not whitelisted and will de-rank your server. Any XP earned will not be saved.
But I hope that it will be whitelisted - I submitted whitelist request here:
https://forums.tripwireinteractive.com/index.php?threads/whitelisting-mods-and-mutators.120340/post-2353667
[h1]🖥️ Usage (server)[/h1]
[b]Note:[/b] [i]If this is unclear, first read: [url=https://wiki.killingfloor2.com/index.php?title=Dedicated_Server_(Killing_Floor_2)][u]Dedicated Server Guide (KF2 wiki)[/u][/url][/i]
[olist]
[*]Open [b]PCServer-KFEngine.ini[/b] / [b]LinuxServer-KFEngine.ini[/b].
[*]Find [b][IpDrv.TcpNetDriver][/b] section and ensure line exists (add if missing):
[code]DownloadManagers=OnlineSubsystemSteamworks.SteamWorkshopDownload[/code]
(If there are several [b]DownloadManagers[/b] then the line above should be the first)
[*]Add the following string to the [b][OnlineSubsystemSteamworks.KFWorkshopSteamworks][/b] section (create one if it doesn't exist):
[code]ServerSubscribedWorkshopItems=2847465899[/code]
[*]Start server and wait for mutator download.
[*]When the download is complete, stop the server.
[*]Create a file: [code]<kf2-server>\KFGame\Config\KFCVC.ini[/code]
with content:
[code][CVC.CVC]
Version=0[/code]
[*]Add mutator to server start parameters: [code]?Mutator=CVC.Mut[/code] and start the server.
[*]Stop the server and configure the mutator (see [b]⚙️ Setup (KFCVC.ini)[/b] below).
[*]Start the server.
[/olist]
[h1]⚙️ Setup (KFCVC.ini)[/h1]
[b][CVC.MapStat][/b]
[list]
[*]Set [b]bEnable=True[/b] to start collecting maps stats. Statistics are stored in the [b]KFMapStats.ini[/b].
[*]Set [b]SortPolicy[/b] to sort the list of statistics. Possible values:
[list]
[*][b]CounterAsc[/b]
[*][b]CounterDesc[/b]
[*][b]NameAsc[/b]
[*][b]NameDesc[/b]
[*][b]PlayTimeTotalAsc[/b]
[*][b]PlayTimeTotalDesc[/b]
[*][b]PlayTimeAvgAsc[/b]
[*][b]PlayTimeAvgDesc[/b]
[/list]
[/list]
[b][CVC.MapVote][/b]
[list]
[*]Set [b]DefaultNextMap[/b] to choose which map will be next if no players voted for the next map. Possible values:
[list]
[*][b]Any[/b] - Any map from the current map cycle.
[*][b]Official[/b] - Official map from the current map cycle.
[*][b]Custom[/b] - Custom map from the current map cycle.
[*][b]<MapName>[/b] - Specified map. If the specified map is not in the current map cycle, the next map from the cycle will be selected.
[/list]
[*]Set [b]bRandomizeNextMap[/b] to [b]True[/b] to randomize the next map (will be selected a random map that matches the [b]DefaultNextMap[/b] parameter).
[/list]
[b][CVC.SkipTraderVote][/b]
[list]
[*][b]bChatNotifications[/b] - Set to [b]True[/b] to see player votes in chat.
[*][b]PositiveColorHex[/b] - Hex color for yes vote in chat.
[*][b]NegativeColorHex[/b] - Hex color for no vote in chat.
[*][b]bHudNotifications[/b] - Set to [b]True[/b] to see player votes in HUD.
[*][b]DefferedClearHUD[/b] - HUD notification will remain on the screen for the specified number of seconds after voting ends.
[*][b]VoteTime[/b] - Time in seconds for voting (will be reduced if it exceeds the trader's remaining time).
[/list]
[b][CVC.PauseVote][/b]
[list]
[*][b]bChatNotifications[/b] - Set to [b]True[/b] to see player votes in chat.
[*][b]PositiveColorHex[/b] - Hex color for yes vote in chat.
[*][b]NegativeColorHex[/b] - Hex color for no vote in chat.
[*][b]bHudNotifications[/b] - Set to [b]True[/b] to see player votes in HUD.
[*][b]DefferedClearHUD[/b] - HUD notification will remain on the screen for the specified number of seconds after voting ends.
[*][b]VoteTime[/b] - Time in seconds for voting (will be reduced if it exceeds the trader's remaining time).
[/list]
[b][CVC.KickVote][/b]
[list]
[*][b]bChatNotifications[/b] - Set to [b]True[/b] to see player votes in chat.
[*][b]WarningColorHex[/b] - Hex color for chat warnings.
[*][b]PositiveColorHex[/b] - Hex color for yes vote in chat.
[*][b]NegativeColorHex[/b] - Hex color for no vote in chat.
[*][b]bHudNotifications[/b] - Set to [b]True[/b] to see player votes in HUD.
[*][b]bHudNotificationsOnlyOnTraderTime[/b] - Set to [b]True[/b] to show HUD notification only during the trader time.
[*][b]DefferedClearHUD[/b] - HUD notification will remain on the screen for the specified number of seconds after voting ends.
[*][b]bLogKickVote[/b] - Set to [b]True[/b] to log information about every kick vote.
[*][b]MinVotingPlayersToStartKickVote[/b] - Minimum number of voting players to start kick voting.
[*][b]MaxKicks[/b] - Maximum number of kicks per game.
[*][b]VoteTime[/b] - Time in seconds for voting.
[/list]
[b][CVC.KickProtected][/b]
[list]
[*]Use [b]PlayerID[/b] to set the list of players immune to kick (use UniqueID or SteamID).
[*]Set [b]NotifyPlayerAboutKickAttempt[/b] to [b]True[/b] to let players on this list receive notifications of attempts to kick them.
[/list]
[b][CVC.StartWaveKickProtection][/b]
[list]
[*][b]Waves[/b] - The number of waves during which a new player has kick protection and cannot start kick vote.
[*][b]MinLevel[/b] - The minimum level that a player needs to have in order to receive protection from a kick after joining the server.
[/list]
[b]How start wave kick protection works:[/b]
When a player joins a server, he is protected from a kick for the specified number of [b]Waves[/b]. This keeps the server from being taken over by players, and it also forces current players to play with the new player for at least a little bit before they can kick him. This solves most of the unfair kicks in the game.
Along with receiving the kick protection, the new player loses the ability to start kick vote. This eliminates the ability for new players to remove existing players using kick protection for impunity.
When the player has played the specified number of [b]Waves[/b], he loses the kick protection and gets the opportunity to start kick vote.
The [b]MinLevel[/b] parameter specifies an exception to these rules, giving kick protection only to players above or equal the specified level. All players can vote to exclude players with an unsuitable level, regardless of whether they have played enough [b]Waves[/b] or not. This allows to remove low-level players without waiting for them to screw up in the game.
[h1]🌍 Credits[/h1]
[list]
[*]The cat on the cover is Meawbin (original character by [url=https://x.com/horrormove]Cotton Valent[/url]).
[/list]
[b]Translators:[/b]
[list]
[*][url=https://steamcommunity.com/profiles/76561199126205919]cheungfatzong[/url] - Traditional [CHT] and Simplified [CHN] Chinese.
[/list]
[h1]☑️ Status: Completed[/h1]
✔️ The mutator works with the current version of the game (v1150) and I have implemented everything I planned.
⛔️ Development has stopped: I no longer have the time or motivation to maintain this mod. No further updates or bug fixes are planned.
[h1]📜 Sources[/h1]
https://github.com/GenZmeY/KF2-ControlledVoteCollector [b](GNU GPLv3)[/b]