By the OpenRVS team:
- original author: Twi
- programming: Twi and Will
- game service fix: chriswak
- community hosting: Tony and SMC Clan
Thanks to: Tony, Psycho, Legacy, juguLator01, SMC and ShadowSquad clans, and the AllR6 community.
A patch to fix Red Storm Entertainment's mistakes (intentional and otherwise). Allows multiplayer again, enables more serious modding, implements some QOL fixes.
- Stop your game if it's running.
- Extract the contents of the OpenRVS ZIP file to your game's
system
directory. For Steam, this issteamapps\common\Rainbow Six 3 Gold\system
. - Optionally adjust your FOV in
openrvs.ini
- see the[OpenRVS.OpenFOV]
section. - Launch the game! You'll see a list of servers to choose from, or you can join by IP address.
- Stop your server process if it's running.
- Extract the contents of the OpenRVS ZIP file to your game's
system
directory. - Edit
RavenShield.mod
in your game'sMods
directory, and add the following:
ServerActors=OpenRVS.OpenServer
ServerActors=OpenRVS.OpenBeacon
ServerActors=OpenRenderFix.OpenFix
ServerPackages=OpenRenderFix
NOTE: The OpenRVS.OpenBeacon
line should replace the IpDrv.UdpBeacon
line.
This may not be compatible with N4Admin installations.
4. Edit system/RavenShield.ini
, and ensure that your ServerBeaconPort
is set
to exactly 1000 above your server's Port
, and that BeaconPort
is exactly
2000 above your server's Port
.
5. Launch the server!
NOTE: Server admins can ban users by IP address in the BanList.ini
file, found
in your game's Server
directory.
The R6GameService.dll
file contains code which makes requests to Ubisoft's
historical infrastructure for the game, which is now shut down. This can result
in lag or stutter.
To fix this, you can patch the file using ChrisWak's patcher, or simply replace the file with an already-patched version.
Since v1.5, OpenRVS servers send an extra UDP beacon to a web server running openrvs-registry. This app tracks all known servers, healthchecks them to hide unhealthy serers, and automatically adds new servers to the list when the UDP beacon is received.
Since v1.6, the config key is RegistryServerHost
instead of RegistryServerIP
,
and DNS domain names are supported (rather than just IP addresses).
The registry listens for beacons on UDP port 8080, and listens for server list requests on HTTP port 8080 (on the /servers URL).
The IP and port for the deployment can be configured in openrvs.ini
:
[OpenRVS.OpenBeacon]
RegistryServerHost=api.openrvs.org
RegistryServerPort=8080
Note: You should test your changes using this process BEFORE opening a pull request!
First, you will need to download Twi's Raven Shield SDK. Put this somewhere convenient (such as C:\rvssdk
).
The SDK expects the OpenRVS code (both OpenRVS
and OpenRenderFix
directories) to be inside the Code Environment
directory in the SDK folder. Be sure to copy \PATH\TO\GIT\REPO\{OpenRVS,OpenRenderFix}
to \PATH\TO\SDK\Code Environment
to operate on the latest version of your code.
- Open a command prompt in the
SDK2
directory. - Run
"SDK ToolBelt.bat"
to enter the CLI - Run
160
to activate the SDK for Raven Shield v1.60 - Type
compile
to enter the compiler, and then typeOpenRVS
to compile OpenRVS. Address any errors or warnings if necessary. Typelog
to show more detail. Note: If you see an error regardingappPreExit
, this can be ignored. This happens when building 1.60 code with the 1.56 compiler, and the compiled output will still be created successfully at\PATH\TO\SDK\OpenRVS.u
- Type
strip
to enter the symbol/docstring stripper, and then typeOpenRVS.u
to run it. This will reduce output file size by around 60% - Copy
OpenRVS.u
and/orOpenRenderFix.u
to your game directory'ssystem
folder (both client and server) - Test your changes in-game by connecting to the server
Repeat the above process for OpenRenderFix
instead of OpenRVS
to compile changes to weapon rendering in multiplayer.
In order to enable debug logging, edit OpenLogger.uc
and change false
to true
where instructed.
We have included a number of reusable UnrealScript2 libraries in OpenRVS:
- OpenLogger.uc: For writing OpenRVS logs to system\ravenshield.log
- OpenString.uc: For common operations like Split() and RemoveQuotes()
- OpenTimer.uc: For measuring how long things take to execute
- OpenHTTPClient.uc: For sending HTTP requests and reading responses
- Replaces hardcoded IPs with DNS names for improved reliability
- Updates the default server list to http://api.openrvs.org/servers
- Updates the default beacon server to udp://api.openrvs.org:8080
- Updates fallback server list
- Updates documentation
- Adds INI files to repo for easier packaging of releases
- server ping in multiplayer menu added
- server sorting in multiplayer menu added
- version checking added - clients and servers not fully updated will write a warning to log, and clients will see a popup message with download link
- support for automatic server registration added - needs to be fully implemented on master list host for functionality
- support for CSV-format master server list added
- support for custom FOVs added - including fix for weapon fov rendering
- support for loading the game straight into a mod added
- added back beta feature unlimited practice button
- mod actors can now use "CMD" console command
- support for cheat manager mods added
- multiplayer has new actor "OpenRenderFix.OpenFix" to help widescreen players
- behind-the-scenes errors when first loading maplist fixed
- issue with clogging user.ini fixed (?)
- partial support for custom mods dedicated servers begun
- support for modded singleplayer gametypes added
- buggy code in multiplayer menus cleaned up a bit
- enemy positioning data now sent at all times to players; fixes issues with invisible tangos on a laggy connection
- Ubisoft mod locking removed; any mod can now work without extra help
- server list disappearing when using escape menu fixed
- massive freeze when clicking multiplayer fixed
- server list now fetches some current info from each server
- added ability to specify alternate server list source
- servers loaded from the backup list (if connection to the configured server list fails) also fetch live info
- rewrote server list connection to fix game freeze when attempting to connect
- logs incoming player IP addresses
- fixes issue where server list retrieved from internet could be too large and not display properly or at all
- backup server list updated
- bypasses UBI.com login
- bypasses cd key client verification
- fixes bug in join IP window
- gets serverlist over http
- allows connection to LAN server through internet
- fixes issue with connecting to non-N4 server
- bypasses cd key server verification
- allows banning via IP
- fixes issue with multiple servers using same ban list