Anton Shabunins Blog

From Yogi Central
Jump to: navigation, search

As of July 2021 this method works again. I successfully tested both LaunchRDR2.bat and desktop shortcut for PlayRDR2.exe on - RGL 1.0.42.369 - RGSC 2.0.8.5 - after every RGL/RGSC update you should redo steps from "Required setup steps when connected"section - RDR2 build 1436.25 (Blood Money/DLSS update) - Epic Launcher 12.2.10-16850973 Be advised that although Rockstar is commited to supporting offline mode it may inadvertently break again in some future RGSC update. Offline mode launch with saved RGSC credentials used to work until Rockstar broke it in October 2020 RGL update, then after my ticket they fixed it in November 2020 RGL update. wow wiki At least now there is "alternative offline running method" by EMPRESS V2 & Mr Goldberg.



This method works if you legitimately bought the game from Epic Games Store and want to play through RDR2 story mode offline. The method (after modifications for specific store) and Troubleshooting section are also applicable to RGL and Steam RDR2 versions.



TL;DR - recent Epic Game Launcher and Rockstar Game Launcher versions explicitly support offline mode and RDR2 story mode can now be started without internet connection using only saved RGL/RGSC credentials. Moreover, it can be started from custom desktop shortcut for RGL without running Epic at all as long as this shortcut has correct saved Epic credentials as parameters - they can be obtained from RGL logfile.



Required setup steps when connected



- Install and launch RDR2 from Epic Games Launcher (EGL), it will install prerequisite Rockstar Game Launcher (RGL) and Rockstar Games Social Club (RGSC)- Sign-in online to EGL and RGL/RGSC, link EGL and RGL accounts.- Do not enable cloud saves - click NOT RIGHT NOW when asked about cloud saves.- During sign-in to RGL you must check "Remember me" and "Auto sign in" (this will check box "Sign in automatically" in Settings / Account information).ATTENTION: after every RGL/RGSC update you should relogin while connected with "Remember me" and "Auto sign in" checked as later RGSC version may not detect saved credentials in older RGSC format!- It is advisable to play a little while connected, first mission is enough, exit the game.- Disconnect from the internet- This step is crucial as it prepares RGSC saved credentials for subsequent fully offline runs - right after disconnecting bring up EGL window while it is not in full offline mode and still has valid Epic Online Services authentication, launch RDR2 from EGL library once again, exit the game after Story/Online menu appears.



How to play RDR2 story mode offline later



- After successful online launch open RGL logfile "%USERPROFILE%\Documents\Rockstar Games\Launcher\launcher.log" in Notepad, press Ctrl-F and find -epicusername and -epicuserid parameter values in RDR2.exe line in [gamelaunch] section. These parameter values may also be obtained from EGL and RGSC logs.- In the RDR2 game folder (the one which has RDR2.exe) create file LaunchRDR2.bat that will launch RGL, replace YOUR_EPIC_USERNAME_HERE and YOUR_EPIC_USERID_HERE with parameter values taken from RGL logfile above. Make sure that epicusername has no " " and last line with Launcher.exe is on one line:



- Open %windir%\System32 and copy cmd.exe to RDR2 game folder.ATTENTION: it is mandatory that cmd.exe that runs LaunchRDR2.bat batch file reside in game folder as RGL determines game folder from location of parent process' exe (in this case parent process is cmd.exe).- Create desktop shortcut (right-click desktop, choose New / Shortcut) for your RDR2 game folder\cmd.exe /c LaunchRDR2.bat- Use this shortcut for subsequent offline launches without admin privileges and without UAC prompt.



Troubleshooting



This is technical section and can be skipped if you successfully run the game offline although it is highly recommended for better understanding of RDR2 launch.



If the game does not start you must identify the step on which it fails and check corresponding log file.



Game startup sequence:



1. EGL with saved EGS credentials runs PlayRDR2.exe (Rockstar Games Launcher Redirector) [may skip Step 1 - PlayRDR2.exe with correct command line parameters may be run directly without opening EGL]2. PlayRDR2.exe- ensures RGL/RGSC integrity through Redistributables\Rockstar-Games-Epic.exe (which is forced to run with admin privileges and will always have Windows UAC prompt unless PlayRDR2.exe is run from elevated scheduler task)- finds RGL path from registry and starts RGL. PlayRDR2.exe passes all its command line parameters to RGL - they will be in RGL log [may also skip Step 2 - RGL with correct command line parameters may be run directly without PlayRDR2.exe]3. RGL- starts its system service (which is set to Manual start mode)- starts RGSC (first short-lived SocialClubHelper.exe instance which logs its progress to socialclub_launcher.log) which loads saved credentials and checks Epic entitlement- starts RDR2.exe with all parameters passed from PlayRDR2.exe + it adds -scOfflineOnly parameter4. RDR2.exe launches RGSC interface that will be shown at the top when Home key is pressed which once again loads saved credentials and checks Epic entitlement (second SocialClubHelper.exe instance which logs its progress to socialclub.log).



Notice that for successful game run RGSC is started 2 times and these 2 starts do not overlap.



It is possible to skip steps 1 and 2 and start RGL with needed parameters on Step 3 directly through cmd.exe + LaunchRDR2.bat in game folder thus bypassing Redistributables\Rockstar-Games-Epic.exe integrity checks and its UAC prompt.



Rockstar-Games-Epic.exe and why it has UAC prompt



It is a simple fool proof tool to ensure that RGL/RGSC and prerequisites are installed. What it does: Queries registry to find where RGSC and RGL are HKLM\SOFTWARE\WOW6432Node\Rockstar Games\Rockstar Games Social Club\InstallFolder HKLM\SOFTWARE\WOW6432Node\Rockstar Games\Launcher\InstallFolder Queries registry to find if prerequisites were installed HKLM\SOFTWARE\WOW6432Node\Rockstar Games\Red Dead Redemption 2\DirectX HKLM\SOFTWARE\WOW6432Node\Rockstar Games\Red Dead Redemption 2\Vulkan HKLM\SOFTWARE\WOW6432Node\Rockstar Games\Red Dead Redemption 2\VisualC Checks that critical RGSC and RGL components are installed C:\Program Files\Rockstar Games\Social Club\socialclub.dll C:\Program Files\Rockstar Games\Launcher\Launcher.exe C:\Program Files\Rockstar Games\Launcher\Launcher.rpf



If any of critical RGL/RGSC components is not found e.g. first game launch or data corruption Rockstar-Games-Epic.exe runs corresponding installer that installs/repairs RGL/RGSC and that is why it requires admin privileges in built-in manifest



<requestedexecutionlevel level="requireAdministrator" ...< p>















</requestedexecutionlevel>



If RGL/RGSC files and services are installed correctly Rockstar-Games-Epic.exe as of now can be safely replaced by any other exe that does not require admin privileges and immediately exits upon start e.g. C:\Windows\System32\clip.exe. Though successfully tested by me this is not recommended and will still not get rid of UAC prompt as PlayRDR2.exe uses "runas" to enforce launch of Rockstar-Games-Epic.exe with admin privileges all the same.



The method above assumes that after prerequisite online steps RGL/RGSC is already installed, bypasses Rockstar-Games-Epic.exe and launches RGL with correct Epic parameters directly.



EGL logfile in "%LOCALAPPDATA%\EpicGamesLauncher\Saved\Logs"



Successful offline EGL sign-in will have



online EGL sign-in using Google authentication or Epic Games account (email and password)



EGL launches PlayRDR2.exe (Rockstar Games Launcher Redirector)



RGL logfiles in "%USERPROFILE%\Documents\Rockstar Games\Launcher"



- If RGL checked Epic entitlement it will run rdr2.exe with -scOfflineOnly parameter among others, see [gamelaunch] section in RGL log.- If RGL could not check Epic entitlement the game will never start e.g. there will be no [gamelaunch] section in RGL log.



- [gamelaunch] section- "[minmode] Running in Epic mode." line.- "Epic ownership request indicated valid entitlement"- "[cloudsaveop]" section- "RGL is up to date (current: version, minimum: version)". Successful Offline launch will not have "RGL is up to date..." line as it can't connect to check latest available RGL version.



Sample successful launch of RDR2.exe in [gamelaunch] section of RGL log



(* indicates parameters that are present only in offline mode run, numbers indicate order of parameters in online launch) -skipPatcherCheck 6 -epicAppId=rdr2 * -AUTH_LOGIN=unused * -AUTH_PASSWORD= * -AUTH_TYPE=exchangecode * -epicapp=Heather * -epicenv=Prod * -EpicPortal 7 -epicusername=user 3 -epicuserid=epicid 4 -epiclocale=en 8 @args.txt 9 @commandline.txt 1 -useEpic 2 -scOfflineOnly * -rglLanguage=en-US 5



RGSC logfiles in "%USERPROFILE%\Documents\Rockstar Games\Social Club"



logs have UTF-16 LE encoding



- socialclub_launcher.log for launch of RGSC itself- socialclub.log for launch of RDR2.exe gameSuccessful offline launch in socialclub.log when all checkboxes during RGL sign-in set correctly



Epic build - Attempting to load auto sign in profile. Epic build - had a valid auto sign in profile. Auto sign in profile detected. Signing in to profile 'user' (Online: 0, Auto Sign In: 1, Save Email: 1) Saved profile for user Signed in offline to profile: user



Important locations



RDR2 settings and profile with savegames are in "%USERPROFILE%\Documents\Rockstar Games\Red Dead Redemption 2"



RDR2 achievements are stored in RGSC profile subdir, when RGSC goes online it syncs it with Rockstar server "%USERPROFILE%\Documents\Rockstar Games\Social Club\Profiles\ID" 9-character profile id for RGL and RGSC is the same



RGL settings "%LOCALAPPDATA%\Rockstar Games\Launcher", file settings_user.dat updated on each start



Appendix



This section contains obsolete methods left here for reference only.



Offline launch through desktop shortcut for PlayRDR2.exe



Find PlayRDR2.exe command line in EGL log:



- Open EGL logfile "%LOCALAPPDATA%\EpicGamesLauncher\Saved\Logs\EpicGamesLauncher.log" in Notepad, press Ctrl-F and find text "PlayRDR2.exe" (without " ")- The line with PlayRDR2.exe must look something like this (your path may differ):Construct full command line for PlayRDR2.exe with Epic parameters



- Remove all extra text ("FCommunityPortalLaunchAppTask: Launching app", "with commandline")- Remove all ' at the start and end of parametersATTENTION: remove password from -AUTH_PASSWORD, make sure that it looks -AUTH_PASSWORD= or else there will be error "Red Dead Redemption 2 was unable to authenticate with Epic Online Services". Check once again - it is not a mistake, this password must be empty for offline mode to work.- Add -skipInstallers to avoid UAC prompt- Now command line must look like this:your path to RDR2/PlayRDR2.exe -AUTH_LOGIN=unused -AUTH_PASSWORD= -AUTH_TYPE=exchangecode -epicapp=Heather -epicenv=Prod -EpicPortal -skipInstallers -epicusername="user" -epicuserid=-----epic user id here-------- -epiclocale=en



Create shortcut for PlayRDR2.exe command line on the desktop



- Copy this command line to clipboard (select it and press Ctrl-C)- Right-click desktop, choose New / Shortcut, press Ctrl-V- If you have -skipInstallers in this command line you won't have to click Yes in User Account Control prompt for Redistributables\Rockstar-Games-Epic.exe which is otherwise run by PlayRDR2.exe every time.How to avoid the User Account Control prompt during RDR2 launch (obsolete)



This section is superseded by -skipInstallers PlayRDR2.exe parameter.



- Run Task Scheduler and click "Create Task..."- Name: LaunchRDR2- Check "Run with highest privileges"- On Actions tab click "New...", fill in the following:- Program/script: PlayRDR2.exe- Add arguments: -AUTH_LOGIN=unused -AUTH_PASSWORD= -AUTH_TYPE=exchangecode -epicapp=Heather -epicenv=Prod -EpicPortal -epicusername="user" -epicuserid=-----epic user id here-------- -epiclocale=en- Start in: your path to rdr2 e.g. D:/Games/EpicGames/RedDeadRedemption2



Offline launch from EGL (not recommended)



1. Sign-in to EGL offline. Use Epic Games registered email and "CONTINUE IN OFFLINE MODE" button, EGL password already saved during previous online sign-in. wow wiki There will be ribbon on top of EGL window - "Epic Games is in Offline Mode....".- EGL may show "Launch Failed" "You must be signed in to launch Red Dead Redemption 2" - it is OK, click "DISMISS".- It is also possible to sign-in to EGL using any online authentication e.g. Google and then drop the connection.



2. In EGL Library click Launch under the "Red Dead Redemption 2" thumbnail.- May also use desktop shortcut com.epicgames.launcher://apps/Heather?action=launch&silent=true, it starts EGL if it was not running.