Download as pdf or txt
Download as pdf or txt
You are on page 1of 14

This tutorial is for a WINDOWS setup and as far as possible applies to Server Version 1018

(March, 2011). For a LINUX setup please visit Sekra's tutorial here. Thank you Sekra for
ensuring we can support both OS's.

I've been hosting WINDOWS servers through Steam (CS:S, TF2, L4D) using the HLDS tools for
some time now and also hosted Unreal Engine based games (UT3, SWRC) in the past and will
add the basics here for server Admin who are new to the setup. As more information becomes
available I'll update this first post.

-----------------------------------------------------------------------------------------------

This tutorial is split into the following sections.

1. PORTS TO OPEN

2. INSTALLING AND UPDATING YOUR SERVER FILES

3. CONFIGURING YOUR SERVER

4. LAUNCHING YOUR SERVER

5. ADMIN CONTROL

6. INSTALLING CUSTOM MAPS USING A REDIRECT

7. INSTALLING CUSTOM MUTATORS

8. COMMUNITY LINKS AND RESOURCES

-----------------------------------------------------------------------------------------------

1. PORTS TO OPEN

-----------------------------------------------------------------------------------------------

7707 UDP/IP (Game Port)

7708 UDP/IP (Query Port)

7717 UDP/IP (GameSpy Query Port)

28852 TCP/IP and UDP (Allows your Server to Connect to the Master Server Browser)

8075 TCP/IP (Port set via ListenPort that your WebAdmin will run on)

20560 UDP/IP (Steam Port)


Since the game is running with the Steam backend, if you are running more than 1 server per
IP, you will need to make sure that you have some additional ports open beyond the default KF
ports. If you change the default Game Port from 7707, this change will be reflected in the
Master Server Port (28852) and the Steam Port (20560) as well.

(Thank you for the above information Yoshiro)

IN PRACTICE

Locate your KillingFloor.ini file in the 'system' folder. If you don't have one then simply copy
and paste the default.ini file and rename the copy to KillingFloor.ini

I made a second server by changing the Port from 7707 to 7710 in the
Kill...tive.com/showthread.php?t=81198"] Hosting a Dedicated Server with SteamCMD[/SIZE]

[/CENTER]

Spoiler!

-----------------------------------------------------------------------------------------------

3. CONFIGURING YOUR SERVER

-----------------------------------------------------------------------------------------------

To configure different aspects of your server you can edit your KillingFloor.ini file in the
'system' folder.

You will find things like:

ServerName=Killing Floor Server


GamePassword=

And if you're using the default command line to start the server
with ?game=KFmod.KFGameType then you'll also find a list of settings subordinate to that
game type that you can tweak.

More Important Server Configuration Options

Originally posted by [TW]Ramm-Jaeger

I thought it would be good to highlight some of the more important server config options.
Many of these options can be set in KillingFloor.ini or passed in on the commandline. Most can
also be found in the webadmin tools.

1. GameDifficulty: - Set in the KillingFloor.ini, Commandline, or Webadmin

GameDifficulty (what you'll find in KillingFloor.ini)

Difficulty (What you'd pass in to set this on the commandline)

This sets the difficulty level for the game.

1.0 = Beginner - Your grandma can play the game

2.0 = Normal - Quite challenging with lower level perks

4.0 = Hard - Very challenging even with mid level perks

5.0 = Suicidal - Incredibly difficult, even with high level perks

7.0 = Hell on Earth - You'll be wishing you were one of them

2. KFGameLength Set in the KillingFloor.ini or in Webadmin

Sets the length of the game (how many waves the players fight through).

0 = Short - A 4 wave game

1 = Normal - The standard 7 wave game

2 = Long - The longer 10 wave game

3 = Custom - uses the custom sandbox settings for waves, monster counts, etc (which i won't
go into here, but we'll talk about in another post).
Those are the two big KF specific settings. For more of the Unreal specific settings check some
of the other posts on this forum.

(Thank you for those [TW]Ramm-Jaeger)

-------------------------------------------------------------------------------------------

In addition I would like to add a third important configuration for fresh server installations
where you have only the few default maps installed but would like to enable Map Voting.

3. Map Voting: - Set in the KillingFloor.ini, or Webadmin

If you set the map voting command in the Web Admin Interface (Defaults > Map Voting)

or

KillingFloor.ini [xVoting.XvotingHandler] area to enabled as follows:

bMapVote=True

then I recommend you change the default setting of Repeat Limit in the Web Admin Interface
to 0 or RepeatLimit=4 to RepeatLimit=0 in the KillingFloor.ini. Otherwise, of the default maps
that are in rotation, 4 will be locked leaving you with a choice of only 1. Details of how to
enable your Web Admin Interface follow in section 5.

With Map Vote enabled you should also check 'Use MapLists' in the Web Admin Interface or
bUseMapList=True in the KillingFloor.ini. If you don't do that then a developer map (kf-
menu.rom) will rotate and this is simply an unplayable box map. Another developer map
(kfintro.rom) no longer appears since update 1002.

= = WARNING = =

In one of Yoshiro's posts he clearly states "NEVER CHANGE DEFAULT.INI." so please heed that
warning. Think of the default.ini as a master backup that shouldn't be touched. In the event
you delete your KillingFloor.ini or 'break' it the default.ini will give you something to fall back
on.
-----------------------------------------------------------------------------------------------

4. LAUNCHING YOUR SERVER

-----------------------------------------------------------------------------------------------

BASIC SETTINGS

Within your dedicated server 'system' folder (for me the location is C:\KS1\system) you will
find a kf_server_launcher.bat file. Double clicking this file will launch your server. The current
command line contained within is:

Code:

ucc server KF-BioticsLab.rom?game=KFmod.KFGameType?VACSecured=true?MaxPlayers=6

This command line simply tells the server to launch with the KF-BioticsLab map using the game
type KFmod.KFGameType with the Valve Anti-Cheat (VAC) system being active and a maximum
of 6 players being permitted to enter the server at any one time.

ADVANCED SETTINGS

Additional commands can be added to the command line as follows:

Multiple Instances

Originally Posted by Kevlar

Just a little hint for running multiple instances on a server with several IP addresses available.

ucc server KF-


BioticsLab.rom?game=KFmod.KFGameType?VACSecured=true?MaxPlayers=6?multihome=IPT
OUSEHERE

1. Open your "kf_server_launcher.bat" with a text editor

2. Add in ?multihome=IPTOUSEHERE to the end of it so it looks like the above (Obviously


replacing IPTOUSEHERE with the IP address to use)

3. Save it.
4. Your server will now run on the IP address you allocated.

Note that for those of you hosting a server locally on your home internet connection or are
just running a basic setup. It is usually not necessary to include the
"?multihome=IPTOUSEHERE".

-Edited command line to reflect update to default in server patch- arramus

-----------------------------------------------------------------------------------------------

5. ADMIN CONTROL

-----------------------------------------------------------------------------------------------

WEB ADMIN AND SERVER ADMIN SETUP/LOGIN/PASSWORD

I recommend you enable both your Web Admin and Server Admin as in some instances they
support each other. The Web Admin tool has a powerful Web Browser Interface that allows
you to configure your server from a remote location without needing to manually edit your
KillingFloor.ini. This can save time and hassle. I recommend you become familiar with this tool
and use it to its full potential. It's very user friendly and intuitive.

Web Admin

1) To enable your Web Admin you need to go to your KillingFloor.ini and:

locate [UWeb.WebServer]

change bEnable=False > True

Set your Admin Username and Password as follows:

2) Originally Posted by BBk


You can set it in the command line param:

?AdminName=XXXXX?AdminPassword=XXXXX

Like this :

Code:

Code:

ucc server KF-


BioticsLab.rom?game=KFmod.KFGameType?VACSecured=true?MaxPlayers=6?AdminName=xx
xx?AdminPassword=xxxxx

in kf_server_launcher.bat

-Edited command line to reflect update to default in server patch- arramus

3) To access your Web Admin Interface go to:

YOUR_SERVER_IP:8075 in a web browser and you'll be brought to the main page.

4) It is also possible to access the Web Admin Interface utilising the web browsing function
found within the Steam application. Here is a growing post started by SlayVus with additional
support from gHOsTy offering 2 methods of utilising this convenient function.

In Game Server Admin

It is also possible to add a Server Admin password via the KillingFloor.ini or Web Admin
Interface. This will allow you to perform multiple server functions while you are in game
without physically having to use the Web Admin Interface.

1) Under [Engine.Console] you can add your in game server password to the:

AdminPassword=

ADMIN LOGIN

When you're in game press your ~ key to open the command console and type:
adminlogin <yourpassword>

This will register you as the Server Admin. More than one Admin can use the same password.
At present, you'll need to login after EVERY map change.

MAP CHANGE

Once logged in there are 2 ways to force a map change.

a) Simply go to Map Vote and make your selection. As Admin you will force the change.

b) Open the command console and type:

admin map <map name>

It's not necessary to type .rom after the map name.

ADMIN SAY MESSAGE

Admin can make a message appear in the middle of the screen using the following command:

admin adminsay <message>

ADMIN SET

Admin can make some sophisticated changes to a server by changing by the property on the
package.class to a new value. For example:

Set the difficulty to Beginner

admin set engine.gameinfo gamedifficulty 1

Set the difficulty to Normal

admin set engine.gameinfo gamedifficulty 2

This command can change multiple settings and will be in the format:
admin set <package>.<classname> <property> <value>

Note the spaces where applicable.

KICK

If you've enabled the Vote Kick option in your Web Admin Interface or KillingFloor.ini then as
Admin you can use the in game Vote Kick function to force kick players automatically. Simply
right click on a players name and you'll be given an extended Kick/Ban option for Admin.
Players logged in as Server Admin will be immune to Vote Kick.

PAUSE

Yes, it's possible for Admin to pause a server during gameplay using a console command.

First you need to enable the server to be paused. This can be done in the Web Admin Interface
or by adding the following to your KillingFloor.ini under [Engine.GameInfo]:

bAdminCanPause=True

In game the console command after you've logged in is simply:

pause

To release the pause type the command again or shoot your weapon.

Key Binding Commands

Typing all of those commands can be timely and inconvenient but you can always set them as
key binds as follows. Simply open the console and add, for the M key for example:

SET INPUT m adminlogin <password>

This will edit your:

C:\Program Files\Steam\steamapps\common\killingfloor\system\User.ini file with the


following entry:
M=adminlogin <password>

Alternatively you can add the admin commands to that file directly. For example:

N=admin adminsay Feed them cakes!

You can manually remove or edit binds from that file at your convenience.

-----------------------------------------------------------------------------------------------

6. INSTALLING CUSTOM MAPS USING A REDIRECT

-----------------------------------------------------------------------------------------------

Using the Killing Floor SDK the community is able to create its own maps for Admin to host of
their servers. These maps can be automatically downloaded by users joining your server with a
few easy steps as follows:

1) Download a custom map and place it in your maps folder. In my case I downloaded KF-
WestLondonNight.rom and placed it in C:\KS1\maps

2) Go to your system folder and make a .bat with the following code:

Code:

ucc compress ..\maps\<mapname.rom>

Mine is:

Code:

ucc compress ..\maps\KF-WestLondonNight.rom

This will compress the map into into a much smaller size and display .uz2 at the end of the map
name.

KF-WestLondonNight.rom was compressed from 10.7 MB > 1.78 MB. This will reduce
download time and keep bandwidth to a fraction of what it would have been without
compression.
If you want to compress every single map in the map folder then here is a script from saweet.
Even though it will compress the default maps as well, this can still be an efficient script if you
have multiple custom maps to compress in one instance.

Make a .bat file containing the following command in your system folder. ie:
compress_maps.bat

Code:

for /f "tokens=*" %%a in ('dir /b ..\maps\*.rom') do ucc compress ..\maps\%%a

3) Go to your map folder and you'll see the compressed map as <mapname.rom.uz2>.

4) Remove this compressed map from your map folder and upload it to your third party host. I
made a folder in the main web host directory called maps and placed the compressed map in
there. http://www.yourhost.com/maps/

5) Go to your KillingFloor.ini and locate [IpDrv.HTTPDownload]

In the RedirectToURL= place the location of the compressed map:

RedirectToURL=http://www.yourhost.com/maps/

Note the forward slash at the end of the redirect link.

By default you will see UseCompression=True is already set.

6) Now you need to add the map to the map list. You can do this manually or through the Web
Admin Interface.

I recommend using the Web Admin Interface for your first attempt as it will write a
[KFMod.KFMaplist] entry at the bottom of your KillingFloor.ini with maps listed below as
follows:

[KFMod.KFMaplist]

MapNum=0

Maps=KF-<Mapname>

Maps=KF-<Mapname>
Maps=KF-<Mapname>

Go to your Web Admin Interface and select Defaults > Maps. Select maps you want added to
the map cycle and move them from Maps Not In Cycle > Maps In Cycle using the arrow tabs.
Hit the Save button.

7) Restart your map/server and perform a Map Vote for the new map.

Once you have your [KFMod.KFMaplist] entry listed at the bottom of the KillingFloor.ini you
can simply update map entries there for new custom maps or continue to use the Web Admin
Interface.

If you don't have a host who can store your maps (and mods) then you can at least test the
function using http://www.dropbox.com or http://www.fileden.com They both offer FREE
hosting and bandwidth although dropbox appears to be the superior option with a 2GB upload
limit and unlimited bandwidth. These companies change their plans from time to time so
check their current offers.

You can also configure the redirect from your own server PC by installing your own web
hosting application, like Apache.

Some maps come bundled with additional files for textures, sound, models, etc. You can also
add these to your server redirect area in compressed form. They can all be added to the same
redirect folder as the maps. Make sure they are added to the correct folders on the game
server in uncompressed form.

-----------------------------------------------------------------------------------------------

7. INSTALLING CUSTOM MUTATORS

-----------------------------------------------------------------------------------------------

A mutator adds additional dynamics to KF beyond those experienced in regular gameplay. In


addition to the mutators that come bundled with the game, there are numerous community
made mutators that allow users to expand the way their servers operate. Some custom
mutators make subtle changes to gameplay that won't impact your ability to increase your
achievements or perks. These mutators can be added to a whitelist and will not disable
achievements or perks. Custom mutators that allow you to manipulate elements of the game
that give you achievements or perks at an accelerated rate will not be whitelisted and their use
on a server will disable achievements and perks. Server Admin can decide on the settings they
prefer.

Let's install KF Anti Blocker by Benjamin.

This mutator disables player collisions during 'Trader' time. This results in players being able to
pass through each other. Without this mutator a player can stand in front of a trader door and
block entry to others. This mutator will allow you to pass through each other.

1) Download the KF Anti Blocker mutator and install:

MutKFAntiBlocker.ucl

MutKFAntiBlocker.u

to your system folder. In my case this is located at C:\KS1\system.

2) Stop your server and either set the mutator to be activated automatically using the
command line in your kf_server_launcher.bat by adding:

Code:

?Mutator=MutKFAntiBlocker.MutKFAntiBlocker

or after you've restarted your server with the mutator files added go to your Web Admin
Interface > Mutators and check 'AntiBlocker' > 'Set Selected Mutators' and then Restart Map.

The Web Admin Interface automatically recognises that you've added the AntiBlocker mutator
to your system folder.

If this applies to all mutators you'll have to wait and see. In case a mutator isn't recognised it
has been suggested you can add it to the KillingFloor.ini manually under the
[Engine.GameEngine] area as follows:

ServerPackages=MutKFAntiBlocker

-----------------------------------------------------------------------------------------------

8. COMMUNITY LINKS AND RESOURCES


-----------------------------------------------------------------------------------------------

The following links may come in useful. If you have additional links that may benefit the
community please let us know.

Custom Map Uploads - Redirect

Dropbox (Hot Linking Website with generous space and bandwidth)

Fileden (Hot Linking Website with limited FREE space and monthly bandwidth)

GameServers Network (Hot Linking with public uploader)

Custom Map Uploaded/Downloads - Storage

Sandcrawler Network (Modding Community)

Killing Floor Mods (Modding Community)

KFMods.com (Modding Community)

The Killing Crew (Clan)

Filefront (File Hosting Website)

Compression Tools

{MEAT}::Killer::'s (UZ2 Compressor/Decompressor)

dimitrifrom31's Compressions (Stand Alone Tool)

Jaek's Windows Script (Auto Compress Map Files)

-----------------------------------------------------------------------------------------------

Show us your thrupenny bits and add to this tutorial or correct any errors :eek:

You might also like