# DCS World

## Connection Method

**UDP** — DCS World sends telemetry data over UDP via a Lua plugin that runs inside the game.

* **Default IP**: `127.0.0.1`
* **Default Port**: `4135`
* **Update Rate**: Up to 120 Hz

## Automatic Setup

1. Select **DCS World** as your source in DR Sim Manager.
2. Click the **Settings** icon (⚙) next to the source.
3. Click **Install DCS Plugin** — this will automatically install the telemetry Lua scripts to your DCS `Scripts/Hooks` folder.
4. Click **Check Installation** to verify the plugin was installed correctly.
5. Launch (or restart) DCS World.

The automatic installer handles both **DCS Stable** and **DCS Open Beta** installations. It installs the plugin hook file and all required module files.

## Manual Setup

If you prefer to install manually:

1. **Locate the Lua plugin file**:

   ```
   C:\Users\<Username>\AppData\Local\DRSimManager\Plugins\DCSWorld\
   ```

   Copy the file `DRSM_Telemetry.lua` and the entire `DRSM` folder.
2. **Paste into your DCS Scripts/Hooks folder**:
   * For **DCS Stable**:

     ```
     C:\Users\<Username>\Saved Games\DCS\Scripts\Hooks\
     ```
   * For **DCS Open Beta**:

     ```
     C:\Users\<Username>\Saved Games\DCS.openbeta\Scripts\Hooks\
     ```
   * If the `Hooks` folder does not exist, create it first.
   * Place both `DRSM_Telemetry.lua` and the `DRSM` folder inside `Hooks`.
3. Launch DCS World.

## Configuring the Port

If you need to change the UDP port (e.g., to avoid conflicts with other software):

1. Click the **Settings** icon next to the DCS World source in DR Sim Manager.
2. Change the **Listen Port** to your desired value.
3. Click **Apply** — if the plugin is already installed, DR Sim Manager will update the plugin's port configuration automatically.

## Available Telemetry

DCS World's plugin provides the most comprehensive flight telemetry available:

* **Orientation**: Pitch, Roll, Yaw
* **Acceleration**: Full 3-axis body-frame acceleration (in Gs, converted to m/s²)
* **Velocity**: Global velocity (transformed to local frame)
* **Angular Velocity**: Full 3-axis rotation rates
* **Speed**: True airspeed and indicated airspeed
* **Mach**: Mach number
* **Altitude**: AGL and MSL
* **Angle of Attack**: Per-aircraft AOA
* **Sideslip**: Angle of sideslip
* **Stall Warning**: Stall indicator
* **Wind**: Wind vector
* **Engine Data**: Left/right engine RPM, propeller RPM, rotor RPM, afterburner status
* **Surfaces**: Flaps, speedbrakes, landing gear (with individual gear positions), canopy
* **Weapons**: Cannon rounds fired, missiles/bombs/rockets released, flares and chaff counts
* **Damage**: Total damage percentage
* **Panel Shake**: Per-aircraft cockpit shake intensity
* **Vehicle Name**: Aircraft type detected automatically

### Telemetry Quality: ★★★★★

The DRSM telemetry plugin provides aircraft-specific data by reading cockpit instrument arguments. This means the telemetry adapts to each aircraft type for the most accurate motion experience.

## Recommended Starting Settings

DCS aircraft vary enormously — from slow prop trainers to high-G fighters:

* **Primary Cue Gain**: 50–80% for fighters, 70–100% for GA/props
* **Smoothing**: Low to medium
* **Washout**: Medium — fighters sustain high G for extended periods
* **Wind Simulator**: Enable if you have a wind output — DCS provides wind data

## Known Quirks

* **Modular plugin architecture**: The DCS plugin consists of a main hook file and several module files in a `DRSM` folder (aerodynamics, engine, rotor, weapons, etc.). All files must be present for full functionality.
* **Per-aircraft data**: The plugin reads aircraft-specific cockpit arguments for RPM, panel shake, and other systems. Some modules or older third-party aircraft may not expose all data.
* **Global-to-local velocity conversion**: DCS provides velocity in world space. DR Sim Manager converts this to the aircraft's local reference frame using orientation data.
* **Gravity compensation**: The plugin accounts for gravitational components in the acceleration data based on the aircraft's pitch and roll.
* **Plugin port updating**: If you change the listening port in DR Sim Manager's settings, the installed plugin files are updated automatically to match.

## Advanced: Telemetry Protocol Reference

The DCS World telemetry plugin is open source. The [repository README](https://github.com/DepartedReality/dcs-telemetry) documents the full telemetry data sent by the plugin — including all available data fields, their types, units, and an example packet.

## Troubleshooting

### No telemetry data

1. Verify the plugin files are in the correct `Scripts/Hooks` folder. Use **Check Installation** in DR Sim Manager's settings.
2. Make sure you are in a mission and flying an aircraft (not in the main menu or mission editor).
3. Check that the port numbers match — the plugin sends to the port configured in its Lua files, and DR Sim Manager listens on its configured port (default `4135`).
4. Check Windows Firewall — allow DCS World through the firewall for UDP.
5. If using DCS **Open Beta**, make sure the plugin is installed in `DCS.openbeta` not `DCS`.

### Plugin was working but stopped after a DCS update

* DCS updates generally do not affect the Scripts/Hooks folder. However, re-run **Check Installation** to verify files are still present.
* If DCS was reinstalled or moved to a different drive, reinstall the plugin.

### "Legacy" plugin files from older versions

* If you previously used an older version of the DRSM DCS plugin (e.g., `DCS_Telemetry.lua` or `DRSM_Telemetry_v2.lua`), the automatic installer will clean up these legacy files and replace them with the current modular version.

### Motion works for some aircraft but not others

* Some third-party aircraft modules may not expose all cockpit arguments. Core motion data (orientation, acceleration, velocity) should always work. RPM and other aircraft-specific data may be unavailable for certain modules.
