The two primary files for server configuration are system\RavenShield.ini
and system\Server.ini
. Here are some common settings you may want to change:
- In
RavenShield.ini
- If necessary, change the values of the server ports.
Port
: Default value is 6777ServerBeaconPort
: Set toPort
plus 1000BeaconPort
: Set toPort
plus 2000m_iRegSvrPort
: Set toPort
minus 1000m_iRSCDKeyPort
: Set toPort
minus 2000m_iModCDKeyPort
: Set toPort
plus 3000
- If hosting custom content, you will need to also purchase web hosting in order to avoid slow download speeds for players. Configure a file server with the content your players will need to download, and set
RedirectToURL
to its URL. See MODS.md for more info
- If necessary, change the values of the server ports.
- In
Server.ini
- Under
[Engine.R6ServerInfo]
ServerName
should contain the name of your serverMOTD
will be shown to players when they connectDedicatedServer
andInternet Server
should be set toTrue
MaxPlayers
should be set to the number of player slotsRoundTime
is the length of each round in secondsBetweenRoundTime
is how long players have to select their gearRoundsPerMatch
sets the number of rounds before the map rotatesRotateMap
, aka "rotate map on success", will prevent map rotation until a successful round in co-op when set toTrue
UsePassword
should be set toFalse
for public serversAdminPassword
should be set andUseAdminPassword
should be set toTrue
FriendlyFire
may be set toFalse
if desiredForceFPersonWeapon
should be set toTrue
CamThirdPerson
,CamFreeThirdPerson
, andCamGhost
can be disabled for adversarial modeCamTeamOnly
should be set toFalse
in co-op modeNbTerro
is the number of opponents in co-op modeDiffLevel
sets the NPC difficulty. 1 is Rookie, 2 is Veteran, and 3 is Elite. The default is 2AIBkp
may be set toFalse
to disable AI followers in co-op mode
- Under
[Engine.R6MapList]
- There is room for up to 32 maps in the map list. Each position in the list has an index (0-31) and two values to set:
GameType
should beR6Game.R6TeamDeathMatchGame
for PVP orR6Game.R6TerroristHuntCoopGame
for PVE. See game documentation for more mode names.Maps
should be set to the name of the map you want in the rotation. EachMaps[]
entry must have a correspondingGameType[]
entry.
- There is room for up to 32 maps in the map list. Each position in the list has an index (0-31) and two values to set:
- Under
This section will cover hosting a Raven Shield server with MarkMods.com. MarkMods is one of the few vendors to still offer Raven Shield gameservers.
- From the Raven Shield page, choose a number of player slots, a server location, and a billing frequency. Smaller servers will cost around $1/slot, while larger servers can be more efficient (around $0.50/slot).
- Finish the signup process.
- Open your server in the control panel.
- Under Control Panel, Stop the server.
- Under Configuration, make sure
Use FTP config
is enabled. Save at the bottom. - Under File Manager, click
Open In Fullscreen
to start a minimal FTP client connected to your server. To open a file, click it in the UI. Save it to disk if you plan to make changes. To update a file, clickUpload Files
in the bottom left and choose the file to upload.- Install OpenRVS by uploading its files according to the instructions.
- Replace
system\R6GameService.dll
with the prebuilt copy from this repo. This will eliminate another outbound call to Ubisoft's servers. - Replace
Mods\RavenShield.mod
with the copy from this repo. This will enable the OpenRVS server code and beacon code. - Edit
RavenShield.ini
andServer.ini
as desired - In
RavenShield.ini
, set thePort
value to your assigned port from MarkMods. If connecting to your assigned port takes you to someone else's server, someone may have used your port. If this happens, add 10 to every port number and try again.
- Start the server again when finished. It should now be using the config files from the file manager.
When you finish, test your server and take note of your IP address and port number, and skip ahead to Publishing Your Server.
This section will cover hosting a Raven Shield server with DigitalOcean Droplets. You can also use these steps with your own Linux hardware for self-hosted servers.
Note: This section assumes you have a copy of Rainbow Six 3: Gold.
A Raven Shield dedicated server running the base game content will use around 1 CPU, 128MB of memory, and 1GB of disk space. In order to avoid running at capacity, look for VMs with 256MB of memory and 2GB of disk space. To mitigate unbounded memory growth or leaks, you may want to automatically restart game servers once a day.
If you want to run multiple servers, you may do so on a single Linux VM. Simply add 1 CPU, 256MB of memory, and 2GB of disk space for each additional server you want to run on the same instance.
- Create an account on DigitalOcean
- Start a Droplet running the latest Ubuntu Server LTS in your preferred region
- Log into your Droplet as root and run the following one-time setup commands:
dpkg --add-architecture i386
(for 32-bit support)apt update && apt install wine wine32
(install 32-bit Wine to run Raven Shield)
- Still as root, create a non-root user which will run the server. Then run these commands:
mkdir /opt/rs
(create a place to store the game files)chown <YourUser> /opt/rs
(give your user ownership of the game directory)
- Log into the Droplet as your non-root user
- Copy the game files to
/opt/rs
on the server - Install OpenRVS by uploading its files according to the instructions.
- Replace
system\R6GameService.dll
with the prebuilt copy from this repo. This will eliminate another outbound call to Ubisoft's servers. - Replace
Mods\RavenShield.mod
with the copy from this repo. This will enable the OpenRVS server code and beacon code. - Enter the game's system directory with
cd /opt/rs/system
- Start the game with
wine UCC.exe server -ini=RavenShield.init -serverconf=Server.ini
This will start the server attached to your current terminal window.
In order to reliably keep the process running and restart it when it crashes, create a systemd
unit file which runs the wine command above.
Here is an example systemd
unit file which might live in /etc/systemd/system/ravenshield.service
:
[Unit]
Description=ravenshield
[Service]
ExecStart=/usr/bin/wine /opt/rs/system/UCC.exe server -ini=/opt/rs/system/RavenShield.ini -servercfg=/opt/rs/system/Server.ini
Restart=on-failure
RestartSec=10s
[Install]
WantedBy=multi-user.target
After changing systemd
unit files, run systemctl daemon-reload
to read them.
This will let you run systemctl start ravenshield
to start your server, and systemctl enable ravenshield
to start it automatically.
When the process crashes, it will automatically restart it (no more than one attempt every 10 seconds).
When you finish, test your server and take note of your IP address and port number.
Since OpenRVS 1.5, it is no longer necessary to manually get your server added. When servers come online, they self-register with the server list at https://openrvs.org/servers. If your server does not appear, it may be marked as unhealthy, or your client may still be using the old server list. Be sure the game ports on your server are accessible from the public Internet, and that the ports are configured as described above.
Alternatively, you can use your server by directly joining its IP.