Killing Floor 2

Killing Floor 2

Server Extension
 This topic has been pinned, so it's probably important
GenZmeY  [developer] May 17, 2020 @ 1:34am
Mutator Setup
Сonfiguration files:
  • KFServerExt.ini - stats and traits settings;
  • KFServerExtMut.ini - general server settings;
  • KFServerExtStats.ini - list of top players;
  • KFxMapVote.ini - map change settings;
  • KFxMapVoteHistory.ini - voting history, likes, dislikes.

Files are created when the server starts.
The contents of the KFServerExt.ini file will appear when you change something in:
WebAdmin → Settings → ExtServer Mod

Player Progress Data
They are stored in *.usa files, which can be found here:
<KF2_DIR>/KFGame/Script
They have a name that matches "Player Unique Net ID".

You can change their location by editing:
KFServerExtMut.ini → [ServerExtMut.ServerExtMut] → StatFileDir

Game Mode Setting
You can specify the mode through the server startup options. This will work, but only for the first game. When changing the map, the RPG mutator no longer uses the startup options, but reads them from the KFxMapVote.ini.
To prevent the mode from disappearing, additionally specify it in:
KFxMapVote.ini → [ServerExtMut.xVotingHandler] → GameModes

Example:
Suppose your start options are as follows:
KF-Nuked?Difficulty=2?GameLength=2?Game=KFGameContent.KFGameInfo_Endless?Mutator=ServerExtMut.ServerExtMut

Then the value of GameModes should be like this:
(GameName="Killing Floor",GameShortName="KF",GameClass="KFGameContent.KFGameInfo_Endless",Mutators=,Options="Difficulty=2?GameLength=2",Prefix=,ServerName=)

Setup Multiple Game Modes
You can specify several modes, one by one, to be able to choose from them.
Example:
GameModes=(GameName="Survival [Hard]",GameShortName="SV1",GameClass="KFGameContent.KFGameInfo_Survival",Mutators=,Options="Difficulty=1?GameLength=2",Prefix=,ServerName=) GameModes=(GameName="Endless [Hell]",GameShortName="EN3",GameClass="KFGameContent.KFGameInfo_Endless",Mutators=,Options="Difficulty=3",Prefix=,ServerName=) GameModes=(GameName="Weekly",GameShortName="WK",GameClass="KFGameContent.KFGameInfo_WeeklySurvival",Mutators=,Options=,Prefix=,ServerName=)
In the game It will look like this (in the screenshot I did a little more):
https://steamcommunity.com/sharedfiles/filedetails/?id=2097934606

Increase Server Capacity
There is no need to use other mutators for this, just change:
KFServerExtMut.ini → [ServerExtMut.ServerExtMut] → ForcedMaxPlayers

Editing Perk Stats
Go to KFServerExt.ini config and find the section with the perk you want to change.
Here you need lines like this:
PerkStats=(MaxValue=150,CostPerValue=1,Progress=1.000000,StatType="Health")
  • StatType is the attribute name;
  • MaxValue is the maximum attribute value (your captain obvious);
  • CostPerValue - the cost of one attribute increase;
  • Progress - the value of one increase.
Thus, if you spend 5 points on health, you will get an additional 5 HP.
In this example, we can spend 5 points at once or spend them gradually.

But using the "CostPerValue", we can prevent the player from spending points gradually. Change the line like this:
PerkStats=(MaxValue=150,CostPerValue=5,Progress=5.000000,StatType="Health")
As in the previous example, to get an additional 5 health, the player needs to spend 5 points. But now he needs to accumulate all 5 points to do this.

Editing Traits
The trait mechanics and number of trait levels cannot be edited, but you can change the parameters that are available to you through KFServerExt.ini (or WebAdmin).
Find the section of the trait and edit the parameters that are there.
For example, for Ext_TraitVampire, these are:
- enable / disable trait;
- minimum level for trait;
- level costs (4 levels).

Setting up experience for custom zeds
By default, the experience for custom zeds is calculated from the damage inflicted on them.

But the experience can be customized. To do this, add a line like this to the end of the KFServerExtMut.ini file:
CustomZedXP=(zed="zedcustom.mrpelvis",XP1=15,XP2=25,XP3=35,XP4=45)
After "zed=" you need to specify the name of the zed (in this example, it is "zedcustom.mrpelvis" from ZedVarient).
XP1 / XP2 / XP3 / XP4 set the amount of experience for normal / hard / suicide / hell difficulty.
in this example, you will get 15 experience for killing mrpelvis on normal difficulty and 35 for killing him in hell

For multiple zeds add one line after another.

Adding custom weapons/items
Use Custom Trader Inventory:
https://steamcommunity.com/sharedfiles/filedetails/?id=2830826239
❗️Set these parameters in KFCTI.ini as follows:
bApplyPatch=False bDisableItemLimitCheck=False
(enabling these options does not work with this version of ServerExt)
Last edited by GenZmeY; Jun 1, 2024 @ 7:03am
< >
Showing 1-6 of 6 comments
Tiot Jul 25, 2020 @ 12:26am 
How can I edit trait ability? For example, control the level of a Berserker's Vampire capability.
in WEB admin, i can edit only perk Stats. is it intentional function?
GenZmeY  [developer] Jul 27, 2020 @ 4:35am 
Originally posted by Tiot:
How can I edit trait ability? For example, control the level of a Berserker's Vampire capability.
in WEB admin, i can edit only perk Stats. is it intentional function?
the trait mechanics cannot be edited (because it requires a code change). But you can change the parameters that are available to you through WebAdmin (or KFServerExt.ini).
For Ext_TraitVampire, these are:
- enable / disable trait;
- minimum level for trait;
- level costs (4 levels).

Note that you cannot remove or add a trait level, only change their cost.
1337H4X4D4Y5 Jan 16, 2021 @ 2:09pm 
Is there a way to add custom maps to the map vote choices?
GenZmeY  [developer] Jan 16, 2021 @ 11:58pm 
Originally posted by _Jake:
Is there a way to add custom maps to the map vote choices?
The method is exactly the same as without ServerExt. Use the instructions from the kf2 wiki for this: https://wiki.killingfloor2.com/index.php?title=Dedicated_Server_(Killing_Floor_2)

You need the following sections:
6.4.1 Maps[wiki.killingfloor2.com]
7.3 Setting Up Steam Workshop For Servers[wiki.killingfloor2.com]
7.4.1 Get Custom Maps To Show In Web Admin[wiki.killingfloor2.com]
Last edited by GenZmeY; Jan 17, 2021 @ 12:00am
LnDest Oct 6, 2022 @ 9:02am 
when creating a server, I don't have such files as: KFServerExt.ini
KFServerExt.ini
KFxMapVote.ini
how can this be fixed?
GenZmeY  [developer] Oct 7, 2022 @ 12:45pm 
Originally posted by ≣ḼnĐesŧ≣:
when creating a server, I don't have such files as: KFServerExt.ini
KFServerExt.ini
KFxMapVote.ini
how can this be fixed?

Look at the section "If configs are not created" on the main page of the mod, it says what to do

Unfortunately I can't fix it because it's a bug in the game, not in the mod
< >
Showing 1-6 of 6 comments
Per page: 1530 50