Playing Killing Floor 2 Classic

     
  • No copyright and/or trademark infringement intended. Should any concern arise with me doing this, please do get in touch, I mean no harm to anyone or anything.
  • I take no responsibility for any damage or loss caused by following this guide. Proceed at your own risk.

If you read What went wrong with Killing Floor 2, you already know how I feel about KF2, and why I think the older versions were better. So naturally, as a nerd, I’m always trying to find a way. And it seems I did find a way. So here’s how you can go back in time and play KF2 on the Infinite Onslaught update.

Steam

First of all, install Killing Floor 2 via Steam, obviously. Once finished, make sure to close both KF2 and Steam.

DepotDownloader

Download and install the latest .NET Core Desktop Runtime.

Then download the latest DepotDownloader zip and extract it somewhere.


Downgrade

Remember: you’ll have to do this Downgrade step once after each KF2 update, because Steam will overwrite them every time a new KF2 patch comes out. For this reason, it’s a good practice to make a backup of those 3 folders (Binaries, Engine, and KFGame) downloaded by DepotDownloader, so that you don’t have to do the download part every time.

Close both KF2 and Steam, then navigate to C:\Program Files (x86)\Steam\steamapps\common\killingfloor2 and nuke the following dirs:

  • Binaries
  • Engine
  • KFGame

Yes, I’m serious, don’t worry 😀 These files belong to the current KF2 release, we don’t need them. In case you might switch back to vanilla KF2 later, just move them somewhere else.

Shift + right click on the dir where you extracted DepotDownloader, Open PowerShell window here, then install the Infinite Onslaught update with the following command. Make sure to insert your username at the end (the one you log into Steam with):

.\depotdownloader -dir "${Env:ProgramFiles(x86)}\Steam\steamapps\common\killingfloor2" -app 232090 -depot 232091 -manifest 4152137599998846537 -validate -max-downloads 64 -username YOUR_STEAM_USERNAME

If you have to stop it for whatever reason, just press Ctrl + C. Don’t worry, when you re-run the command, it’ll validate the files you already downloaded, and continue the process where it left off.

And that’s it, now you can it via launch Steam, and you’ll be playing good old Killing Floor 2! It was a breeze, ain’t it? Can you hear that? It’s outbreak! It’s friggin’ Outbreak!


Servers

I know what you’re thinking: cool, cool, but how the feck do I find servers? Well, the community needs to run these. But I got you covered, of course! Right now, I’m already running my server on this patch, so you should be able to find at least one server (unless it’s full, of course). A DigitalOcean or Vultr instance sets you back just $10 a month for a 2GB RAM instance, or if you don’t mind occasional out-of-memory crashes, you can go as low as $5 for the 1GB instance, so I think it’s affordable. If you have a team, it can be a sub-dollar monthly cost per player.

Linux

Check out killinuxfloor – Killing Floor 2 Server on Linux which is already updated (or downgraded?) to install Killing Floor 2 Classic on your server.

If you don’t want to mess around with it, I can even set it up for you, just ask. If there’s interest, I might consider setting up Patreon, so that you guys can throw together the money required to run these servers.

Windows

There’s no automated installer, but it’s just as easy as obtaining the game client, except the paremeters differ a little:

.\depotdownloader -dir KF2Server -app 232130 -depot 232131 -manifest 2346945547354693824 -validate -max-downloads 64

For running the server, please refer to the Killing Floor 2 Wiki.

F.A.Q.

DepotDownloader gives me all kinds of errors!

According to the developers, that is normal. Eventually it should start downloading the files. To me this is what an average download looks like:

...
Encountered error downloading manifest for depot 232091 4152137599998846537: The operation was canceled.
Encountered error downloading manifest for depot 232091 4152137599998846537: The operation was canceled.
 Done!
Manifest 4152137599998846537 (4/3/2018 10:53:11 PM)
 00.00% C:\Program Files (x86)\Steam\steamapps\common\killingfloor2\Binaries\Win64\FxGraphLayout_x64.dll
 00.00% C:\Program Files (x86)\Steam\steamapps\common\killingfloor2\Binaries\Win64\cudart64_55.dll
...

If in doubt, you may also try reducing the download threads from 64 to something (much) lower by adjusting the -max-downloads 64 parameter.

I’m trying to connect to servers, but literally nothing happens!

Exit KF2, exit Steam, then go to Documents\My Games and delete/rename the KillingFloor2 folder. Restart KF2 and try again, it should be fine then. Thanks for the hint, Arkanik!

Why does the game crash when I headshot enemies?

Apparently because of half-assed NVIDIA FleX support in KF2. Disable Gibs, Fluids, or both. Your FPS can thank me later! Thanks for the tip, Theuncrying!

Are the KF2 Classic servers ranked, do I gain XP?

Yes – for the most part.

If your perk is non-prestiged, XP gain works just fine, it sticks after exiting the match, and you can happily level up and max out by playing just KF2 Classic.

If your perk is prestiged and you’re already maxed out, you’re also fine, you’ll stay on level 25 forever.

If, however, your perk is prestiged but not maxed out yet, it’s stuck in limbo when playing Classic – your XP will reset everytime you exit the game. In this case, you either max out in vanilla KF2 before playing KF2 Classic, or reset your perk levels, vault dosh, stats and records to start over (it’s very similar to what the prestige system does anyway). Press F3 in the KF2 main menu, then:

Resetstats YOUR_STEAM_USERNAME false

I’m told that the command is case-sensitive. Then restart the game. The false parameter tells Steam to leave your achievements and inventory untouched.

What’s the exact KF2 version this method installs?

It’s the Infinite Onslaught patch, but presumably not the initial Update 1062, but rather Update 1063 instead, because the manifest ID I’m using matches Update 1063’s date. Update 1066 is the Treacherous Skies update, so I assume 1064 and 1065 were the two betas for Treacherous Skies.

Why do I have to do this after every new KF2 patch?

Because the other method would be launching the Steam console manually, then entering @AllowSkipGameUpdate 1, then pausing the update after game launch. Every. Single. Time. I think it’s much more convenient to just replace those 3 folders every month or so.

Why do I need DepotDownloader, doesn’t Steam allow for downloading older versions too?

Yeah, allegedly it does, but in reality it just gives you a Manifest not available error, because it’s either bugged or Valve just doesn’t want you to download older versions, who knows. You have to modify some Steam libraries in the memory after every launch for it to work. It’s hacky to say the least, and better yet, the binary pattern you have to replace changes regularly as they update the Steam client.

How much bandwidth and disk space is needed?

The current release of Killing Floor 2 takes up around 65 GB disk space, and it grows with each update as they add new maps, which make up the bulk of the content. The Infinite Onslaught patch is about 43 GB. You’ll download vanilla KF2, then delete it, then download KF2 Classic, so this means that installing KF2 Classic will require downloading about 110 GB of content (the Internet bandwidth required is roughly half the amount, because Steam uses compression), a maximum of 65 GB disk space during install, and 43 GB of final disk space when the installation is finished. TLDR: if you have >65 GB free disk space, you’re good.

What happens to my new items?

No idea, possibly missing textures, game crashes, human sacrifice, dogs and cats living together, mass hysteria!

On a more serious note, no, I haven’t had any game crashes related to items so far.

Doesn’t this cause a split between players, and make a dead game even more dead?

I don’t think so. Me and my friends just wouldn’t touch current KF2, so there’s no “split” caused by KF2 Classic. In other words, we either play KF2 Classic, or no KF2 at all, so the “split” already happened with all those patches. I think many other players are in the same boat. If anything, this should lure back some of the veterans. Fans of the current vanilla KF2 will obviously not switch back to Classic – most will not even be aware that such a thing even exists.

How do I switch back to vanilla KF2?

Not that you’d want to, but just verify the integrity of game files, and that’s it.

Any more questions? Please keep in touch in the comment section below!