DedicatedServer: Difference between revisions
No edit summary |
|||
(5 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
== Downloading and Running the SteamCMD Update Tool == | ==Downloading and Running the SteamCMD Update Tool== | ||
#Download the SteamCMD Update Tool: | |||
#*[https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip] | |||
#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.'' | |||
#Launch SteamCmd | |||
::NOTE: To automate this process for future updates, see [[#Automating SteamCmd]]. | |||
##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.'' | |||
#Log in with your Steam Account. We recommend server admins set up a server steam account for this process or use anonymous login | |||
::''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 | ||
or | or | ||
login anonymous | login anonymous | ||
: 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): | |||
set_steam_guard_code yourcodehere | set_steam_guard_code yourcodehere | ||
login username password | login username password | ||
=== Downloading the Rising Storm 2: Vietnam Dedicated Server === | :5. You should see a message stating that you have successfully logged in with your account. | ||
: 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]]. | |||
===Downloading the Rising Storm 2: Vietnam 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:\RS2Server\ | force_install_dir c:\RS2Server\ | ||
: Up one folder: | :Up one folder: | ||
force_install_dir ..\RS2Server\ | force_install_dir ..\RS2Server\ | ||
: In the Steam Command folder: | :In the Steam Command folder: | ||
force_install_dir .\RS2Server\ | force_install_dir .\RS2Server\ | ||
: 3. Install or Update RS2. | :3. Install or Update RS2. | ||
: If this is your first time installing or if you are trying to verify the integrity of the server files: | :If this is your first time installing or if you are trying to verify the integrity of the server files: | ||
app_update 418480 validate | app_update 418480 validate | ||
: If this is simply an update to an existing RS2 dedicated server: | :If this is simply an update to an existing RS2 dedicated server: | ||
app_update 418480 | app_update 418480 | ||
: If Tripwire is currently running a beta update of the dedicated server files: | :If Tripwire is currently running a beta update of the dedicated server files: | ||
app_update 418480 -beta "branch name" | app_update 418480 -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. | :4. Once finished, type '''quit''' at the '''Steam>''' prompt to properly log off of the Steam servers. | ||
=== Automating SteamCmd === | ===Automating SteamCmd=== | ||
There are two ways to automate SteamCmd. | There are two ways to automate SteamCmd. | ||
: 1. Add commands to the command line. Example: | :1. Add commands to the command line. Example: | ||
SteamCmd +login user password +force_install_dir ./rs2_ds +app_update 418480 validate | SteamCmd +login user password +force_install_dir ./rs2_ds +app_update 418480 validate | ||
: 2. Create a script. | :2. Create a script. | ||
:: a. Put your SteamCmd commands in a text file. Example: | ::a. Put your SteamCmd commands in a text file. Example: | ||
// update_rs2_ds.txt | // update_rs2_ds.txt | ||
Line 69: | Line 83: | ||
exit | exit | ||
:: b. Run SteamCmd with the +runscript option. Example: | ::b. Run SteamCmd with the +runscript option. Example: | ||
SteamCmd +runscript rs2_ds.txt | SteamCmd +runscript rs2_ds.txt | ||
== Starting the Server == | ==Starting the Server== | ||
Use the batch file downloaded with the server or create your own. To launch a server with default settings on Supremacy SongBe use the following batch script: | Use the batch file downloaded with the server or create your own. To launch a server with default settings on Supremacy SongBe use the following batch script: | ||
start .\Binaries\win64\vngame vnsu-SongBe | start .\Binaries\win64\vngame vnsu-SongBe | ||
= Advanced Configuration = | =Advanced Configuration= | ||
Configuring your new Rising Storm 2: Vietnam 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. | Configuring your new Rising Storm 2: Vietnam 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. | ||
=== Command Line Launch Options === | ===Command Line Launch Options=== | ||
You can use several command line launch options to help quickly launch a server. These include url arguments attached to the command line itself (example ...bioticslab?optionhere=x?option2here=x) as well as switches which are included after the main line (example ...bioticslab -switchhere -switch2here) | You can use several command line launch options to help quickly launch a server. These include url arguments attached to the command line itself (example ...bioticslab?optionhere=x?option2here=x) as well as switches which are included after the main line (example ...bioticslab -switchhere -switch2here) | ||
Line 122: | Line 137: | ||
|WebAdminPort= | |WebAdminPort= | ||
|Alpha numeric character combinations. Example: 8080 | |Alpha numeric character combinations. Example: 8080 | ||
|This is the web admin port. Changing this will change the port used to connect to the servers webadmin panel if that functionality is turned on. This switch is still in Beta, use at your own risk. | |This is the web admin port. Changing this will change the port used to connect to the servers webadmin panel if that functionality is turned on. This switch is still in Beta, use at your own risk. | ||
|- | |- | ||
|Multihome= | |Multihome= | ||
Line 137: | Line 152: | ||
|} | |} | ||
=== rogame.ini === | === ICMP Echo Request === | ||
ICMP incoming echo request must be allowed in the firewall of the box hosting the Rising Storm 2 server. If this is not done it can result in the ping of the server showing incorrectly and the server being excluded from matchmaking. It may be necessary to reach out to the server provider to enable this. | |||
===rogame.ini=== | |||
''The rogame.ini file can be found under \ROGame\Config\'' | ''The rogame.ini file can be found under \ROGame\Config\'' | ||
Line 145: | Line 163: | ||
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: | ||
=== Server Passwords === | ===Server Passwords=== | ||
:[Engine.AccessControl] in ROGame.ini: | |||
{| class="wikitable" | {| class="wikitable" | ||
! style="width:15%" |Option Name | ! style="width:15%" |Option Name | ||
Line 162: | Line 181: | ||
|} | |} | ||
=== Server Name and Admin Contact === | ===Server Name and Admin Contact=== | ||
: [Engine.GameReplicationInfo] in ROGame.ini: | |||
:[Engine.GameReplicationInfo] in ROGame.ini: | |||
{| class="wikitable" | {| class="wikitable" | ||
! style="width:15%" |Option Name | ! style="width:15%" |Option Name | ||
Line 178: | Line 199: | ||
|} | |} | ||
=== General Global Game Settings === | ===General Global Game Settings=== | ||
: [ROGame.ROGameInfo] in ROGame.ini: | |||
:[ROGame.ROGameInfo] in ROGame.ini: | |||
{| class="wikitable" | {| class="wikitable" | ||
! style="width:15%" |Option Name | ! style="width:15%" |Option Name | ||
Line 195: | Line 218: | ||
|} | |} | ||
==== Team Balance ==== | ====Team Balance==== | ||
{| class="wikitable" | {| class="wikitable" | ||
! style="width:15%" |Option Name | ! style="width:15%" |Option Name | ||
Line 215: | Line 238: | ||
|} | |} | ||
==== Game Rounds, Ready Up System and AI Difficulty ==== | ====Game Rounds, Ready Up System and AI Difficulty==== | ||
{| class="wikitable" | {| class="wikitable" | ||
! style="width:15%" |Option Name | ! style="width:15%" |Option Name | ||
Line 242: | Line 265: | ||
|} | |} | ||
==== In Game Admin Messages to Players ==== | ====In Game Admin Messages to Players==== | ||
{| class="wikitable" | {| class="wikitable" | ||
! style="width:15%" |Option Name | ! style="width:15%" |Option Name | ||
Line 257: | Line 280: | ||
|} | |} | ||
==== Minimum Amount of Players For a Round to Start ==== | ====Minimum Amount of Players For a Round to Start==== | ||
{| class="wikitable" | {| class="wikitable" | ||
! style="width:15%" |Option Name | ! style="width:15%" |Option Name | ||
Line 268: | Line 291: | ||
|} | |} | ||
==== Friendly Fire Settings ==== | ====Friendly Fire Settings==== | ||
{| class="wikitable" | {| class="wikitable" | ||
! style="width:15%" |Option Name | ! style="width:15%" |Option Name | ||
Line 311: | Line 334: | ||
|} | |} | ||
==== Visability of Friend Player Names ==== | ====Visability of Friend Player Names==== | ||
{| class="wikitable" | {| class="wikitable" | ||
! style="width:15%" |Option Name | ! style="width:15%" |Option Name | ||
Line 322: | Line 345: | ||
|} | |} | ||
==== Voting ==== | ====Voting==== | ||
{| class="wikitable" | {| class="wikitable" | ||
! style="width:15%" |Option Name | ! style="width:15%" |Option Name | ||
Line 381: | Line 404: | ||
|} | |} | ||
==== Communication ==== | ====Communication==== | ||
{| class="wikitable" | {| class="wikitable" | ||
! style="width:15%" |Option Name | ! style="width:15%" |Option Name | ||
Line 416: | Line 439: | ||
|} | |} | ||
==== Specating ==== | ====Specating==== | ||
{| class="wikitable" | {| class="wikitable" | ||
! style="width:15%" |Option Name | ! style="width:15%" |Option Name | ||
Line 443: | Line 466: | ||
|} | |} | ||
==== Reinforcments ==== | ====Reinforcments==== | ||
{| class="wikitable" | {| class="wikitable" | ||
! style="width:15%" |Option Name | ! style="width:15%" |Option Name | ||
Line 454: | Line 477: | ||
|} | |} | ||
==== Honor Gating ==== | ====Honor Gating==== | ||
{| class="wikitable" | {| class="wikitable" | ||
! style="width:15%" |Option Name | ! style="width:15%" |Option Name | ||
Line 469: | Line 492: | ||
|} | |} | ||
==== Welcome Screen and Message Of The Day ==== | ====Welcome Screen and Message Of The Day==== | ||
{| class="wikitable" | {| class="wikitable" | ||
! style="width:15%" |Option Name | ! style="width:15%" |Option Name | ||
Line 504: | Line 527: | ||
|} | |} | ||
==== Maps ==== | ====Maps==== | ||
bUseMapList=True - This sets the server to use a custom map list you specify instead of the entire default map list. | bUseMapList=True - This sets the server to use a custom map list you specify instead of the entire default map list. | ||
Line 544: | Line 567: | ||
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. | 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 ==== | ====Enable/Disable Functionality==== | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 616: | Line 639: | ||
|} | |} | ||
==== Information on Scoreboard ==== | ====Information on Scoreboard==== | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 636: | Line 659: | ||
|} | |} | ||
==== Clan Match Functionality ==== | ====Clan Match Functionality==== | ||
Some of these options may not yet be implemented | Some of these options may not yet be implemented | ||
Line 661: | Line 684: | ||
|} | |} | ||
==== Client Side Hit Detection ==== | ====Client Side Hit Detection==== | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 673: | Line 696: | ||
|} | |} | ||
==== Friendly Player Collision ==== | ====Friendly Player Collision==== | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 685: | Line 708: | ||
|} | |} | ||
==== Enemy Spotted ==== | ====Enemy Spotted==== | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 697: | Line 720: | ||
|} | |} | ||
==== Death Messages ==== | ====Death Messages==== | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 713: | Line 736: | ||
|} | |} | ||
==== Melee Only ==== | ====Melee Only==== | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 725: | Line 748: | ||
|} | |} | ||
==== Game Mode Options For Custom ==== | ====Game Mode Options For Custom==== | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 781: | Line 804: | ||
|} | |} | ||
=== Supremacy Settings === | ===Supremacy Settings=== | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 826: | Line 849: | ||
|ReinforcementTimeScale | |ReinforcementTimeScale | ||
|Numerical value between 0 - 1 | |Numerical value between 0 - 1 | ||
|Sets the Territory spawn time scale. | |Sets the Territory spawn time scale. | ||
|- | |- | ||
|bDisableTimeLimit | |bDisableTimeLimit | ||
Line 857: | Line 880: | ||
|} | |} | ||
=== Territory Settings === | ===Territory Settings=== | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 902: | Line 925: | ||
|ReinforcementTimeScale | |ReinforcementTimeScale | ||
|Numerical value between 0 - 1 | |Numerical value between 0 - 1 | ||
|Sets the Territory spawn time scale. | |Sets the Territory spawn time scale. | ||
|- | |- | ||
|bDisableTimeLimit | |bDisableTimeLimit | ||
Line 933: | Line 956: | ||
|} | |} | ||
=== Skirmish Settings === | ===Skirmish Settings=== | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 989: | Line 1,012: | ||
|} | |} | ||
= Setting Up Web Admin = | =Setting Up Web Admin= | ||
To enable webadmin: | To enable webadmin: | ||
Line 1,004: | Line 1,027: | ||
==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 1,016: | Line 1,038: | ||
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. | ||
== Setting Up SteamWorkshop Redirect == | == Enable GAM (Green Army Men) Support In Web Admin == | ||
Within your server's .\ROGame\Config\... directory, add this new section to the very top of your '''ROGMGame.ini''' | |||
{| class="wikitable" | |||
! style="width:100%" |'''ROGMGame.ini''' | |||
|- | |||
|[GMGameInfoTerritories ROUIDataProvider_GameModeInfo] | |||
GameMode=GreenMenMod.GMGameInfoTerritories | |||
GameSettingsClass=ROOnlineGameSettingsTerritories | |||
GameSearchClass=ROOnlineGameSearch | |||
DefaultMap=GMTE-Christmas2018 | |||
Prefixes=GMTE | |||
OptionSet=GMTE | |||
<nowiki>;;</nowiki>ROUIDataProvider_GameModeInfo.uc needs to be fed some data! | |||
[GMGameInfoSupremacy ROUIDataProvider_GameModeInfo] | |||
GameMode=GreenMenMod.GMGameInfoSupremacy | |||
GameSettingsClass=ROOnlineGameSettingsSupremacy | |||
GameSearchClass=ROOnlineGameSearch | |||
DefaultMap=GMSU-BeachParty2019 | |||
Prefixes=GMSU | |||
OptionSet=GMSU | |||
[GMGameInfoSkirmish ROUIDataProvider_GameModeInfo] | |||
GameMode=GreenMenMod.GMGameInfoSkirmish | |||
GameSettingsClass=ROOnlineGameSettingsSkirmish | |||
GameSearchClass=ROOnlineGameSearch | |||
DefaultMap=VNSK-Compound | |||
Prefixes=GMSK | |||
OptionSet=GMSK | |||
|} | |||
==Setting Up SteamWorkshop Redirect== | |||
'''Configuring the server to download files from Workshop:''' | '''Configuring the server to download files from Workshop:''' | ||
# Make sure that the server is not running. If it is running, the Workshop setup will be overridden the next time you restart the server. | #Make sure that the server is not running. If it is running, the Workshop setup will be overridden the next time you restart the server. | ||
# Add a new section to the ROEngine.ini config file: [OnlineSubsystemSteamworks.TWWorkshopSteamworks] | #Add a new section to the ROEngine.ini config file: [OnlineSubsystemSteamworks.TWWorkshopSteamworks] | ||
# For each Workshop item you want the server to download, add a ServerSubscribedWorkshopItems=<number> line in that section. You can find the number by looking for the id= part of the the URL of the Workshop item in Steam. For example, the URL of the Workshop Test map is http://steamcommunity.com/sharedfiles/filedetails/?id=951925087, so the line will be "ServerSubscribedWorkshopItems=951925087". There might be other text=number parts of the URL, so be sure to use only the number after "id=". | #For each Workshop item you want the server to download, add a ServerSubscribedWorkshopItems=<number> line in that section. You can find the number by looking for the id= part of the the URL of the Workshop item in Steam. For example, the URL of the Workshop Test map is http://steamcommunity.com/sharedfiles/filedetails/?id=951925087, so the line will be "ServerSubscribedWorkshopItems=951925087". There might be other text=number parts of the URL, so be sure to use only the number after "id=". | ||
Example [OnlineSubsystemSteamworks.TWWorkshopSteamworks] section (This ID is for the MACV-SOG faction mod by Joe): | Example [OnlineSubsystemSteamworks.TWWorkshopSteamworks] section (This ID is for the MACV-SOG faction mod by Joe): | ||
Line 1,037: | Line 1,109: | ||
This will only work for Workshop items that the server downloads itself, that are listed in the [OnlineSubsystemSteamworks.TWWorkshopSteamworks] section as described above. | This will only work for Workshop items that the server downloads itself, that are listed in the [OnlineSubsystemSteamworks.TWWorkshopSteamworks] section as described above. | ||
# Make sure that the server is not running. If it is running, the Workshop setup will be overridden the next time you restart the server. | #Make sure that the server is not running. If it is running, the Workshop setup will be overridden the next time you restart the server. | ||
# Find the section [IpDrv.TcpNetDriver] in the ROEngine.ini config file. | #Find the section [IpDrv.TcpNetDriver] in the ROEngine.ini config file. | ||
# Add the line "DownloadManagers=OnlineSubsystemSteamworks.TWWorkshopSteamworks" to that section. If there are other "DownloadManagers=" lines, make sure this one is the first. | #Add the line "DownloadManagers=OnlineSubsystemSteamworks.TWWorkshopSteamworks" to that section. If there are other "DownloadManagers=" lines, make sure this one is the first. | ||
# Do not delete anything from this section, except (optionally) other DownloadManagers= lines. | #Do not delete anything from this section, except (optionally) other DownloadManagers= lines. | ||
Line 1,052: | Line 1,124: | ||
ROGame\Cache\643383080\0\BrewedPC | ROGame\Cache\643383080\0\BrewedPC | ||
Copy paste the map file name (excluding the .rom extension). | Copy paste the map file name (excluding the .rom extension). | ||
=== Get Custom Maps To Show In Web Admin === | ===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: | 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: | ||
Line 1,069: | Line 1,141: | ||
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. | 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 === | ===Known Issues to Avoid=== | ||
*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. | 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. | ||
[[Category:Server]] | [[Category:Server]] | ||
[[Category:Admin]] | [[Category:Admin]] |
Latest revision as of 18:42, 20 October 2020
Downloading and Running the SteamCMD Update Tool
- Download the SteamCMD Update Tool:
- 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.
- Launch SteamCmd
- NOTE: To automate this process for future updates, see #Automating SteamCmd.
- 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.
- Open a command prompt in that directory and start SteamCmd
- Log in with your Steam Account. We recommend server admins set up a server steam account for this process or use anonymous login
- 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 or login anonymous
- 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 Rising Storm 2: Vietnam 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:\RS2Server\
- Up one folder:
force_install_dir ..\RS2Server\
- In the Steam Command folder:
force_install_dir .\RS2Server\
- 3. Install or Update RS2.
- If this is your first time installing or if you are trying to verify the integrity of the server files:
app_update 418480 validate
- If this is simply an update to an existing RS2 dedicated server:
app_update 418480
- If Tripwire is currently running a beta update of the dedicated server files:
app_update 418480 -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 ./rs2_ds +app_update 418480 validate
- 2. Create a script.
- a. Put your SteamCmd commands in a text file. Example:
// update_rs2_ds.txt // login anonymous force_install_dir ./rs2server app_update 418480 validate exit
- b. Run SteamCmd with the +runscript option. Example:
SteamCmd +runscript rs2_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 Supremacy SongBe use the following batch script:
start .\Binaries\win64\vngame vnsu-SongBe
Advanced Configuration
Configuring your new Rising Storm 2: Vietnam 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.
Command Line Launch Options
You can use several command line launch options to help quickly launch a server. These include url arguments attached to the command line itself (example ...bioticslab?optionhere=x?option2here=x) as well as switches which are included after the main line (example ...bioticslab -switchhere -switch2here)
Url Arguments | Valid Entries | What this option controls |
---|---|---|
AdminName= | Alpha numeric character combinations. Example: Admin | This is the admin username for WebAdmin if you're configuring WebAdmin via Commandline |
AdminPassword= | Alpha numeric character combinations. Example: Abd32Sdn53 | This is the master server administrator password |
MaxPlayers= | Alpha numeric character combinations. Example: 6 | This is how many maximum players the server is set to support |
Difficulty= | Numeric characters 0-3 | This sets the server difficulty. 0 = Normal, 1 = Hard, 2 = Suicidal, 3 = Hell on Earth |
Switches | Valid Entries | What this option controls |
---|---|---|
Port= | Alpha numeric character combinations. Example: 7787 | This is the game port. Changing this without changing the query port will automatically change the query port as well (up/down the same number from the default game port) |
QueryPort= | Alpha numeric character combinations. Example: 27015 | This is the query port. Changing this will change the port the server uses to communicate with Steam. Default is 27015. Change this in your launch will make it different from the automatic change that happens if you change the default port. |
WebAdminPort= | Alpha numeric character combinations. Example: 8080 | This is the web admin port. Changing this will change the port used to connect to the servers webadmin panel if that functionality is turned on. This switch is still in Beta, use at your own risk. |
Multihome= | An IP that can resolve to the server machine. Example: 192.168.0.1 | If a server machine can resolve to multiple IP's, this command can tie a server to a specific IP on that machine. |
PREFERREDPROCESSOR= | Numeric characters. Example: 2 | This will tie a server process to a single core/thread on the hosting machine. |
ConfigSubDir= | Alpha numeric character combinations. Example: KF2Server-Normal-Long1 | Creates and reads settings from a sub directory under ./KFGame/Config which allows you to configure .INI settings on a per server basis. |
ICMP Echo Request
ICMP incoming echo request must be allowed in the firewall of the box hosting the Rising Storm 2 server. If this is not done it can result in the ping of the server showing incorrectly and the server being excluded from matchmaking. It may be necessary to reach out to the server provider to enable this.
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: testemail@testemail.com | 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 |
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 |
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 |
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=("VNTE-HueCity","VNSU-AnLaoValley","VNSU-SongBe","VNTE-CuChi","VNTE-Hill937"),RoundLimits=(0,0,0,0,0)) |
The following Maps and modes are designed for, tested against and most enjoyed with the following player counts.
Supremacy 64 Players |
---|
VNSU-AnLaoValley, VNSU-SongBe |
Territories 64 Players |
---|
VNTE-CuChi, VNTE-Hill937 |
Territories 16 Players |
---|
VNTE-Firebase, VNTE-Compound |
Skirmish 16 Players |
---|
VNSK-JungleCamp, VNSK-Compound, VNSK-Firebase |
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 |
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 |
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 |
Supremacy 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 |
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 |
Skirmish 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.
Enable GAM (Green Army Men) Support In Web Admin
Within your server's .\ROGame\Config\... directory, add this new section to the very top of your ROGMGame.ini
ROGMGame.ini |
---|
[GMGameInfoTerritories ROUIDataProvider_GameModeInfo]
GameMode=GreenMenMod.GMGameInfoTerritories GameSettingsClass=ROOnlineGameSettingsTerritories GameSearchClass=ROOnlineGameSearch DefaultMap=GMTE-Christmas2018 Prefixes=GMTE OptionSet=GMTE ;;ROUIDataProvider_GameModeInfo.uc needs to be fed some data! [GMGameInfoSupremacy ROUIDataProvider_GameModeInfo] GameMode=GreenMenMod.GMGameInfoSupremacy GameSettingsClass=ROOnlineGameSettingsSupremacy GameSearchClass=ROOnlineGameSearch DefaultMap=GMSU-BeachParty2019 Prefixes=GMSU OptionSet=GMSU [GMGameInfoSkirmish ROUIDataProvider_GameModeInfo] GameMode=GreenMenMod.GMGameInfoSkirmish GameSettingsClass=ROOnlineGameSettingsSkirmish GameSearchClass=ROOnlineGameSearch DefaultMap=VNSK-Compound Prefixes=GMSK OptionSet=GMSK |
Setting Up SteamWorkshop Redirect
Configuring the server to download files from Workshop:
- Make sure that the server is not running. If it is running, the Workshop setup will be overridden the next time you restart the server.
- Add a new section to the ROEngine.ini config file: [OnlineSubsystemSteamworks.TWWorkshopSteamworks]
- For each Workshop item you want the server to download, add a ServerSubscribedWorkshopItems=<number> line in that section. You can find the number by looking for the id= part of the the URL of the Workshop item in Steam. For example, the URL of the Workshop Test map is http://steamcommunity.com/sharedfiles/filedetails/?id=951925087, so the line will be "ServerSubscribedWorkshopItems=951925087". There might be other text=number parts of the URL, so be sure to use only the number after "id=".
Example [OnlineSubsystemSteamworks.TWWorkshopSteamworks] section (This ID is for the MACV-SOG faction mod by Joe):
[OnlineSubsystemSteamworks.TWWorkshopSteamworks] ServerSubscribedWorkshopItems=951925087
Make clients download the Workshop item from Steam when connecting to the server:
This will only work for Workshop items that the server downloads itself, that are listed in the [OnlineSubsystemSteamworks.TWWorkshopSteamworks] section as described above.
- Make sure that the server is not running. If it is running, the Workshop setup will be overridden the next time you restart the server.
- Find the section [IpDrv.TcpNetDriver] in the ROEngine.ini config file.
- Add the line "DownloadManagers=OnlineSubsystemSteamworks.TWWorkshopSteamworks" to that section. If there are other "DownloadManagers=" lines, make sure this one is the first.
- Do not delete anything from this section, except (optionally) other DownloadManagers= lines.
Steam Workshop map location in server and map names
Start the server and wait it to download Steam Workshop maps you added earlier. This can take several minutes. After server has downloaded all the maps stop the server and make sure that it is not running.
Navigate into server install location and go into folder ROGame\Cache\XXX\0\BrewedPC where XXX is one of the ServerSubscribedWorkshopItems you added earlier. For example (RO-BikiniAtoll):
ROGame\Cache\643383080\0\BrewedPC
Copy paste the map file name (excluding the .rom extension).
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
- 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.