also wont spend money until this is possible without senseless stuff like op described
streamers (playing on same realm) get shown 20+ public games on normal while im sitting here seeing 1 game (i can join the games he is seeing when i type in tho, so just show me aswell blizzard)
I’m using another pc wiht Windows Desktop Manager. Actually, this is only one method. Need to wait an upgrade of Sandboxie, the one to solve this “problem”
This also happened to me for a couple days then stopped, but I was trying to run 3 windows. With 2 it has been solid. It may help to close the handle on the second instance. This seems to help keep both windows alive longer. Totally anecdotal though.
Weirdness, idk what they think is a virus. Probably cuz the .exe is packaged with the handle.exe file I’m guessing. This must be ran with handle64.exe in same directory as the batch script file.
Here’s a link containing the .bat and handle64.exe: drive.google.com/drive/folders/1ycE0izXis0ynD1kUv0TLjREdT5rr3RxW?usp=sharing
And here’s the code for the .bat file:
@echo off
setlocal EnableDelayedExpansion
:: RAN AS ADMINISTRATOR? CHECK/FIX IF NOT ::
:-------------------------------------
REM --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo. &echo. &echo. &echo.
echo Run as admin to close handle.
echo Requesting privilages.... &echo.
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"
:--------------------------------------
FOR /F %%I in ('handle64 -p D2R.exe -a "DiabloII Check For Other Instances" -nobanner') do set STOP_FLAG=%%I
:: PRIMARY SCRIPT ::
:while
if %STOP_FLAG% == No (
mode con cols=51 lines=9 >nul
echo. & echo. & echo.
echo #######################################
echo ~ NO OPEN HANDLES ~
echo #######################################
echo. &echo.
goto :DONE
)
:: SET CONSOLE WINDOW SIZE ::
mode con cols=51 lines=16 >nul
:: SET PID/HEX VALUES FOR PROCESS HANDLE ::
FOR /F "tokens=2,3 delims=:" %%A in ('handle64 -p D2R.exe -a ^"DiabloII Check For Other Instances^"') do (
set pid=%%A
set hex=%%B
)
:: DEBUGGING OUTPUT ::
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
echo [ DEBUG INFO ]
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ & echo.
FOR /F "tokens=1" %%X in ("%pid%") do (
set pid=%%X
)
FOR /F "tokens=2" %%X in ("%hex%") do (
set hex=%%X
)
echo *.... STOP_FLAG: [ %STOP_FLAG% ]
echo *.......... PID: [ %pid% ]
echo *.......... HEX: [ %hex% ] &echo.
:: CLOSE HANDLE (suppressed output) ::
handle64 -p %pid% -c %hex% -y -nobanner >nul &echo.
FOR /F %%I in ('handle64 -p D2R.exe -a "DiabloII Check For Other Instances" -nobanner') do set STOP_FLAG=%%I & echo.
if %STOP_FLAG% == No (
echo #######################################
echo ~ Handle Closed ~
echo #######################################
echo. &echo.
goto :DONE
) else (
:: Theoretically this error should never be trigged, since admin privilages are taken care of at beginning of script. ::
echo!!!!.... ERROR: RE-RUN PROGRAM AS ADMINISTRATOR
)
)
:DONE
timeout /t 2 >nul
#1 get 2 licences and 2 accounts of the game #2 install at least one instance of the game. #3 copy the game’s folder elsewhere. #4 make a shortcut to D2R.exe for each of the game executables ( one installed and one copied) #5 right click each D2R.exe shortcut and go to properties, and ad a “-launch” without the quotes as a startup parameter. Google it if you don’t know how to do it properly. #6 open battle.net app and login with first account. set the app to not login with last logged user, and to shutdown itself after launching a game. #7 start the game with pressing play. the app should close itself and the game should launch. #8 alt tab of the game launch battle.nt app choose to login with second account you have D2R in. login and close. next start the game from the second shortcut. and voila…
Please make sure your machinecan handle more than one copy of D2R at a time… a.k.a 32GB of ram and 8GB of vram would be a bare minimum to play two instances on low details…
Thanks for this. Now when everyone is typing about having separate accounts, are you saying full on BNet accounts, or just more D2 accounts, under the same BNet account?
I used to multibox with WoW, under my one Bnet account, I have multiple paid for WoW accounts… just curious if this is how this works as well, or on any second instance of D2, I would need to be logging in with another Bnet account (with obviously another paid for D2).
So I did everything you said there - ran process explorer as admin - found the session/checkforinsteances and closed handle but it didn’t work. When I launch 2nd battle net app it says “Now playing” and wont let me launch. Any ideas? thanks