Dedicated Server (KillingFloor): Difference between revisions

From Tripwire Interactive Wiki
Jump to navigation Jump to search
(total rewrite, split to separate sections for windows and linux, otherwise it was PAIN to read.)
Line 1: Line 1:
== Downloading and Running the SteamCMD Update Tool ==
= About =
SteamCMD Update Tool is a new mwthod of updating game servers under Steam, all games are switching to this method, some of them are faster, like KillingFloor.


''There is some mis-understanding 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 setup a local HTTP proxy to cache all steamcmd requests, making updates from multiple machines stay on your local network.
- Alfred''
{{Notice
|title=WARNING
|text= 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.
}}
=Windows=
==Installing SteamCmd ==
# First, go to http://store.steampowered.com and make new Steam Account - no need for any games on it, it will be needed later.
# Download the SteamCMD Update Tool
#* [http://blog.counter-strike.net/wp-content/uploads//2012/04/steamcmd.zip Windows Installer]
MD5SUM
<code><pre>
1aa2b3206b9626f20dface42b9bcf7f0 *steamcmd.zip
</pre></code>
# Download the steamcmd.zip to the destinatnnion directory, for example c:\SteamCmd
# Unpack it.
# Run command prompt (menu Star, Run, cmd)
# Change to the install directory
cd /d c:\SteamCmd
# Run steamcmd to update itself:
steamcmd
# You can see extra info by using help command
help
# Notice that you are in Steam prompt, there is ''Steam>'' in front of the line
# Log in with your Steam Account created on the beginning
login username password
You should see something like this o successful login
Logging in user 'username ' to Steam Public...Success.
# 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
==Installing KillingFloor server==
# Let's say your game server will be in c:\KFServer\ (more about it in[[#force_install_dir Paths]]) , so we must say to the SteamCmd to force install game in that directory, remember, you're still in Steam prompt
force_install_dir c:\KFServer\
#Now we install game server, if you selected the directory that already contains the game, it will be updated:
app_update 215350 validate
{{Notice
|title=Error recieved
|text=If you encountered "ERROR! Failed to request AppInfo update, not online or not logged into Steam" you must remove Steam folder from root directory (rm -rf Steam)
}}
You should see progress of game server installation or update.
# Once finished, type '''quit''' at the '''Steam>''' prompt to properly log off of the Steam servers.
==Automation==
To do.
=Linux=
==Installing SteamCmd ==
# First, go to http://store.steampowered.com and make new Steam Account - no need for any games on it, , it will be needed later.
# Create installation dir just for new SteamCMD, example: /home/unreal/steamcmd
mkdir -p /home/unreal/steamcmd
cd /home/unreal/steamcmd
# Download the SteamCMD Update Tool:
# Download the SteamCMD Update Tool:
#* [http://blog.counter-strike.net/wp-content/uploads//2012/04/steamcmd.zip Windows Installer]
#* [http://blog.counter-strike.net/wp-content/uploads//2012/04/steamcmd.tar.gz Linux Installer]
#* [http://blog.counter-strike.net/wp-content/uploads//2012/04/steamcmd.tar.gz Linux Installer]
# Extract the contents to a directory (Windows example: C:\SteamCmd\).
wget http://blog.counter-strike.net/wp-content/uploads//2012/04/steamcmd.tar.gz
#: ''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.''
# Optional: check if the file was downloaded correctly by comparing MD5 Checksum
# Launch SteamCmd
md5sum steamcmd.tar.gz
:: NOTE: To automate this process for future updates, see [[#Automating SteamCmd]].
It should be:
## Open a command prompt in that directory and start SteamCmd
<code><pre>
##* Windows:  Type '''steamcmd'''
b803e6adc6dd051039cbbfdd846d804d *steamcmd.tar.gz
#:: ''The program will automatically update and enter you in to a '''Steam>''' promptType '''help''' for more information.''
</pre></code>
# Log in with your Steam Account.  We recommend server admins set up a server steam account for this process.
# Unpack it
:: ''You must log out of the regular Steam client in order to properly log in to SteamCMD Update Tool (if you use your personal steam account)
tar zxf steamcmd.tar.gz -
 
# run the command
./steam.sh
Notice, it should make ~/Steam directory
 
# You can see extra infor by using help command
help
# Notice that you are in Steam prompt, there is ''Steam>'' in front of the line
On certain Linux distributions you will see error message that something cannot be found etc, then try this instead
STEAMEXE=steamcmd ./steam.sh
 
It should update the Steam framework, then you should be able to run it in order to install games.
 
# You can see extra info by using help command
  help
# Notice that you are in Steam prompt, there is ''Steam>'' in front of the line
# Log in with your Steam Account created on the beginning
  login username password
  login username password
: 4a. 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):
You should see something like this o successful login
Logging in user 'username ' to Steam Public...Success.
# 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
  set_steam_guard_code yourcodehere
  login username password
  login username password
: 5. You should see a message stating that you have successfully logged in with your account.
==Installing KillingFloor server==
# Let's say your game server will be in c:\KFServer\ (more about it in[[#force_install_dir Paths]]) , so we must say to the SteamCmd to force install game in that directory, remember, you're still in Steam prompt
  force_install_dir c:\KFServer\
#Now we install game server, if you selected the directory that already contains the game, it will be updated:
app_update 215360 validate
 
{{Notice
|title=Error recieved
|text=If you encountered "ERROR! Failed to request AppInfo update, not online or not logged into Steam" you must remove Steam folder from root directory (rm -rf Steam)
}}


=== Downloading the Killing Floor Dedicated Server ===
You should see progress of game server installation or update.
: This describes the process of updating the KF dedicated server application. These steps are required every time the game is updated. To automate this process for future updates, see [[#Automating SteamCmd]].
# Once finished, type '''quit''' at the '''Steam>''' prompt to properly log off of the Steam servers.


: 1. If you aren't proceeding from the previous set of instructions, first launch '''SteamCmd'''.
If you are a Linux user, use the following command in the terminal: '''STEAMEXE=steamcmd ./steam.sh'''


: 2. At the '''Steam>''' prompt, set your RO2 Dedicated Server install directory.  
==Automation==
To do.


: Examples:
=force_install_dir Paths==
: Absolute Path:
You can specify installation directory in various ways:
*Absolute Path:
  force_install_dir c:\KFServer\
  force_install_dir c:\KFServer\


: Up one folder:
*Up one folder:
  force_install_dir ..\KFServer\
  force_install_dir ..\KFServer\


: In the Steam Command folder:
*In the Steam Command folder:
  force_install_dir .\KFServer\
  force_install_dir .\KFServer\


: 3. Install or Update KF.
: If this is your first time installing or if you are trying to verify the integrity of the server files:
app_update 215350 validate
'''Important Note''': If you are a linux server replace '''215350''' with '''215360''' in all commands
If you encountered "ERROR! Failed to request AppInfo update, not online or not logged into Steam"
you must remove Steam folder from root directory (rm -rf Steam).
: If this is simply an update to an existing KF dedicated server:
  app_update 215350
  app_update 215350


: If Tripwire is currently running a beta update of the dedicated server files:
=Beta versions=
If Tripwire is currently running a beta update of the dedicated server files:
  app_update 215350 -beta "branch name"
  app_update 215350 -beta "branch name"
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.


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


=== Automating SteamCmd ===
=== Automating SteamCmd ===

Revision as of 08:03, 8 July 2012

About

SteamCMD Update Tool is a new mwthod of updating game servers under Steam, all games are switching to this method, some of them are faster, like KillingFloor.

There is some mis-understanding 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 setup a local HTTP proxy to cache all steamcmd requests, making updates from multiple machines stay on your local network.

- Alfred

Notice: WARNING

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.


Windows

Installing SteamCmd

  1. First, go to http://store.steampowered.com and make new Steam Account - no need for any games on it, it will be needed later.
  2. Download the SteamCMD Update Tool

MD5SUM

1aa2b3206b9626f20dface42b9bcf7f0 *steamcmd.zip
  1. Download the steamcmd.zip to the destinatnnion directory, for example c:\SteamCmd
  2. Unpack it.
  3. Run command prompt (menu Star, Run, cmd)
  4. Change to the install directory
cd /d c:\SteamCmd
  1. Run steamcmd to update itself:
steamcmd
  1. You can see extra info by using help command
help
  1. Notice that you are in Steam prompt, there is Steam> in front of the line
  2. Log in with your Steam Account created on the beginning
login username password

You should see something like this o successful login

Logging in user 'username ' to Steam Public...Success.
  1. 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

Installing KillingFloor server

  1. Let's say your game server will be in c:\KFServer\ (more about it in#force_install_dir Paths) , so we must say to the SteamCmd to force install game in that directory, remember, you're still in Steam prompt
force_install_dir c:\KFServer\
  1. Now we install game server, if you selected the directory that already contains the game, it will be updated:
app_update 215350 validate
Notice: Error recieved

If you encountered "ERROR! Failed to request AppInfo update, not online or not logged into Steam" you must remove Steam folder from root directory (rm -rf Steam)


You should see progress of game server installation or update.

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

Automation

To do.

Linux

Installing SteamCmd

  1. First, go to http://store.steampowered.com and make new Steam Account - no need for any games on it, , it will be needed later.
  2. Create installation dir just for new SteamCMD, example: /home/unreal/steamcmd
mkdir -p /home/unreal/steamcmd
cd /home/unreal/steamcmd
  1. Download the SteamCMD Update Tool:
wget http://blog.counter-strike.net/wp-content/uploads//2012/04/steamcmd.tar.gz
  1. Optional: check if the file was downloaded correctly by comparing MD5 Checksum
md5sum steamcmd.tar.gz

It should be:

b803e6adc6dd051039cbbfdd846d804d *steamcmd.tar.gz
  1. Unpack it
tar zxf steamcmd.tar.gz -
  1. run the command
./steam.sh

Notice, it should make ~/Steam directory

  1. You can see extra infor by using help command
help
  1. Notice that you are in Steam prompt, there is Steam> in front of the line

On certain Linux distributions you will see error message that something cannot be found etc, then try this instead

STEAMEXE=steamcmd ./steam.sh

It should update the Steam framework, then you should be able to run it in order to install games.

  1. You can see extra info by using help command
help
  1. Notice that you are in Steam prompt, there is Steam> in front of the line
  2. Log in with your Steam Account created on the beginning
login username password

You should see something like this o successful login

Logging in user 'username ' to Steam Public...Success.
  1. 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

Installing KillingFloor server

  1. Let's say your game server will be in c:\KFServer\ (more about it in#force_install_dir Paths) , so we must say to the SteamCmd to force install game in that directory, remember, you're still in Steam prompt
force_install_dir c:\KFServer\
  1. Now we install game server, if you selected the directory that already contains the game, it will be updated:
app_update 215360 validate
Notice: Error recieved

If you encountered "ERROR! Failed to request AppInfo update, not online or not logged into Steam" you must remove Steam folder from root directory (rm -rf Steam)


You should see progress of game server installation or update.

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


Automation

To do.

force_install_dir Paths=

You can specify installation directory in various ways:

  • Absolute Path:
force_install_dir c:\KFServer\
  • Up one folder:
force_install_dir ..\KFServer\
  • In the Steam Command folder:
force_install_dir .\KFServer\
app_update 215350

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.


Automating SteamCmd

There are two ways to automate SteamCmd.

1. Add commands to the command line. Example:
SteamCmd +login user password +force_install_dir ./kf_ds +app_update 215350 validate
2. Create a script.
a. Put your SteamCmd commands in a text file. Example:
// update_kf_ds.txt
//
login user password
force_install_dir ./kfserver
app_update 215350 validate
exit
b. Run SteamCmd with the +runscript option. Example:
SteamCmd +runscript kf_ds.txt

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:

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