Jump to content

Best way to start DCS along with supporting programs (TIR, VA etc.)


Recommended Posts

What's the consensus preferred way to launch DCS together with the programs we often run in the background -- TrackIR, Voice Attack/VAICOM, Joy2Key, Oculus Tray Tool, etc. -- rather than launch them separately? And is there an elegant solution for launching profiles within those programs (e.g., starting Voice Attack with an aircraft-specific profile)?

 

Example: Currently I use one Stream Deck button to launch DCS when I want to play 2D, and a different one for VR. The first launches TIR, my Stream Deck DCS main profile, and of course DCS. The second launches Oculus Tray Tool, Voice Attack and DCS.

 

But I'm guessing that without the Stream Deck, this is still easily done via some sort of batch file or script. Even better would be a script that launches a specific TIR or VA profile, rather than just the defaults. (Sorry if the answer is obvious, but my grasp of Windows tricks/tools rates somewhere between that of a smarter-than-average chicken and a dumber-than-average monkey).

 

What are everyone's preferred methods/suggestions?

Link to comment
Share on other sites

What's the consensus preferred way to launch DCS together with the programs we often run in the background -- TrackIR, Voice Attack/VAICOM, Joy2Key, Oculus Tray Tool, etc. -- rather than launch them separately? And is there an elegant solution for launching profiles within those programs (e.g., starting Voice Attack with an aircraft-specific profile)?

 

 

 

Example: Currently I use one Stream Deck button to launch DCS when I want to play 2D, and a different one for VR. The first launches TIR, my Stream Deck DCS main profile, and of course DCS. The second launches Oculus Tray Tool, Voice Attack and DCS.

 

 

 

But I'm guessing that without the Stream Deck, this is still easily done via some sort of batch file or script. Even better would be a script that launches a specific TIR or VA profile, rather than just the defaults. (Sorry if the answer is obvious, but my grasp of Windows tricks/tools rates somewhere between that of a smarter-than-average chicken and a dumber-than-average monkey).

 

 

 

What are everyone's preferred methods/suggestions?

I do them one by one to make sure they have properly initialised

 

Sent from my SM-T835 using Tapatalk

Windows 11 Home ¦ Z790 AORUS Elite AX motherboard ¦ i7-13700K ¦ 64GB Corsair Vengeance DDR5 memory @ 5600MHz ¦ Samsung 990 Pro 1TB SSD for OS, Samsung 980 Pro 2TB SSD for DCS ¦ MSI GeForce RTX 4090 Gaming X Trio 24GB ¦ Virpil WarBRD base with VFX grip, Thrustmaster A10c and F/A-18 grips ¦ VKB Gunfighter Mk4 and MCG Pro ¦ Thrustmaster Warthog Throttle ¦ VKB STECS Throttle ¦ Virpil TCS rotor base with Shark and AH-64D  grips ¦ MFG Crosswinds ¦ Total Controls Multi-Function Button Box ¦ Pimax Crystal

Link to comment
Share on other sites

Make a simple Windows batch launcher. You can give timers between executions of binaries so you get proper time get all running if needed.

i7-8700k, 32GB 2666Mhz DDR4, 2x 2080S SLI 8GB, Oculus Rift S.

i7-8700k, 16GB 2666Mhz DDR4, 1080Ti 11GB, 27" 4K, 65" HDR 4K.

Link to comment
Share on other sites

I'm intrigued. I know you can use a voice command to launch a program, but how do you have Voice Attack launch a program for you (I assume you mean automatically)?

 

Okay, think I found it: first create a voice command that launches a program (page 53) and then launch voice attack using the "-command" command line option (page 142) to trigger that command:

 

https://voiceattack.com/VoiceAttackHelp.pdf

 

I assume this can also be stacked with the "-profile" command line option to choose the desired starting profile.

 

Batch launcher may be the simpler option (thanks Fri13), but thanks Taz1004 for pointing out this capability in Voice Attack.

Link to comment
Share on other sites

Problem with voice attack is that you are relying to it, instead purely to windows to launch apps.

 

So instead just make a simple batch file, you need to get voice attack do all.

i7-8700k, 32GB 2666Mhz DDR4, 2x 2080S SLI 8GB, Oculus Rift S.

i7-8700k, 16GB 2666Mhz DDR4, 1080Ti 11GB, 27" 4K, 65" HDR 4K.

Link to comment
Share on other sites

I finally broke down and did a batch file recently, well worth it and don't know why I didn't do it years ago.

I7-9700KF@5ghz, 32GB DDR4 3200, RTX 3090, Pimax 5k+, Virpil T-50CM2 base with Warthog, F/A-18, T-50cm, and VFX grips, Saitek X65F, Saitek Switch Panel, TM Cougar MFDs, TM TPR pedals, JetSeat and bass pucks, H640P for VRK, PointCtrl

 

3rd Space Vest project for basic G Seat/G Suit simulation

Link to comment
Share on other sites

Would you mind to share the template with us?

System specs: PC1 :Scan 3XS Ryzen 5900X, 64GB Corsair veng DDR4 3600, EVGA GTX 3090 Win 10, Quest Pro, Samsung Odyssey G9 Neo monitor. Tir5. PC2 ( Helo) Scan 3XS Intel 9900 K, 32 GB Ram, 2080Ti, 50 inch Phillips monitor

 F/A-18C: Rhino FFB base TianHang F16 grip, Winwing MP 1, F-18 throttle, TO & Combat panels, MFG crosswind & DFB Aces  seat :cool:                       

Viper: WinWing MFSSB base with F-16 grip, Winwing F-16 throttle, plus Vipergear ICP. MFG crosswind rudders. 

Helo ( Apache) set up: Virpil collective with AH64D grip, Cyclic : Rhino FFB base & TM F18 grip, MFG crosswind rudders, Total controls AH64 MFD's,  TEDAC Unit. 

 

Link to comment
Share on other sites

I use a PowerShell script along with some helper command-line utilities. It sets my GPU overclocks, power profile, default audio capture devices, starts TrackIR, SimShaker, VA. Then it fires up DCS and waits for it to close. Once DCS is closed, it closes all the relevant apps. I can post it somewhere if anyone is interested.

My controls & seat

 

Main controls: , BRD-N v4 Flightstick (Kreml C5 controller), TM Warthog Throttle (Kreml F3 controller), BRD-F2 Restyling Bf-109 Pedals w. damper, TrackIR5, Gametrix KW-908 (integrated into RAV4 seat)

Stick grips:

Thrustmaster Warthog

Thrustmaster Cougar (x2)

Thrustmaster F-16 FLCS

BRD KG13

 

Standby controls:

BRD-M2 Mi-8 Pedals (Ruddermaster controller)

BRD-N v3 Flightstick w. exch. grip upgrade (Kreml C5 controller)

Thrustmaster Cougar Throttle

Pilot seat

 

 

Link to comment
Share on other sites

I use a PowerShell script along with some helper command-line utilities. It sets my GPU overclocks, power profile, default audio capture devices, starts TrackIR, SimShaker, VA. Then it fires up DCS and waits for it to close. Once DCS is closed, it closes all the relevant apps. I can post it somewhere if anyone is interested.

 

Good lord, does it walk your dog for you too? :)

 

I for one would be very interested to see it. Thanks!

Link to comment
Share on other sites

I use a PowerShell script along with some helper command-line utilities. It sets my GPU overclocks, power profile, default audio capture devices, starts TrackIR, SimShaker, VA. Then it fires up DCS and waits for it to close. Once DCS is closed, it closes all the relevant apps. I can post it somewhere if anyone is interested.

 

I would very happily take a copy of that. I seriously started looking at doing this myself last week and your file could take a lot of the foot work out of it for me.


Edited by Gladman

i9 9900K @ 5.1Ghz - ASUS Maximus Hero XI - 32GB 4266 DDR4 RAM - ASUS RTX 2080Ti - 1 TB NVME - NZXT Kraken 62 Watercooling System - Thrustmaster Warthog Hotas (Virpil Base) - MFG Crosswind Pedals - Pimax 5K+

VFA-25 Fist Of The Fleet

Link to comment
Share on other sites

# DCS Startup Script
# Starts DCS with additional programs and kills them when DCS is closed

#############
# DCS START #
#############
echo "Setting power plan to Bitsum Highest Performance..."
Start-Process -FilePath "C:\Windows\System32\powercfg.exe" -ArgumentList '/setactive b0ec0cc8-4373-4a5b-988e-69fc3787e975'
Start-Sleep -s 1

#echo "Starting NVIDIA RTX Voice..."
#Start-Process -FilePath "C:\Program Files\NVIDIA Corporation\NVIDIA RTX Voice\NVIDIA RTX Voice.exe" -WorkingDirectory "C:\Program Files\NVIDIA Corporation\NVIDIA RTX Voice" -ArgumentList '-minimized'
#Start-Sleep -s 1

echo "Setting default playback device to Headset Earphone..."
Start-Process -FilePath 'D:\Program Files\nircmd\nircmd.exe' -ArgumentList 'setdefaultsounddevice "Headset Earphone" 1'
Start-Process -FilePath 'D:\Program Files\nircmd\nircmd.exe' -ArgumentList 'setdefaultsounddevice "Headset Earphone" 2'

echo "Setting default recording device to Headset Microphone..."
Start-Process -FilePath 'D:\Program Files\nircmd\nircmd.exe' -ArgumentList 'setdefaultsounddevice "Headset Microphone" 1'
Start-Process -FilePath 'D:\Program Files\nircmd\nircmd.exe' -ArgumentList 'setdefaultsounddevice "Headset Microphone" 2'

echo "Setting GPU overclock (+140, +1000)..."
Start-Process -FilePath 'C:\Program Files\Nvidia Inspector\nvidiaInspector.exe' -ArgumentList '-setBaseClockOffset:0,0,140 -setMemoryClockOffset:0,0,1000 -setPowerTarget:0,126 -setTempTarget:0,0,88'

echo "Starting TrackIR 5..."
Start-Process -WindowStyle Minimized -FilePath "C:\Program Files (x86)\NaturalPoint\TrackIR5\TrackIR5.exe" -WorkingDirectory "C:\Program Files (x86)\NaturalPoint\TrackIR5"
Start-Sleep -s 1

echo "Starting SimShaker For Aviators..."
Start-Process -WindowStyle Minimized -FilePath "C:\Users\geekpilot\AppData\Local\Apps\2.0\MJDKQPAT.WD9\J3TKEYBQ.5B7\sims..tion_bd83e50dcdc2967f_0001.0003_8fc873232e3622fd\SimShaker for Aviators.exe" -WorkingDirectory "C:\Users\geekpilot\AppData\Local\Apps\2.0\MJDKQPAT.WD9\J3TKEYBQ.5B7\sims..tion_bd83e50dcdc2967f_0001.0003_8fc873232e3622fd"
Start-Sleep -s 1

echo "Starting DCS Updater..."
Start-Process -FilePath "D:\Program Files\Eagle Dynamics\DCS World\bin\DCS_updater.exe"
Start-Sleep -s 7.5

echo "Minimizing SimShaker..."
Start-Process -WindowStyle Minimized -FilePath 'D:\Program Files\cmdow\cmdow.exe' -ArgumentList '"Seat*" /hid'
Start-Process -WindowStyle Minimized -FilePath 'D:\Program Files\cmdow\cmdow.exe' -ArgumentList '"SimShaker*" /hid'
Start-Sleep -s 30

echo "Waiting for DCS to close..."
Wait-Process -name DCS

############
# DCS STOP #
############
echo "Stopping SimShaker For Aviators..."
Stop-Process -Name 'SimShaker for Aviators'
Stop-Process -Name 'ibaJetseatHandler'
Start-Sleep -s 1
echo "Stopping TrackIR..."
Stop-Process -Name 'TrackIR5'
Start-Sleep -s 1
echo "Removing GPU overclock..."
Start-Process -FilePath 'C:\Program Files\Nvidia Inspector\nvidiaInspector.exe' -ArgumentList '-setBaseClockOffset:0,0,0 -setMemoryClockOffset:0,0,0000 -setPowerTarget:0,126 -setTempTarget:0,0,88'
echo "Resetting tray icons..."
Start-Process -FilePath 'D:\Program Files\RefreshNotificationArea\RefreshNotificationArea.exe'
echo "Setting default recording device to RTX Voice Recording..."
Start-Process -FilePath 'D:\Program Files\nircmd\nircmd.exe' -ArgumentList 'setdefaultsounddevice "Headset Microphone" 1'
Start-Process -FilePath 'D:\Program Files\nircmd\nircmd.exe' -ArgumentList 'setdefaultsounddevice "Headset Microphone" 2'
echo "Setting power plan to Balanced..."
Start-Process -FilePath "C:\Windows\System32\powercfg.exe" -ArgumentList '/setactive 381b4222-f694-41f0-9685-ff5bb260df2e'
Start-Sleep -s 1
echo "Exiting..."
Start-Sleep -s 1
Stop-Process -Id $PID

My controls & seat

 

Main controls: , BRD-N v4 Flightstick (Kreml C5 controller), TM Warthog Throttle (Kreml F3 controller), BRD-F2 Restyling Bf-109 Pedals w. damper, TrackIR5, Gametrix KW-908 (integrated into RAV4 seat)

Stick grips:

Thrustmaster Warthog

Thrustmaster Cougar (x2)

Thrustmaster F-16 FLCS

BRD KG13

 

Standby controls:

BRD-M2 Mi-8 Pedals (Ruddermaster controller)

BRD-N v3 Flightstick w. exch. grip upgrade (Kreml C5 controller)

Thrustmaster Cougar Throttle

Pilot seat

 

 

Link to comment
Share on other sites

The script uses nircmd for setting Audio devices and cmdow for window minimization

 

https://www.nirsoft.net/utils/nircmd.html

https://ritchielawrence.github.io/cmdow/

My controls & seat

 

Main controls: , BRD-N v4 Flightstick (Kreml C5 controller), TM Warthog Throttle (Kreml F3 controller), BRD-F2 Restyling Bf-109 Pedals w. damper, TrackIR5, Gametrix KW-908 (integrated into RAV4 seat)

Stick grips:

Thrustmaster Warthog

Thrustmaster Cougar (x2)

Thrustmaster F-16 FLCS

BRD KG13

 

Standby controls:

BRD-M2 Mi-8 Pedals (Ruddermaster controller)

BRD-N v3 Flightstick w. exch. grip upgrade (Kreml C5 controller)

Thrustmaster Cougar Throttle

Pilot seat

 

 

Link to comment
Share on other sites

I do something similar with mine starting simshaker, srs and loading a VR or pancake config profile.

 

 

#popup
$wshell = New-Object -ComObject Wscript.Shell
$answer = $wshell.Popup("Yes = Enable VR, No = Disable VR, Cancel = Quit",0,"DCS Launch Script",32+3)

#program paths
$ssa_appref = "$env:userprofile\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Dream Sim Team\SimShaker\Simshaker for Aviators.appref-ms"
$dcs_exe = "D:\Program Files\Eagle Dynamics\DCS World OpenBeta\bin\DCS.exe"
$srs_exe = "$env:ProgramFiles\DCS-SimpleRadio-Standalone\SR-ClientRadio.exe"

#option paths
$options = "$env:userprofile\Saved Games\DCS.openbeta\Config\options.lua"
$vr_options = "$env:userprofile\Saved Games\DCS.openbeta\Config\vr-options.lua"
$novr_options = "$env:userprofile\Saved Games\DCS.openbeta\Config\novr-options.lua"

#processes
$SimShaker = Get-Process "SimShaker for Aviators" -ErrorAction SilentlyContinue
$srs = Get-Process "SR-ClientRadio" -ErrorAction SilentlyContinue

#Cleanup multiplayer tracks older than 7 days
Get-ChildItem "$env:userprofile\Saved Games\DCS.openbeta\Tracks\Multiplayer\" | Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-7) } | Remove-Item

#enable vr startup, menu choice Yes
if($answer -eq 6){
   if (Test-Path $vr_options){#verify that VR options file exists
       Copy-Item $vr_options -Destination $options #copy VR options to game options
   }
   if (!$SimShaker){#checks to see if simshaker is running, if it's not then start it
       Start-Process $ssa_appref
   }
   if (!$srs){#checks to see if SRS is running, if it's not then start it
       Start-Process $srs_exe -WorkingDirectory "C:\Program Files\DCS-SimpleRadio-Standalone\"
   }
   Start-Sleep -Seconds 2 #necessary for simshaker to settle down so the DCS hooks work
   Start-Process $dcs_exe -NoNewWindow -Wait #start DCS
   Wait-Process -name SimShakerSoundModule #wait for simshaker to close out gracefully
   Get-Process "SR-ClientRadio" -ErrorAction SilentlyContinue | % { $_.CloseMainWindow() | Out-Null } #close SRS
   Get-Process "SimShaker for Aviators" -ErrorAction SilentlyContinue | Stop-Process -PassThru #fully close simshaker resident loader
   Copy-Item $options -Destination $vr_options #save any changes to VR options
}

#disable vr startup, menu choice No
elseif($answer -eq 7){
   if (Test-Path $novr_options){#verify that no-VR options file exists
       Copy-Item $novr_options -Destination $options #copy no-VR options to game options
   }
   if (!$SimShaker){#checks to see if simshaker is running, if it's not then start it
       Start-Process $ssa_appref
   }
   if (!$srs){#checks to see if SRS is running, if it's not then start it
       Start-Process $srs_exe -WorkingDirectory "C:\Program Files\DCS-SimpleRadio-Standalone\"
   }
   Start-Sleep -Seconds 2 #necessary for simshaker to settle down so the DCS hooks work
   Start-Process $dcs_exe -NoNewWindow -Wait #start DCS
   Wait-Process -name SimShakerSoundModule #wait for DCS and simshaker to close out gracefully
   Get-Process "SR-ClientRadio" -ErrorAction SilentlyContinue | % { $_.CloseMainWindow() | Out-Null } #close SRS
   Get-Process "SimShaker for Aviators" -ErrorAction SilentlyContinue | Stop-Process -PassThru #fully close simshaker resident loader
   Copy-Item $options -Destination $novr_options #save any changes to no-VR options
}

#menu choice Cancel
else{
   exit
}

Link to comment
Share on other sites

Nice script, FoxTwo, has checks & handling! Awesome.

My controls & seat

 

Main controls: , BRD-N v4 Flightstick (Kreml C5 controller), TM Warthog Throttle (Kreml F3 controller), BRD-F2 Restyling Bf-109 Pedals w. damper, TrackIR5, Gametrix KW-908 (integrated into RAV4 seat)

Stick grips:

Thrustmaster Warthog

Thrustmaster Cougar (x2)

Thrustmaster F-16 FLCS

BRD KG13

 

Standby controls:

BRD-M2 Mi-8 Pedals (Ruddermaster controller)

BRD-N v3 Flightstick w. exch. grip upgrade (Kreml C5 controller)

Thrustmaster Cougar Throttle

Pilot seat

 

 

Link to comment
Share on other sites

The script uses nircmd for setting Audio devices and cmdow for window minimization

 

https://www.nirsoft.net/utils/nircmd.html

https://ritchielawrence.github.io/cmdow/

 

Excellent. Thanks for that.

i9 9900K @ 5.1Ghz - ASUS Maximus Hero XI - 32GB 4266 DDR4 RAM - ASUS RTX 2080Ti - 1 TB NVME - NZXT Kraken 62 Watercooling System - Thrustmaster Warthog Hotas (Virpil Base) - MFG Crosswind Pedals - Pimax 5K+

VFA-25 Fist Of The Fleet

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...