{"id":3807,"date":"2026-10-27T17:11:14","date_gmt":"2026-10-27T14:11:14","guid":{"rendered":"https:\/\/gameteam.io\/blog\/killing-floor-2-dedicated-server-guide\/"},"modified":"2026-10-27T17:11:14","modified_gmt":"2026-10-27T14:11:14","slug":"killing-floor-2-dedicated-server-guide","status":"publish","type":"post","link":"https:\/\/gameteam.io\/blog\/killing-floor-2-dedicated-server-guide\/","title":{"rendered":"Dedicated Server Killing Floor 2: How to Set Up a KF2 Server (Requirements, Ports, Config, Workshop Maps)"},"content":{"rendered":"<p><strong>A dedicated server for Killing Floor 2 is Tripwire&#8217;s free KF2 server (SteamCMD app 232130) running on its own, so your squad&#8217;s maps, difficulty and Workshop content are waiting whenever you want a few waves.<\/strong> You install it with SteamCMD (no KF2 purchase needed for the server itself), start it once to generate its config files, set your name and passwords in <code>PCServer-KFGame.ini<\/code>, and open UDP 7777 and 27015. Give it 3\u20134 GB of RAM. Below is the full Killing Floor 2 dedicated server setup on Windows and Linux, plus game modes, WebAdmin, custom maps from the Workshop, and fixes for servers that don&#8217;t show up.<\/p>\n<h2 id=\"do-you-need-a-dedicated-kf2-server\">Do you need a dedicated KF2 server?<\/h2>\n<p>You can create a private game straight from KF2&#8217;s menu, and for one session that works. A dedicated server is for when the group plays often: it stays up when the host logs off, keeps your map list and difficulty between sessions, and loads the Workshop maps and mutators you pick. It&#8217;s also the only way to control exactly who gets in.<\/p>\n<table>\n<thead>\n<tr>\n<th><\/th>\n<th>Hosting from the game<\/th>\n<th>Dedicated server<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Runs when the host is offline<\/td>\n<td>No<\/td>\n<td>Yes<\/td>\n<\/tr>\n<tr>\n<td>Custom map list and Workshop maps<\/td>\n<td>Limited<\/td>\n<td>Yes, set in the server config<\/td>\n<\/tr>\n<tr>\n<td>Remote admin from a browser<\/td>\n<td>No<\/td>\n<td>WebAdmin on port 8080<\/td>\n<\/tr>\n<tr>\n<td>Password and server name<\/td>\n<td>Basic<\/td>\n<td>Full control in the ini files<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"killing-floor-2-dedicated-server-requirements\">Killing Floor 2 dedicated server requirements<\/h2>\n<p>KF2&#8217;s server runs on Unreal Engine 3 and is heavier than the old Source servers, but still modest: plan on 3\u20134 GB of RAM. Six players in Survival is the standard load, and 12-player Versus or a long list of Workshop maps sits at the top of that range.<\/p>\n<ul>\n<li><strong>RAM:<\/strong> 3\u20134 GB for the server.<\/li>\n<li><strong>CPU:<\/strong> a modern CPU with good single-core speed. The server ticks at 30 by default (<code>NetServerMaxTickRate<\/code>).<\/li>\n<li><strong>OS:<\/strong> 64-bit Windows, or 64-bit Linux with glibc 2.17 or newer. The Linux server is 64-bit only.<\/li>\n<li><strong>Windows prerequisite:<\/strong> run <code>UE3Redist.exe<\/code>, which ships in the server&#8217;s <code>Binaries\\Redist<\/code> folder.<\/li>\n<li><strong>Disk:<\/strong> room for the server and every Workshop map you add, since each is downloaded to the server.<\/li>\n<li><strong>Network:<\/strong> enough upload for every player and a router you can forward ports on.<\/li>\n<\/ul>\n<h2 id=\"how-to-set-up-a-killing-floor-2-server-on-windows\">How to set up a Killing Floor 2 server on Windows<\/h2>\n<p>The install takes three steps: SteamCMD downloads the server, the included launcher starts it, and the first start writes the config files you edit. Log in to SteamCMD anonymously; Tripwire recommends it, and the server download doesn&#8217;t need an account that owns the game.<\/p>\n<ol>\n<li>Download SteamCMD from Valve, unzip it to <code>C:\\steamcmd<\/code> and run it once to update.<\/li>\n<li>Download the server:\n<pre><code>steamcmd +force_install_dir C:\\KF2Server +login anonymous +app_update 232130 validate +quit<\/code><\/pre>\n<p>    For later updates drop <code>validate<\/code>, or the update overwrites the <code>KF2Server.bat<\/code> launcher you may have edited. A good habit: keep your own launch file under a different name.<\/li>\n<li>Install <code>C:\\KF2Server\\Binaries\\Redist\\UE3Redist.exe<\/code>.<\/li>\n<li>Start the server once with the included <code>KF2Server.bat<\/code> launcher, or directly:\n<pre><code>start .\\Binaries\\win64\\kfserver kf-bioticslab<\/code><\/pre>\n<p>    Wait until it&#8217;s fully up, then close it. The first start creates the config files in <code>KFGame\\Config<\/code>.<\/li>\n<li>Edit the generated <code>PCServer-<\/code> files (next section), never the <code>Default<\/code> ones, then start the server again.<\/li>\n<\/ol>\n<h2 id=\"killing-floor-2-dedicated-server-on-linux\">Killing Floor 2 dedicated server on Linux<\/h2>\n<p>On Linux you run the same Windows-named folders with a Linux binary. Install SteamCMD from your package manager, point it at a script, and start <code>KFGameSteamServer.bin.x86_64<\/code>. The <code>.bat<\/code> launcher is Windows-only, so you write the start line yourself.<\/p>\n<pre><code># ~\/kf2\/update.txt\nlogin anonymous\nforce_install_dir \/home\/kf2\/kf2server\napp_update 232130 validate\nquit<\/code><\/pre>\n<pre><code>sudo apt install steamcmd\nsteamcmd +runscript \/home\/kf2\/kf2\/update.txt\ncd \/home\/kf2\/kf2server\nmkdir -p KFGame\/Cache            # Linux doesn't create it, and Workshop maps need it\n.\/Binaries\/Win64\/KFGameSteamServer.bin.x86_64 kf-bioticslab<\/code><\/pre>\n<p>As on Windows, start it once, stop it, then edit the config. For a managed setup, <a href=\"https:\/\/linuxgsm.com\/servers\/kf2server\/\">LinuxGSM<\/a> installs KF2 as <code>kf2server<\/code> and wraps start, stop, update and the live console in one tool. To skip installing anything, <a href=\"https:\/\/gameteam.io\/killing-floor-2-server-hosting\">Killing Floor 2 server hosting<\/a> comes with the server files and ports already set up.<\/p>\n<h2 id=\"killing-floor-2-server-ports\">Killing Floor 2 server ports<\/h2>\n<p>A KF2 server uses different ports from most Steam games. Forward <strong>UDP 7777<\/strong> (the game) and <strong>UDP 27015<\/strong> (the query port Steam&#8217;s server list talks to). Add <strong>TCP 8080<\/strong> only if you want WebAdmin reachable from outside. A server that runs fine but never shows in the browser often has 27015 closed.<\/p>\n<table>\n<thead>\n<tr>\n<th>Port<\/th>\n<th>Protocol<\/th>\n<th>Purpose<\/th>\n<th>Change with<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>7777<\/td>\n<td>UDP<\/td>\n<td>Game connections<\/td>\n<td><code>-Port=<\/code><\/td>\n<\/tr>\n<tr>\n<td>27015<\/td>\n<td>UDP<\/td>\n<td>Query port, Steam master server<\/td>\n<td><code>-QueryPort=<\/code><\/td>\n<\/tr>\n<tr>\n<td>8080<\/td>\n<td>TCP<\/td>\n<td>WebAdmin (if enabled)<\/td>\n<td><code>-WebAdminPort=<\/code> or <code>ListenPort<\/code> in <code>KFWeb.ini<\/code><\/td>\n<\/tr>\n<tr>\n<td>20560<\/td>\n<td>UDP<\/td>\n<td>Steam<\/td>\n<td>n\/a<\/td>\n<\/tr>\n<tr>\n<td>123<\/td>\n<td>UDP<\/td>\n<td>Internet time lookup, Weekly Outbreak only<\/td>\n<td>n\/a<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Running two servers on one machine? Change <code>-Port<\/code> and the query port moves with it by the same amount, unless you set <code>-QueryPort<\/code> yourself.<\/p>\n<h2 id=\"kf2-server-config-pcserver-kfgame-ini-and-friends\">KF2 server config: PCServer-KFGame.ini and friends<\/h2>\n<p>Killing Floor 2 server config lives in <code>KFGame\\Config<\/code>, split across a few ini files. <code>PCServer-KFGame.ini<\/code> holds the game settings: name, passwords, map list and game length. <code>PCServer-KFEngine.ini<\/code> holds the network side and the Workshop list. <code>KFWeb.ini<\/code> switches WebAdmin on. Edit them only while the server is stopped.<\/p>\n<pre><code>; PCServer-KFGame.ini\n[Engine.AccessControl]\nAdminPassword=long-random-string\nGamePassword=squad-only            ; leave empty for a public server\n\n[Engine.GameReplicationInfo]\nServerName=Friday Zed Night | Hard | Long\nAdminContact=you@example.com<\/code><\/pre>\n<p>Under the game section of the same file, <code>GameLength<\/code> sets waves per game (0 short = 4, 1 normal = 7, 2 long = 10), and <code>bUseMapList=True<\/code> with a <code>GameMapCycles<\/code> line limits the rotation to the maps you choose:<\/p>\n<pre><code>GameMapCycles=(Maps=(\"KF-BurningParis\",\"KF-Bioticslab\",\"KF-Outpost\",\"KF-VolterManor\",\"KF-Catacombs\",\"KF-EvacuationPoint\"))<\/code><\/pre>\n<p>The welcome screen is three lines in <code>PCServer-KFGame.ini<\/code>: <code>BannerLink<\/code> (a PNG), <code>ServerMOTD<\/code> (use <code>\\n<\/code> for new lines) and <code>WebsiteLink<\/code>.<\/p>\n<h3 id=\"difficulty-players-and-launch-options\">Difficulty, players and launch options<\/h3>\n<p>Most settings can also go on the launch line as URL options after the map name, which is handy for testing. Difficulty runs 0 to 3: Normal, Hard, Suicidal, Hell on Earth.<\/p>\n<pre><code>kfserver kf-burningparis?Difficulty=2?MaxPlayers=6?AdminPassword=secret -Port=7777 -QueryPort=27015<\/code><\/pre>\n<p>Other switches worth knowing: <code>-Multihome=<\/code> binds the server to one IP, <code>-PREFERREDPROCESSOR=<\/code> pins it to one CPU core, and <code>-ConfigSubDir=<\/code> gives a second server its own set of ini files.<\/p>\n<h2 id=\"game-modes-on-a-dedicated-server\">Game modes on a dedicated server<\/h2>\n<p>By default a KF2 server starts in Survival, the 6-player co-op mode. Switch modes with the <code>?Game=<\/code> option on the launch line, or from the Change Map tab in WebAdmin. Versus Survival is the one mode that goes beyond 6, up to 12 players in a competitive mode.<\/p>\n<table>\n<thead>\n<tr>\n<th>Mode<\/th>\n<th>Players<\/th>\n<th>Launch option<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Survival<\/td>\n<td>6<\/td>\n<td>Default (<code>KFGameContent.KFGameInfo_Survival<\/code>)<\/td>\n<\/tr>\n<tr>\n<td>Versus Survival<\/td>\n<td>Up to 12<\/td>\n<td><code>?Game=KFGameContent.KFGameInfo_VersusSurvival?maxplayers=12<\/code><\/td>\n<\/tr>\n<tr>\n<td>Weekly Outbreak<\/td>\n<td>6<\/td>\n<td><code>?Game=KFGameContent.KFGameInfo_WeeklySurvival<\/code> (needs UDP 123 out for the time check)<\/td>\n<\/tr>\n<tr>\n<td>Endless<\/td>\n<td>6<\/td>\n<td><code>?Game=KFGameContent.KFGameInfo_Endless<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Versus needs a map that supports it: Burning Paris, Biotics Lab, Prison, Voltor Manor and Farmhouse.<\/p>\n<h2 id=\"webadmin-run-the-server-from-a-browser\">WebAdmin: run the server from a browser<\/h2>\n<p>WebAdmin is KF2&#8217;s built-in control panel, and it&#8217;s the easiest way to change maps, modes and difficulty without touching files. Turn it on in <code>KFWeb.ini<\/code>, restart, then open the server&#8217;s IP on port 8080 in any browser. The user is <code>Admin<\/code> and the password is the <code>AdminPassword<\/code> you set; no admin password, no login.<\/p>\n<pre><code>; KFWeb.ini\n[IpDrv.WebServer]\nbEnabled=true\nListenPort=8080<\/code><\/pre>\n<p>For more than one admin, add <code>AuthenticationClass=WebAdmin.MultiWebAdminAuth<\/code> under <code>[WebAdmin.WebAdmin]<\/code> in <code>KFWebAdmin.ini<\/code>, start the server once to create <code>MultiAdmin.ini<\/code>, and add admins there or from WebAdmin itself.<\/p>\n<h2 id=\"custom-maps-and-mutators-from-the-steam-workshop\">Custom maps and mutators from the Steam Workshop<\/h2>\n<p>KF2 servers pull custom maps and mutators straight from the Steam Workshop, and players download them from Steam when they join. You list each item&#8217;s Workshop ID in <code>PCServer-KFEngine.ini<\/code> and tell the server to hand downloads to Steam. The old redirect method still exists but Tripwire marks it as deprecated in favour of the Workshop.<\/p>\n<ol>\n<li>Stop the server. A running server overwrites these edits when it restarts.<\/li>\n<li>In <code>PCServer-KFEngine.ini<\/code>, add a section with one line per item. The ID is the number after <code>id=<\/code> in the Workshop URL:\n<pre><code>[OnlineSubsystemSteamworks.KFWorkshopSteamworks]\nServerSubscribedWorkshopItems=643383080\nServerSubscribedWorkshopItems=605633924<\/code><\/pre>\n<\/li>\n<li>In the <code>[IpDrv.TcpNetDriver]<\/code> section of the same file, add this as the first <code>DownloadManagers=<\/code> line, without deleting anything else:\n<pre><code>DownloadManagers=OnlineSubsystemSteamworks.SteamWorkshopDownload<\/code><\/pre>\n<\/li>\n<li>Start the server and wait. The first boot downloads every listed item and can take several minutes, so a slow first start after adding maps is normal.<\/li>\n<li>Stop it again and find each map&#8217;s real name in <code>KFGame\\Cache\\&lt;ID&gt;\\0\\BrewedPC<\/code> (the <code>.kfm<\/code> file, without the extension). Add those names to <code>GameMapCycles<\/code>.<\/li>\n<li>To see the maps in WebAdmin&#8217;s Change Map list, add a data store per map to <code>PCServer-KFGame.ini<\/code>, written in lowercase:\n<pre><code>[kf-bikiniatoll KFMapSummary]\nMapName=kf-bikiniatoll\nScreenshotPathName=UI_MapPreview_TEX.UI_MapPreview_Placeholder<\/code><\/pre>\n<\/li>\n<\/ol>\n<p>Keep the rotation under 519 maps; Tripwire&#8217;s wiki says more than that breaks the server.<\/p>\n<h3 id=\"leveling-xp-farm-and-rpg-servers\">Leveling, XP farm and RPG servers<\/h3>\n<p>Plenty of community servers are built around custom maps and mutators: perk leveling maps, &#8220;fast XP&#8221; farm servers, RPG-style mutators that add their own level system, custom weapons and big-player-count servers. You can build any of these with the Workshop steps above. Check each mutator&#8217;s Workshop page for how it affects ranked status before you build on it; Tripwire&#8217;s own docs note that cheat commands derank a session, while a few admin tools such as <code>Admin SetFriendlyFireScale<\/code> keep the server ranked.<\/p>\n<h2 id=\"private-servers-passwords-and-server-takeover\">Private servers, passwords and Server Takeover<\/h2>\n<p>To make a private server, set <code>GamePassword<\/code> in <code>PCServer-KFGame.ini<\/code>. Then decide about Server Takeover. By default, players matchmaking for a private game can &#8220;take over&#8221; an idle dedicated server, which applies their settings and makes it private for their session; they never see your admin password, and the server reopens when they leave. If you want the server to stay yours, have it removed from the takeover list in <code>PCServer-KFEngine.ini<\/code>:<\/p>\n<pre><code>[Engine.GameEngine]\nbUsedForTakeover=FALSE<\/code><\/pre>\n<h2 id=\"how-to-join-your-kf2-server\">How to join your KF2 server<\/h2>\n<p>Players can find a public server in the in-game server browser by its <code>ServerName<\/code>, or join directly from the console. Open it with <kbd>~<\/kbd> (or <kbd>F3<\/kbd> for the small one) and type <code>open<\/code> plus the IP, with the password if there is one.<\/p>\n<pre><code>open 203.0.113.25\nopen 203.0.113.25?password=squad-only\nopen 203.0.113.25??spectatoronly=1<\/code><\/pre>\n<p>Players on the same LAN use the server&#8217;s local IP. Once in, admins log in with <code>AdminLogin yourpassword<\/code> in the console.<\/p>\n<h3 id=\"can-epic-games-players-join\">Can Epic Games players join?<\/h3>\n<p>KF2 arrived on the Epic Games Store on July 9, 2020, with cross-play and cross-friend invites between the Steam and Epic versions. Tripwire limits that cross-play to unmodded ranked servers. If your server runs Workshop maps or mutators, plan on it being a Steam-players server.<\/p>\n<h2 id=\"useful-kf2-server-commands\">Useful KF2 server commands<\/h2>\n<table>\n<thead>\n<tr>\n<th>Command<\/th>\n<th>What it does<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>AdminLogin &lt;password&gt;<\/code> \/ <code>AdminLogout<\/code><\/td>\n<td>Log in or out as admin from the game console<\/td>\n<\/tr>\n<tr>\n<td><code>open KF-Farmhouse?Game=Endless?Difficulty=2?Gamelength=1<\/code><\/td>\n<td>Load a map with a mode, difficulty and length (short names: Survival, Weekly, Versus, Endless, Objective)<\/td>\n<\/tr>\n<tr>\n<td><code>Admin SetFriendlyFireScale 0.25<\/code><\/td>\n<td>Set friendly fire; the server stays ranked<\/td>\n<\/tr>\n<tr>\n<td><code>Pause<\/code><\/td>\n<td>Pause the game<\/td>\n<\/tr>\n<tr>\n<td><code>Disconnect<\/code> \/ <code>Reconnect<\/code><\/td>\n<td>Leave or rejoin the current server<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>For day-to-day admin, WebAdmin covers the same ground: map changes, mode, difficulty, players and bans.<\/p>\n<h2 id=\"updating-the-server\">Updating the server<\/h2>\n<p>When Tripwire patches KF2, players on the new version can&#8217;t join a server still on the old one. Stop the server, run <code>app_update 232130<\/code> through SteamCMD again (without <code>validate<\/code> if you&#8217;ve customised <code>KF2Server.bat<\/code>), and start it. Your <code>PCServer-<\/code> ini files stay as they are.<\/p>\n<h2 id=\"kf2-server-problems-and-fixes\">KF2 server problems and fixes<\/h2>\n<table>\n<thead>\n<tr>\n<th>Problem<\/th>\n<th>Likely cause<\/th>\n<th>Fix<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Server not showing up in the browser<\/td>\n<td>UDP 27015 (query) closed, or a changed query port not forwarded<\/td>\n<td>Forward the query port as well as 7777; check the firewall<\/td>\n<\/tr>\n<tr>\n<td>Only shows under LAN<\/td>\n<td>Ports not open to the internet<\/td>\n<td>Forward 7777 and 27015; friends join with <code>open ip<\/code> meanwhile<\/td>\n<\/tr>\n<tr>\n<td>Settings keep resetting<\/td>\n<td>Edited a <code>Default<\/code> ini, or edited while the server was running<\/td>\n<td>Stop the server, edit the <code>PCServer-<\/code> file<\/td>\n<\/tr>\n<tr>\n<td>Workshop maps never download on Linux<\/td>\n<td>Missing <code>KFGame\/Cache<\/code> folder<\/td>\n<td><code>mkdir -p KFGame\/Cache<\/code> in the server folder<\/td>\n<\/tr>\n<tr>\n<td>Players stuck on &#8220;connecting&#8221; moving between custom maps<\/td>\n<td>Client is downloading the next map without showing progress<\/td>\n<td>Wait it out; it&#8217;s a known issue<\/td>\n<\/tr>\n<tr>\n<td>Redirect clients get a 1 KB file<\/td>\n<td>Missing trailing slash or uppercase map names on a Linux redirect<\/td>\n<td>Fix the URL and use lowercase, or switch to Workshop<\/td>\n<\/tr>\n<tr>\n<td>Can&#8217;t log in to WebAdmin<\/td>\n<td>No <code>AdminPassword<\/code> set, or <code>bEnabled<\/code> still false<\/td>\n<td>Set both, restart, log in as <code>Admin<\/code><\/td>\n<\/tr>\n<tr>\n<td>Server changed settings by itself and went private<\/td>\n<td>Server Takeover<\/td>\n<td>Set <code>bUsedForTakeover=FALSE<\/code><\/td>\n<\/tr>\n<tr>\n<td>Weekly Outbreak shows the wrong week<\/td>\n<td>Outbound UDP 123 blocked<\/td>\n<td>Allow NTP out<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"skip-the-setup-rent-a-kf2-server\">Skip the setup: rent a KF2 server<\/h2>\n<p>Running it yourself means a PC left on, three ports forwarded, four ini files, and a Workshop list where one wrong line means a map that never loads. If you&#8217;d rather just hold the line, <a href=\"https:\/\/gameteam.io\/killing-floor-2-server-hosting\">Killing Floor 2 server hosting<\/a> on GameTeam is ready in minutes, with no port forwarding. You pay per GB of RAM, from $0.49\/GB a week or $1.99\/GB billed monthly, and slots are unlimited on our side; KF2 itself sets 6 for Survival and 12 for Versus. DDoS protection comes with every plan, and if it isn&#8217;t for you, the first 72 hours are refundable. The built-in AI copilot does the ini work: tell it &#8220;Hell on Earth, long games, password the server and add these three Workshop maps&#8221; and it edits <code>PCServer-KFGame.ini<\/code> and <code>PCServer-KFEngine.ini<\/code>, then restarts. Ask &#8220;why isn&#8217;t my server in the browser?&#8221; and it reads the server log and the port settings in your ini files and tells you what&#8217;s wrong.<\/p>\n<h2 id=\"faq\">FAQ<\/h2>\n<h3 id=\"is-the-killing-floor-2-dedicated-server-free\">Is the Killing Floor 2 dedicated server free?<\/h3>\n<p>Yes. It&#8217;s app 232130 in SteamCMD, an anonymous download, and the account doesn&#8217;t need to own KF2. Players still need the game. You pay only for the machine or a host.<\/p>\n<h3 id=\"how-many-players-can-a-kf2-dedicated-server-hold\">How many players can a KF2 dedicated server hold?<\/h3>\n<p>Six in Survival, Weekly Outbreak and Endless, and up to 12 in Versus Survival, which you set with <code>?maxplayers=12<\/code>.<\/p>\n<h3 id=\"how-do-i-change-the-difficulty-on-my-kf2-server\">How do I change the difficulty on my KF2 server?<\/h3>\n<p>Add <code>?Difficulty=<\/code> to the launch line (0 Normal, 1 Hard, 2 Suicidal, 3 Hell on Earth), or change it from WebAdmin&#8217;s Change Map tab.<\/p>\n<h3 id=\"where-are-the-killing-floor-2-server-config-files\">Where are the Killing Floor 2 server config files?<\/h3>\n<p>In <code>KFGame\\Config<\/code> inside the server folder. They appear after the first start: <code>PCServer-KFGame.ini<\/code>, <code>PCServer-KFEngine.ini<\/code>, <code>KFWeb.ini<\/code> and <code>KFWebAdmin.ini<\/code>.<\/p>\n<h3 id=\"how-do-i-add-custom-maps-to-a-killing-floor-2-dedicated-server\">How do I add custom maps to a Killing Floor 2 dedicated server?<\/h3>\n<p>List each Workshop ID as <code>ServerSubscribedWorkshopItems<\/code> in <code>PCServer-KFEngine.ini<\/code>, add the Steam Workshop download manager, start the server so it downloads them, then add the map names to <code>GameMapCycles<\/code>.<\/p>\n<h3 id=\"can-i-run-a-kf2-server-on-linux\">Can I run a KF2 server on Linux?<\/h3>\n<p>Yes, with the 64-bit Linux binary <code>KFGameSteamServer.bin.x86_64<\/code>. Create the <code>KFGame\/Cache<\/code> folder yourself, or Workshop maps won&#8217;t download.<\/p>\n<h3 id=\"can-i-host-a-lan-server\">Can I host a LAN server?<\/h3>\n<p>Yes. Start the server on a PC on your network and have everyone join with <code>open<\/code> and the server&#8217;s local IP. You don&#8217;t need to forward ports for players on the same network.<\/p>\n<p>Your group also plays co-op horde shooters on Source? Our <a href=\"https:\/\/gameteam.io\/blog\/left-4-dead-2-dedicated-server-guide\/\">Left 4 Dead 2 dedicated server guide<\/a> covers that setup.<\/p>\n","protected":false},"excerpt":{"rendered":"A dedicated server for Killing Floor 2 is Tripwire&#8217;s free KF2 server (SteamCMD app 232130) running on its&hellip;\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[167],"tags":[],"class_list":["post-3807","post","type-post","status-publish","format-standard","category-killing-floor-2-tutorials","vision-entry","vision-video-wrap"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Dedicated Server Killing Floor 2: How to Set Up a KF2 Server (Requirements, Ports, Config, Workshop Maps) - GameTeam - Blog<\/title>\n<meta name=\"description\" content=\"Set up a dedicated server for Killing Floor 2: SteamCMD app 232130, ports 7777\/27015\/8080, PCServer-KFGame.ini, WebAdmin, Workshop maps and fixes.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/gameteam.io\/blog\/killing-floor-2-dedicated-server-guide\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Dedicated Server Killing Floor 2: How to Set Up a KF2 Server (Requirements, Ports, Config, Workshop Maps) - GameTeam - Blog\" \/>\n<meta property=\"og:description\" content=\"Set up a dedicated server for Killing Floor 2: SteamCMD app 232130, ports 7777\/27015\/8080, PCServer-KFGame.ini, WebAdmin, Workshop maps and fixes.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/gameteam.io\/blog\/killing-floor-2-dedicated-server-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"GameTeam - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-27T14:11:14+00:00\" \/>\n<meta name=\"author\" content=\"gameteam\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"gameteam\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/killing-floor-2-dedicated-server-guide\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/killing-floor-2-dedicated-server-guide\\\/\"},\"author\":{\"name\":\"gameteam\",\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/#\\\/schema\\\/person\\\/0cc694e709c1805f635ede3a5e1dbf83\"},\"headline\":\"Dedicated Server Killing Floor 2: How to Set Up a KF2 Server (Requirements, Ports, Config, Workshop Maps)\",\"datePublished\":\"2026-10-27T14:11:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/killing-floor-2-dedicated-server-guide\\\/\"},\"wordCount\":2175,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/#organization\"},\"articleSection\":[\"Killing Floor 2 Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/gameteam.io\\\/blog\\\/killing-floor-2-dedicated-server-guide\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/killing-floor-2-dedicated-server-guide\\\/\",\"url\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/killing-floor-2-dedicated-server-guide\\\/\",\"name\":\"Dedicated Server Killing Floor 2: How to Set Up a KF2 Server (Requirements, Ports, Config, Workshop Maps) - GameTeam - Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/#website\"},\"datePublished\":\"2026-10-27T14:11:14+00:00\",\"description\":\"Set up a dedicated server for Killing Floor 2: SteamCMD app 232130, ports 7777\\\/27015\\\/8080, PCServer-KFGame.ini, WebAdmin, Workshop maps and fixes.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/killing-floor-2-dedicated-server-guide\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/gameteam.io\\\/blog\\\/killing-floor-2-dedicated-server-guide\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/killing-floor-2-dedicated-server-guide\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Minecraft Tutorials\",\"item\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/category\\\/minecraft-tutorials\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Dedicated Server Killing Floor 2: How to Set Up a KF2 Server (Requirements, Ports, Config, Workshop Maps)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/\",\"name\":\"GameTeam - Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/#organization\",\"name\":\"GameTeam - Blog\",\"url\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/gameteam.io\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/image_2023-11-04_031100865.png?fit=837%2C167&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/gameteam.io\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/image_2023-11-04_031100865.png?fit=837%2C167&ssl=1\",\"width\":837,\"height\":167,\"caption\":\"GameTeam - Blog\"},\"image\":{\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/#\\\/schema\\\/person\\\/0cc694e709c1805f635ede3a5e1dbf83\",\"name\":\"gameteam\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/image_2023-11-17_210836342-96x96.png\",\"url\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/image_2023-11-17_210836342-96x96.png\",\"contentUrl\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/image_2023-11-17_210836342-96x96.png\",\"caption\":\"gameteam\"},\"sameAs\":[\"https:\\\/\\\/gameteam.io\\\/blog\"],\"url\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/author\\\/gameteam\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Dedicated Server Killing Floor 2: How to Set Up a KF2 Server (Requirements, Ports, Config, Workshop Maps) - GameTeam - Blog","description":"Set up a dedicated server for Killing Floor 2: SteamCMD app 232130, ports 7777\/27015\/8080, PCServer-KFGame.ini, WebAdmin, Workshop maps and fixes.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/gameteam.io\/blog\/killing-floor-2-dedicated-server-guide\/","og_locale":"en_US","og_type":"article","og_title":"Dedicated Server Killing Floor 2: How to Set Up a KF2 Server (Requirements, Ports, Config, Workshop Maps) - GameTeam - Blog","og_description":"Set up a dedicated server for Killing Floor 2: SteamCMD app 232130, ports 7777\/27015\/8080, PCServer-KFGame.ini, WebAdmin, Workshop maps and fixes.","og_url":"https:\/\/gameteam.io\/blog\/killing-floor-2-dedicated-server-guide\/","og_site_name":"GameTeam - Blog","article_published_time":"2026-10-27T14:11:14+00:00","author":"gameteam","twitter_card":"summary_large_image","twitter_misc":{"Written by":"gameteam","Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/gameteam.io\/blog\/killing-floor-2-dedicated-server-guide\/#article","isPartOf":{"@id":"https:\/\/gameteam.io\/blog\/killing-floor-2-dedicated-server-guide\/"},"author":{"name":"gameteam","@id":"https:\/\/gameteam.io\/blog\/#\/schema\/person\/0cc694e709c1805f635ede3a5e1dbf83"},"headline":"Dedicated Server Killing Floor 2: How to Set Up a KF2 Server (Requirements, Ports, Config, Workshop Maps)","datePublished":"2026-10-27T14:11:14+00:00","mainEntityOfPage":{"@id":"https:\/\/gameteam.io\/blog\/killing-floor-2-dedicated-server-guide\/"},"wordCount":2175,"commentCount":0,"publisher":{"@id":"https:\/\/gameteam.io\/blog\/#organization"},"articleSection":["Killing Floor 2 Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/gameteam.io\/blog\/killing-floor-2-dedicated-server-guide\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/gameteam.io\/blog\/killing-floor-2-dedicated-server-guide\/","url":"https:\/\/gameteam.io\/blog\/killing-floor-2-dedicated-server-guide\/","name":"Dedicated Server Killing Floor 2: How to Set Up a KF2 Server (Requirements, Ports, Config, Workshop Maps) - GameTeam - Blog","isPartOf":{"@id":"https:\/\/gameteam.io\/blog\/#website"},"datePublished":"2026-10-27T14:11:14+00:00","description":"Set up a dedicated server for Killing Floor 2: SteamCMD app 232130, ports 7777\/27015\/8080, PCServer-KFGame.ini, WebAdmin, Workshop maps and fixes.","breadcrumb":{"@id":"https:\/\/gameteam.io\/blog\/killing-floor-2-dedicated-server-guide\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/gameteam.io\/blog\/killing-floor-2-dedicated-server-guide\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/gameteam.io\/blog\/killing-floor-2-dedicated-server-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/gameteam.io\/blog\/"},{"@type":"ListItem","position":2,"name":"Minecraft Tutorials","item":"https:\/\/gameteam.io\/blog\/category\/minecraft-tutorials\/"},{"@type":"ListItem","position":3,"name":"Dedicated Server Killing Floor 2: How to Set Up a KF2 Server (Requirements, Ports, Config, Workshop Maps)"}]},{"@type":"WebSite","@id":"https:\/\/gameteam.io\/blog\/#website","url":"https:\/\/gameteam.io\/blog\/","name":"GameTeam - Blog","description":"","publisher":{"@id":"https:\/\/gameteam.io\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/gameteam.io\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/gameteam.io\/blog\/#organization","name":"GameTeam - Blog","url":"https:\/\/gameteam.io\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/gameteam.io\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/gameteam.io\/blog\/wp-content\/uploads\/2023\/11\/image_2023-11-04_031100865.png?fit=837%2C167&ssl=1","contentUrl":"https:\/\/i0.wp.com\/gameteam.io\/blog\/wp-content\/uploads\/2023\/11\/image_2023-11-04_031100865.png?fit=837%2C167&ssl=1","width":837,"height":167,"caption":"GameTeam - Blog"},"image":{"@id":"https:\/\/gameteam.io\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/gameteam.io\/blog\/#\/schema\/person\/0cc694e709c1805f635ede3a5e1dbf83","name":"gameteam","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/gameteam.io\/blog\/wp-content\/uploads\/2023\/11\/image_2023-11-17_210836342-96x96.png","url":"https:\/\/gameteam.io\/blog\/wp-content\/uploads\/2023\/11\/image_2023-11-17_210836342-96x96.png","contentUrl":"https:\/\/gameteam.io\/blog\/wp-content\/uploads\/2023\/11\/image_2023-11-17_210836342-96x96.png","caption":"gameteam"},"sameAs":["https:\/\/gameteam.io\/blog"],"url":"https:\/\/gameteam.io\/blog\/author\/gameteam\/"}]}},"_links":{"self":[{"href":"https:\/\/gameteam.io\/blog\/wp-json\/wp\/v2\/posts\/3807","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gameteam.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gameteam.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gameteam.io\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gameteam.io\/blog\/wp-json\/wp\/v2\/comments?post=3807"}],"version-history":[{"count":0,"href":"https:\/\/gameteam.io\/blog\/wp-json\/wp\/v2\/posts\/3807\/revisions"}],"wp:attachment":[{"href":"https:\/\/gameteam.io\/blog\/wp-json\/wp\/v2\/media?parent=3807"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gameteam.io\/blog\/wp-json\/wp\/v2\/categories?post=3807"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gameteam.io\/blog\/wp-json\/wp\/v2\/tags?post=3807"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}