RO2 Dedicated Server: Difference between revisions

From Tripwire Interactive Wiki
Jump to navigation Jump to search
 
(88 intermediate revisions by 5 users not shown)
Line 10: Line 10:
##* Windows:  Type '''steamcmd'''
##* Windows:  Type '''steamcmd'''
#:: ''The program will automatically update and enter you in to a '''Steam>''' prompt.  Type '''help''' for more information.''
#:: ''The program will automatically update and enter you in to a '''Steam>''' prompt.  Type '''help''' for more information.''
# Log in with your CS:GO Steam Account
# Log in with your Steam Account.  We recommend server admins set up a server steam account for this process.
:: ''You must log out of the regular Steam client in order to properly log in to SteamCMD Update Tool
:: ''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)
  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):
: 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):
Line 18: Line 18:
: 5.  You should see a message stating that you have successfully logged in with your account.
: 5.  You should see a message stating that you have successfully logged in with your account.


== Downloading the Red Orchestra 2: Heroes of Stalingrad Dedicated Server ==
=== Downloading the Red Orchestra 2: Heroes of Stalingrad Dedicated Server ===
: This describes the process of updating the CS:GO dedicated server application. These steps are required every time the game is updated. To automate this process for future updates, see [[#Automating SteamCmd]].
: This describes the process of updating the RO2 dedicated server application. These steps are required every time the game is updated. To automate this process for future updates, see [[#Automating SteamCmd]].


: 1. If you aren't proceeding from the previous set of instructions, first launch '''SteamCmd'''.
: 1. If you aren't proceeding from the previous set of instructions, first launch '''SteamCmd'''.


: 2. At the '''Steam>''' prompt, set your CS:GO Dedicated Server install directory.  
: 2. At the '''Steam>''' prompt, set your RO2 Dedicated Server install directory.  


: Examples:
: Examples:
Line 41: Line 41:
: If this is simply an update to an existing RO2 dedicated server:
: If this is simply an update to an existing RO2 dedicated server:
  app_update 212542
  app_update 212542
: If Tripwire is currently running a beta update of the dedicated server files:
app_update 212542 -beta "branch name"
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.
: 4. Once finished, type '''quit''' at the '''Steam>''' prompt to properly log off of the Steam servers.
=== Automating SteamCmd ===
There are two ways to automate SteamCmd.
: 1. Add commands to the command line. Example:
SteamCmd +login user password +force_install_dir ./ro2_ds +app_update 212542 validate
: 2. Create a script.
:: a. Put your SteamCmd commands in a text file. Example:
// update_ro2_ds.txt
//
login user password
force_install_dir ./ro2server
app_update 212542 validate
exit
:: b. Run SteamCmd with the +runscript option. Example:
SteamCmd +runscript ro2_ds.txt


== Starting the Server ==
== Starting the Server ==


Classic Casual:
Use the batch file downloaded with the server or create your own.  To launch a server with default settings on Territory Apartments use the following batch script:
start .\Binaries\win32\rogame te-Apartments?minplayers=0?maxplayers=32? -seekfreeloadingserver
start .\Binaries\win32\rogame te-Apartments?minplayers=0?maxplayers=32? -seekfreeloadingserver


Temporary RS2: Vietnam example batch:
start .\Binaries\win64\vngame vnsu-SongBe


= Advanced Configuration =
= Advanced Configuration =


Configuring your new Red Orchestra 2: Heroes of Stalingrad server differs from what server administrators have seen with previous dedicated serversThere are some primary differences, which we'll cover here.
Configuring your new Red Orchestra 2: Heroes of Stalingrad server will be very similar to those who have set up any Unreal Engine 3 server (such as UT 3)However to those who are from other engines such as IdTech and Source there are many differences, which we'll cover here.  Those who are also looking for specific sever config settings will likely find what they are looking for below.


=== rogame.ini ===
=== rogame.ini ===
Line 62: Line 90:
First admins will want to configure this file to update the WebAdmin, server password and other settings that you do have access to.  Here is an example of a very simple ROGame.ini settings admins will want to change first:
First admins will want to configure this file to update the WebAdmin, server password and other settings that you do have access to.  Here is an example of a very simple ROGame.ini settings admins will want to change first:


: [Engine.AccessControl]:
=== Server Passwords ===
AdminPassword= "thisisapassword111" // Admins can set any alpha numeric set of characters to create the password
 
  GamePassword= "thisisapassword222" // Admins can set any alpha numeric set of characters to create the password
: [Engine.AccessControl] in ROGame.ini:
{| class="wikitable"
!style="width:15%"|Option Name
!style="width:20%"|Valid Entries
!style="width:65%"|What this option controls
|-
|AdminPassword
|Alpha numeric character combinations. Example: Abd32Sdn53
|This is the master server administrator password
|-
|GamePassword
|Alpha numeric character combinations. Example: cl4ng4m3
|This sets a password players will need to enter to join the server
|}
 
=== Server Name and Admin Contact ===
: [Engine.GameReplicationInfo] in ROGame.ini:
{| class="wikitable"
!style="width:15%"|Option Name
!style="width:20%"|Valid Entries
!style="width:65%"|What this option controls
|-
|ServerName
|Alpha numeric character combinations. Example: Yoshi's House of 32 Compressed Pancakes
|This is the displayed server name to all players in the server and the server browser
|-
|AdminContact
|Alpha numeric character combinations. Example: [email protected]
|This is the displayed admin contact in the server browser
|}
 
=== General Global Game Settings ===
: [ROGame.ROGameInfo] in ROGame.ini:
{| class="wikitable"
!style="width:15%"|Option Name
!style="width:20%"|Valid Entries
!style="width:65%"|What this option controls
|-
|RoundStartScreenTime
|Numbers in seconds. Example: 8 // This is 8 seconds
|The time at which players will spawn into the game before pre-start time ends.  Valid entries are in seconds.
|-
|bLANServer
|True or False
|Sets the server to broadcast to the internet if set to False.  Sets the server to be local network only if set to True.
|-
|}
 
==== Team Balance ====
{| class="wikitable"
!style="width:15%"|Option Name
!style="width:20%"|Valid Entries
!style="width:65%"|What this option controls
|-
|bBalanceTeams
|True or False
|True turns on auto-team balance functionality
|-
|bAutoBalanceTeamsOnDeath
|True or False
|Sets the server to auto-team balance dead players only.  True turns this on. Only works if bBalanceTeams=True
|-
|MaxTeamDifference
|Numerical values between 1 and 63.      Example: 2
|Sets the maximum number of players the teams can be unbalanced by. Only works if bBalanceTeams=True
|-
|}
 
==== Game Rounds, Ready Up System and AI Difficulty ====
{| class="wikitable"
!style="width:15%"|Option Name
!style="width:20%"|Valid Entries
!style="width:65%"|What this option controls
|-
|RoundLimit
|Numerical values between 0 and X
|Sets the amount of rounds in a match.  This is how many times a map will be played before moving on //  0 = Use the game mode setting, 1 = 1 round, 2 = 2 rounds, 3 and above = Best out of X.
|-
|EndOfMapDelay
|Numerical value in seconds.  Example: 45
|Sets the amount of time after a match before the server loads the next map
|-
|GameDifficulty
|Numerical values between 1 and 5.      Example: 2
|Sets the AI difficulty level in the server. At higher values the AI will be more accurate
|-
|bUseReadySystem
|True or False
|Sets the server to use the Ready Up system if set to True.  This means players will need to ready up before the first round will play
|-
|bAllPlayersMustReadyUp
|True or False
|Sets if all players must be readied up or only a majority before the game will start
|}
 
==== Hero Count and Battlefield Commissions ====
{| class="wikitable"
!style="width:15%"|Option Name
!style="width:20%"|Valid Entries
!style="width:65%"|What this option controls
|-
|MaxHeroes16Player
|Numerical values between 0 and X. Example 2
|Sets the amount of Hero slots allowed per team in a 16 max player sized server
|-
|MaxHeroes32Player
|Numerical values between 0 and X. Example 3
|Sets the amount of Hero slots allowed per team in a 32 max player sized server
|-
|MaxHeroes64Player
|Numerical values between 0 and X. Example 5
|Sets the amount of Hero slots allowed per team in a 64 max player sized server
|-
|bEnableBattlefieldCommissions
|True or False
|Sets the ability for players to receive in game battlefield commissions for doing well in a round. This allows them to select an already filled role
|}
 
==== In Game Admin Messages to Players ====
{| class="wikitable"
!style="width:15%"|Option Name
!style="width:20%"|Valid Entries
!style="width:65%"|What this option controls
|-
|ServerAdvertisementMessages
|String of text.  Example: Server Rules: No TKing, have fun!
|Sets an admin message to be printed to all players in the server.  It shows up in the text chat area
|-
|ServerAdvertisementInterval
|Numerical value in seconds.  Example: 60
|Sets the rate at which the Server Advertisement Message is sent to players
|}
 
==== Minimum Amount of Players For a Round to Start ====
{| class="wikitable"
!style="width:15%"|Option Name
!style="width:20%"|Valid Entries
!style="width:65%"|What this option controls
|-
|MinNetPlayers
|Numerical values between 1 and 64. Example: 1
|Sets the amount of players needed on the server for a round to start
|}
 
==== Friendly Fire Settings ====
{| class="wikitable"
!style="width:15%"|Option Name
!style="width:20%"|Valid Entries
!style="width:65%"|What this option controls
|-
|FriendlyFireKillLimit
|Numerical values between 1 and X.  Example: 6
|Sets the amount of TK's a player can have before the server will punish the player
|-
|FriendlyFireDamageLimit
|Numerical values between 1 and X.  Example: 800
|Sets the amount of friendly fire damage (non TK) a player can have before the server will punish the player
|-
|FriendlyFireScale
|Numerical values between 0 and 1.  Example: 1
|Sets the global friendly fire damage scale for small arms to the player hit by friendly fire.  0 is no damage, .5 is half damage and 1 is full damage
|-
|FriendlyFireArtilleryScale
|Numerical values between 0 and 1.  Example: 1
|Sets the artillery friendly fire damage scale to the player hit by friendly fire.  0 is no damage, .5 is half damage and 1 is full damage
|-
|FriendlyFireExplosiveScale
|Numerical values between 0 and 1.  Example: 1
|Sets the grenade/explosive friendly fire damage scale to the player hit by friendly fire.  0 is no damage, .5 is half damage and 1 is full damage
|-
|FriendlyFireArtilleryPunishScale
|Numerical values between 0 and 1.  Example: 0.1
|Sets how much damage a player who has injured or killed teammates with artillery receives as on his limit before he is punished
|-
|FriendlyFireExplosivePunishScale
|Numerical values between 0 and 1.  Example: 0.1
|Sets how much damage a player who has injured or killed teammates with grenades/explosives receives as on his limit before he is punished
|-
|FriendlyFirePunishment
|Numerical values between 0 and 2.  Example: 1
|Sets the punishment for players who have exceeded the friendly fire or damage limits.  0 = kick, 1 = session ban, 2 = perm ban
|-
|bEnableTeamKillForgiving
|True or False
|Sets if players are allowed to forgive TK's in game by typing "NP" after a TK in the player chat
|}
 
==== Visability of Friend Player Names ====
{| class="wikitable"
!style="width:15%"|Option Name
!style="width:20%"|Valid Entries
!style="width:65%"|What this option controls
|-
|FriendlyPlayerNames
|Numerical Values between 0 and 2.  Example: 2
|Sets the conditions on when friendly player names are visible to players. 0 = Never, 1 = within 10 meters, 2= always
|}
 
==== Punkbuster Levels of Security ====
{| class="wikitable"
!style="width:15%"|Option Name
!style="width:20%"|Valid Entries
!style="width:65%"|What this option controls
|-
|PunkbusterServerProfile
|Numerical Values between 0 and 3.  Example: 2
|Sets the level of Punkbuster security.  0= Off, 1 = Server screenshots only, 2 = Standard security checks on players, 3 = Stringent security checks on players - This level may impact player performance.
|}
 
==== Voting ====
{| class="wikitable"
!style="width:15%"|Option Name
!style="width:20%"|Valid Entries
!style="width:65%"|What this option controls
|-
|bEnableMapVoting
|True or False
|Sets if players can vote for the next map at the end of a match. If not, map cycle will auto rotate.
|-
|MapVotingTime
|Numerical value in seconds.  Example: 30
|Sets the amount of time after a match is done that players have to vote for the next map if map voting is enabled.
|-
|bEnableKickVoting
|True or False
|Sets if players can kick vote players from the server
|-
|bAnonymousVoteKicking
|True or False
|Sets if players can kick vote anonymously if kick voting is enabled
|-
|bEnableKickVoting
|True or False
|Sets if players can kick vote players from the server.
|-
|KickVotingTime
|Numerical value in seconds.  Example: 30
|Sets the amount of time a kick vote has a chance to succeed in before it will fail without the needed amount of votes.
|-
|bEnableRoleVoting
|True or False
|Sets if players can kick vote players from roles such as sniper, squad leader and commander for poor performance
|-
|RoleVotingTime
|Numerical value in seconds.  Example: 30
|Sets the amount of time a role vote has a chance to succeed in before it will fail without the needed amount of votes.
|-
|bUseScoreAsVoteWeight
|True or False
|Sets if players with higher scores will have multiple votes counted based on their score
|-
|bAllowMidGameVoting
|True or False
|Sets if map voting can happen mid match instead of just at the end
|-
|MidGameVotingPercentage
|Numerical value between 1 and 100. Example: 50
|Sets the percentage needed for a successful vote
|-
|EndGameVotingPercentage
|Numerical value between 1 and 100. Example: 50
|Sets the percentage needed for a successful vote
|-
|MapRepeatLimit
|Numerical value between 0 and X. Example: 1
|Sets the amount of times a map be voted back to before players will no longer be able to select it
|}
 
==== Communication ====
{| class="wikitable"
!style="width:15%"|Option Name
!style="width:20%"|Valid Entries
!style="width:65%"|What this option controls
|-
|bEnableVOIP
|True or False
|Sets if voice over IP is enabled on the server
|-
|bDisablePublicVOIPChannel
|True or False
|Sets if the public voip channel is enabled
|-
|bDisablePublicTextChat
|True or False
|Sets if the public text chat is enabled
|-
|bEnableDeadToDeadVOIP
|True or False
|Sets dead players can talk to each other
|-
|bPartitionSpectators
|True or False
|Sets spectators having the ability to talk and chat with non spectators
|-
|bPositional3DVOIP
|True or False
|This is a non functional setting
|-
|bPositional3DVOIPAllHear
|True or False
|This is a non functional setting
|}
==== Game Mode ====
{| class="wikitable"
!style="width:15%"|Option Name
!style="width:20%"|Valid Entries
!style="width:65%"|What this option controls
|-
|RealismLevel
|Numerical value between 0 and 3
|Sets the game mode for the server.  0 = Realism, 1 = Action, 2 = Classic, 3 = Custom
|}
 
==== Specating ====
{| class="wikitable"
!style="width:15%"|Option Name
!style="width:20%"|Valid Entries
!style="width:65%"|What this option controls
|-
|SpectatingMode
|Numerical value between 0 and 3
|Sets globally. 0 = 3rd person (and 1 and 2), 1 = Locked 3rd person ( and 2), 2 = 1st person only
|-
|bAllowDeadRoaming
|True or False
|Sets if dead or spectating players can freely roam around the map
|-
|bAllowViewpointSpectating
|True or False
|Sets if dead or spectating players can view the map from map viewpoint characters
|-
|bLockTrueSpectatorsView
|True or False
|Sets if spectating players can only view from the first person camera
|-
|bAllowKillCamera
|True or False
|Sets if dead players will get a "kill cam" of the location they were killed from
|}
 
==== Reinforcments ====
{| class="wikitable"
!style="width:15%"|Option Name
!style="width:20%"|Valid Entries
!style="width:65%"|What this option controls
|-
|ReinforcementTimeScale
|Numerical value between 0 and 1
|Sets globally if the map designated reinforcement times are scaled up or down
|}
 
==== Honor Gating ====
{| class="wikitable"
!style="width:15%"|Option Name
!style="width:20%"|Valid Entries
!style="width:65%"|What this option controls
|-
|MinimumHonor
|Numerical value between 0 and 99
|Sets the minimum player honor needed to join the server
|-
|MaximumHonor
|Numerical value between 1 and 100
|Sets the maximum player honor needed to join the server
|}
 
==== Welcome Screen and Message Of The Day ====
{| class="wikitable"
!style="width:15%"|Option Name
!style="width:20%"|Valid Entries
!style="width:65%"|What this option controls
|-
|BannerLink
|A URL to the servers banner of choice. Must be a .png.  Example: http://www.heroesofstalingrad.com/ServerAd/RO2_ServerTest.png
|Sets the the welcome screen banner image players see when joining the server
|-
|ClanMotto
|Text string.  Exmaple: Welcome to our Red Orchestra 2 server!
|Sets the Motto line of the welcome screen that players see when joining the server
|-
|ClanMottoColor
|Numeric Color Code. Example: (B=0,G=0,R=0,A=255)
|Sets the text color of the motto line
|-
|ServerMOTD
|Text string.  Exmaple: This is our message of the day ...@nl@@nl@Please enjoy your time on our server@nl@@nl@@nl@This is the last line
|Sets the MOTD text.  @nl represents a line break
|-
|ClanMottoColor
|Numeric Color Code. Example: (B=0,G=0,R=0,A=255)
|Sets the text color of the MOTD text
|-
|WebLink
|A URL to the server owners webpage.  Example: www.redorchestra2.com
|Sets the welcome screen link to direct players to the servers/communities website
|-
|WebLinkColor
|Numeric Color Code. Example: (B=0,G=0,R=0,A=255)
|Sets the welcome screen link color
|}
 
==== Maps ====
 
bUseMapList=True - This sets the server to use a custom map list you specify instead of the entire default map list.
 
Maps can be set to run by gametype and amount of rounds played. The following is an example map list that can be put in your rogame.ini:
 
{| class="wikitable"
!style="width:100%"|Game Map Cycle
|-
|GameMapCycles=(Maps=("TE-Apartments","FF-Barracks","CD-Station","TE-Spartanovka","TE-CommissarsHouse","CD-RedOctoberFactory","TE-Gumrak","FF-Station","CD-PavlovsHouse","TE-RedOctoberFactory","CD-Barracks","TE-Station","CD-FallenFighters","FF-GrainElevator","TE-Barracks","CD-CommissarsHouse","TE-FallenFighters","CD-Gumrak","CD-Apartments","TE-GrainElevator","CD-GrainElevator","TE-PavlovsHouse","CD-Spartanovka"),RoundLimits=(1,1,1,2,1,3,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,2,3))
|}


: [Engine.GameReplicationInfo]:
The first part specifies the exact maps and their game types, while the round limits section (which has to match the number of maps in the cycle) determines how many rounds you want each map to play.
ServerName= "Red Orchestra Server" // This is the displayed server name to all players and the server browser


: [ROGame.ROGameInfo]:
==== Enable/Disable Functionality ====
RoundStartScreenTime= "8" // The time at which players will spawn into the game before pre-start time ends.  Valid entries are in seconds.
bLANServer= "false" // Set to true if you only want to create a LAN server.


bBalanceTeams=true - Turn on team balancing.
bAutoBalanceTeamsOnDeath=true - This will only work if bBlanaceTeams=true.  It will balance teams only when an player is available to switch teams while dead.
MaxTeamDifference=2 - This will only work if bBalanceTeams=true.  It is the maximum size the game will let teams become out of balance.


RoundLimit=2 - This setting controls how many times a map will be played. Example entries: 1, 2, X where x is 3 and over (best out of x rounds will be played ex: 2/3).
{| class="wikitable"
EndOfMapDelay=45.000000 - This setting controls how long the map will wait at the end of a match before switching to the next map
!style="width:15%"|Option Name
!style="width:20%"|Valid Entries
!style="width:65%"|What this option controls
|-
|bDisableSpawnOnSquadLeader
|True or False
|Sets Spawn on Squad Leader system on or off
|-
|bHalfTimeTeamSwap
|True or False
|Sets teams to swap sides after the first round is over
|-
|bDisableOverheadMap
|True or False
|Sets the overhead map to be on or off
|-
|bDisableCompass
|True or False
|Sets the compass to be on or off
|-
|bDisableTeamDeathIcons
|True or False
|Sets team death icons on the main HUD on or off
|-
|bDisableSquadMemberIcons
|True or False
|Sets Squad Member icons on the main HUD on or off
|-
|bDisableSquadLeaderIcon
|True or False
|Sets Squad Leader icons on the main HUD on or off
|-
|bDisableEnemySpottedIcons
|True or False
|Sets Enemy Spotted icons on the main HUD on or off
|-
|bDisableTacticalView
|True or False
|Sets Tactical View on or off
|-
|bDisableTacticalSquadLeaderIcons
|True or False
|Sets Squad Leader icons in tactical view on or off
|-
|bDisablePeripheralActionIndicators
|True or False
|Sets Peripheral Action Indicator system on or off
|-
|bDisablePeripheralWhips
|True or False
|Sets Peripheral whips to be on or off (indicator that rounds are passing near player)
|-
|bDisableObjectiveForceOutput
|True or False
|Sets if player force indicators (silhouettes on cap bar) are visible by players
|-
|bDisableObjectiveNotifications
|True or False
|Sets if players receive messages about objectives being under attack
|-
|bLimitedGrenades
|True or False
|Sets explosive (except smoke) grenades to be limited to 1 per soldiers
|-
|bNoGrenades
|True or False
|Sets no grenades (except smoke) for all players on or off
|}


GameDifficulty=1.0 - This settings controls the bot difficulty if bots are on the server.
==== Information on Scoreboard ====


bUseReadySystem=false - This setting globally configures the use of the ready up system.  Maps will not start until both teams ready up.


MaxHeroes16Player=2 - The amount of hero slots per team on a 16 player server.
{| class="wikitable"
MaxHeroes32Player=3 - The amount of hero slots per team on a 32 player server.
!style="width:15%"|Option Name
MaxHeroes64Player=5 - The amount of hero slots per team on a 64 player server.
!style="width:20%"|Valid Entries
!style="width:65%"|What this option controls
|-
|bShowIPOnScoreboard
|True or False
|Sets if server IP is visible on the scoreboard
|-
|bShowDateOnScoreboard
|True or False
|Sets if the date is visible on the scoreboard
|-
|bShowSteamIDsOnScoreboard
|True or False
|Sets if player's SteamIDs instead of names are on the scoreboard
|}


bEnableBattlefieldCommissions=true - Enables or disables players recieving in game Battlefield commissions to grab a contested role.
==== Clan Match Functionality ====
Some of these options may not yet be implemented


ServerAdvertisementMessages= - What is written here is printed out in game to all players in the chat window
{| class="wikitable"
ServerAdvertisementInterval=30 - How often in seconds the Advertisement Message is sent to the chat area
!style="width:15%"|Option Name
!style="width:20%"|Valid Entries
!style="width:65%"|What this option controls
|-
|bForceDemoRecording
|True or False
|Forces every connecting client to record a client side demo when connecting to the server
|-
|bAutoEndOfMatchScoreboardScreenshot
|True or False
|Forces every connecting client to take a screenshot of their scoreboard at the end of the round
|-
|bIgnoreScoreForTieBreaking
|True or False
|Game will ignore team scores as a tie-breaker condition
|-
|bUseCapturesForTieBreaking
|True or False
|Game will ignore team capture points held as a tie-breaker condition
|}


MinNetPlayers=1 - How many human players must be on the server before a round will start
==== Restrictions ====


FriendlyFireKillLimit=6 - How many unforgiven TK's a player can have before the server will kick him.
{| class="wikitable"
FriendlyFireDamageLimit=800.000000 - How much damage a player can deal to friendlies before being kicked
!style="width:15%"|Option Name
FriendlyFireScale=1.000000 - Global friendly fire scale.  Accepted values are between 0 and 1.  1 being full damage.
!style="width:20%"|Valid Entries
FriendlyFireArtilleryScale=1.000000 - Artillery friendly fire scale.  Accepted values are between 0 and 1.  1 being full damage.
!style="width:65%"|What this option controls
FriendlyFireExplosiveScale=1.000000 - Grenade and other explosive friendly fire scale.  Accepted values are between 0 and 1.  1 being full damage.
|-
FriendlyFireArtilleryPunishScale=0.100000 - How much damage is returned to the user who cased friendly fire via artillery. FF punishment must be on for this to work.
|bNoVehicles
FriendlyFireExplosivePunishScale=0.500000 - How much damage is returned to the user who caused friendly fire via grenade. FF punishment must be on for this to work.
|True or False
FriendlyFirePunishment=1 - Does the player receive damage for damaging team mates. Accepted values are 0 and 1.  1 is no punishment.
|Sets if vehicles will be available on the server on combined arms and tank only maps
bEnableTeamKillForgiving=true - Allows players to forgive TK's in game by typing NP after being killed.
|-
|bNoWeaponLimits
|True or False
|Sets if the server enforces a weapon limit
|-
|bClassicWeaponLoadout
|True or False
|Sets if server will ignore ranking system and use the Classic loadouts and availability
|-
|bRealisticPistolLoadouts
|True or False
|Sets if all classes or only select roles will have access to pistols
|-
|bRealisticDrivingRestrictions
|True or False
|Sets if drivers of tanks can move the vehicle while in positions that would prohibit them from doing so realistically
|}


FriendlyPlayerNames=2
==== Tank AI Firing ====


PunkbusterServerProfile=2
{| class="wikitable"
!style="width:15%"|Option Name
!style="width:20%"|Valid Entries
!style="width:65%"|What this option controls
|-
|TankAIFiringSetting
|Numerical values 0 - 6
|Sets how AI in player controlled tanks will react. 0 = Only fire at human designated tarts, 1 = Only Hull MG can fire at human designated targets, 2 = Only Main Cannon can fire at human designated targets, 3 = AI will never engage, 4 = Only Hull MG will engage at will, 5 = Only Main Cannon will engage at will, 6 = All AI will engage at will
|}


bEnableMapVoting=true
==== Client Side Hit Detection ====
MapVotingTime=30.000000
bEnableKickVoting=true
bAnonymousVoteKicking=False
KickVotingTime=30.000000
bEnableRoleVoting=true
RoleVotingTime=30.000000
bUseScoreAsVoteWeight=false
bAllowMidGameVoting=false
MidGameVotingPercentage=50.000000
EndGameVotingPercentage=50.000000
MapRepeatLimit=0


bEnableVOIP=true
{| class="wikitable"
bDisablePublicVOIPChannel=false
!style="width:15%"|Option Name
bDisablePublicTextChat=false
!style="width:20%"|Valid Entries
bEnableDeadToDeadVOIP=true
!style="width:65%"|What this option controls
bPartitionSpectators=true
|-
bPositional3DVOIP=false
|bClientSideHitDetection
bPositional3DVOIPAllHear=false
|True or False
|Sets if the server will use client side hit detection
|}


RealismLevel=0 - This sets the gamemode for the server.  0 - Realism, 1 - Action, 2 - Classic, 3 - Custom.
==== Tank Damage Model ====
SpectatingMode=0


ReinforcementTimeScale=1.000000
{| class="wikitable"
!style="width:15%"|Option Name
!style="width:20%"|Valid Entries
!style="width:65%"|What this option controls
|-
|VehicleMobilityDamageMode
|Numerical values 0 - 2
|Sets tank mobility damage limits. 0 = Can not be damaged or destroyed, 1 = Can not be destroyed, 2 = Can be destroyed
|-
|TankTurretDamageMode
|Numerical values 0 - 2
|Sets tank turret damage limits. 0 = Can not be damaged or destroyed, 1 = Can not be destroyed, 2 = Can be destroyed
|-
|VehicleCrewDamageMode
|Numerical values 0 - 2
|Sets tank crew damage limits. 0 = Can not be killed, 1 = Can only be killed if exposed, 2 = Can be killed
|}


MinimumHonor=0 - The minimum player honor required to join the server.
==== Friendly Player Collision ====
MaximumHonor=100 - The maximum player honor required to join the server


BannerLink=http://www.heroesofstalingrad.com/ServerAd/RO2_ServerTest.png - This is the banner image displayed to players who enter your server.
{| class="wikitable"
ClanMotto=Welcome to our Red Orchestra 2 server! - The title message on the welcome page for players who enter your server.
!style="width:15%"|Option Name
ClanMottoColor=(B=0,G=0,R=0,A=255) - Allows you to color the text of the Clan Motto
!style="width:20%"|Valid Entries
ServerMOTD=This is our message of the day ...@nl@@nl@Please enjoy your time on our server@nl@@nl@@nl@This is the last line - Message of the day on the welcome screen. @nl creates a new line
!style="width:65%"|What this option controls
ServerMOTDColor=(B=0,G=0,R=16,A=255) - Allows you to color the text of your MOTD
|-
WebLink=www.redorchestra2.com - Clickable web link on the welcome page.
|FriendlyInfantryCollisionType
WebLinkColor=(B=0,G=0,R=16,A=255) - Allows you to change the color of your web link.
|Numerical values 0 - 2
|Sets collision between friendly players (non AI). 0 = none, 1 = reduced collision size, 2 = full collision
|}


  bUseMapList=True - This sets the server to use a custom map list you specify instead of the entire default map list.
==== Enemy Spotted ====
   
 
==== Maps ====
{| class="wikitable"
!style="width:15%"|Option Name
!style="width:20%"|Valid Entries
!style="width:65%"|What this option controls
|-
|Enemy Spotted Mode
|Numerical values 0 - 2
|Sets the enemy spotted mode. 0 = Hud, Map and Tactical View, 1 = Tactical View and Map, 2 = Map Only
|}
 
==== Death Messages ====
 
 
{| class="wikitable"
!style="width:15%"|Option Name
!style="width:20%"|Valid Entries
!style="width:65%"|What this option controls
|-
|KillMessageMode
|Accepted values: ROKMM_None, ROKMM_OwnDeath, ROKMM_Own, ROKMM_ALL
|Sets the death messages players see. None = None, OwnDeath = Own Death Messages, Own = Players Kills, All = All Death Messages
|-
|DelayedKillMessages
|Value in seconds.  Example: 10
|Sets the delay in seconds after a death happens before the death is broadcast
|}
 
==== Melee Only ====
 
 
{| class="wikitable"
!style="width:15%"|Option Name
!style="width:20%"|Valid Entries
!style="width:65%"|What this option controls
|-
|bMeleeOnly
|True or False
|Sets the game to only allow melee strikes
|}
 
==== Game Mode Options For Custom ====
 
 
{| class="wikitable"
!style="width:15%"|Option Name
!style="width:20%"|Valid Entries
!style="width:65%"|What this option controls
|-
|bDisableProgressionBonuses
|True or False
|Sets the game to ignore all level progression bonuses
|-
|bClassicWeaponLoadout
|True or False
|Sets the game to use the classic weapon loadout instead of players unlocks
|-
|bSlowBandaging
|True or False
|Sets the game to use the slower bandaging system that takes twice as long
|-
|bLegDamageSlowsPlayer
|True or False
|Sets the game to make player leg damage slow the player
|-
|bClassicStaminaAndSprinting
|True or False
|Sets the game to use the classic modes stamina pool and sprint speed
|-
|bStopSprintingWhenExhausted
|True or False
|Sets the game to stop players from sprinting when they are out of stamina (similar to RO 1)
|-
|bWeaponHandlingClassic
|True or False
|Sets the game to use the classic weapon handling model
|-
|bCasualWeaponFunctionality
|True or False
|Sets the game to use action modes weapon functionality with no free-aim and the addition of crosshairs
|-
|bNoControlledBreathingZoom
|True or False
|Sets the game to only zoom in on iron sights and have any additional focus zoom (this will make targets smaller on screen then in real life)
|-
|bIncreasedSuppressionEffects
|True or False
|Sets the game to have increased suppression effects (more screen shake, etc)
|-
|bIncreasedBreathStaminaEffects
|True or False
|Sets the game to have increased breathing effects when stamina is low (faster breathing, more weapon movement)
|-
|PlayerHitSoundMode
|Numerical values between 0 - 2
|Sets the sound level when players are hit by bullets. 0 = exaggerated, 1 = mildly exaggerated, 2 = not exaggerated
|}
 
=== Firefight Settings ===
 
{| class="wikitable"
!style="width:15%"|Option Name
!style="width:20%"|Valid Entries
!style="width:65%"|What this option controls
|-
|TimeLimit
|Numerical value in seconds.  Example: 300
|Sets the time limit for a firefight game
|-
|FinalCountdownTime
|Numerical value in seconds. Example: 60
|Sets the time limit for Sudden Death. This will trigger if both teams are tied when the time limit is reached for the game.
|-
|WinStrengthPoints16
|Numerical value in kills. Example: 40
|Sets the kill point win condition for a 16 player sized server
|-
|WinStrengthPoints32
|Numerical value in kills. Example: 60
|Sets the kill point win condition for a 32 player sized server
|-
|WinStrengthPoints64
|Numerical value in kills. Example: 100
|Sets the kill point win condition for a 64 player sized server
|-
|bUseReadySystem
|True or False
|Sets the Firefight game type to use the Ready Up system if it is not set globally
|-
|bUseMatchWarmup
|True or False
|Sets the Firefight game type to use the Match Warmup system if it is not set globally
|-
|WarmupRoundDuration
|Numerical value in seconds. Example: 0
|Sets the Firefight game kill message delay time. Overrides global setting for Firefight
|-
|KillMessageDelay
|Numerical value in seconds. Example: 30
|Sets the Firefight game type match warmup time
|-
|KillMessageMode
|Accepted values: ROKMM_None, ROKMM_OwnDeath, ROKMM_Own, ROKMM_ALL
|Sets the Firefight death messages players see. None = None, OwnDeath = Own Death Messages, Own = Players Kills, All = All Death Messages. Overrides global setting for firefight
|-
|bMeleeOnly
|True or False
|Sets the Firefight game type to be melee only
|-
|bAllowDeadRoaming
|True or False
|Sets the Firefight game type to allow dead players to free roam
|-
|bAllowViewpointSpectating
|True or False
|Sets the Firefight game type to allow dead players to view map viewpoints
|-
|bAllowKillCamera
|True or False
|Sets the Firefight game type to have kill camera
|-
|ReinforcementTimeScale
|Numerical value between 0 - 1
|Sets the Firefight spawn time scale.
|}
 
=== Territory Settings ===


Maps can be set to run by gametype and amount of rounds played. The following is an example map cycle that can be put in your rogame.ini:
{| class="wikitable"
!style="width:15%"|Option Name
!style="width:20%"|Valid Entries
!style="width:65%"|What this option controls
|-
|bUseReadySystem
|True or False
|Sets the Territory game type to use the Ready Up system if it is not set globally
|-
|bUseMatchWarmup
|True or False
|Sets the Territory game type to use the Match Warmup system if it is not set globally
|-
|WarmupRoundDuration
|Numerical value in seconds. Example: 0
|Sets the Territory game kill message delay time. Overrides global setting for Firefight
|-
|KillMessageDelay
|Numerical value in seconds. Example: 30
|Sets the Territory game type match warmup time
|-
|KillMessageMode
|Accepted values: ROKMM_None, ROKMM_OwnDeath, ROKMM_Own, ROKMM_ALL
|Sets the Territory death messages players see. None = None, OwnDeath = Own Death Messages, Own = Players Kills, All = All Death Messages. Overrides global setting for firefight
|-
|bMeleeOnly
|True or False
|Sets the Territory game type to be melee only
|-
|bAllowDeadRoaming
|True or False
|Sets the Territory game type to allow dead players to free roam
|-
|bAllowViewpointSpectating
|True or False
|Sets the Territory game type to allow dead players to view map viewpoints
|-
|bAllowKillCamera
|True or False
|Sets the Territory game type to have kill camera
|-
|ReinforcementTimeScale
|Numerical value between 0 - 1
|Sets the Territory spawn time scale.
|-
|bDisableTimeLimit
|True or False
|Sets the Territory game type to have no map time limit
|-
|bDisableReinforcementLimit
|True or False
|Sets the Territory game type to have no reinforcement limits
|-
|ReinforcementScale
|Numerical value between 0 - 1
|Sets the Territory game type reinforcement scale. 1 = full, .5 = half
|-
|bUseCapturesForTieBreaking
|True or False
|Sets the Territory game type to ignore the capture of points to break a tie condition
|-
|RoundLimit
|Numerical values 1 - x
|Sets the Territory game type round limits (if not set globally or per map). 1 = 1 round, 2 = 2 rounds, 3 and up = Best out of X rounds
|-
|EndOfMapDelay
|Numerical values in seconds. Example: 45
|Sets the Territory game type end of map delay before the server travels to the next map
|-
|bLockdownEnabled
|True or False
|Sets the Territory game type to to enable or disable the lockdown system
|}


GameMapCycles=(Maps=("TE-Apartments","FF-Barracks","CD-Station","TE-Spartanovka","TE-CommissarsHouse","CD-RedOctoberFactory","TE-Gumrak","FF-Station","CD-PavlovsHouse","TE-RedOctoberFactory","CD-Barracks","TE-Station","CD-FallenFighters","FF-GrainElevator","TE-Barracks","CD-CommissarsHouse","TE-FallenFighters","CD-Gumrak","CD-Apartments","TE-GrainElevator","CD-GrainElevator","TE-PavlovsHouse","CD-Spartanovka"),RoundLimits=(0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0))
=== Countdown Settings ===


The first part specifies the exact maps and their gametypes, while the round limits section (which has to match the number of maps in the cycle) determines how many rounds you want each map to play.
{| class="wikitable"
!style="width:15%"|Option Name
!style="width:20%"|Valid Entries
!style="width:65%"|What this option controls
|-
|bUseReadySystem
|True or False
|Sets the Countdown game type to use the Ready Up system if it is not set globally
|-
|bUseMatchWarmup
|True or False
|Sets the Countdown game type to use the Match Warmup system if it is not set globally
|-
|WarmupRoundDuration
|Numerical value in seconds. Example: 0
|Sets the Countdown game kill message delay time. Overrides global setting for Firefight
|-
|KillMessageDelay
|Numerical value in seconds. Example: 30
|Sets the Countdown game type match warmup time
|-
|KillMessageMode
|Accepted values: ROKMM_None, ROKMM_OwnDeath, ROKMM_Own, ROKMM_ALL
|Sets the Countdown death messages players see. None = None, OwnDeath = Own Death Messages, Own = Players Kills, All = All Death Messages. Overrides global setting for firefight
|-
|bMeleeOnly
|True or False
|Sets the Countdown game type to be melee only
|-
|bAllowDeadRoaming
|True or False
|Sets the Countdown game type to allow dead players to free roam
|-
|bAllowViewpointSpectating
|True or False
|Sets the Countdown game type to allow dead players to view map viewpoints
|-
|bAllowKillCamera
|True or False
|Sets the Countdown game type to have kill camera
|-
|bDisableTimeLimit
|True or False
|Sets the Countdown game type to have no map time limit
|-
|RoundLimit
|Numerical values 1 - x
|Sets the Countdown game type round limits (if not set globally or per map). 1 = 1 round, 2 = 2 rounds, 3 and up = Best out of X rounds
|-
|EndOfMapDelay
|Numerical values in seconds. Example: 45
|Sets the Territory game type end of map delay before the server travels to the next map
|}


== Setting Up Web Admin ==
= Setting Up Web Admin =


To enable webadmin:
To enable webadmin:
Line 164: Line 1,018:
By default webadmin will listen on port 8080 on the IP of the game server using, but you'll want to customize this port for multiple servers on the same IP.  To change this, open ROweb.ini and modify the following line:
By default webadmin will listen on port 8080 on the IP of the game server using, but you'll want to customize this port for multiple servers on the same IP.  To change this, open ROweb.ini and modify the following line:
  ListenPort=8080
  ListenPort=8080
Admins will now be able to log into their servers web admin panel.  They can do by either connecting via a local address (if the server is local) or web address (the servers IP) followed by the port.  They can use any of their favorite modern internet browsers such as Chrome, Firefox, and IE.  An example of what to put in the address bar of the browser is:
192.168.0.100:8080
They will be presented with a login screen.  The default user is: Admin.  The password will be whatever was set as the admin pass in rogame.ini.  If no admin pass was set, the admin will not be able to log in.






=== Setting up multiple web admins ===
== Setting up multiple web admins ==


Open ROWebAdmin.ini and add the following under [WebAdmin.WebAdmin]:
Open ROWebAdmin.ini and add the following under [WebAdmin.WebAdmin]:
Line 178: Line 1,037:
  bEnabled= "True" // This enables this admin
  bEnabled= "True" // This enables this admin


=== How To Use Web Admin ===
== How To Use Web Admin ==
Go to [[Web_Admin|web admin]] to find out more details on how to use the system.
Go to [[Web_Admin|web admin]] to find out more details on how to use the system.


== Automating SteamCmd ==
== Setting Up Redirect ==
 
To enable redirect for third party custom maps to be able to run on their server, admins needs to install the "cooked server" files in their "\ROGame\CookedPCServer" directory on the dedicated server.
 
Now unless users already have the cooked client map files installed manually or previously downloaded in their clients cache, the server will need to be set up to redirect clients without the map to download it from a redirect server.  To enable this, the admin must open the roengine.ini file and add a new section near the bottom of the file.  The section is called [IpDrv.HTTPDownload] and should look like this:
 
[IpDrv.HTTPDownload]
RedirectToURL=http://ro2.tripwirecdn.com/


There are two ways to automate SteamCmd.
Where the RedirectToURL is a web location that is a repository of the client map files.  The example above is the location of Tripwire's public redirect server which will host several near complete and complete custom maps.  The client map file (.roe and not any supporting .upk packages) must be renamed as a .upk file. Thus RedirectTestMap.ROE should be renamed to redirecttestmap.upk on the redirect.
 
=== Get Custom Maps To Show In Web Admin ===
To get custom maps to show up in the change level section of web admin, admins will need to add a data store for the game in ROGame.ini.  A data store looks like the following example:
 
[te-custommap ROUIDataProvider_MapInfo]
MapName=te-custommap
FriendlyName=Custom Map
GameType=ROGame.ROGameInfoTerritories
PreviewImageMarkup=<Images:ui_textures.menus.HostGame.MapSelect_Community>
Description=Mamayev Kurgan
LoadMapMovie=LoadScreen_Mamayev
MapTips=TEMamayevTip2
MapType16=ROMT_InfantryOnly
MapType32=ROMT_InfantryOnly
MapType64=ROMT_InfantryOnly
 
Please note the use of lowercase in the map name and read the Known Issues to Avoid section for more information on the topic. This holds true for the mapcycle as well.
 
=== Known Issues to Avoid ===


: 1. Add commands to the command line. Example:
* Linux Redirect
As a redirect server can be a Linux machine, it is very important admins have the closing forward slash in the URL as well as spell all map names in lowercase.  Failure to do so will result in a broken redirect and clients will only obtain a 1kb file of the proper name but not the actual files. Also take care when adding the map data store to the ROGame.ini to use lowercase as well as the server will use those file names over any typed in as an admin.


SteamCmd +login user password +force_install_dir ./ro2_ds +app_update 212542 validate
* Traveling from a custom map to a custom map
When a server goes from a custom map to a custom map, clients will download the second custom map, however there is a bug where the client will just see the "connecting" screen without any updated information about downloading the custom map until it is downloaded and begins to load.


: 2. Create a script.
A redirect server needs fast speeds and as much bandwidth as possible, but little else.


:: a. Put your SteamCmd commands in a text file. Example:
= Heroes Of The West Mod =
The Heroes of The West mod is a mod made available via Steam. Players can navigate to the mods store page and choose to download it if they own Red Orchestra 2 and/or Rising Storm. Admins who want to make the HoTW content available on their server can do so with the following additional steps:


// update_ro2_ds.txt
After downloading a normal RO 2 server admins can re launch SteamCMD or their update script and direct it to install the appid:
//
  440090
  login user password
To the same folder where the Red Orchestra 2 server files are installed.   
force_install_dir ./ro2server
app_update 212542 validate
  exit


:: b. Run SteamCmd with the +runscript option. Example:
Once this process is done, copy the files from the BrewedPC folder to the BrewedPCServer folder.   
  SteamCmd +runscript ro2_ds.txt


[[Category:Red_Orchestra_2_Heroes_Of_Stalingrad]]
[[Category:Red_Orchestra_2_Heroes_Of_Stalingrad]]

Latest revision as of 23:08, 10 May 2017

Downloading and Running the SteamCMD Update Tool

  1. Download the SteamCMD Update Tool:
  2. Extract the contents to a directory (Windows example: C:\SteamCmd\).
    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.
  3. Launch SteamCmd
NOTE: To automate this process for future updates, see #Automating SteamCmd.
    1. Open a command prompt in that directory and start SteamCmd
      • Windows: Type steamcmd
    The program will automatically update and enter you in to a Steam> prompt. Type help for more information.
  1. Log in with your Steam Account. We recommend server admins set up a server steam account for this process.
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)
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):
set_steam_guard_code yourcodehere
login username password
5. You should see a message stating that you have successfully logged in with your account.

Downloading the Red Orchestra 2: Heroes of Stalingrad Dedicated Server

This describes the process of updating the RO2 dedicated server application. These steps are required every time the game is updated. To automate this process for future updates, see #Automating SteamCmd.
1. If you aren't proceeding from the previous set of instructions, first launch SteamCmd.
2. At the Steam> prompt, set your RO2 Dedicated Server install directory.
Examples:
Absolute Path:
force_install_dir c:\RO2Server\
Up one folder:
force_install_dir ..\RO2Server\
In the Steam Command folder:
force_install_dir .\RO2Server\
3. Install or Update RO2.
If this is your first time installing or if you are trying to verify the integrity of the server files:
app_update 212542 validate
If this is simply an update to an existing RO2 dedicated server:
app_update 212542
If Tripwire is currently running a beta update of the dedicated server files:
app_update 212542 -beta "branch name"

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

There are two ways to automate SteamCmd.

1. Add commands to the command line. Example:
SteamCmd +login user password +force_install_dir ./ro2_ds +app_update 212542 validate
2. Create a script.
a. Put your SteamCmd commands in a text file. Example:
// update_ro2_ds.txt
//
login user password
force_install_dir ./ro2server
app_update 212542 validate
exit
b. Run SteamCmd with the +runscript option. Example:
SteamCmd +runscript ro2_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 Territory Apartments use the following batch script:

start .\Binaries\win32\rogame te-Apartments?minplayers=0?maxplayers=32? -seekfreeloadingserver

Temporary RS2: Vietnam example batch:

start .\Binaries\win64\vngame vnsu-SongBe

Advanced Configuration

Configuring your new Red Orchestra 2: Heroes of Stalingrad server will be very similar to those who have set up any Unreal Engine 3 server (such as UT 3). However to those who are from other engines such as IdTech and Source there are many differences, which we'll cover here. Those who are also looking for specific sever config settings will likely find what they are looking for below.

rogame.ini

The rogame.ini file can be found under \ROGame\Config\

This file controls all the various game elements that can be configured by admins in Red Orchestra 2: Heroes of Stalingrad. From game modes such as Classic or Action to spectating options and death cams, everything can be set up to the admins liking from this file.

First admins will want to configure this file to update the WebAdmin, server password and other settings that you do have access to. Here is an example of a very simple ROGame.ini settings admins will want to change first:

Server Passwords

[Engine.AccessControl] in ROGame.ini:
Option Name Valid Entries What this option controls
AdminPassword Alpha numeric character combinations. Example: Abd32Sdn53 This is the master server administrator password
GamePassword Alpha numeric character combinations. Example: cl4ng4m3 This sets a password players will need to enter to join the server

Server Name and Admin Contact

[Engine.GameReplicationInfo] in ROGame.ini:
Option Name Valid Entries What this option controls
ServerName Alpha numeric character combinations. Example: Yoshi's House of 32 Compressed Pancakes This is the displayed server name to all players in the server and the server browser
AdminContact Alpha numeric character combinations. Example: [email protected] This is the displayed admin contact in the server browser

General Global Game Settings

[ROGame.ROGameInfo] in ROGame.ini:
Option Name Valid Entries What this option controls
RoundStartScreenTime Numbers in seconds. Example: 8 // This is 8 seconds The time at which players will spawn into the game before pre-start time ends. Valid entries are in seconds.
bLANServer True or False Sets the server to broadcast to the internet if set to False. Sets the server to be local network only if set to True.

Team Balance

Option Name Valid Entries What this option controls
bBalanceTeams True or False True turns on auto-team balance functionality
bAutoBalanceTeamsOnDeath True or False Sets the server to auto-team balance dead players only. True turns this on. Only works if bBalanceTeams=True
MaxTeamDifference Numerical values between 1 and 63. Example: 2 Sets the maximum number of players the teams can be unbalanced by. Only works if bBalanceTeams=True

Game Rounds, Ready Up System and AI Difficulty

Option Name Valid Entries What this option controls
RoundLimit Numerical values between 0 and X Sets the amount of rounds in a match. This is how many times a map will be played before moving on // 0 = Use the game mode setting, 1 = 1 round, 2 = 2 rounds, 3 and above = Best out of X.
EndOfMapDelay Numerical value in seconds. Example: 45 Sets the amount of time after a match before the server loads the next map
GameDifficulty Numerical values between 1 and 5. Example: 2 Sets the AI difficulty level in the server. At higher values the AI will be more accurate
bUseReadySystem True or False Sets the server to use the Ready Up system if set to True. This means players will need to ready up before the first round will play
bAllPlayersMustReadyUp True or False Sets if all players must be readied up or only a majority before the game will start

Hero Count and Battlefield Commissions

Option Name Valid Entries What this option controls
MaxHeroes16Player Numerical values between 0 and X. Example 2 Sets the amount of Hero slots allowed per team in a 16 max player sized server
MaxHeroes32Player Numerical values between 0 and X. Example 3 Sets the amount of Hero slots allowed per team in a 32 max player sized server
MaxHeroes64Player Numerical values between 0 and X. Example 5 Sets the amount of Hero slots allowed per team in a 64 max player sized server
bEnableBattlefieldCommissions True or False Sets the ability for players to receive in game battlefield commissions for doing well in a round. This allows them to select an already filled role

In Game Admin Messages to Players

Option Name Valid Entries What this option controls
ServerAdvertisementMessages String of text. Example: Server Rules: No TKing, have fun! Sets an admin message to be printed to all players in the server. It shows up in the text chat area
ServerAdvertisementInterval Numerical value in seconds. Example: 60 Sets the rate at which the Server Advertisement Message is sent to players

Minimum Amount of Players For a Round to Start

Option Name Valid Entries What this option controls
MinNetPlayers Numerical values between 1 and 64. Example: 1 Sets the amount of players needed on the server for a round to start

Friendly Fire Settings

Option Name Valid Entries What this option controls
FriendlyFireKillLimit Numerical values between 1 and X. Example: 6 Sets the amount of TK's a player can have before the server will punish the player
FriendlyFireDamageLimit Numerical values between 1 and X. Example: 800 Sets the amount of friendly fire damage (non TK) a player can have before the server will punish the player
FriendlyFireScale Numerical values between 0 and 1. Example: 1 Sets the global friendly fire damage scale for small arms to the player hit by friendly fire. 0 is no damage, .5 is half damage and 1 is full damage
FriendlyFireArtilleryScale Numerical values between 0 and 1. Example: 1 Sets the artillery friendly fire damage scale to the player hit by friendly fire. 0 is no damage, .5 is half damage and 1 is full damage
FriendlyFireExplosiveScale Numerical values between 0 and 1. Example: 1 Sets the grenade/explosive friendly fire damage scale to the player hit by friendly fire. 0 is no damage, .5 is half damage and 1 is full damage
FriendlyFireArtilleryPunishScale Numerical values between 0 and 1. Example: 0.1 Sets how much damage a player who has injured or killed teammates with artillery receives as on his limit before he is punished
FriendlyFireExplosivePunishScale Numerical values between 0 and 1. Example: 0.1 Sets how much damage a player who has injured or killed teammates with grenades/explosives receives as on his limit before he is punished
FriendlyFirePunishment Numerical values between 0 and 2. Example: 1 Sets the punishment for players who have exceeded the friendly fire or damage limits. 0 = kick, 1 = session ban, 2 = perm ban
bEnableTeamKillForgiving True or False Sets if players are allowed to forgive TK's in game by typing "NP" after a TK in the player chat

Visability of Friend Player Names

Option Name Valid Entries What this option controls
FriendlyPlayerNames Numerical Values between 0 and 2. Example: 2 Sets the conditions on when friendly player names are visible to players. 0 = Never, 1 = within 10 meters, 2= always

Punkbuster Levels of Security

Option Name Valid Entries What this option controls
PunkbusterServerProfile Numerical Values between 0 and 3. Example: 2 Sets the level of Punkbuster security. 0= Off, 1 = Server screenshots only, 2 = Standard security checks on players, 3 = Stringent security checks on players - This level may impact player performance.

Voting

Option Name Valid Entries What this option controls
bEnableMapVoting True or False Sets if players can vote for the next map at the end of a match. If not, map cycle will auto rotate.
MapVotingTime Numerical value in seconds. Example: 30 Sets the amount of time after a match is done that players have to vote for the next map if map voting is enabled.
bEnableKickVoting True or False Sets if players can kick vote players from the server
bAnonymousVoteKicking True or False Sets if players can kick vote anonymously if kick voting is enabled
bEnableKickVoting True or False Sets if players can kick vote players from the server.
KickVotingTime Numerical value in seconds. Example: 30 Sets the amount of time a kick vote has a chance to succeed in before it will fail without the needed amount of votes.
bEnableRoleVoting True or False Sets if players can kick vote players from roles such as sniper, squad leader and commander for poor performance
RoleVotingTime Numerical value in seconds. Example: 30 Sets the amount of time a role vote has a chance to succeed in before it will fail without the needed amount of votes.
bUseScoreAsVoteWeight True or False Sets if players with higher scores will have multiple votes counted based on their score
bAllowMidGameVoting True or False Sets if map voting can happen mid match instead of just at the end
MidGameVotingPercentage Numerical value between 1 and 100. Example: 50 Sets the percentage needed for a successful vote
EndGameVotingPercentage Numerical value between 1 and 100. Example: 50 Sets the percentage needed for a successful vote
MapRepeatLimit Numerical value between 0 and X. Example: 1 Sets the amount of times a map be voted back to before players will no longer be able to select it

Communication

Option Name Valid Entries What this option controls
bEnableVOIP True or False Sets if voice over IP is enabled on the server
bDisablePublicVOIPChannel True or False Sets if the public voip channel is enabled
bDisablePublicTextChat True or False Sets if the public text chat is enabled
bEnableDeadToDeadVOIP True or False Sets dead players can talk to each other
bPartitionSpectators True or False Sets spectators having the ability to talk and chat with non spectators
bPositional3DVOIP True or False This is a non functional setting
bPositional3DVOIPAllHear True or False This is a non functional setting

Game Mode

Option Name Valid Entries What this option controls
RealismLevel Numerical value between 0 and 3 Sets the game mode for the server. 0 = Realism, 1 = Action, 2 = Classic, 3 = Custom

Specating

Option Name Valid Entries What this option controls
SpectatingMode Numerical value between 0 and 3 Sets globally. 0 = 3rd person (and 1 and 2), 1 = Locked 3rd person ( and 2), 2 = 1st person only
bAllowDeadRoaming True or False Sets if dead or spectating players can freely roam around the map
bAllowViewpointSpectating True or False Sets if dead or spectating players can view the map from map viewpoint characters
bLockTrueSpectatorsView True or False Sets if spectating players can only view from the first person camera
bAllowKillCamera True or False Sets if dead players will get a "kill cam" of the location they were killed from

Reinforcments

Option Name Valid Entries What this option controls
ReinforcementTimeScale Numerical value between 0 and 1 Sets globally if the map designated reinforcement times are scaled up or down

Honor Gating

Option Name Valid Entries What this option controls
MinimumHonor Numerical value between 0 and 99 Sets the minimum player honor needed to join the server
MaximumHonor Numerical value between 1 and 100 Sets the maximum player honor needed to join the server

Welcome Screen and Message Of The Day

Option Name Valid Entries What this option controls
BannerLink A URL to the servers banner of choice. Must be a .png. Example: http://www.heroesofstalingrad.com/ServerAd/RO2_ServerTest.png Sets the the welcome screen banner image players see when joining the server
ClanMotto Text string. Exmaple: Welcome to our Red Orchestra 2 server! Sets the Motto line of the welcome screen that players see when joining the server
ClanMottoColor Numeric Color Code. Example: (B=0,G=0,R=0,A=255) Sets the text color of the motto line
ServerMOTD Text string. Exmaple: This is our message of the day ...@nl@@nl@Please enjoy your time on our server@nl@@nl@@nl@This is the last line Sets the MOTD text. @nl represents a line break
ClanMottoColor Numeric Color Code. Example: (B=0,G=0,R=0,A=255) Sets the text color of the MOTD text
WebLink A URL to the server owners webpage. Example: www.redorchestra2.com Sets the welcome screen link to direct players to the servers/communities website
WebLinkColor Numeric Color Code. Example: (B=0,G=0,R=0,A=255) Sets the welcome screen link color

Maps

bUseMapList=True - This sets the server to use a custom map list you specify instead of the entire default map list.

Maps can be set to run by gametype and amount of rounds played. The following is an example map list that can be put in your rogame.ini:

Game Map Cycle
GameMapCycles=(Maps=("TE-Apartments","FF-Barracks","CD-Station","TE-Spartanovka","TE-CommissarsHouse","CD-RedOctoberFactory","TE-Gumrak","FF-Station","CD-PavlovsHouse","TE-RedOctoberFactory","CD-Barracks","TE-Station","CD-FallenFighters","FF-GrainElevator","TE-Barracks","CD-CommissarsHouse","TE-FallenFighters","CD-Gumrak","CD-Apartments","TE-GrainElevator","CD-GrainElevator","TE-PavlovsHouse","CD-Spartanovka"),RoundLimits=(1,1,1,2,1,3,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,2,3))

The first part specifies the exact maps and their game types, while the round limits section (which has to match the number of maps in the cycle) determines how many rounds you want each map to play.

Enable/Disable Functionality

Option Name Valid Entries What this option controls
bDisableSpawnOnSquadLeader True or False Sets Spawn on Squad Leader system on or off
bHalfTimeTeamSwap True or False Sets teams to swap sides after the first round is over
bDisableOverheadMap True or False Sets the overhead map to be on or off
bDisableCompass True or False Sets the compass to be on or off
bDisableTeamDeathIcons True or False Sets team death icons on the main HUD on or off
bDisableSquadMemberIcons True or False Sets Squad Member icons on the main HUD on or off
bDisableSquadLeaderIcon True or False Sets Squad Leader icons on the main HUD on or off
bDisableEnemySpottedIcons True or False Sets Enemy Spotted icons on the main HUD on or off
bDisableTacticalView True or False Sets Tactical View on or off
bDisableTacticalSquadLeaderIcons True or False Sets Squad Leader icons in tactical view on or off
bDisablePeripheralActionIndicators True or False Sets Peripheral Action Indicator system on or off
bDisablePeripheralWhips True or False Sets Peripheral whips to be on or off (indicator that rounds are passing near player)
bDisableObjectiveForceOutput True or False Sets if player force indicators (silhouettes on cap bar) are visible by players
bDisableObjectiveNotifications True or False Sets if players receive messages about objectives being under attack
bLimitedGrenades True or False Sets explosive (except smoke) grenades to be limited to 1 per soldiers
bNoGrenades True or False Sets no grenades (except smoke) for all players on or off

Information on Scoreboard

Option Name Valid Entries What this option controls
bShowIPOnScoreboard True or False Sets if server IP is visible on the scoreboard
bShowDateOnScoreboard True or False Sets if the date is visible on the scoreboard
bShowSteamIDsOnScoreboard True or False Sets if player's SteamIDs instead of names are on the scoreboard

Clan Match Functionality

Some of these options may not yet be implemented

Option Name Valid Entries What this option controls
bForceDemoRecording True or False Forces every connecting client to record a client side demo when connecting to the server
bAutoEndOfMatchScoreboardScreenshot True or False Forces every connecting client to take a screenshot of their scoreboard at the end of the round
bIgnoreScoreForTieBreaking True or False Game will ignore team scores as a tie-breaker condition
bUseCapturesForTieBreaking True or False Game will ignore team capture points held as a tie-breaker condition

Restrictions

Option Name Valid Entries What this option controls
bNoVehicles True or False Sets if vehicles will be available on the server on combined arms and tank only maps
bNoWeaponLimits True or False Sets if the server enforces a weapon limit
bClassicWeaponLoadout True or False Sets if server will ignore ranking system and use the Classic loadouts and availability
bRealisticPistolLoadouts True or False Sets if all classes or only select roles will have access to pistols
bRealisticDrivingRestrictions True or False Sets if drivers of tanks can move the vehicle while in positions that would prohibit them from doing so realistically

Tank AI Firing

Option Name Valid Entries What this option controls
TankAIFiringSetting Numerical values 0 - 6 Sets how AI in player controlled tanks will react. 0 = Only fire at human designated tarts, 1 = Only Hull MG can fire at human designated targets, 2 = Only Main Cannon can fire at human designated targets, 3 = AI will never engage, 4 = Only Hull MG will engage at will, 5 = Only Main Cannon will engage at will, 6 = All AI will engage at will

Client Side Hit Detection

Option Name Valid Entries What this option controls
bClientSideHitDetection True or False Sets if the server will use client side hit detection

Tank Damage Model

Option Name Valid Entries What this option controls
VehicleMobilityDamageMode Numerical values 0 - 2 Sets tank mobility damage limits. 0 = Can not be damaged or destroyed, 1 = Can not be destroyed, 2 = Can be destroyed
TankTurretDamageMode Numerical values 0 - 2 Sets tank turret damage limits. 0 = Can not be damaged or destroyed, 1 = Can not be destroyed, 2 = Can be destroyed
VehicleCrewDamageMode Numerical values 0 - 2 Sets tank crew damage limits. 0 = Can not be killed, 1 = Can only be killed if exposed, 2 = Can be killed

Friendly Player Collision

Option Name Valid Entries What this option controls
FriendlyInfantryCollisionType Numerical values 0 - 2 Sets collision between friendly players (non AI). 0 = none, 1 = reduced collision size, 2 = full collision

Enemy Spotted

Option Name Valid Entries What this option controls
Enemy Spotted Mode Numerical values 0 - 2 Sets the enemy spotted mode. 0 = Hud, Map and Tactical View, 1 = Tactical View and Map, 2 = Map Only

Death Messages

Option Name Valid Entries What this option controls
KillMessageMode Accepted values: ROKMM_None, ROKMM_OwnDeath, ROKMM_Own, ROKMM_ALL Sets the death messages players see. None = None, OwnDeath = Own Death Messages, Own = Players Kills, All = All Death Messages
DelayedKillMessages Value in seconds. Example: 10 Sets the delay in seconds after a death happens before the death is broadcast

Melee Only

Option Name Valid Entries What this option controls
bMeleeOnly True or False Sets the game to only allow melee strikes

Game Mode Options For Custom

Option Name Valid Entries What this option controls
bDisableProgressionBonuses True or False Sets the game to ignore all level progression bonuses
bClassicWeaponLoadout True or False Sets the game to use the classic weapon loadout instead of players unlocks
bSlowBandaging True or False Sets the game to use the slower bandaging system that takes twice as long
bLegDamageSlowsPlayer True or False Sets the game to make player leg damage slow the player
bClassicStaminaAndSprinting True or False Sets the game to use the classic modes stamina pool and sprint speed
bStopSprintingWhenExhausted True or False Sets the game to stop players from sprinting when they are out of stamina (similar to RO 1)
bWeaponHandlingClassic True or False Sets the game to use the classic weapon handling model
bCasualWeaponFunctionality True or False Sets the game to use action modes weapon functionality with no free-aim and the addition of crosshairs
bNoControlledBreathingZoom True or False Sets the game to only zoom in on iron sights and have any additional focus zoom (this will make targets smaller on screen then in real life)
bIncreasedSuppressionEffects True or False Sets the game to have increased suppression effects (more screen shake, etc)
bIncreasedBreathStaminaEffects True or False Sets the game to have increased breathing effects when stamina is low (faster breathing, more weapon movement)
PlayerHitSoundMode Numerical values between 0 - 2 Sets the sound level when players are hit by bullets. 0 = exaggerated, 1 = mildly exaggerated, 2 = not exaggerated

Firefight Settings

Option Name Valid Entries What this option controls
TimeLimit Numerical value in seconds. Example: 300 Sets the time limit for a firefight game
FinalCountdownTime Numerical value in seconds. Example: 60 Sets the time limit for Sudden Death. This will trigger if both teams are tied when the time limit is reached for the game.
WinStrengthPoints16 Numerical value in kills. Example: 40 Sets the kill point win condition for a 16 player sized server
WinStrengthPoints32 Numerical value in kills. Example: 60 Sets the kill point win condition for a 32 player sized server
WinStrengthPoints64 Numerical value in kills. Example: 100 Sets the kill point win condition for a 64 player sized server
bUseReadySystem True or False Sets the Firefight game type to use the Ready Up system if it is not set globally
bUseMatchWarmup True or False Sets the Firefight game type to use the Match Warmup system if it is not set globally
WarmupRoundDuration Numerical value in seconds. Example: 0 Sets the Firefight game kill message delay time. Overrides global setting for Firefight
KillMessageDelay Numerical value in seconds. Example: 30 Sets the Firefight game type match warmup time
KillMessageMode Accepted values: ROKMM_None, ROKMM_OwnDeath, ROKMM_Own, ROKMM_ALL Sets the Firefight death messages players see. None = None, OwnDeath = Own Death Messages, Own = Players Kills, All = All Death Messages. Overrides global setting for firefight
bMeleeOnly True or False Sets the Firefight game type to be melee only
bAllowDeadRoaming True or False Sets the Firefight game type to allow dead players to free roam
bAllowViewpointSpectating True or False Sets the Firefight game type to allow dead players to view map viewpoints
bAllowKillCamera True or False Sets the Firefight game type to have kill camera
ReinforcementTimeScale Numerical value between 0 - 1 Sets the Firefight spawn time scale.

Territory Settings

Option Name Valid Entries What this option controls
bUseReadySystem True or False Sets the Territory game type to use the Ready Up system if it is not set globally
bUseMatchWarmup True or False Sets the Territory game type to use the Match Warmup system if it is not set globally
WarmupRoundDuration Numerical value in seconds. Example: 0 Sets the Territory game kill message delay time. Overrides global setting for Firefight
KillMessageDelay Numerical value in seconds. Example: 30 Sets the Territory game type match warmup time
KillMessageMode Accepted values: ROKMM_None, ROKMM_OwnDeath, ROKMM_Own, ROKMM_ALL Sets the Territory death messages players see. None = None, OwnDeath = Own Death Messages, Own = Players Kills, All = All Death Messages. Overrides global setting for firefight
bMeleeOnly True or False Sets the Territory game type to be melee only
bAllowDeadRoaming True or False Sets the Territory game type to allow dead players to free roam
bAllowViewpointSpectating True or False Sets the Territory game type to allow dead players to view map viewpoints
bAllowKillCamera True or False Sets the Territory game type to have kill camera
ReinforcementTimeScale Numerical value between 0 - 1 Sets the Territory spawn time scale.
bDisableTimeLimit True or False Sets the Territory game type to have no map time limit
bDisableReinforcementLimit True or False Sets the Territory game type to have no reinforcement limits
ReinforcementScale Numerical value between 0 - 1 Sets the Territory game type reinforcement scale. 1 = full, .5 = half
bUseCapturesForTieBreaking True or False Sets the Territory game type to ignore the capture of points to break a tie condition
RoundLimit Numerical values 1 - x Sets the Territory game type round limits (if not set globally or per map). 1 = 1 round, 2 = 2 rounds, 3 and up = Best out of X rounds
EndOfMapDelay Numerical values in seconds. Example: 45 Sets the Territory game type end of map delay before the server travels to the next map
bLockdownEnabled True or False Sets the Territory game type to to enable or disable the lockdown system

Countdown Settings

Option Name Valid Entries What this option controls
bUseReadySystem True or False Sets the Countdown game type to use the Ready Up system if it is not set globally
bUseMatchWarmup True or False Sets the Countdown game type to use the Match Warmup system if it is not set globally
WarmupRoundDuration Numerical value in seconds. Example: 0 Sets the Countdown game kill message delay time. Overrides global setting for Firefight
KillMessageDelay Numerical value in seconds. Example: 30 Sets the Countdown game type match warmup time
KillMessageMode Accepted values: ROKMM_None, ROKMM_OwnDeath, ROKMM_Own, ROKMM_ALL Sets the Countdown death messages players see. None = None, OwnDeath = Own Death Messages, Own = Players Kills, All = All Death Messages. Overrides global setting for firefight
bMeleeOnly True or False Sets the Countdown game type to be melee only
bAllowDeadRoaming True or False Sets the Countdown game type to allow dead players to free roam
bAllowViewpointSpectating True or False Sets the Countdown game type to allow dead players to view map viewpoints
bAllowKillCamera True or False Sets the Countdown game type to have kill camera
bDisableTimeLimit True or False Sets the Countdown game type to have no map time limit
RoundLimit Numerical values 1 - x Sets the Countdown game type round limits (if not set globally or per map). 1 = 1 round, 2 = 2 rounds, 3 and up = Best out of X rounds
EndOfMapDelay Numerical values in seconds. Example: 45 Sets the Territory game type end of map delay before the server travels to the next map

Setting Up Web Admin

To enable webadmin: Open ROWeb.ini. In the [IpDrv.WebServer] section set

bEnabled=true

By default webadmin will listen on port 8080 on the IP of the game server using, but you'll want to customize this port for multiple servers on the same IP. To change this, open ROweb.ini and modify the following line:

ListenPort=8080

Admins will now be able to log into their servers web admin panel. They can do by either connecting via a local address (if the server is local) or web address (the servers IP) followed by the port. They can use any of their favorite modern internet browsers such as Chrome, Firefox, and IE. An example of what to put in the address bar of the browser is:

192.168.0.100:8080

They will be presented with a login screen. The default user is: Admin. The password will be whatever was set as the admin pass in rogame.ini. If no admin pass was set, the admin will not be able to log in.


Setting up multiple web admins

Open ROWebAdmin.ini and add the following under [WebAdmin.WebAdmin]:

AuthenticationClass=WebAdmin.MultiWebAdminAuth

Start the server once to generate a new ROMultiAdmin.ini. Now you can either add new admin names and passwords from within the Web Admin itself, or you can add them manually in the file. To do so add the following information for each admin under [Admin MultiAdminData] in ROMultiAdmin.ini

DisplayName=			"AdminNameHere" // Punctuation does matter for these names
Password=			"123" // Any alpha numeric set of characters will work here
Order=				"DenyAllow"
bEnabled=			"True" // This enables this admin

How To Use Web Admin

Go to web admin to find out more details on how to use the system.

Setting Up Redirect

To enable redirect for third party custom maps to be able to run on their server, admins needs to install the "cooked server" files in their "\ROGame\CookedPCServer" directory on the dedicated server.

Now unless users already have the cooked client map files installed manually or previously downloaded in their clients cache, the server will need to be set up to redirect clients without the map to download it from a redirect server. To enable this, the admin must open the roengine.ini file and add a new section near the bottom of the file. The section is called [IpDrv.HTTPDownload] and should look like this:

[IpDrv.HTTPDownload]
RedirectToURL=http://ro2.tripwirecdn.com/

Where the RedirectToURL is a web location that is a repository of the client map files. The example above is the location of Tripwire's public redirect server which will host several near complete and complete custom maps. The client map file (.roe and not any supporting .upk packages) must be renamed as a .upk file. Thus RedirectTestMap.ROE should be renamed to redirecttestmap.upk on the redirect.

Get Custom Maps To Show In Web Admin

To get custom maps to show up in the change level section of web admin, admins will need to add a data store for the game in ROGame.ini. A data store looks like the following example:

[te-custommap ROUIDataProvider_MapInfo]
MapName=te-custommap
FriendlyName=Custom Map
GameType=ROGame.ROGameInfoTerritories
PreviewImageMarkup=<Images:ui_textures.menus.HostGame.MapSelect_Community>
Description=Mamayev Kurgan
LoadMapMovie=LoadScreen_Mamayev
MapTips=TEMamayevTip2
MapType16=ROMT_InfantryOnly
MapType32=ROMT_InfantryOnly
MapType64=ROMT_InfantryOnly

Please note the use of lowercase in the map name and read the Known Issues to Avoid section for more information on the topic. This holds true for the mapcycle as well.

Known Issues to Avoid

  • Linux Redirect

As a redirect server can be a Linux machine, it is very important admins have the closing forward slash in the URL as well as spell all map names in lowercase. Failure to do so will result in a broken redirect and clients will only obtain a 1kb file of the proper name but not the actual files. Also take care when adding the map data store to the ROGame.ini to use lowercase as well as the server will use those file names over any typed in as an admin.

  • Traveling from a custom map to a custom map

When a server goes from a custom map to a custom map, clients will download the second custom map, however there is a bug where the client will just see the "connecting" screen without any updated information about downloading the custom map until it is downloaded and begins to load.

A redirect server needs fast speeds and as much bandwidth as possible, but little else.

Heroes Of The West Mod

The Heroes of The West mod is a mod made available via Steam. Players can navigate to the mods store page and choose to download it if they own Red Orchestra 2 and/or Rising Storm. Admins who want to make the HoTW content available on their server can do so with the following additional steps:

After downloading a normal RO 2 server admins can re launch SteamCMD or their update script and direct it to install the appid:

440090

To the same folder where the Red Orchestra 2 server files are installed.

Once this process is done, copy the files from the BrewedPC folder to the BrewedPCServer folder.