Dedicated Server (KillingFloor): Difference between revisions

From Tripwire Interactive Wiki
Jump to navigation Jump to search
No edit summary
(Undo revision 4704 by Dsoft (talk))
Line 11: Line 11:
<br/>
<br/>
With Steam Pipe you should see an improvement in download speeds and more robust response during high demand. It uses HTTP as the content delivery method, so you could set up a local HTTP proxy to cache all steamcmd requests, making updates from multiple machines stay on your local network.|source=Alfred, Valve}}
With Steam Pipe you should see an improvement in download speeds and more robust response during high demand. It uses HTTP as the content delivery method, so you could set up a local HTTP proxy to cache all steamcmd requests, making updates from multiple machines stay on your local network.|source=Alfred, Valve}}
'''Source(s):'''  [http://downloadranking.com/support.php  Dedicated Server]


==Windows==
==Windows==
Line 32: Line 28:
* I am getting the following error when I run <code>steamcmd</code>:<br/><blockquote><code>SteamUpdater: Error: Steam needs to be online to update. Please confirm your network connection and try again.<br/>[ 0%] !!! Fatal Error: Steam needs to be online to update. Please confirm your network connection and try again.</code></blockquote>'''Solution''': Make sure you have "automatically detect settings" selected in the network options tab of Internet Explorer.
* I am getting the following error when I run <code>steamcmd</code>:<br/><blockquote><code>SteamUpdater: Error: Steam needs to be online to update. Please confirm your network connection and try again.<br/>[ 0%] !!! Fatal Error: Steam needs to be online to update. Please confirm your network connection and try again.</code></blockquote>'''Solution''': Make sure you have "automatically detect settings" selected in the network options tab of Internet Explorer.
{{troubleshoot end}}
{{troubleshoot end}}
'''Source(s):'''  [http://downloadranking.com/support.php  Dedicated Server]


===Installing KillingFloor server===
===Installing KillingFloor server===
Line 48: Line 40:
* I am getting the following error when I run <code>app_update</code><br/><blockquote><code>ERROR! Failed to request AppInfo update, not online or not logged into Steam</code></blockquote>'''Solution''': Remove the Steam folder from root directory (rd /s c:\Steam).
* I am getting the following error when I run <code>app_update</code><br/><blockquote><code>ERROR! Failed to request AppInfo update, not online or not logged into Steam</code></blockquote>'''Solution''': Remove the Steam folder from root directory (rd /s c:\Steam).
{{troubleshoot end}}
{{troubleshoot end}}
'''Source(s):'''  [http://downloadranking.com/support.php  Dedicated Server]


===Automation===
===Automation===
Line 59: Line 47:
* Via direct use of command prompt
* Via direct use of command prompt
* Via use of a script
* Via use of a script
'''Source(s):'''  [http://downloadranking.com/support.php  Dedicated Server]


====Command prompt====
====Command prompt====
Line 71: Line 55:


This will first login to Steam and try to update game server.
This will first login to Steam and try to update game server.
'''Source(s):'''  [http://downloadranking.com/support.php  Dedicated Server]


====Using a script====
====Using a script====
Line 93: Line 73:


Place the script anywhere you want, just make sure to update the paths when invoking ''SteamCmd +runscript''.
Place the script anywhere you want, just make sure to update the paths when invoking ''SteamCmd +runscript''.
'''Source(s):'''  [http://downloadranking.com/support.php  Dedicated Server]


==Linux==
==Linux==
Line 117: Line 93:


{{troubleshoot end}}
{{troubleshoot end}}
'''Source(s):'''  [http://downloadranking.com/support.php  Dedicated Server]


===Installing KillingFloor server===
===Installing KillingFloor server===
Line 133: Line 105:
* I am getting the following error when I run <code>app_update</code><br/><blockquote><code>ERROR! Failed to request AppInfo update, not online or not logged into Steam</code></blockquote>'''Solution''': Remove the Steam folder from root directory (rm -rf ~/Steam).
* I am getting the following error when I run <code>app_update</code><br/><blockquote><code>ERROR! Failed to request AppInfo update, not online or not logged into Steam</code></blockquote>'''Solution''': Remove the Steam folder from root directory (rm -rf ~/Steam).
{{troubleshoot end}}
{{troubleshoot end}}
'''Source(s):'''  [http://downloadranking.com/support.php  Dedicated Server]


===Automation===
===Automation===
Line 144: Line 112:
* Via direct use of command prompt
* Via direct use of command prompt
* Via use of a script
* Via use of a script
'''Source(s):'''  [http://downloadranking.com/support.php  Dedicated Server]


====Command prompt====
====Command prompt====
Line 156: Line 120:


This will first login to Steam and try to update game server.
This will first login to Steam and try to update game server.
'''Source(s):'''  [http://downloadranking.com/support.php  Dedicated Server]


====Using a script====
====Using a script====
Line 182: Line 142:
* I am getting errors.<br/><br/>'''Solution''': On some Linux distribution you may recieve errors with not loading some .so files, so try this (alter paths):<blockquote><code>#!/bin/bash<br/>DIR=/home/unreal/steamcmd<br/>export LD_LIBRARY_PATH="${DIR}/linux32:$LD_LIBRARY_PATH"<br/>cd ${DIR}/linux32<br/>./steamcmd +runscript ${DIR}/update_kf_ds.txt</code></blockquote>
* I am getting errors.<br/><br/>'''Solution''': On some Linux distribution you may recieve errors with not loading some .so files, so try this (alter paths):<blockquote><code>#!/bin/bash<br/>DIR=/home/unreal/steamcmd<br/>export LD_LIBRARY_PATH="${DIR}/linux32:$LD_LIBRARY_PATH"<br/>cd ${DIR}/linux32<br/>./steamcmd +runscript ${DIR}/update_kf_ds.txt</code></blockquote>
{{troubleshoot end}}
{{troubleshoot end}}
'''Source(s):'''  [http://downloadranking.com/support.php  Dedicated Server]


==Installation paths==
==Installation paths==


You can specify installation directory in various ways:
You can specify installation directory in various ways:
'''Source(s):'''  [http://downloadranking.com/support.php  Dedicated Server]


===Windows===
===Windows===
Line 205: Line 157:
* In the Steam Command folder:
* In the Steam Command folder:
<blockquote><code>force_install_dir .\KFServer\</code></blockquote>
<blockquote><code>force_install_dir .\KFServer\</code></blockquote>
'''Source(s):'''  [http://downloadranking.com/support.php  Dedicated Server]


===Linux===
===Linux===
Line 220: Line 168:
* In the Steam Command folder:
* In the Steam Command folder:
<blockquote><code>force_install_dir ./killingfloor/</code></blockquote>
<blockquote><code>force_install_dir ./killingfloor/</code></blockquote>
'''Source(s):'''  [http://downloadranking.com/support.php  Dedicated Server]


==Beta versions==
==Beta versions==
Line 230: Line 174:
<blockquote><code>app_update 215350 -beta "branch name"</code></blockquote>
<blockquote><code>app_update 215350 -beta "branch name"</code></blockquote>
Where "branch name" is the current beta branch.  Currently there is not a live dedicated server beta branch.
Where "branch name" is the current beta branch.  Currently there is not a live dedicated server beta branch.
'''Source(s):'''  [http://downloadranking.com/support.php  Dedicated Server]


== Starting the server ==
== Starting the server ==
Line 244: Line 184:
Linux
Linux
<blockquote><code>./ucc-bin server KF-bioticslab.rom?game=KFmod.KFGameType?VACSecured=true?MaxPlayers=6 -nohomedir</code></blockquote>
<blockquote><code>./ucc-bin server KF-bioticslab.rom?game=KFmod.KFGameType?VACSecured=true?MaxPlayers=6 -nohomedir</code></blockquote>
'''Source(s):'''  [http://downloadranking.com/support.php  Dedicated Server]


==Server ports==
==Server ports==
Line 260: Line 196:


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.
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.
'''Source(s):'''  [http://downloadranking.com/support.php  Dedicated Server]


==Advanced admin settings==
==Advanced admin settings==


Admins looking to made changes from the default settings will find most options available in the Killingfloor.ini (or in WebAdmin once enabled in the Killingfloor.ini).
Admins looking to made changes from the default settings will find most options available in the Killingfloor.ini (or in WebAdmin once enabled in the Killingfloor.ini).
'''Source(s):'''  [http://downloadranking.com/support.php  Dedicated Server]


===Server name and passwords===
===Server name and passwords===
Line 278: Line 206:
GamePassword=<br/>
GamePassword=<br/>
Adminpassword=</code></blockquote>
Adminpassword=</code></blockquote>
'''Source(s):'''  [http://downloadranking.com/support.php  Dedicated Server]


===Difficulty and Length===
===Difficulty and Length===
Line 301: Line 225:
* 2 = Long - The longer 10 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).  
* 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).  
'''Source(s):'''  [http://downloadranking.com/support.php  Dedicated Server]


===Map voting===
===Map voting===
Line 310: Line 230:


Admins can can also configure how soon a map can be re-voted for with ''RepeatLimit''. The numerical value determined the number of previously played maps that should not be selectable. 0 - Map can be voted for right away. 4(Default) - Four maps must be played before the map becomes available again.
Admins can can also configure how soon a map can be re-voted for with ''RepeatLimit''. The numerical value determined the number of previously played maps that should not be selectable. 0 - Map can be voted for right away. 4(Default) - Four maps must be played before the map becomes available again.
'''Source(s):'''  [http://downloadranking.com/support.php  Dedicated Server]


===WebAdmin===
===WebAdmin===
Line 323: Line 239:


in their favorite web browser and logging in with the admin name (default: admin if not set) and password.
in their favorite web browser and logging in with the admin name (default: admin if not set) and password.
'''Source(s):'''  [http://downloadranking.com/support.php  Dedicated Server]


===In-game admin===
===In-game admin===
Line 336: Line 248:


[[Category:Killing Floor]]
[[Category:Killing Floor]]
'''Source(s):'''  [http://downloadranking.com/support.php  Dedicated Server]

Revision as of 02:20, 7 October 2013

About

SteamCMD Update Tool is a new method of updating game servers under Steam. All games are gradually switching to this method.

“There is some misunderstanding of the new steamcmd update tool happening here, let me just clear things up:


  • steamcmd is used for updating of dedicated servers using the new Steam Pipe content system, newly released games on Steam use this system and older games are being switched over.
  • Currently steamcmd requires a steam login to perform an update, we plan on adding a no-login mode in the future for free to download titles.
  • The login you use for steamcmd just needs rights to the game you are updating, so for the majority of dedicated server applications you CAN use a free account. So you could currently make an account per machine you wish to run the tool on. You do NOT need to buy the full game client to update if the dedicated server is free.
  • CS:GO is a special case because it is in closed beta, access to its dedicated server is limited to blessed accounts which is why you need a special login. If you are having problems running CS:GO servers and are in the beta email the team and ask for access to another account for your dedicated servers.


With Steam Pipe you should see an improvement in download speeds and more robust response during high demand. It uses HTTP as the content delivery method, so you could set up a local HTTP proxy to cache all steamcmd requests, making updates from multiple machines stay on your local network.”

– Alfred, Valve

Windows

Installing SteamCmd

  1. Go to https://store.steampowered.com/join/ and make new Steam account - no need for any games on it, this account will be needed later.
  2. Download the SteamCMD Update Tool - Windows Installer (MD5: 1aa2b3206b9626f20dface42b9bcf7f0) to the destination directory, for example c:\SteamCmd.

  3. Unpack it.
    Note: Do not extract the contents of the updater tool to the regular Steam Client folder or to a folder that has the older HLDSUpdateTool program.

  4. Run command prompt (start->run->cmd).
  5. Change to the install directory:

    cd /d c:\SteamCmd

  6. Run steamcmd to update itself:

    steamcmd

    Note: If you have a Steam running on the same machine you want to install server, then first of all close and exit Steam - you will avoid errors with SteamCmd thinking that another copy of Steam is already running.

    Note: Make sure you have "automatically detect settings" selected in the network options tab of Internet Explorer, else you may receive an error stating that you can't connect.

    You can see extra info by using the help command:

    help

    Notice that you are in Steam prompt, since there is Steam> in front of the line.

  7. Log in with your Steam account created at the beginning:

    login <username> <password>

    You should see something like this on successful login

    Logging in user <username> to Steam Public...Success.

  8. If you receive a Steam Guard error, check your e-mail for your access code and execute the following commands (you'll only need to do this once):

    set_steam_guard_code yourcodehere
    login <username> <password>

Troubleshooting

  • I am getting the following error when I run steamcmd:

    SteamUpdater: Error: Steam needs to be online to update. Please confirm your network connection and try again.
    [ 0%] !!! Fatal Error: Steam needs to be online to update. Please confirm your network connection and try again.

    Solution: Make sure you have "automatically detect settings" selected in the network options tab of Internet Explorer.

Installing KillingFloor server

  1. For now it is assumed that your game server will be in c:\KFServer\ (more about it in #Installation paths). You must tell SteamCmd to force install the game in that directory:

    force_install_dir c:\KFServer\

  2. Install game server. If you selected the directory that already contains the game, it will be updated:

    app_update 215350 validate

    Note: You must turn off the server before trying to update, otherwise it will fail.
    You should see progress of game server installation or update.

  3. Once finished, type quit at the Steam> prompt to properly log off of the Steam servers.


Now you may turn on the server.

Troubleshooting

  • I am getting the following error when I run app_update

    ERROR! Failed to request AppInfo update, not online or not logged into Steam

    Solution: Remove the Steam folder from root directory (rd /s c:\Steam).

Automation

There are two ways to automate SteamCmd:

  • Via direct use of command prompt
  • Via use of a script

Command prompt

Simply enter the commands directly into command prompt, for example:

SteamCmd +login user password +force_install_dir c:\KFServer\ +app_update 215350 validate

This will first login to Steam and try to update game server.

Using a script

Alternately, you can create a script that will perform a series of actions:

// update_kf_ds.txt
//
login user password
force_install_dir c:\KFServer\
app_update 215350 validate

exit

Now you can issue SteamCmd to execute the script:

SteamCmd +runscript C:\SteamCmd\update_kf_ds.txt

Place the script anywhere you want, just make sure to update the paths when invoking SteamCmd +runscript.

Linux

Installing SteamCmd

  1. Go to https://store.steampowered.com/join/ and make new Steam account - no need for any games on it, this account will be needed later.
  2. Create installation directory for SteamCmd, example home/unreal/steamcmd:

    mkdir -p /home/unreal/steamcmd
    cd /home/unreal/steamcmd

  3. Download the SteamCMD Update Tool - Linux Installer (MD5: b803e6adc6dd051039cbbfdd846d804d).
  4. Unpack it.

    tar zxf steamcmd.tar.gz

  5. Run the shell script:

    ./steam.sh

    This should make the ~/Steam directory and update the Steam framework.
    You can see extra info by using the help command:

    help

    Notice that you are in Steam prompt, since there is Steam> in front of the line.

  6. Log in with your Steam account created at the beginning:

    login <username> <password>

    You should see something like this on successful login

    Logging in user <username> to Steam Public...Success.

  7. If you receive a Steam Guard error, check your e-mail for your access code and execute the following commands (you'll only need to do this once):

    set_steam_guard_code yourcodehere
    login <username> <password>

Troubleshooting

  • On certain Linux distributions you will see error message that something cannot be found etc.

    Solution: Try this instead:

    STEAMEXE=steamcmd ./steam.sh

    If this still fails try:

    export LD_LIBRARY_PATH=/home/unreal/steamcmd/linux32/
    STEAMEXE=steamcmd ./steam.sh

  • On 64-bit systems you may get the following error:

    steamcmd: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

    Solution: Install lib32stdc++6:
    • Debian-based systems:

      apt-get install lib32stdc++6

    • Red Hat-based systems:

      yum install libstdc++ libstdc++-4.4.6-4.el6.i686

Installing KillingFloor server

  1. For now it is assumed that your game server will be in /home/unreal/killingfloor (more about it in #Installation paths). You must tell SteamCmd to force install the game in that directory:

    force_install_dir /home/unreal/killingfloor

  2. Install game server. If you selected the directory that already contains the game, it will be updated:

    app_update 215360 validate

    Note: You must turn off the server before trying to update, otherwise it will fail.
    You should see progress of game server installation or update.

  3. Once finished, type quit at the Steam> prompt to properly log off of the Steam servers.


Now you may turn on the server.

Troubleshooting

  • I am getting the following error when I run app_update

    ERROR! Failed to request AppInfo update, not online or not logged into Steam

    Solution: Remove the Steam folder from root directory (rm -rf ~/Steam).

Automation

There are two ways to automate SteamCmd:

  • Via direct use of command prompt
  • Via use of a script

Command prompt

Simply enter the commands directly into command prompt, for example:

SteamCmd +login user password +force_install_dir /home/unreal/killingfloor +app_update 215360 validate

This will first login to Steam and try to update game server.

Using a script

Alternately, you can create a script that will perform a series of actions:

// update_kf_ds.txt
//
login user password
force_install_dir /home/unreal/killingfloor
app_update 215360 validate

exit

Now you can issue SteamCmd to execute the script:

SteamCmd +runscript /home/unreal/killingfloor/update_kf_ds.txt

Place the script anywhere you want, just make sure to update the paths when invoking SteamCmd +runscript.

Troubleshooting

  • I am getting errors.

    Solution: On some Linux distribution you may recieve errors with not loading some .so files, so try this (alter paths):

    #!/bin/bash
    DIR=/home/unreal/steamcmd
    export LD_LIBRARY_PATH="${DIR}/linux32:$LD_LIBRARY_PATH"
    cd ${DIR}/linux32
    ./steamcmd +runscript ${DIR}/update_kf_ds.txt

Installation paths

You can specify installation directory in various ways:

Windows

  • Absolute Path:

force_install_dir c:\KFServer\

  • Up one folder:

force_install_dir ..\KFServer\

  • In the Steam Command folder:

force_install_dir .\KFServer\

Linux

  • Absolute Path:

force_install_dir /home/unreal/killingfloor/

  • Up one folder:

force_install_dir ../killingfloor/

  • In the Steam Command folder:

force_install_dir ./killingfloor/

Beta versions

If Tripwire is currently running a beta update of the dedicated server files:

app_update 215350 -beta "branch name"

Where "branch name" is the current beta branch. Currently there is not a live dedicated server beta branch.

Starting the server

Use the batch file downloaded with the server or create your own. To launch a server with default settings on BioticsLab use the following batch script:

Windows

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

Linux

./ucc-bin server KF-bioticslab.rom?game=KFmod.KFGameType?VACSecured=true?MaxPlayers=6 -nohomedir

Server ports

The following list of ports need to be open for a server to run successfully:

  • 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.

Advanced admin settings

Admins looking to made changes from the default settings will find most options available in the Killingfloor.ini (or in WebAdmin once enabled in the Killingfloor.ini).

Server name and passwords

ServerName=Killing Floor Server

GamePassword=

Adminpassword=

Difficulty and Length

GameDifficulty=

Valid inputs:

  • 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

KFGameLength=

Valid inputs:

  • 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).

Map voting

In the [xVoting.XvotingHandler] section of the killingfloor.ini admins need to set bMapVote to true in order to enable map voting.

Admins can can also configure how soon a map can be re-voted for with RepeatLimit. The numerical value determined the number of previously played maps that should not be selectable. 0 - Map can be voted for right away. 4(Default) - Four maps must be played before the map becomes available again.

WebAdmin

To enable WebAdmin, admins need to locate the [UWeb.WebServer] section of the Killingfloor.ini and set bEnable to true.

The default webadmin port is 8075 and once enabled Admins can log into it by navigating to

YOUR_SERVER_IP:8075

in their favorite web browser and logging in with the admin name (default: admin if not set) and password.

In-game admin

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

adminlogin <yourpassword>

This will log you in as admin and will give you access to admin commands such as map, kick, and ban.