RTTClient & RTTServer Won't Launch From a Batch File
-
@airtex2019 Generally, I run the RTT Server and Client from the launcher, and then launch BMS. I’ve never had any issues doing it this way. The Shortcut is attempting to do the same thing.
It’s both the RTT Client and the RTT Server.
-
Okay, I managed to solve this with the following code:
@echo off start "" "P:\MMTool\MultiMonitorTool.exe" /SetPrimary \\.\DISPLAY4 start /d "B:\Falcon BMS 4.37\Tools\RTTRemote" RTTServer64.exe start /d "B:\Falcon BMS 4.37\Tools\RTTRemote" RTTClient64.exe start "" "C:\Program Files (x86)\NaturalPoint\TrackIR5\TrackIR5.exe" start "" "C:\Program Files\FoxVox\FoxVox.exe" start "" "B:\Falcon BMS 4.37\Bin\x64\Falcon BMS.exe" exit
I tried messing around with moving it to a different drive, it didn’t fly.
The /d command sets the home directory, it seems that CDing into the directory doesn’t quite do the same thing, so it wasn’t able to find the INI files that it needed to launch.
At any rate, I’ve got one batch file to launch everything now, and I’m pretty happy about it.
If only NVIDIA made it easier to support multi monitors so I could do this for my other games…
-
@ASharpe oh wait … is this the problem?
replace:
cd "B:\Falcon BMS 4.37\Tools\RTTRemote"
with:
cd /d "B:\Falcon BMS 4.37\Tools\RTTRemote"
-
@ASharpe Thanks for sharing the solution.
I too have a batch file to start Falcon and all the necessary tools I use.In that batch file, I first check that all my USB peripherals are connected
Here is how I do it :
CLS title Falcon BMS prep ECHO #################### ECHO PREPARING FALCON BMS ECHO #################### ECHO. :Variables SET BMS_FOLDER=C:\Falcon BMS 4.37 SET BMS_FOLDER_PS=%BMS_FOLDER: =` % SET SAVED_CONFIG_FOLDER=C:\Users\%USERNAME%\Game Profiles\F4BMS437 SET BACKUP_FOLDER=D:\Falcon BMS Folder\User backup 437 SET EDTRACKER_FOLDER=C:\Program Files (x86)\EDTracker Ltd\EDTracker Pro UI SET TRACKIR_FOLDER=C:\Program Files (x86)\NaturalPoint\TrackIR5 SET VOICEATTACK_FOLDER=C:\Program Files (x86)\VoiceAttack SET TARGET_FOLDER=C:\Program Files (x86)\Thrustmaster\TARGET For /F "Tokens=1-4 Delims=/ " %%A In ('Date /T') Do Set "savedate=%%C_%%B_%%A" SET deviceerror=no :AltimeterSetting ECHO Altimeter setting ? set /p AltSetting="(1=mbar / 2=inHg) : " IF "%AltSetting%"=="2" ( powershell -Command "(gc %BMS_FOLDER_PS%\User\Config\falcon` BMS` User.cfg) -replace 'set g_bCalibrationHg 0', 'set g_bCalibrationHg 1' | Out-File -encoding ASCII %BMS_FOLDER_PS%\User\Config\falcon` BMS` User.cfg" ECHO [X] Altimeter set to inHg ) ELSE ( powershell -Command "(gc %BMS_FOLDER_PS%\User\Config\falcon` BMS` User.cfg) -replace 'set g_bCalibrationHg 1', 'set g_bCalibrationHg 0' | Out-File -encoding ASCII %BMS_FOLDER_PS%\User\Config\falcon` BMS` User.cfg" ECHO [X] Altimeter set to mbar ) ECHO ---------------------- :VR ECHO VR setting ? set /p VrSetting="(1=ON / 2=OFF) : " IF "%VrSetting%"=="2" ( powershell -Command "(gc %BMS_FOLDER_PS%\User\Config\falcon` BMS` User.cfg) -replace 'set g_nVRHMD 1', 'set g_nVRHMD 0' | Out-File -encoding ASCII %BMS_FOLDER_PS%\User\Config\falcon` BMS` User.cfg" ECHO [X] VR OFF ) ELSE ( powershell -Command "(gc %BMS_FOLDER_PS%\User\Config\falcon` BMS` User.cfg) -replace 'set g_nVRHMD 0', 'set g_nVRHMD 1' | Out-File -encoding ASCII %BMS_FOLDER_PS%\User\Config\falcon` BMS` User.cfg" ECHO [X] VR ON ) ECHO ---------------------- :Target (@Start "Target" "%TARGET_FOLDER%\x64\TARGETGUI.exe" -r "%SAVED_CONFIG_FOLDER%\TARGET\F4BMSTargetScript.tmc") && (timeout /t 2 /nobreak >nul) ECHO Target profile started ECHO ---------------------- :PeripheriquesUSB ECHO Game controllers check... ECHO. devcon status "USB\VID_044F&PID_0402" | findstr /C:"matching device(s) found">NUL if %errorlevel%==0 ( ECHO [X] Warthog Joystick ) else ( ECHO [ ] Warthog Joystick --- ERROR !! SET deviceerror=yes ) devcon status "USB\VID_044F&PID_0404" | findstr /C:"matching device(s) found">NUL if %errorlevel%==0 ( ECHO [X] Warthog Throttle ) else ( ECHO [ ] Warthog Throttle --- ERROR !! SET deviceerror=yes ) devcon find *Thrustmaster* | findstr /C:"matching device(s) found">NUL if %errorlevel%==0 ( ECHO [X] TM combined ) else ( ECHO [ ] TM combined --- ERROR !! SET deviceerror=yes ) devcon status "USB\VID_044F&PID_B351" | findstr /C:"matching device(s) found">NUL if %errorlevel%==0 ( ECHO [X] MFD1 ) else ( ECHO [ ] MFD1 --- ERROR !! SET deviceerror=yes ) devcon status "USB\VID_044F&PID_B352" | findstr /C:"matching device(s) found">NUL if %errorlevel%==0 ( ECHO [X] MFD2 ) else ( ECHO [ ] MFD2 --- ERROR !! SET deviceerror=yes ) devcon status "USB\VID_044F&PID_B68F" | findstr /C:"matching device(s) found">NUL if %errorlevel%==0 ( ECHO [X] TPR ) else ( ECHO [ ] TPR --- ERROR !! SET deviceerror=yes ) devcon status "USB\VID_06A3&PID_FFFF" | findstr /C:"matching device(s) found">NUL if %errorlevel%==0 ( ECHO [X] ICP ) else ( ECHO [ ] ICP --- ERROR !! SET deviceerror=yes ) devcon status "USB\VID_16D0&PID_0C42" | findstr /C:"matching device(s) found">NUL if %errorlevel%==0 ( ECHO [X] ED tracker ) else ( ECHO [ ] ED tracker --- ERROR !! SET deviceerror=yes ) devcon status "USB\VID_1395&PID_005D" | findstr /C:"matching device(s) found">NUL if %errorlevel%==0 ( ECHO [X] Sennheiser PC373D ) else ( ECHO [ ] Sennheiser PC373D --- ERROR !! SET deviceerror=yes ) devcon status "USB\VID_0FD9&PID_006C" | findstr /C:"matching device(s) found">NUL if %errorlevel%==0 ( ECHO [X] Stream deck ) else ( ECHO [ ] Stream deck --- ERROR !! SET deviceerror=yes ) devcon status "USB\VID_12E0&PID_2001" | findstr /C:"matching device(s) found">NUL if %errorlevel%==0 ( ECHO [X] FSSB R3 --- ERROR !! SET deviceerror=yes ) else ( ECHO [ ] FSSB R3 ) if %deviceerror%==yes ( ECHO. ECHO !! GAME CONTROLLER ERROR !! CHECK ABOVE. ECHO ---------------------- PAUSE EXIT ) ECHO. ECHO USB devices OK. ECHO ---------------------- :FilesCopy ECHO Copying files... xcopy "%BMS_FOLDER%\User" "%BACKUP_FOLDER%/%savedate%/" /s /i /y >nul copy /y "%SAVED_CONFIG_FOLDER%\Config\*.*" "%BMS_FOLDER%\User\Config" >nul copy /y "%SAVED_CONFIG_FOLDER%\RTT\*.*" "%BMS_FOLDER%\Tools\RTTRemote" >nul ECHO Files copied. ECHO ---------------------- :TrackIR IF "%VrSetting%"=="2" ( (cd "%EDTRACKER_FOLDER%\") && (@Start "EDTracker" "%EDTRACKER_FOLDER%\EDTrackerPro.exe") && (timeout /t 4 /nobreak >nul) REM (@Start "TrackIR" "%TRACKIR_FOLDER%\TrackIR5.exe") && (timeout /t 2) && (@"nircmdc.exe" win min process "TrackIR5.exe") ECHO Headtracking started ECHO ---------------------- ) :VoiceAttack REM @Start "VoiceAttack" "%VOICEATTACK_FOLDER%\VoiceAttack.exe" -profile "F4BMS434" -minimize REM ECHO VoiceAttack Started :RTTRemote REM (cd "%BMS_FOLDER%\Tools\RTTRemote\") && (@Start "RTTRemote" "%BMS_FOLDER%\Tools\RTTRemote\RTTClient64.exe") :FalconBMS REM @Start "Falcon BMS Launcher" "%BMS_FOLDER%\Launcher.exe" -window -nomovie ECHO. ECHO #################### ECHO Falcon BMS Ready ! ECHO #################### PAUSE
-
@airtex2019 yep, that was it.
@Flow32 hahaha, well I have a home cockpit and about 40 USB peripherals to power it, so I don’t think I could do that.
-
@Flow32 nice … using devcon.exe to probe all the peripherals seems like a neat idea
@ASharpe consider using mountvol.exe (or diskmgmt.msc) to mount all your drives under “C:\drives” instead of using drive letters? you can pretend you’re on linux
there are probably some weird side-effects … things like backup software or antivirus not responding to file-change notifications. but maybe no worse than having to deal with Windows remembering different cwd per drive letter
-
@Flow32 That batch file is a work of art.
-
@airtex2019 I do a lot of work from the CLI and having everything mapped this way makes it faster to jump contexts. A whole project drive is easier to switch to, because everything is then relative to the Drive Letter path, which also makes scripting like this easier.
-
@ASharpe map physical drives to ntfs reparse points … then use ‘subst’ to map a virtual drive letter to project directories within that mount point.
just kidding … I think? actually that sounds kinda smart, I might give that a try.
-
@airtex2019 it’s a good idea, but at the end of the day I would rather just assign the drive letter and forget about it. I don’t actually like scripting things like this (Drive letters, or batch files for configuration of monitors and software) I prefer to spend my time doing other things.
It’s just that when I added in the voice recognition software, starting everything up reached a pain point I wasn’t willing to tolerate and it was keeping me out of the sim.