[b]Note:[/b] [i]If you don't understand what is written here, read the article [url=https://wiki.killingfloor2.com/index.php?title=Dedicated_Server_(Killing_Floor_2)][u]Dedicated Server (KF2 wiki)[/u][/url] before following these instructions.[/i]
[olist]
[*]Open your [b]PCServer-KFEngine.ini[/b] / [b]LinuxServer-KFEngine.ini[/b];
[*]Find the [b][IpDrv.TcpNetDriver][/b] section and make sure that there is a line (add if not):
[*]Set [b]bEnable=True[/b] to start collecting maps stats. The following information is collected: number of full rounds on the map, total time (minutes), average time (minutes). Statistics are stored in the [b]KFMapStats.ini[/b]. To reset the statistics, delete [b]KFMapStats.ini[/b] and restart the server.
This section sets the next map when no one voted for the map.
[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 (for example: [b]KF-Nuked[/b]). 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;
[*]Use [b]PlayerID[/b] to set the list of players immune to kick. You can 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]
In this section, the system for preventing early kicks is configured (especially for lazy ass admins like me who don't want to consider player complaints about this).
[*][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.
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.