RO Dedicated Server: Difference between revisions
(Created page with "= About = SteamCMD Update Tool is a new method of updating game servers under Steam, all games are switching to this method, some of them are faster, like Red Orchestra. ''Th...") |
|||
Line 56: | Line 56: | ||
* Let's say your game server will be in c:\ | * Let's say your game server will be in c:\ROServer\ (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:\ | force_install_dir c:\ROServer\ | ||
* Now we install game server, if you selected the directory that already contains the game, it will be updated: | * Now we install game server, if you selected the directory that already contains the game, it will be updated: | ||
app_update 215350 validate | app_update 215350 validate |
Revision as of 15:45, 9 November 2012
About
SteamCMD Update Tool is a new method of updating game servers under Steam, all games are switching to this method, some of them are faster, like Red Orchestra.
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
- First, 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.
- 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.
- Download the SteamCMD Update Tool - Windows Installer
MD5SUM
1aa2b3206b9626f20dface42b9bcf7f0 *steamcmd.zip
- Download the steamcmd.zip to the destinatnnion directory, for example c:\SteamCmd
- Unpack it.
- Run command prompt (menu Start, 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 Red Orchestra server
Notice: Turn off server when trying to update it |
Remember to turn off game server when trying to run game server update - otherwise it will fail. |
- Let's say your game server will be in c:\ROServer\ (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:\ROServer\
- 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 (rd /s c:\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.
- Now you may turn on server again.
Automation
There are two ways to automate SteamCmd:
- all set in command prompt
- use script
All in command prompt
Add commands to the command line. Example:
SteamCmd +login user password +force_install_dir c:\KFServer\ +app_update 215350 validate
It should first login to steam and try to update game server.
Use script
- Create a script that will be executed by SteamCmd, it will be a simple .txt file, in C:\SteamCmd\update_kf_ds.txt
// update_kf_ds.txt // login user password force_install_dir c:\KFServer\ app_update 215350 validate exit
- Now you can issue SteamCmd to execute script:
SteamCmd +runscript C:\SteamCmd\update_kf_ds.txt
- you can place script file anywhere you want, just make sure to update the paths when invoking SteamCmd +runscript.
Linux
Installing SteamCmd
- First, 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.
- 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 Linux Installer
wget http://blog.counter-strike.net/wp-content/uploads//2012/04/steamcmd.tar.gz
- Optional: check if the file was downloaded correctly by comparing MD5 Checksum
md5sum steamcmd.tar.gz
It should be:
b803e6adc6dd051039cbbfdd846d804d *steamcmd.tar.gz
- Unpack it
tar zxf steamcmd.tar.gz
- run the command
./steam.sh
Notice, it should make ~/Steam directory
Notice: Errors? |
On certain Linux distributions you will see error message that something cannot be found etc, then try this instead STEAMEXE=steamcmd ./steam.sh if this still fails try: export LD_LIBRARY_PATH=/home/unreal/steamcmd/linux32/ STEAMEXE=steamcmd ./steam.sh |
- For 64-bit Systems:
you may get the following error error
steamcmd: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
To fix this install lib32stdc++6
- For Debian based systems
apt-get install lib32stdc++6
- For Red Hat based systems
yum install libstdc++ libstdc++-4.4.6-4.el6.i686
- 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
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
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 Red Orchestra server
Notice: Turn off server when trying to update it |
Remember to turn off game server when trying to run game server update - otherwise it will fail. |
- Let's say your game server will be in /home/unreal/RedOrchestra (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 /home/unreal/RedOrchestra
- 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.
- Once finished, type quit at the Steam> prompt to properly log off of the Steam servers.
- You can now turn on game server back online.
Automation
There are two ways to automate SteamCmd:
- all set in command prompt
- use script
All in command prompt
Add commands to the command line. Example:
SteamCmd +login user password +force_install_dir /home/unreal/RedOrchestra +app_update 223250 validate
It should first login to steam and try to update game server.
Use script
- Create a script that will be executed by SteamCmd, it will be a simple .txt file, in /home/unreal/steamcmd/update_ro_ds.txt
// update_kf_ds.txt // login user password force_install_dir /home/unreal/redorchestra app_update 223250 validate exit
- Now you can issue SteamCmd to execute script:
SteamCmd +runscript /home/unreal/redorchestra/update_ro_ds.txt
- you can place script file anywhere you want, just make sure to update the paths when invoking SteamCmd +runscript.
Notice: Errors |
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 Save above lines as /home/unreal/steamcmd/kf_update.sh, chmod +x /home/unreal/steamcmd/*.sh and you can use it for example in scripts or cron. |
force_install_dir Paths
You can specify installation directory in various ways:
Windows
- Absolute Path:
force_install_dir c:\ROServer\
- Up one folder:
force_install_dir ..\ROServer\
- In the Steam Command folder:
force_install_dir .\ROServer\
Linux
- Absolute Path:
force_install_dir /home/unreal/redorchestra/
- Up one folder:
force_install_dir ../redorchestra/
- In the Steam Command folder:
force_install_dir ./redorchestra/
Beta versions
If Tripwire is currently running a beta update of the dedicated server files:
app_update 223240 -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:
ucc server RO-Barashka.rom?game=ROGame.ROTeamGame?VACSecured=true?
Server Ports
The following list of ports need to be open for a server to run successfully:
7757 UDP/IP (Game Port) 7758 UDP/IP (Query Port) 7767 UDP/IP (GameSpy Query Port) 28902 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) 20610 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=Red Orchestra Server GamePassword= Adminpassword=
Map Voting
In the [xVoting.XvotingHandler] section of the RedOrchestra.ini admins need to set:
bMapVote=
to bMapVote=True
Admins can can also configure the amount of times a map can be re-voted in a row with the:
RepeatLimit=
line. This line accepts numerical values such as 0 (no repeats) and 4 (the default, and 4 repeats).
Web Admin
To enable Web Admin, admins need to locate the [UWeb.WebServer] section of the Killingfloor.ini and set
bEnable=False
to
bEnable=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>