7 Commits

Author SHA1 Message Date
devin 95f309c342 Change section title to 'Download/update and play'
Updated the section title for clarity on downloading and playing the game.
2026-07-23 21:38:54 -04:00
devin 7d40a5e116 Update hash for 20230414 2026-07-23 20:57:31 -04:00
devin 0ee5735564 Update client to 20230414, remove metadata patch (#2)
* build 20230406

* remove metadata patch

* update plugin
2026-07-23 15:26:08 -04:00
devin 87a1b229bc Change project name and update installation instructions
Updated the README to reflect the correct project name and clarify the purpose of the client.
2026-07-20 19:36:54 -04:00
devin 4407f31bae Revise installation section in README.md
Updated installation instructions and removed redundant steps.
2026-07-20 11:18:44 -04:00
devin ef13dbd6c1 Fix spelling and enhance README setup description
Corrected spelling and clarified setup instructions.
2026-07-20 11:18:01 -04:00
Devin Zuczek 6be7b498ee add mirror download for users without the game in steam 2026-07-17 13:48:42 -04:00
4 changed files with 50 additions and 16 deletions
+12
View File
@@ -77,3 +77,15 @@ App Id Chat = 55fae86e-0459-4f97-bf6c-39c9341da6ef
# Default value: https://ns.rec.net
RecNet NameServer Host = https://ns.recflare.net
[Signing]
## Force RSA signature verification to succeed (ON by default), so the client stops checking that images are signed with Rec Room's private key. This is what lets a self-hosted server serve its own images without the baked-in modulus matching. Set false only if you actually want signed images, in which case use 'Signing Modulus Override' instead. NOTE: this forces ALL mscorlib RSA verification to pass, not just image signatures.
# Setting type: Boolean
# Default value: true
Disable Signature Verification = true
## Optional alternative to disabling verification: your own RSA public modulus, base64, RAW 2048-bit (256 bytes decoded) — NOT a PEM/DER key. When set, it is substituted for the modulus baked into global-metadata.dat and real verification still runs, so images stay signed with your keypair. Redundant while 'Disable Signature Verification' is true. Empty = leave the stock modulus alone.
# Setting type: String
# Default value:
Signing Modulus Override =
+7 -8
View File
@@ -1,15 +1,14 @@
# RecFlare client
# RecFlare game client
Autoamtic setup of the game client to connect to the testing [RecFlare](https://github.com/djdevin/recflare) instance.
Automatic download and setup of a game client to play [RecFlare](https://github.com/djdevin/recflare).
## Download
[BepInEx](https://github.com/BepInEx/BepInEx) and the [RecNet Plugin](https://github.com/djdevin/recnet-plugin) are installed as part of the setup.
Check out this repository or extract the ZIP: https://github.com/djdevin/recflare-client/archive/refs/heads/master.zip
## Download/update and play
## Installing
1. Run `download.bat`. The script will download the game client from Steam and apply patches and configuration.
2. Run `RecRoomScreen.bat` or `RecRoomVR.bat`
1. Check out this repository or extract the ZIP: https://github.com/djdevin/recflare-client/archive/refs/heads/master.zip
2. Run `download.bat`. The script will ask whether you have Rec Room in your Steam library: if you do, it downloads the game client from Steam (DepotDownloader); if not, it syncs the game files from a mirror instead. Either way it then applies patches and configuration.
3. Run `RecRoomScreen.bat` or `RecRoomVR.bat`
## Custom server
+31 -8
View File
@@ -8,6 +8,10 @@ set "GREEN=%ESC%[92m"
set "RED=%ESC%[91m"
set "RESET=%ESC%[0m"
choice /C YN /M "Do you have Rec Room in your Steam library? "
if errorlevel 2 goto :bucket
:steam
set "STEAM_USERNAME="
set /p STEAM_USERNAME=Enter your Steam username:
if "%STEAM_USERNAME%"=="" (
@@ -16,28 +20,47 @@ if "%STEAM_USERNAME%"=="" (
)
echo %CYAN%=== Installing DepotDownloader ===%RESET%
curl -f -L -o DepotDownloader.zip https://github.com/SteamRE/DepotDownloader/releases/download/DepotDownloader_3.4.0/DepotDownloader-windows-x64.zip || goto :error
curl -s -f -L -o DepotDownloader.zip https://github.com/SteamRE/DepotDownloader/releases/download/DepotDownloader_3.4.0/DepotDownloader-windows-x64.zip || goto :error
if not exist "DepotDownloader" mkdir "DepotDownloader"
tar -xf DepotDownloader.zip -C DepotDownloader || goto :error
del DepotDownloader.zip
echo %CYAN%=== Downloading Rec Room depot via DepotDownloader (will prompt for Steam password) ===%RESET%
DepotDownloader\DepotDownloader.exe -remember-password -app 471710 -depot 471711 -manifest 7859140924515540835 -dir . -username "%STEAM_USERNAME%" || goto :error
echo %CYAN%=== Downloading depot via DepotDownloader (will prompt for Steam password) ===%RESET%
DepotDownloader\DepotDownloader.exe -remember-password -app 471710 -depot 471711 -manifest 6426603215211043630 -dir . -username "%STEAM_USERNAME%" || goto :error
goto :patch
:bucket
set "CLIENT_MD5=4c4a94624eba99028bb36445ccb03253"
if not exist client.zip goto :download
echo %CYAN%=== Checking existing client.zip ===%RESET%
set "LOCAL_MD5="
for /f "skip=1 delims=" %%h in ('certutil -hashfile client.zip MD5') do if not defined LOCAL_MD5 set "LOCAL_MD5=%%h"
if /i "%LOCAL_MD5%"=="%CLIENT_MD5%" (
echo %GREEN%client.zip already matches expected hash - skipping download.%RESET%
goto :extract
)
echo %RED%client.zip does not match expected hash - redownloading.%RESET%
:download
echo %CYAN%=== Downloading game client from mirror ===%RESET%
curl -f -L -o client.zip https://s3.g.megas4.com/2koayuyiwxv4groxzwdbbxg43cwustavrkvfb/recflare/client.zip || goto :error
:extract
echo %CYAN%=== Extracting game client ===%RESET%
tar -xf client.zip -C . || goto :error
:patch
echo %CYAN%=== Writing steam_appid.txt ===%RESET%
>steam_appid.txt echo 480
echo %CYAN%=== Downloading BepInEx and extracting to this directory ===%RESET%
curl -f -L -o BepInEx.zip https://github.com/BepInEx/BepInEx/releases/download/v6.0.0-pre.2/BepInEx-Unity.IL2CPP-win-x64-6.0.0-pre.2.zip || goto :error
curl -s -f -L -o BepInEx.zip https://github.com/BepInEx/BepInEx/releases/download/v6.0.0-pre.2/BepInEx-Unity.IL2CPP-win-x64-6.0.0-pre.2.zip || goto :error
tar -xf BepInEx.zip -C . || goto :error
del BepInEx.zip
echo %CYAN%=== Downloading RecNetPlugin.dll into BepInEx\plugins ===%RESET%
if not exist "BepInEx\plugins" mkdir "BepInEx\plugins"
curl -f -L -o "BepInEx\plugins\RecNetPlugin.dll" https://github.com/djdevin/recnet-plugin/releases/download/0.0.3/RecNetPlugin.dll || goto :error
echo %CYAN%=== Extracting bundled global-metadata into RecRoom_Data\il2cpp_data\Metadata ===%RESET%
tar -xf "RecRoom_Data\il2cpp_data\Metadata\global-metadata.zip" -C "RecRoom_Data\il2cpp_data\Metadata" || goto :error
curl -s -f -L -o "BepInEx\plugins\RecNetPlugin.dll" https://github.com/djdevin/recnet-plugin/releases/download/20230414.1/RecNetPlugin.dll || goto :error
echo %GREEN%=== Done ===%RESET%
pause