6 Commits

Author SHA1 Message Date
Devin Zuczek 2e06523ca9 bump to 0.0.3 2026-10-24 16:09:54 -04:00
Devin Zuczek eca67a9e22 update with new mirror 2026-10-18 12:49:38 -04:00
Devin Zuczek 8c3f7be035 update installer 2026-10-15 23:38:01 -04:00
Devin Zuczek 1d2b8b75fa 2026 2026-10-12 15:50:27 -04:00
Devin Zuczek 315d3a6a0c bump patch version 2026-09-23 00:34:10 -04:00
Devin Zuczek f7bf34b4f1 update installer source 2026-09-22 22:51:07 -04:00
5 changed files with 35 additions and 35 deletions
-2
View File
@@ -2,7 +2,5 @@
!download.bat !download.bat
!BepInEx/config/net.rec.plugin.cfg !BepInEx/config/net.rec.plugin.cfg
!RecRoom_Data/il2cpp_data/Metadata/global-metadata.zip !RecRoom_Data/il2cpp_data/Metadata/global-metadata.zip
!RecRoomVR.bat
!RecRoomScreen.bat
!RecFlareSetup.iss !RecFlareSetup.iss
!icon.ico !icon.ico
+25 -21
View File
@@ -6,7 +6,7 @@
[Setup] [Setup]
AppId={{8E1D2A7B-6C43-4F0A-9B7E-3D5F80C21A96} AppId={{8E1D2A7B-6C43-4F0A-9B7E-3D5F80C21A96}
AppName=RecFlare AppName=RecFlare
AppVersion=2025.1 AppVersion=2026.1
AppPublisher=RecFlare project AppPublisher=RecFlare project
AppSupportURL=https://github.com/djdevin/recflare AppSupportURL=https://github.com/djdevin/recflare
DefaultDirName={sd}\Games\RecFlare DefaultDirName={sd}\Games\RecFlare
@@ -26,14 +26,16 @@ Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{
[Files] [Files]
Source: "icon.ico"; DestDir: "{app}"; Flags: ignoreversion Source: "icon.ico"; DestDir: "{app}"; Flags: ignoreversion
Source: "RecRoomScreen.bat"; DestDir: "{app}"; Flags: ignoreversion
Source: "RecRoomVR.bat"; DestDir: "{app}"; Flags: ignoreversion
[Icons] [Icons]
Name: "{autoprograms}\RecFlare (Desktop mode)"; Filename: "{app}\recroom.exe"; Parameters: "+forcemode:screen"; WorkingDir: "{app}"; IconFilename: "{app}\icon.ico" ; The shortcuts must go through the .bat launchers, not Recroom_Release.exe: the
Name: "{autoprograms}\RecFlare (VR)"; Filename: "{app}\recroom.exe"; Parameters: "+forcemode:vr"; WorkingDir: "{app}"; IconFilename: "{app}\icon.ico" ; bats start Injector.exe first and wait for it to attach 2026patch.dll, so
Name: "{autodesktop}\RecFlare (Desktop mode)"; Filename: "{app}\recroom.exe"; Parameters: "+forcemode:screen"; WorkingDir: "{app}"; IconFilename: "{app}\icon.ico"; Tasks: desktopicon ; launching the exe directly would run an unpatched client. The bats ship in the
Name: "{autodesktop}\RecFlare (VR)"; Filename: "{app}\recroom.exe"; Parameters: "+forcemode:vr"; WorkingDir: "{app}"; IconFilename: "{app}\icon.ico"; Tasks: desktopicon ; patch zip and carry the +forcemode: argument themselves.
Name: "{autoprograms}\RecFlare (Desktop mode)"; Filename: "{app}\RecRoomScreen.bat"; WorkingDir: "{app}"; IconFilename: "{app}\icon.ico"; Flags: runminimized
Name: "{autoprograms}\RecFlare (VR)"; Filename: "{app}\RecRoomVR.bat"; WorkingDir: "{app}"; IconFilename: "{app}\icon.ico"; Flags: runminimized
Name: "{autodesktop}\RecFlare (Desktop mode)"; Filename: "{app}\RecRoomScreen.bat"; WorkingDir: "{app}"; IconFilename: "{app}\icon.ico"; Flags: runminimized; Tasks: desktopicon
Name: "{autodesktop}\RecFlare (VR)"; Filename: "{app}\RecRoomVR.bat"; WorkingDir: "{app}"; IconFilename: "{app}\icon.ico"; Flags: runminimized; Tasks: desktopicon
[UninstallDelete] [UninstallDelete]
; The game files are downloaded, not installed, so Inno does not track them; ; The game files are downloaded, not installed, so Inno does not track them;
@@ -42,16 +44,17 @@ Type: filesandordirs; Name: "{app}"
[Code] [Code]
const const
PatchVersion = 'v0.0.5'; PatchVersion = 'v0.0.3';
DepotManifest = '1151455856673601091'; DepotManifest = '8867414017562658247';
ClientMD5 = '6820e89bff41906ded7f5c066027f1d6'; ClientMD5 = '96512e70cfa1c2d0da5745740cba1472';
ClientURL = 'https://s3.g.megas4.com/2koayuyiwxv4groxzwdbbxg43cwustavrkvfb/recflare/2025/client.zip'; ClientURL = 'https://s3.g.megas4.com/2koayuyiwxv4groxzwdbbxg43cwustavrkvfb/recflare/2026/client.zip';
DepotDownloaderURL = 'https://github.com/SteamRE/DepotDownloader/releases/download/DepotDownloader_3.4.0/DepotDownloader-windows-x64.zip'; DepotDownloaderURL = 'https://github.com/SteamRE/DepotDownloader/releases/download/DepotDownloader_3.4.0/DepotDownloader-windows-x64.zip';
PatchURL = 'https://github.com/recflare/patch-2025/releases/download/' + PatchVersion + '/2025Patch-' + PatchVersion + '-x64.zip'; PatchURL = 'https://github.com/recflare/patch-2026/releases/download/' + PatchVersion + '/2026Patch-' + PatchVersion + '-x64.zip';
{ Points the client at the RecFlare server; to use your own instance, fork and { Points the client at the RecFlare server; to use your own instance, fork and
change these, then rebuild the installer (see README "Custom server"). } change these, then rebuild the installer (see README "Custom server"). }
ApiHost = 'ns.recflare.net'; ApiHost = 'https://ns.recflare.net';
PhotonHost = 'photon.recflare.net'; ServerDomain = 'recflare.net';
VoiceKeyXml = '<RSAKeyValue><Modulus>nu7lFZqLX+siEI2U8/JihESmm4JrBVLsCHdS8NoAipq2NdJqVouOHQoxtFfJTG6u/+kx4wocnsQ1Ydk5AISyy0GQeweQOTLKlkXsR6on/DL7LqKWxWp3M+MG4kkyZROWh2OELCAudC902p8VSaXmEyH8i1Sid9YiKe0FaNsyzWE=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>';
var var
SourcePage: TInputOptionWizardPage; SourcePage: TInputOptionWizardPage;
@@ -114,7 +117,7 @@ begin
else else
DownloadPage.Add(ClientURL, 'client.zip', ''); DownloadPage.Add(ClientURL, 'client.zip', '');
end; end;
DownloadPage.Add(PatchURL, '2025Patch.zip', ''); DownloadPage.Add(PatchURL, '2026Patch.zip', '');
DownloadPage.Show; DownloadPage.Show;
try try
try try
@@ -208,7 +211,8 @@ begin
Lines[0] := '[config]'; Lines[0] := '[config]';
end; end;
SetIniKey(Lines, 'ApiHost', ApiHost); SetIniKey(Lines, 'ApiHost', ApiHost);
SetIniKey(Lines, 'PhotonHost', PhotonHost); SetIniKey(Lines, 'ServerDomain', ServerDomain);
SetIniKey(Lines, 'VoiceKeyXml', VoiceKeyXml);
Result := SaveStringsToFile(IniPath, Lines, False); Result := SaveStringsToFile(IniPath, Lines, False);
end; end;
@@ -242,14 +246,14 @@ begin
Exit; Exit;
end; end;
SetPreparingStatus('Installing the Rec Room 2025 patch...'); SetPreparingStatus('Installing the Rec Room 2026 patch...');
if not ExtractZip(ExpandConstant('{tmp}\2025Patch.zip'), ExpandConstant('{app}')) then begin if not ExtractZip(ExpandConstant('{tmp}\2026Patch.zip'), ExpandConstant('{app}')) then begin
Result := 'Could not extract the Rec Room 2025 patch.'; Result := 'Could not extract the Rec Room 2026 patch.';
Exit; Exit;
end; end;
if not WritePatchIni(ExpandConstant('{app}\2025patch.ini')) then begin if not WritePatchIni(ExpandConstant('{app}\2026patch.ini')) then begin
Result := 'Could not write 2025patch.ini.'; Result := 'Could not write 2026patch.ini.';
Exit; Exit;
end; end;
end; end;
-1
View File
@@ -1 +0,0 @@
start recroom.exe +forcemode:screen
-1
View File
@@ -1 +0,0 @@
start recroom.exe +forcemode:vr
+10 -10
View File
@@ -1,6 +1,6 @@
@echo off @echo off
setlocal setlocal
set "PATCH_VERSION=v0.0.5" set "PATCH_VERSION=v0.0.3"
rem ANSI colors (Windows 10+): get the ESC character, then define color codes rem ANSI colors (Windows 10+): get the ESC character, then define color codes
for /F "delims=" %%a in ('forfiles /p "%~dp0." /m "%~nx0" /c "cmd /c echo 0x1B"') do set "ESC=%%a" for /F "delims=" %%a in ('forfiles /p "%~dp0." /m "%~nx0" /c "cmd /c echo 0x1B"') do set "ESC=%%a"
@@ -27,11 +27,11 @@ tar -xf DepotDownloader.zip -C DepotDownloader || goto :error
del DepotDownloader.zip del DepotDownloader.zip
echo %CYAN%=== Downloading depot via DepotDownloader (will prompt for Steam password) ===%RESET% echo %CYAN%=== Downloading depot via DepotDownloader (will prompt for Steam password) ===%RESET%
DepotDownloader\DepotDownloader.exe -remember-password -app 471710 -depot 471711 -manifest 1151455856673601091 -dir . -username "%STEAM_USERNAME%" || goto :error DepotDownloader\DepotDownloader.exe -remember-password -app 471710 -depot 471711 -manifest 8867414017562658247 -dir . -username "%STEAM_USERNAME%" || goto :error
goto :patch goto :patch
:bucket :bucket
set "CLIENT_MD5=6820e89bff41906ded7f5c066027f1d6" set "CLIENT_MD5=96512e70cfa1c2d0da5745740cba1472"
if not exist client.zip goto :download if not exist client.zip goto :download
echo %CYAN%=== Checking existing client.zip ===%RESET% echo %CYAN%=== Checking existing client.zip ===%RESET%
set "LOCAL_MD5=" set "LOCAL_MD5="
@@ -44,7 +44,7 @@ echo %RED%client.zip does not match expected hash - redownloading.%RESET%
:download :download
echo %CYAN%=== Downloading game client from mirror ===%RESET% echo %CYAN%=== Downloading game client from mirror ===%RESET%
curl -f -L -o client.zip https://s3.g.megas4.com/2koayuyiwxv4groxzwdbbxg43cwustavrkvfb/recflare/2025/client.zip || goto :error curl -f -L -o client.zip https://s3.g.megas4.com/2koayuyiwxv4groxzwdbbxg43cwustavrkvfb/recflare/2026/client.zip || goto :error
:extract :extract
echo %CYAN%=== Extracting game client ===%RESET% echo %CYAN%=== Extracting game client ===%RESET%
@@ -54,13 +54,13 @@ tar -xf client.zip -C . || goto :error
echo %CYAN%=== Writing steam_appid.txt ===%RESET% echo %CYAN%=== Writing steam_appid.txt ===%RESET%
>steam_appid.txt echo 480 >steam_appid.txt echo 480
echo %CYAN%=== Downloading Rec Room 2025 patch ===%RESET% echo %CYAN%=== Downloading Rec Room 2026 patch ===%RESET%
curl -s -f -L -o 2025Patch.zip https://github.com/recflare/patch-2025/releases/download/%PATCH_VERSION%/2025Patch-%PATCH_VERSION%-x64.zip || goto :error curl -s -f -L -o 2026Patch.zip https://github.com/recflare/patch-2026/releases/download/%PATCH_VERSION%/2026Patch-%PATCH_VERSION%-x64.zip || goto :error
tar -xf 2025Patch.zip -C . || goto :error tar -xf 2026Patch.zip -C . || goto :error
del 2025Patch.zip del 2026Patch.zip
echo %CYAN%=== Pointing 2025patch.ini at RecFlare ===%RESET% echo %CYAN%=== Pointing 2026patch.ini at RecFlare ===%RESET%
powershell -NoProfile -Command "$p='2025patch.ini'; $h=@{ApiHost='ns.recflare.net';PhotonHost='photon.recflare.net'}; $t=@(if (Test-Path $p) { Get-Content $p } else { '[config]' }); foreach ($k in $h.Keys) { $r='^\s*'+$k+'\s*='; if ($t -match $r) { $t = $t -replace ($r+'.*'), ($k+'='+$h[$k]) } else { $t += ($k+'='+$h[$k]) } }; Set-Content -Path $p -Value $t -Encoding ASCII" || goto :error powershell -NoProfile -Command "$p='2026patch.ini'; $h=@{ApiHost='https://ns.recflare.net';ServerDomain='recflare.net';VoiceKeyXml='<RSAKeyValue><Modulus>nu7lFZqLX+siEI2U8/JihESmm4JrBVLsCHdS8NoAipq2NdJqVouOHQoxtFfJTG6u/+kx4wocnsQ1Ydk5AISyy0GQeweQOTLKlkXsR6on/DL7LqKWxWp3M+MG4kkyZROWh2OELCAudC902p8VSaXmEyH8i1Sid9YiKe0FaNsyzWE=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>'}; $t=@(if (Test-Path $p) { Get-Content $p } else { '[config]' }); foreach ($k in $h.Keys) { $r='^\s*'+$k+'\s*='; if ($t -match $r) { $t = $t -replace ($r+'.*'), ($k+'='+$h[$k]) } else { $t += ($k+'='+$h[$k]) } }; Set-Content -Path $p -Value $t -Encoding ASCII" || goto :error
echo %GREEN%=== Done ===%RESET% echo %GREEN%=== Done ===%RESET%
pause pause