Skip to content

Getting Started

Tyler Reynolds edited this page Jun 11, 2021 · 1 revision

Installation

Install DCS-BIOS

TouchDCS uses DCS-BIOS to communicate with DCS. This allows for fast and effective two-way communication with support for almost every switch in every official module, as well as many mods.

There are a few versions of DCS-BIOS out, there, but I recommend the Flightpanels fork. While you are welcome to attempt to get other versions of DCS-BIOS to work, I cannot provide support for them all.

⚠️ If you are on Open Beta, do not download the latest release. As is mentioned in the DCS-BIOS readme, the latest release in the releases tab is for Stable, not Open Beta. Instead, clone the repository itself or download it as a zip by clicking the download button in the top right.

When setting up DCS-BIOS, it's recommended to set up the reference tool as well. This tool isn't strictly necessary, but should help you get a better insight into which which IDs you want to use and what they actually output.

While you can technically use any device which communicates via OSC, I highly recommend TouchOSC. The developers recently released a new version and have implemented numerous features at my request, all to help build this application. If you only need the mobile version, it is $10 on the App/Play Store. If you need the desktop version as well, it is $18 but can be used for free if you don't mind the annoying nag screen telling you to buy a license every time you start it.

Please consider purchasing a TouchOSC license. These guys have been a huge help and TouchDCS wouldn't be what it is without them. Please consider supporting them, leaving a review, etc. TouchDCS has no affiliation with TouchOSC other than the obviously ripped-off name.

When you download TouchDCS, it comes with a couple of pre-made TouchOSC layouts that you can use to load up and start flying with right away.

Currently, .NET 5 does not ship with Windows and needs to be installed prior to running TouchDCS. If you notice TouchDCS is closing immediately after being opened, the issue is likely that you do not have .NET 5 installed.

You only need the .NET 5 Runtime.

Download TouchDCS

You can get the latest version of TouchDCS from the Releases page. Download touchdcs.zip, and extract it wherever you want it to live.

Running TouchDCS

When you first launch TouchDCS, it will create a config.json file for you. You'll need to edit this file in order to get any real use out of TouchDCS.

When running for the first time

  • a modal may pop up saying Windows protected your PC. Click More info, then click Run anyway. Don't worry, TouchDCS is guaranteed to be 99.9% virus free!
  • you may see another dialog requesting network permissions. Click Allow access (99.9%, remember?)

If you have a very abnormal setup (e.g. if you have highly customized your DCS-BIOS setup, which is highly unlikely) or if you are using an aircraft that is supported by DCS-BIOS but not TouchDCS (slightly more likely), the Configuration page has more information about additional configuration properties you can tweak to get TouchDCS working for you.

Editing your DCS-BIOS install location

Most users will be able to skip this step.

configLocations defines the locations of the json files created by DCS-BIOS which contain information about the IDs, what types of values they accept, and what types of values they output.

If you are using the standalone DCS Open Beta

No change should be necessary, and the correct path should be "%userprofile%/Saved Games/DCS.openbeta/Scripts/DCS-BIOS/doc/json/"

If you are using the standalone DCS Stable or if you are on Steam, Open Beta or not

The path should be "%userprofile%/Saved Games/DCS/Scripts/DCS-BIOS/doc/json/"

Adding a device

A device is any device (tablet, pc, etc) running TouchOSC. When you first open your config.json file, you should see something like this.

"devices": [
  {
    "ipAddress": "YOUR TABLET IP HERE",
    "sendPort": 9000,
    "receivePort": 8000
  }
]

You'll need to fill in your tablet's IP address. Instructions for how to find your device's local IP are available here.

Multiple devices

TouchDCS supports multiple devices! You can add as many as you want, and the limitation of the number of devices that can be connected at once and used effectively is not known. Make sure each device has unique send and receive ports. You can add another device like so:

"devices": [
  {
    "ipAddress": "192.168.1.10",
    "sendPort": 9000,
    "receivePort": 8000
  },
  {
    "ipAddress": "192.168.1.11",
    "sendPort": 9001,
    "receivePort": 8001
  }
]

Configuring TouchOSC

You'll need to configure TouchOSC on each device that you want to talk to TouchDCS. The TouchOSC documentation provides information on how to do this.

Host

The host is the local IP address of the machine that is running TouchDCS. You can get information about how to find this at the same link that you used to find your tablet IP.

Send Port

This should correspond to the receivePort (NOT A TYPO) in the TouchDCS config.

Receive Port

This should correspond to the sendPort (NOT A TYPO) in the TouchDCS config.

Zeroconf/other configuration options

At this time no other configuration options matter.

Loading a layout

You can find instructions on how to import a layout here, and on how to transfer a layout via the editor network here. Both options work equally well, though if you'll be doing a lot of editing then the editor network is the preferred method as it allows you to make edits on your desktop PC which will then immediately update on your tablet/mobile device.

Final thoughts

At this point, you should be up and running with TouchDCS. If you've set everything up right, when you load into a mission you should see the values on your tablet automatically synchronize with your aircraft.

You can launch TouchDCS at any time, from before you start DCS to after you have already started a mission. You can also update your layout at any time with no need to restart TouchDCS.

If you're having issues, see if the Troubleshooting page helps, or feel free to ask for help in the Discord!