Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ranbow six siege - Anyone having issues. #12

Open
BarterClub opened this issue Nov 24, 2017 · 62 comments
Open

Ranbow six siege - Anyone having issues. #12

BarterClub opened this issue Nov 24, 2017 · 62 comments

Comments

@BarterClub
Copy link

Its seems to be having a lot of issues now for some reason. I think uplay did an update. Not sure can someone let me know if this is doing the same thing to them?

@WombatFromHell
Copy link
Owner

I happen to have Siege. I'll investigate.

@WombatFromHell
Copy link
Owner

WombatFromHell commented Nov 25, 2017

I'm not experiencing any issues with Siege + UPlay either with or without OSOL. Double check that you don't have something interfering with the overlays and that you're targeting the "upc.exe" executable instead of "Uplay.exe".

(Edit: I've attached my OSOL v1.05c config below as an example):

[Paths]
LauncherPath=C:\Program Files (x86)\Ubisoft\Ubisoft Game Launcher\upc.exe
LauncherArgs=
LauncherURI=
GamePath=D:\Games\steamapps2\SteamApps\common\Tom Clancy's Rainbow Six Siege\RainbowSix.exe
GameArgs=
[Options]
PreLaunchExec=
PreLaunchExecArgs=
PostGameExec=
PostGameExecArgs=
PreGameOverlayWaitTime=5
PreGameLauncherWaitTime=12
PostGameWaitTime=7
LauncherMode=Normal

@BarterClub
Copy link
Author

Ok thanks. Seems something else is causing the issue. I take a loot around.

@BarterClub
Copy link
Author

BarterClub commented Nov 25, 2017

Well i tried to figure it out. But it seems to be something with uplay. If i have a uplay from steam the overlay works.

I cant get the overlay to even work with uplay it self. So it seems its not hooking to uplay and im at a lot of what to do. I have reinstalled uplay and had no luck. I have made sure steam can hook into different uplay games that are from steam. But it seems that i cant hook into uplay first.

This is what happens since the update to uplay last week.

[11/25/2017 10:15:11 PM] [NOTE] OSOL is running as: originsteamoverlaylauncher
[11/25/2017 10:15:11 PM] [OSOL] Attempting to start the launcher: E:\U Play launcher\Ubisoft Game Launcher\upc.exe
[11/25/2017 10:15:17 PM] [OSOL] Detected the launcher process window at PID [18228] in 6 sec.
[11/25/2017 10:15:22 PM] [OSOL] Launching game, cmd: E:\U Play launcher\Ubisoft Game Launcher\games\Tom Clancy's Rainbow Six Siege\RainbowSix.exe 
[11/25/2017 10:15:40 PM] [OSOL] Detected the game process at PID [16964] in 18 sec.
[11/25/2017 10:16:14 PM] [OSOL] Game exited, killing launcher instance and cleaning up...

[[Paths]
LauncherPath=E:\U Play launcher\Ubisoft Game Launcher\upc.exe
LauncherArgs=
LauncherURI=
GamePath=E:\U Play launcher\Ubisoft Game Launcher\games\Tom Clancy's Rainbow Six Siege\RainbowSix.exe
GameArgs=
[Options]
PreLaunchExec=
PreLaunchExecArgs=
PostGameExec=
PostGameExecArgs=
PreGameOverlayWaitTime=5
PreGameLauncherWaitTime=12
PostGameWaitTime=7
ProxyTimeout=5
ProcessAcquisitionTimeout=300
ReLaunch=True
DoNotClose=False
MinimizeLauncher=True
LauncherMode=Normal

@WombatFromHell
Copy link
Owner

WombatFromHell commented Nov 25, 2017

Hmm.. double check that Steam and UPlay are -not- running with Admin privileges.

(Edit: Aside from a privilege conflict you may try temporarily disabling RTSS/Afterburner/DXtory if you use anything like that.)

@BarterClub
Copy link
Author

BarterClub commented Nov 25, 2017

Nope they are not running in admin mode

No overlays are running at the moment.

@BarterClub
Copy link
Author

I feel something from an update to steam or uplay messed something up.

@WombatFromHell
Copy link
Owner

WombatFromHell commented Nov 25, 2017

Maybe check the C:\Program Files (x86)\Ubisoft\Ubisoft Game Launcher\logs\overlay_log.txt file and see what it says near the bottom about what its overlay is doing?

(Edit: For instance, mine has something like this):

[ 5512]  2017-11-24 19:50:09      [10232]      DEBUG      Hooks.cpp (38)                                   --- Overlay started --- (D:\Games\steamapps2\steamapps\common\Tom Clancy's Rainbow Six Siege\RainbowSix.exe)
[ 5512]  2017-11-24 19:50:09      [10232]      INFO       Hooks.cpp (56)                                   Create process hooks disabled via command line
[ 5512]  2017-11-24 19:50:09      [10232]      DEBUG      PlatformHooks.cpp (114)                          'kernel32.dll' hooked           
[ 5512]  2017-11-24 19:50:09      [10232]      DEBUG      PlatformHooks.cpp (114)                          'xinput9_1_0.dll' hooked        
[ 5512]  2017-11-24 19:50:09      [10232]      DEBUG      PlatformHooks.cpp (114)                          'dinput8.dll' hooked            
[ 5512]  2017-11-24 19:50:09      [10232]      DEBUG      PlatformHooks.cpp (114)                          'dxgi.dll' hooked               
[ 5512]  2017-11-24 19:50:09      [10232]      DEBUG      PlatformHooks.cpp (114)                          'd3d9.dll' hooked               
[ 5512]  2017-11-24 19:50:09      [10232]      DEBUG      PlatformHooks.cpp (114)                          'user32.dll' hooked             
[ 5512]  2017-11-24 19:50:10      [10232]      DEBUG      PlatformHooks.cpp (114)                          'kernel32.dll' hooked           
[ 5512]  2017-11-24 19:50:14      [10232]      DEBUG      PlatformHooks.cpp (114)                          'xinput1_4.dll' hooked          
[ 5512]  2017-11-24 19:50:15      [10380]      DEBUG      D3d11Render.cpp (372)                            D3D11 device created            
[ 5512]  2017-11-24 19:50:18      [10380]      DEBUG      Win32InputHooks.cpp (1061)                       RenderWindow 3872508            
[ 5512]  2017-11-24 19:50:18      [10380]      DEBUG      Overlay.cpp (598)                                Sending overlay start request   
[ 5512]  2017-11-24 19:50:18      [10380]      DEBUG      Win32InputHooks.cpp (1061)                       RenderWindow 3872508            

@WombatFromHell
Copy link
Owner

Following that idea, there should also be a C:\Program Files (x86)\Steam\GameOverlayUI.exe.log that tells you what the BPM/Steam overlay is doing when trying to attach to a game. You may look in there and see what's going on that may be causing it to have difficulty hooking the game process.

@BarterClub
Copy link
Author

Ok while looking at eh gameoverlayUI for steam it showed that it would not produce a new one until i used a steam game. Not sure if that means that its not even trying to hook into the program or not.

@WombatFromHell
Copy link
Owner

Interesting, I've never seen a message like that before. Could you paste a snippet like I did above? Just use three tildes (` key above the Tab button) on their own line before and after the text.

@BarterClub
Copy link
Author

Sat Nov 25 22:54:03 2017 UTC - GameOverlay process started: pid: 16276
Sat Nov 25 22:54:03 2017 UTC - GameOverlay process connecting to: pid: 3024
Sat Nov 25 22:54:03 2017 UTC - BuildID: 1509425745
Sat Nov 25 22:54:03 2017 UTC - Steam Path: C:\Program Files (x86)\Steam
Sat Nov 25 22:54:03 2017 UTC - Generating new string page texture 2736: 16x256, total string texture memory is 16.38 KB
Sat Nov 25 22:54:04 2017 UTC - Generating new string page texture 2737: 48x256, total string texture memory is 65.54 KB
Sat Nov 25 22:54:06 2017 UTC - Generating new string page texture 2739: 128x256, total string texture memory is 196.61 KB
Sat Nov 25 22:54:06 2017 UTC - Generating new string page texture 2740: 256x256, total string texture memory is 458.75 KB
Sat Nov 25 22:55:19 2017 UTC - Game Exit Event signaled.
Sat Nov 25 22:55:19 2017 UTC - Shutting down overlay

@WombatFromHell
Copy link
Owner

Hmm, Steam does seem to be hooking the game process like it should. Does UPlay tell you anything helpful? There could be some other process on your system that's blocking the overlay from displaying itself. Make sure you go through this FAQ article before you give up, if you haven't already.

@BarterClub
Copy link
Author

Thats for a diffrent game. It wont hook at all with any uplay games

@BarterClub
Copy link
Author

and it works with origin and starwars.

@WombatFromHell
Copy link
Owner

WombatFromHell commented Nov 26, 2017

So the UPlay overlay works, but Steam won't hook Siege. Maybe disable the UPlay overlay and see if that helps Steam hook its overlay to Siege? You could also try doing the opposite of what I said above - force Steam to run as Admin and see if that helps at all in case something is causing privilege interference?

As a side note, I just noticed that the way BattleEye calls RainbowSix.exe via the RainbowSix_BE.exe proxy launcher is causing OSOL to lose track of which executable it needs to be monitoring. I'm investigating why right now.

@BarterClub
Copy link
Author

Im going to rebuild my steam files and see what it does.

@BarterClub
Copy link
Author

Seems even after that no luck. Not sure what is causing this but its not your program. I do like what you have done to it. Also have you seem https://github.com/BrianLima/UWPHook its something similer to what your doing and they have a very nice clean app.

@WombatFromHell
Copy link
Owner

I wasn't aware of UWPHook since my application is designed for non-UWP games and I do my best to stay away from the Microsoft Store environment. I do like UWPHook's mediating pre-launcher design though, and I plan to move OSOL toward a similar type of interface very soon.

I'm not interested in supporting and/or building yet another hooking launcher when the existing launchers work fine for the most part - they just lack BPM friendly features. As much as many people love bnetlauncher I found it to be lackluster when it came to said features so I built OSOL.

@BarterClub
Copy link
Author

Here is what happens when i use the new update.

[Paths]
LauncherPath=C:\Program Files (x86)\Ubisoft\Ubisoft Game Launcher\upc.exe
LauncherArgs=
LauncherURI=
GamePath=E:\U Play launcher\Ubisoft Game Launcher\games\Tom Clancy's Rainbow Six Siege\RainbowSix.exe
GameArgs=
MonitorPath=E:\U Play launcher\Ubisoft Game Launcher\games\Tom Clancy's Rainbow Six Siege\RainbowSix_BE.exe
[Options]
PreLaunchExec=
PreLaunchExecArgs=
PostGameExec=
PostGameExecArgs=
PreGameOverlayWaitTime=5
PreGameLauncherWaitTime=12
PostGameWaitTime=7
ProxyTimeout=5
ProcessAcquisitionTimeout=300
ReLaunch=True
DoNotClose=False
MinimizeLauncher=False
LauncherMode=Normal

[11/27/2017 9:15:43 PM] [NOTE] OSOL is running as: originsteamoverlaylauncher
[11/27/2017 9:15:43 PM] [OSOL] Attempting to start the launcher: C:\Program Files (x86)\Ubisoft\Ubisoft Game Launcher\upc.exe
[11/27/2017 9:15:47 PM] [OSOL] Detected the launcher process window at PID [6508] in 4 sec.
[11/27/2017 9:15:52 PM] [OSOL] Launching game, cmd: E:\U Play launcher\Ubisoft Game Launcher\games\Tom Clancy's Rainbow Six Siege\RainbowSix.exe 
[11/27/2017 9:20:56 PM] [FATAL] Timed out while looking for game process, exiting! Internet connection or launcher issue?

@WombatFromHell
Copy link
Owner

WombatFromHell commented Nov 28, 2017

GamePath and MonitorPath are swapped. RainbowSix_BE.exe calls the BattleEye launcher which hooks RainbowSix.exe during the game launch. Those two lines should look like this:

GamePath=E:\U Play launcher\Ubisoft Game Launcher\games\Tom Clancy's Rainbow Six Siege\RainbowSix_BE.exe
MonitorPath=E:\U Play launcher\Ubisoft Game Launcher\games\Tom Clancy's Rainbow Six Siege\RainbowSix.exe

(Edit: To clarify, RainbowSix_BE.exe gets terminated by BattleEye upon launch, which will cause OSOL to fail to find it, and you won't (shouldn't?) be able to join BattleEye games without letting RainbowSix_BE.exe call RainbowSix.exe on its own, IIRC.)

@BarterClub
Copy link
Author

still no luck i swear its uplay, ive seen some other report the same issue.

[11/28/2017 3:26:57 AM] [NOTE] OSOL is running as: originsteamoverlaylauncher
[11/28/2017 3:26:57 AM] [OSOL] Attempting to start the launcher: C:\Program Files (x86)\Ubisoft\Ubisoft Game Launcher\upc.exe
[11/28/2017 3:27:01 AM] [OSOL] Detected the launcher process window at PID [22956] in 4 sec.
[11/28/2017 3:27:06 AM] [OSOL] Launching game, cmd: E:\U Play launcher\Ubisoft Game Launcher\games\Tom Clancy's Rainbow Six Siege\RainbowSix_BE.exe 
[11/28/2017 3:27:30 AM] [OSOL] Detected the monitor at PID [15900] in 24 sec.
[11/28/2017 3:27:57 AM] [OSOL] Game exited, killing launcher instance and cleaning up...

@WombatFromHell
Copy link
Owner

WombatFromHell commented Nov 28, 2017

It looks as though OSOL is pointed at the right executables now and appears to be working properly.

No guarantees here, but if you're still having trouble and you believe it's because of OSOL you may try lowering/raising the PreGameOverlayWaitTime and PreGameLauncherWaitTime variables which have to do with how quickly OSOL calls the game to prevent Steam from hooking both the launcher and the game at the same time. If you drop both of those to 1 it comes close to mimicing the standard Steam behavior, and raising them will wait for the launcher to settle down before calling the game.

OSOL as a rule doesn't mess with how processes are hooking each other. Video drivers, the AMD External Events services, antivirus products, and some third party overlays all have a hand in whether or not BPM and those various overlays play nicely with each other.

@SubSonix
Copy link

SubSonix commented Dec 22, 2017

I'm having the same issue of it not showing the steam overlay.
First time trying with a uPlay game as I swear they used to work in steam without an extra work.
Working fine with all of my Origin games.

I was having issues with either of the overlays working while RTSS was running, but I closed it before these results.

OriginSteamOverlayLauncher.ini - I've tested with variations of Pre-times.
[Paths]
LauncherPath=C:\Programs\Ubisoft\Ubisoft Game Launcher\upc.exe
LauncherArgs=
LauncherURI=
GamePath=X:\Games\Tom Clancy's Rainbow Six Siege\RainbowSix_BE.exe
GameArgs=
MonitorPath=X:\Games\Tom Clancy's Rainbow Six Siege\RainbowSix.exe
[Options]
PreLaunchExec=
PreLaunchExecArgs=
PostGameExec=
PostGameExecArgs=
PreGameOverlayWaitTime=5
PreGameLauncherWaitTime=5
PostGameWaitTime=15
ProxyTimeout=5
ProcessAcquisitionTimeout=300
ReLaunch=True
DoNotClose=False
MinimizeLauncher=False
LauncherMode=Normal

GameOverlayRenderer.log
Fri Dec 22 08:13:23 2017 UTC - Module file name: C:\Programs\Steam\gameoverlayrenderer.dll
Fri Dec 22 08:13:23 2017 UTC - GameID = 12522751929262014464
Fri Dec 22 08:13:23 2017 UTC - System page size: 4096
Fri Dec 22 08:13:23 2017 UTC - Hooking SetCursorPos, GetCursorPos, ShowCursor, and SetCursor
Fri Dec 22 08:13:23 2017 UTC - Aborting HookFunc because pHookFunctionAddr is null
Fri Dec 22 08:13:23 2017 UTC - Failed hooking RegisterDeviceNotificationA()
Fri Dec 22 08:13:23 2017 UTC - Aborting HookFunc because pHookFunctionAddr is null
Fri Dec 22 08:13:23 2017 UTC - Failed hooking RegisterDeviceNotificationW()
Fri Dec 22 08:13:23 2017 UTC - Aborting HookFunc because pHookFunctionAddr is null
Fri Dec 22 08:13:23 2017 UTC - Failed hooking UnregisterDeviceNotification()
Fri Dec 22 08:13:23 2017 UTC - Game is using dxgi (dx10/dx11), preparing to hook.
Fri Dec 22 08:13:23 2017 UTC - Game is using D3D9 or D3D9Ex, preparing to hook.
Fri Dec 22 08:13:23 2017 UTC - Modules at GameOverlayRenderer.dll attach
Fri Dec 22 08:13:23 2017 UTC - 01: UplayWebCore.exe - (0X00200000 to 0X00372000)
Fri Dec 22 08:13:23 2017 UTC - 02: ntdll.dll - (0X77E10000 to 0X77F9D000)
Fri Dec 22 08:13:23 2017 UTC - 03: KERNEL32.DLL - (0X77990000 to 0X77A60000)
Fri Dec 22 08:13:23 2017 UTC - 04: KERNELBASE.dll - (0X776D0000 to 0X778A7000)
Fri Dec 22 08:13:23 2017 UTC - 05: RPCRT4.dll - (0X77AC0000 to 0X77B7E000)
Fri Dec 22 08:13:23 2017 UTC - 06: SspiCli.dll - (0X74830000 to 0X74850000)
Fri Dec 22 08:13:23 2017 UTC - 07: CRYPTBASE.dll - (0X74820000 to 0X7482A000)
Fri Dec 22 08:13:23 2017 UTC - 08: IPHLPAPI.DLL - (0X747D0000 to 0X74800000)
Fri Dec 22 08:13:23 2017 UTC - 09: WINHTTP.dll - (0X73380000 to 0X7342D000)
Fri Dec 22 08:13:23 2017 UTC - 10: bcryptPrimitives.dll - (0X77A60000 to 0X77AB7000)
Fri Dec 22 08:13:23 2017 UTC - 11: ucrtbase.dll - (0X75220000 to 0X75337000)
Fri Dec 22 08:13:23 2017 UTC - 12: sechost.dll - (0X755A0000 to 0X755E3000)
Fri Dec 22 08:13:23 2017 UTC - 13: USER32.dll - (0X753A0000 to 0X75515000)
Fri Dec 22 08:13:23 2017 UTC - 14: win32u.dll - (0X77970000 to 0X77986000)
Fri Dec 22 08:13:23 2017 UTC - 15: d3d9.dll - (0X636E0000 to 0X6384C000)
Fri Dec 22 08:13:23 2017 UTC - 16: GDI32.dll - (0X75650000 to 0X75672000)
Fri Dec 22 08:13:23 2017 UTC - 17: msvcrt.dll - (0X778B0000 to 0X7796D000)
Fri Dec 22 08:13:23 2017 UTC - 18: gdi32full.dll - (0X75790000 to 0X758EE000)
Fri Dec 22 08:13:23 2017 UTC - 19: msvcp_win.dll - (0X75520000 to 0X7559C000)
Fri Dec 22 08:13:23 2017 UTC - 20: dwmapi.dll - (0X71CD0000 to 0X71CF3000)
Fri Dec 22 08:13:23 2017 UTC - 21: SHELL32.dll - (0X758F0000 to 0X76C23000)
Fri Dec 22 08:13:23 2017 UTC - 22: combase.dll - (0X76C30000 to 0X76E76000)
Fri Dec 22 08:13:23 2017 UTC - 23: cfgmgr32.dll - (0X74FE0000 to 0X75018000)
Fri Dec 22 08:13:23 2017 UTC - 24: shcore.dll - (0X77640000 to 0X776C8000)
Fri Dec 22 08:13:23 2017 UTC - 25: windows.storage.dll - (0X77010000 to 0X775D6000)
Fri Dec 22 08:13:23 2017 UTC - 26: advapi32.dll - (0X751A0000 to 0X75218000)
Fri Dec 22 08:13:23 2017 UTC - 27: shlwapi.dll - (0X77D70000 to 0X77DB5000)
Fri Dec 22 08:13:23 2017 UTC - 28: kernel.appcore.dll - (0X75780000 to 0X7578E000)
Fri Dec 22 08:13:23 2017 UTC - 29: powrprof.dll - (0X77DC0000 to 0X77E05000)
Fri Dec 22 08:13:23 2017 UTC - 30: profapi.dll - (0X756F0000 to 0X75704000)
Fri Dec 22 08:13:23 2017 UTC - 31: ole32.dll - (0X74EE0000 to 0X74FD7000)
Fri Dec 22 08:13:23 2017 UTC - 32: libcef.dll - (0X55340000 to 0X595AA000)
Fri Dec 22 08:13:23 2017 UTC - 33: OLEAUT32.dll - (0X77B80000 to 0X77C13000)
Fri Dec 22 08:13:23 2017 UTC - 34: PSAPI.DLL - (0X75020000 to 0X750Fri Dec 22 08:13:37 2017 UTC - GameOverlayRenderer.dll detaching
0 to 0X75776000)
Fri Dec 22 08:13:23 2017 UTC - 36: WINMM.dll - (0X728A0000 to 0X728C4000)
Fri Dec 22 08:13:23 2017 UTC - 37: COMDLG32.dll - (0X74990000 to 0X74A64000)
Fri Dec 22 08:13:23 2017 UTC - 38: USERENV.dll - (0X73430000 to 0X73452000)
Fri Dec 22 08:13:23 2017 UTC - 39: OLEACC.dll - (0X68AC0000 to 0X68B16000)
Fri Dec 22 08:13:23 2017 UTC - 40: WINMMBASE.dll - (0X71CA0000 to 0X71CC3000)
Fri Dec 22 08:13:23 2017 UTC - 41: CRYPT32.dll - (0X76E80000 to 0X77002000)
Fri Dec 22 08:13:23 2017 UTC - 42: MSASN1.dll - (0X775E0000 to 0X775EE000)
Fri Dec 22 08:13:23 2017 UTC - 43: chrome_elf.dll - (0X74230000 to 0X742A2000)
Fri Dec 22 08:13:23 2017 UTC - 44: HID.DLL - (0X72590000 to 0X7259A000)
Fri Dec 22 08:13:23 2017 UTC - 45: COMCTL32.dll - (0X69080000 to 0X6910E000)
Fri Dec 22 08:13:23 2017 UTC - 46: WINTRUST.dll - (0X775F0000 to 0X77636000)
Fri Dec 22 08:13:23 2017 UTC - 47: IMM32.dll - (0X74EB0000 to 0X74ED5000)
Fri Dec 22 08:13:23 2017 UTC - 48: dbghelp.dll - (0X72E00000 to 0X72F81000)
Fri Dec 22 08:13:23 2017 UTC - 49: USP10.dll - (0X70BF0000 to 0X70C07000)
Fri Dec 22 08:13:23 2017 UTC - 50: VERSION.dll - (0X743E0000 to 0X743E8000)
Fri Dec 22 08:13:23 2017 UTC - 51: credui.dll - (0X72360000 to 0X7236D000)
Fri Dec 22 08:13:23 2017 UTC - 52: CRYPTUI.dll - (0X5EB80000 to 0X5EC0B000)
Fri Dec 22 08:13:23 2017 UTC - 53: NETAPI32.dll - (0X74800000 to 0X74813000)
Fri Dec 22 08:13:23 2017 UTC - 54: DWrite.dll - (0X680F0000 to 0X68370000)
Fri Dec 22 08:13:23 2017 UTC - 55: Secur32.dll - (0X708B0000 to 0X708BA000)
Fri Dec 22 08:13:23 2017 UTC - 56: ncrypt.dll - (0X67E30000 to 0X67E50000)
Fri Dec 22 08:13:23 2017 UTC - 57: urlmon.dll - (0X74600000 to 0X7478C000)
Fri Dec 22 08:13:23 2017 UTC - 58: WTSAPI32.dll - (0X743F0000 to 0X743FF000)
Fri Dec 22 08:13:23 2017 UTC - 59: imagehlp.dll - (0X748E0000 to 0X748F9000)
Fri Dec 22 08:13:23 2017 UTC - 60: d3d11.dll - (0X634A0000 to 0X636DE000)
Fri Dec 22 08:13:23 2017 UTC - 61: dxva2.dll - (0X71C80000 to 0X71C9E000)
Fri Dec 22 08:13:23 2017 UTC - 62: dxgi.dll - (0X73EA0000 to 0X73F33000)
Fri Dec 22 08:13:23 2017 UTC - 63: WINSPOOL.DRV - (0X70E60000 to 0X70ECC000)
Fri Dec 22 08:13:23 2017 UTC - 64: dhcpcsvc.DLL - (0X71280000 to 0X71294000)
Fri Dec 22 08:13:23 2017 UTC - 65: NSI.dll - (0X74A70000 to 0X74A77000)
Fri Dec 22 08:13:23 2017 UTC - 66: wevtapi.dll - (0X696C0000 to 0X6970E000)
Fri Dec 22 08:13:23 2017 UTC - 67: bcrypt.dll - (0X73630000 to 0X73649000)
Fri Dec 22 08:13:23 2017 UTC - 68: NTASN1.dll - (0X67E00000 to 0X67E2C000)
Fri Dec 22 08:13:23 2017 UTC - 69: iertutil.dll - (0X72BC0000 to 0X72DD9000)
Fri Dec 22 08:13:23 2017 UTC - 70: SAMCLI.DLL - (0X68710000 to 0X68725000)
Fri Dec 22 08:13:23 2017 UTC - 71: NETUTILS.DLL - (0X73570000 to 0X7357B000)
Fri Dec 22 08:13:23 2017 UTC - 72: gameoverlayrenderer.dll - (0X68F40000 to 0X69075000)
Fri Dec 22 08:13:23 2017 UTC - ----------------------------

OriginSteamOverlayLauncher_Log.txt
[22/12/17 8:11:42 AM] [NOTE] OSOL is running as: OriginSteamOverlayLauncher
[22/12/17 8:11:42 AM] [OSOL] Attempting to start the launcher: C:\Programs\Ubisoft\Ubisoft Game Launcher\upc.exe
[22/12/17 8:11:45 AM] [OSOL] Detected the launcher process window at PID [2232] in 3 sec.
[22/12/17 8:11:50 AM] [OSOL] Launching game, cmd: X:\Games\Tom Clancy's Rainbow Six Siege\RainbowSix_BE.exe
[22/12/17 8:12:10 AM] [OSOL] Detected the monitor at PID [10324] in 20 sec.
[22/12/17 8:13:37 AM] [OSOL] Game exited, killing launcher instance and cleaning up...

GameOverlayUI.exe.log - Didn't change during this session.
Thu Dec 21 14:13:10 2017 UTC - GameOverlay process started: pid: 14112
Thu Dec 21 14:13:10 2017 UTC - GameOverlay process connecting to: pid: 9656
Thu Dec 21 14:13:11 2017 UTC - BuildID: 1513371133
Thu Dec 21 14:13:11 2017 UTC - Steam Path: C:\Programs\Steam
Thu Dec 21 14:13:15 2017 UTC - Detected possibly crashed/killed game, exiting
Thu Dec 21 14:13:15 2017 UTC - Shutting down overlay

@BarterClub
Copy link
Author

Overlay for Siege won't work right now. Seems that whatever they did with the update messed up non native steam overlay.

@WombatFromHell
Copy link
Owner

There's a large thread about this on the Steam Community forum for Siege dating back to around Nov. 20. As of the last update they seem to have broken the Steam overlay.

@SubSonix
Copy link

SubSonix commented Feb 6, 2018

I've been testing this again, and I've noticed that the RainbowSix.exe executable restarts multiple times while the game is launching. (At least 3 times)
Could this be related?
I could record it for you, but don't know what to use to record the task manager.

@WombatFromHell
Copy link
Owner

I'll investigate and report back.

@WombatFromHell
Copy link
Owner

WombatFromHell commented Feb 7, 2018

OSOL seems to not be handling the UPlay launcher properly when using MonitorPath to watch the game executable, in this case RainbowSix.exe. Other than that Siege seems to launch and function properly with both the UPlay and Steam overlays as it should.

(Edit: Correction, executable monitoring seems to break when the MainModule is null. Working on a fix right now.)

@WombatFromHell
Copy link
Owner

The mentioned executable monitoring problem should be fixed in release v1.06k available on the releases page. Let me know if Siege needs any other adjustments.

@SubSonix
Copy link

SubSonix commented Feb 9, 2018

This did not help me :P : "Community profiles are on the Community page of the BPM Input Configurator." Nor did talking about Toast, but I think google helped me with that and you were talking about the UI popups etc?

EDIT Ah big pciture mode. (I've never used it hence the confusion)

Okay, well The PreGame parts are definitely backwards in at least v1.06k, not sure about other versions.

With this Siege launches exactly 15 seconds after upc is "hooked"

[Paths]
LauncherPath=C:\Programs\Ubisoft\Ubisoft Game Launcher\upc.exe
LauncherArgs=
LauncherURI=
GamePath=X:\Games\Tom Clancy's Rainbow Six Siege\RainbowSix_BE.exe
GameArgs=
MonitorPath=X:\Games\Tom Clancy's Rainbow Six Siege\RainbowSix.exe
DetectedCommandline=
[Options]
PreLaunchExec=
PreLaunchExecArgs=
PostGameExec=
PostGameExecArgs=
PreGameOverlayWaitTime=15
PreGameLauncherWaitTime=60
PostGameWaitTime=15
ProxyTimeout=3
ProcessAcquisitionTimeout=300
ReLaunch=True
DoNotClose=False
ForceLauncher=False
MinimizeLauncher=False
CommandlineProxy=False
ElevateExternals=False
LauncherMode=Normal

[9/2/18 1:00:57 PM] [NOTE] OSOL is running as: OriginSteamOverlayLauncher
[9/2/18 1:00:57 PM] [OSOL] Attempting to start the launcher: C:\Programs\Ubisoft\Ubisoft Game Launcher\upc.exe
[9/2/18 1:00:57 PM] [OSOL] Searching for valid process by name: upc
[9/2/18 1:01:00 PM] [OSOL] Bound to a valid process at PID: 13172 [upc.exe] in 3 seconds
[9/2/18 1:01:15 PM] [OSOL] Launching game, cmd: X:\Games\Tom Clancy's Rainbow Six Siege\RainbowSix_BE.exe
[9/2/18 1:01:15 PM] [OSOL] Searching for valid process by name: RainbowSix
[9/2/18 1:01:39 PM] [OSOL] Bound to a valid process at PID: 644 [RainbowSix.exe] in 24 seconds
[9/2/18 1:03:39 PM] [OSOL] The monitor exited, moving on to clean up...
[9/2/18 1:03:54 PM] [OSOL] Found launcher still running, cleaning up...

@WombatFromHell
Copy link
Owner

Here are some snippets from the source code. PreGameOverlayWaitTime executes after LauncherPath because it's intended to help wait for the BPM overlay to finish its Toast animation as mentioned above:

launcherProc = GetProcessTreeHandle(setHnd, launcherName);
launcherPID = launcherProc != null ? launcherProc.Id : 0;

// force the launcher window to activate before the game to avoid BPM hooking issues
Thread.Sleep(setHnd.PreGameOverlayWaitTime * 1000); // wait for the BPM overlay notification
Program.BringToFront(launcherProc.MainWindowHandle);

PreGameLauncherWaitTime currently only runs if LauncherMode=URI. I removed it from the LauncherMode=Normal code path because of the newer process acquisition code. It was originally intended to help with situations where you may need to login to the launcher or in the event of a slow hard drive or internet connection. I'll probably change it for v1.07 to be more useful in the LauncherMode=Normal code path.

@WombatFromHell
Copy link
Owner

I've made some changes to the behavior of user configurable timeouts and improved logging a bit to make it less confusing. These commits are in test release v1.06l on the releases page.

@SubSonix
Copy link

SubSonix commented Feb 11, 2018

I'm still having issues where the uplay program is closed while the game is still in the loading state (It doesn't always do it, but it does happen):
I still believe it's because the game "restarts" multiple times while launching.
I'm happy to talk to you via discord or even use teamviewer or something, anything to help. I can't help but think I'm conveying the information in-correcting and confusing myself etc :/

[11/2/18 6:30:15 AM] [NOTE] OSOL is running as: OriginSteamOverlayLauncher
[11/2/18 6:30:15 AM] [OSOL] Attempting to start the launcher: C:\Programs\Ubisoft\Ubisoft Game Launcher\upc.exe
[11/2/18 6:30:16 AM] [OSOL] Searching for valid process by name: upc
[11/2/18 6:30:19 AM] [OSOL] Bound to a valid process at PID: 9188 [upc.exe] in 3 seconds
[11/2/18 6:30:19 AM] [OSOL] Waiting 12 seconds for potential launcher slowness...
[11/2/18 6:30:31 AM] [OSOL] Launching game, cmd: X:\Games\Tom Clancy's Rainbow Six Siege\RainbowSix_BE.exe
[11/2/18 6:30:31 AM] [OSOL] Searching for valid process by name: RainbowSix
[11/2/18 6:31:13 AM] [OSOL] Bound to a valid process at PID: 10156 [RainbowSix.exe] in 42 seconds
[11/2/18 6:31:15 AM] [OSOL] The monitor exited, moving on to clean up...
[11/2/18 6:31:22 AM] [OSOL] Found launcher still running, cleaning up...

EDIT Perhaps a variable timer for attaching BPM to the game would help?

@WombatFromHell
Copy link
Owner

WombatFromHell commented Feb 11, 2018

I'll investigate some more, but at first glance it looks like the process detection code is deciding to monitor the wrong process for some bizarre reason.

(Edit: In the meantime you could try increasing the value of ProxyTimeout in the OSOL ini. Try 5 or 7 so OSOL is less likely to catch a dead process while the parent is busy churning child processes.)

@SubSonix
Copy link

SubSonix commented Feb 11, 2018

As I said the RainbowSix.exe process seems to restart multiple times while the game is launching, so perhaps it's not monitoring the wrong thing, but only the first instance? (I made a recording of the event if you want to see?)

I'll let you know if it works :)

I'm more than willing to help with this in any way that I can :)

@WombatFromHell
Copy link
Owner

The basic process I'm using to decide which process to monitor is based on the following facts:

  • A real process will pretty much always have a valid MainWindowHandle/SafeHandle and a Window Title that is not empty
  • A caller (like the executable proxies found in Origin and UPlay games that call Steam and/or the launcher) will always have children that start and then exit immediately so we double check these processes based on the rule above
  • If the first two rules apply we return that child in the Process Tree
  • If the process in question is a parent with no children and it matches the first rule we assume it's the right one and bind to it (this is probably the step causing the issue)

I mention that last step as a potential troublemaker because RainbowSix_BE.exe acts as a caller for RainbowSix.exe (hence the need for MonitorPath), and then the game process behaves as a parent with no children (it has a valid handle and a window title). The game should not be starting a process with both a handle and window title more than once unless there's something wrong with it (my copy purchased through Steam doesn't do that).

Previously, I was simply searching for the game process by name and returning the first PID, but this leads to lots of potential problems like returning dead children. The method I'm currently using is, in theory anyway, more resilient to false positives. As mentioned in my previous post I'm already using ProxyTimeout as a way to prevent OSOL from attaching to a dead process by waiting between ValidateProcTree() loops on top of using - as you put it - a "variable timer" in ProcessAcquisitionTimeout.

@WombatFromHell
Copy link
Owner

WombatFromHell commented Feb 12, 2018

I need more information on how the UPlay version of Siege is behaving at the process level so I'm going to need you to try this executable with debugging turned on and paste what the log says after running it until (or if) the issue is reproduced:

OriginSteamOverlayLauncher-TEST_v1.06m-021118.zip

(Edit: This test version also has some code cleanups that may or may not help matters. It's difficult to say for sure at this point.)

@SubSonix
Copy link

SubSonix commented Feb 12, 2018

[12/2/18 9:50:34 AM] [NOTE] OSOL is running as: OriginSteamOverlayLauncher
[12/2/18 9:50:34 AM] [OSOL] Attempting to start the launcher: C:\Programs\Ubisoft\Ubisoft Game Launcher\upc.exe
[12/2/18 9:50:35 AM] [OSOL] Searching for valid process by name: upc
[12/2/18 9:50:38 AM] [DEBUG] Trying to bind to detected processes at PIDs: 10880
[12/2/18 9:50:41 AM] [DEBUG] Trying to bind to detected processes at PIDs: 10880
[12/2/18 9:50:41 AM] [OSOL] Bound to a valid process at PID: 10880 [upc.exe] in 6 seconds
[12/2/18 9:50:41 AM] [OSOL] Waiting 5 seconds for potential launcher slowness...
[12/2/18 9:50:46 AM] [OSOL] Launching game, cmd: X:\Games\Tom Clancy's Rainbow Six Siege\RainbowSix_BE.exe
[12/2/18 9:50:46 AM] [OSOL] Searching for valid process by name: RainbowSix
[12/2/18 9:50:52 AM] [DEBUG] Trying to bind to detected processes at PIDs: 6764
[12/2/18 9:50:55 AM] [DEBUG] Trying to bind to detected processes at PIDs: 6764
[12/2/18 9:51:01 AM] [DEBUG] Trying to bind to detected processes at PIDs: 6404
[12/2/18 9:51:07 AM] [DEBUG] Trying to bind to detected processes at PIDs: 17000
[12/2/18 9:51:10 AM] [DEBUG] Trying to bind to detected processes at PIDs: 17000
[12/2/18 9:51:10 AM] [OSOL] Bound to a valid process at PID: 17000 [RainbowSix.exe] in 24 seconds
[12/2/18 9:54:05 AM] [OSOL] The monitor exited, moving on to clean up...
[12/2/18 9:54:10 AM] [OSOL] Found launcher still running, cleaning up...

I think this is just a steam issue now, unless that tells you anything?
I'm talking to a Dev on steam about it, hopefully they can shed some light on the subject.

@WombatFromHell
Copy link
Owner

Was this log gathered when the issue occurred? I ask because the log shows very normal behavior for Siege and UPlay titles in general.

Another question I'm curious about: does this issue occur when launching normally - that is, with just Steam and UPlay?

@SubSonix
Copy link

SubSonix commented Feb 12, 2018

I thought it looked normal.

I just want to make sure we're on the same page: The issue I'm having is that the steam overlay "BPM" Isn't working with Siege.

EDIT And only Siege that I'm aware of. Works fine with other Uplay games I've tested.

@WombatFromHell
Copy link
Owner

WombatFromHell commented Feb 12, 2018

Yes, I follow. It's just that I'm a bit stumped if you've been through the normal troubleshooting steps from the BPM FAQ and you're still having trouble.

Are you able to get the Steam overlay to come up if the UPlay overlay is disabled?

(Edit: At this point I'm thinking it may be BattlEye related wrt non-Steam versions of Siege.)

@SubSonix
Copy link

SubSonix commented Feb 12, 2018

I just wanted to make sure. Yeah, checked the FAQ's and am having no issue with any other game.

Yes, no steam overlay with uplay overlay off.

Thank you for the continuing effort btw :)

(I'm trying to find someone else who has the non steam version to see how theirs loads, but no luck so far :/)

@SubSonix
Copy link

SubSonix commented Feb 12, 2018

As for your thought about battleye, I compared my r6_be.exe filesize with a friend who owns the game on steam and he said it matched, here it is for comparison:

siege

I'm going to download the game onto my partners laptop tonight and see what it does tomorrow and will report back :)

@SubSonix
Copy link

Reporting back after testing on my partners PC - Runs exactly the same, with the process restarts etc, and no overlay.
So must be an issue/design of the Uplay version.

@WombatFromHell
Copy link
Owner

Hmm, sounds like it could very well be because of BattlEye. The Steam version must have some workarounds that don't exist in the UPlay version.

Have you tried launching RainbowSix.exe directly (without the BattlEye launcher, RainbowSix_BE.exe) to confirm whether or not the overlay comes up?

The only other way to workaround the overlay not coming up would be to use GloSC if you want to use a hybrid gamepad config. OSOL can still be used to manage the UPlay launcher in that situation, just set it as the target in your GloSC config.

@SubSonix
Copy link

Yeah, tried every combination that I can think of and no go. They might patch it eventually.

I might even buy year 2 gold on steam if it's on sale on the free weekend/next steam sale :P

@WombatFromHell
Copy link
Owner

Given that this issue has turned out to be related to a specific interaction with a 3rd party program that is outside the scope of the OSOL project (UPlay specific BattlEye support) I'm going to go ahead and close it. If anything new comes up feel free to open a fresh issue ticket with pertinent information.

Hopefully Valve or the Siege devs will eventually get around to adding some compatibility workarounds for BPM support wrt BattlEye for Siege.

@lahma0
Copy link

lahma0 commented Mar 14, 2018

I think I might have a piece of information relevant to this riddle. I am also running the non-Steam version of Rainbow Six Siege, and I also am having all of the same problems mentioned in this thread (I've tried v1.06k and v1.06l, I've tried adjusting the timeout variables, monitoring all of the log files, and even wrote a script to monitor the uplay/game processes loading/closing/order/etc). Looking through the code for OriginSteamOverlayLauncher and reading some of WombatFromHell's comments in this thread, I'm wondering if the issue could be process-detection related. Once the game is loaded and running, "RainbowSix.exe" appears to be a very strange process. I don't know if it is being virtualized, or what the deal is, but it has virtually no metadata attached to it. Looking at it in Process Explorer, it is has no valid "image" associated with it, meaning it points to no file path, it has no environment, and Process Explorer seems to be a bit confused by the exe in general. It is however definitely the "main" game executable as it consuming nearly 8GB of ram and uses 30%-90% of my CPU. Let me provide some screenshots to better illustrate what I'm talking about, and perhaps this may help you get a better idea of why this may or may not be related to the way OriginSteamOverlayLauncher is doing process detection.

Here is a link to all of the photos listed below in case there is any problem viewing them inside of this post:
https://photos.app.goo.gl/umwhDvW4jt0VSJPq1

rainbowsixsiege-processlist

rainbowsixsiege-image

rainbowsixsiege-job

rainbowsixsiege-environment

rainbowsixsiege-strings

rainbowsixsiege-performance

rainbowsixsiege-threads

Let me know if there is any other data I can collect or anything else I can do to help resolve this issue, or if you've decided you're done messing with this issue for now, I totally understand.

Oh, and one more thing, is 'UbisoftGameLauncher.exe' relevant in any way to OriginSteamOverlayLauncher or this process in general? Is this EXE even present in the Steam version of the game?

@WombatFromHell
Copy link
Owner

I've noticed much the same behavior when I was initially developing a workaround for UPlay launcher behavior.

This is just conjecture on my part, but this executable behavior is extremely likely to be related to the BattlEye proxy which provides client/server anti-cheat capabilities to Siege. Making it harder to find the process to attach to makes it slightly more difficult to inject code into the process in addition to all the other things BattlEye does. A side effect of this is that it can also break overlays, which is likely why the Steam version behaves differently to the UPlay version.

Unfortunately, I'm not able to do much more to diagnose or solve this issue at this time, because I don't have any code built into OSOL to track memory or d3d hooks (nor do I plan to implement any). This "bad behavior" is primarily an issue left to the Steam Input devs to solve by communicating with the Siege devs. If anyone out there is willing to take a crack at it and submit a pull-request I'll gladly cooperate on a solution, to which I'll reopen this and mark it as a 'help wanted'.

To answer your final question (since my version of the game is the Steam version): no, I don't see "UbisoftGameLauncher.exe" in my game directory or any of its subdirectories at all.

@lahma0
Copy link

lahma0 commented Mar 16, 2018

Thanks for the reply WombatFromHell. If I get some free time, I may look into things further. I actually have a lot of recent experience with hooking/code-injection/disassembly of Steam DLLs, so if I figure anything out, I'll definitely try to submit a pull request.

@SubSonix
Copy link

SubSonix commented Mar 16, 2018

And even though I know nothing about coding, I'm more than happy to help test anything :)

@SubSonix
Copy link

I noticed that in the 1.07 change log that you got Siege working? Care to elaborate on what you did? :)

@WombatFromHell
Copy link
Owner

You might be mistaken. I simply compressed the change log from v1.06m into the changes for the v1.07. I didn't really have a chance to test against Siege though.

@SubSonix
Copy link

Oh, I didn't realise there was a 1.06m lol

@WombatFromHell
Copy link
Owner

Is the Steam overlay still broken for the Uplay version of Siege?

@SubSonix
Copy link

i wish I could help test this for you, but I ended up buying the game on Steam while it was on sale.

Hopefully someone can help you out :)

I'll ask around my friends for those who don't have the Steam version and reply again to this asap.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants