Less Annoying KF2: Crash Fixes, Visual and Config Tweaks
This community guide collects the settings a long-time player changes to make Killing Floor 2 calmer, clearer and more stable: fewer crashes, less screen shake, less fog, gore and particle clutter, correct frame caps and a few handy binds. The author calls it "final" for KF2 and also adds optional cosmetic hacks. All ini files are in Documents\My Games\KillingFloor2\KFGame\Config. Use Ctrl+F in the editor to find a setting quickly. For a deeper FPS focus see large server FPS tweaks and advanced FPS config.
Anti-crash basics
In KFEngine.ini set:
MaxObjectsNotConsideredByGC=33476
SizeOfPermanentObjectPool=0
This is the classic fix for modded servers (Controlled Difficulty, Zedternal Reborn and others) and makes the game more stable generally, even if you do not play modded content. The remaining crashes mostly come from NVIDIA Flex, so in the in-game video options (Basic) turn Flex off. The author calls Flex unfinished and abandoned; AMD users already have it off by default.
Custom resolution
KF2 supports a custom (including CS:GO style stretched) resolution if you run fullscreen; just find it in the in-game resolution list. Create it through the AMD or NVIDIA custom resolution tools. The author's example is a 16:10 stretched resolution with a larger FOV.
Remove screen shake and lasers
In Steam\steamapps\common\killingfloor2\KFGame\BrewedPC\Packages\Effects delete:
FX_CameraShake_ARCH.upk: removes most camera shake, notably from the Demolitionist's Destroyer of Worlds skill (not shake from being hit or from shooting, and not map-based shake such as Nuked).FX_Wep_Laser_Emit.upkandFX_Wep_Laser_MESH.upk: remove weapon laser sights (M14, Eviscerator).
After deleting, join a non-official whitelisted server first so the game can redownload the files, then you can join any server including official ones. These changes revert whenever you verify files in Steam. A drag-and-drop muzzle flash removal mod exists on the Workshop (item 2782552571).
Console commands and binds
Open the console with the tilde key. For setbind to persist, unlock (make writable) KFInput.ini and use the main menu or a whitelisted server.
gamma X: brightness from 1 to 5 (2.2 is the default brightest); decimals are allowed.fogdensity 0: removes all fog, most visible on Nuked.setbind "gba_grenade customstartfire 4 | onrelease customstopfire 4 | say GRENADE OUT": announces a grenade throw, handy for a Sharpshooter's freeze grenades.getall kfgamereplicationinfo bossindex: predicts the boss (0 Hans, 1 Patriarch, 2 King Fleshpound, 3 Abomination, 4 Matriarch); see predict the boss.setbind RightMouseButton "SpectateNextPlayer|GBA_IronsightsHold|Showhud|OnRelease Showhud": hides the HUD while aiming down sights.setbind MouseScrollUp TossMoneyandsetbind MouseScrollDown TossMoney: throw dosh with the scroll wheel.setbind Subtract "gamma 5 | fogdensity 0": one key to brighten the map and remove fog.stat FPS: shows the frame rate. The game behaves oddly above about 300 FPS.
KFEngine.ini
- Anti-crash lines above.
bForceNoMovies=true: no startup and loading screen videos (the main menu video still plays).- To remove only the logos and keep the map loading videos (Stok's guide on the killingfloor.ru forum): in the
[FullScreenMovie]section ofKFEngine.ini(Documents\My Games\KillingFloor2\KFGame\Config), comment out theStartupMovies=LogoTripwire,LogoUE3,LogoGA,MainMenuandSkippableMovies=LogoTripwire,LogoUE3,LogoGA,Creditslines (the author put\\\at the start of each line) and leaveLoadMapMoviesalone. If the game resets the settings, do the same inKillingFloor2\KFGame\Config\DefaultEngine.ini: there the same lines start with+, and\\\goes before the+. According to the author,bForceNoMovies=trueturns off absolutely all videos, including map loading, and-nostartupmoviesdid not work in builds launched throughLauncher.exeorKF2Launcher.exe. - Frame rate: set
bSmoothFrameRate=TrueandMinSmoothedFrameRate,MaxSmoothedFrameRateandMinDesiredFrameRateto your monitor's refresh rate (or a rate you can hold). These appear twice in the file. InKFGame.inialso setbSmoothFrameRate=True(Variable Frame Rate in game) and the same min and max values.
KFGame.ini
- Gravity scaling:
RBPhysicsGravityScaling=Xwith X above the default 1 stops ragdolls and spares flying away. Too high a value makes dropped weapons fall through the floor in solo, and in multiplayer a weapon may look missing. The author uses 3. - Disable gore and limit corpses: set all of these to zero or false:
BloodPoolDelay,GoreFXLifetimeMultiplier,BodyWoundDecalLifetime,BloodSplatterLifetime,BloodPoolLifetime,GibletLifetime,MaxBodyWoundDecals,MaxBloodSplatterDecals,MaxBloodPoolDecals,BloodSplatSize,BloodPoolSize,MaxBloodEffects,MaxGoreEffects,AllowBloodSplatterDecals,PersistentSplatTraceLength,MaxPersistentSplatsPerFrameandbAllowBloodSplatterDecals. SetMaxDeadBodies=4: tests showed 4 is the lowest effective value, anything lower falls back to 7 corpses. - No bullet holes:
MaxImpactEffectDecals=0. - FOV:
FOVOptionsPercentageValue=Xmultiplies the base 90 degree FOV (1.25 gives 112.5).
KFInput.ini
bEnableMouseSmoothing=false,bViewAccelerationEnabled=false,LookRightScale=0,LookUpScale=0.MouseSensitivity=XandZoomedSensitivityScale=X: the in-game slider is not accurate, the file stores the real value with many decimals. The author uses 85 for zoomed scale.- Scroll wheel dosh toss: add
Bindings=(Name="MouseScrollUp",Command="TossMoney",...)and the same forMouseScrollDown. - HUD hiding while aiming: bind
RightMouseButtontoGBA_IronsightsToggle | SpectateNextPlayer | ShowHUD | OnRelease ShowHUD. - Set the file read-only so the game does not rewrite your inputs, but then new binds must be typed into the file manually.
KFSystemSettings.ini
Set MotionBlur=False, MotionBlurPause=False, MotionBlurSkinning=0, DepthOfField=False, UseVsync=False (limit frames another way) and keep Distortion=True so you can see the stalker's blur even on low graphics.
Particles
In both KFEngine.ini and KFGame.ini: MaxFluidNumVerts=1, FluidSimulationTimeLimit=0.0 and MaxParticleVertexMemory=X. The default is a seven-digit number; the author uses 384, which clears clutter (especially from freeze grenades and Firebugs) but may make Husk fireballs invisible sometimes.
Plastic world and other plastic settings
For low-end PCs, in KFSystemSettings.ini set the TEXTUREGROUP_World, WorldNormalMap and WorldSpecular entries to MinLODSize=1,MaxLODSize=1,LODBias=10. For "plastic Zeds" change MaxLODSize to 1 in the TEXTUREGROUP_Creature, CreatureNormalMap and CreatureSpecular entries (the Zeds become blocky and monochrome). The same works for the Character, Weapon and Skybox texture groups. Do not do this to the UI.
Steam launch options
-nostartupmovies: removes startup movies.-dx10: uses DirectX 10, allegedly more stable (test it yourself).-notexturestreaming: disables texture streaming.
Less annoying Workshop mods
- Peelz's Crosshair (ReShade version, with a Linux install via reshade-steam-proton).
- Controlled Difficulty - Chokepoints Edition by Fanta: the author's favorite CD build with solo practice commands, no seasonal Zeds and no block-based affliction modifiers.
- Mutes for the trader voice and a mod to disable seasonal Zeds.
Optional cosmetic hacks
- Weapon skin swap: at the very bottom of
KFGame.iniadd a block[KFGameContent.KFWeap_...]withSkinItemId=<id>for every weapon; you must own the skin. The example uses 3330 (Circuit Glow Mint for the HX25). - Changing in-game videos: use RAD Video Tools to convert your clip to Bink (.bik) and replace a file in
KFGame\Movies, for exampleMenuBG.bikfor the menu background. - In-game renames: edit the INT localization files in
KFGame\Localization\INT(KFGame.int,KFGameContent.int) to rename characters or weapons. - No hands: delete the mesh file of your character in
KFGame\BrewedPC\Packages\Characters; for outfits such as the Horzine Armor delete that outfit's file.
Linux
Use Proton (see ProtonDB for app 232090). Your My Documents folder is under compatdata\232090\pfx\drive_c\users\steamuser\Documents\My Games\KillingFloor2\KFGame. The author uses Linux Mint with the launch option gamemoderun %command% and Proton-GE for more optimization.
The single best upgrade
KF2 loads slowly. The author's estimates: HDD 5 to 10 minutes game load and 1 to 2 minutes per map switch; SATA SSD 1 to 3 minutes and about 30 seconds; M.2 SSD only seconds. Moving the game to an M.2 SSD is the most effective single improvement.
FAQ
- How do I stop KF2 crashing on modded servers?
- In KFEngine.ini set MaxObjectsNotConsideredByGC=33476 and SizeOfPermanentObjectPool=0, and disable NVIDIA Flex in the video options.
- How can I skip the intro videos?
- Set bForceNoMovies=true in KFEngine.ini or add -nostartupmovies to the Steam launch options.
- Do these edits survive a file verification?
- Deleted effect files and edited ini files are reverted if Steam verifies the game files, so reapply them afterwards.