AC Rally — Telemetry Status & Research

# AC Rally — Telemetry Status & Research

> **Game**: Assetto Corsa Rally (Early Access, v0.4 as of April 2026)
> **Developer**: KUNOS Simulazioni / 505 Games
> **Engine**: Customized Unreal Engine 5 (NOT AC1 engine, NOT AC EVO engine)
> **Platform**: Windows only (no confirmed Linux/Proton support)
> **Parser status**: ❌ Not applicable — no known telemetry output
> **Steam App ID**: Unknown (Early Access since November 2025)

---

## Key Finding: Telemetry Availability Is UNKNOWN

AC Rally is built on a **customized version of Unreal Engine 5** (confirmed by the official website at assettocorsa.gg). As of Early Access v0.4 (April 2026):

- **No public telemetry API documentation** found
- **No UDP protocol specification** published
- **No community telemetry tools** found
- **Patch notes** for v0.1–v0.4 do not mention telemetry support
- The game's [official page](https://assettocorsa.gg/assetto-corsa-rally/) does not mention data output

### Strategic Importance

AC Rally is the **key differentiator** for our telemetry platform. As documented in the product roadmap (§16 of main project plan), **no competitor serves rally telemetry**. Track Titan, SimRacingSetup, VRS, and MoTeC all focus exclusively on circuit racing. AC Rally presents a unique market opportunity if we can capture and analyze its data.

---

## Cross-References

- **AC original protocol**: [Assetto Corsa — UDP Telemetry Protocol Specification](joplin://aed9f3be040943048273a16e05a8100f)
- **ACC protocol**: [ACC — UDP Telemetry Protocol Specification](joplin://6ae7005d9810437093d63470cff98b59)
- **AC EVO status**: [AC EVO — Telemetry Status & Research](joplin://2171d34ab9c1431ea3a979d30d206e23)
- **PCARS protocol**: [Project CARS 1 & 2 — UDP Telemetry Protocol Specification](joplin://c6bd2c45938246fa9d61776deae9874b)
- **DiRT Rally protocol**: [DiRT Rally 1 & 2.0 — UDP Telemetry Protocol Specification](joplin://877a753ad06a40e08059834d8c8fb438)
- **Product roadmap**: [Sim Racing Telemetry Analysis Platform — Project Plan](joplin://6c0dcb2a567348fd9796f50c790082e4) (§16 — rally as key differentiator)

---

## Engine Analysis & Protocol Prediction

### What We Know About the Engine

- **Unreal Engine 5** (customized) — confirmed by official website: "Powered by a customized version of Unreal Engine 5, tailored to the needs of a racing game"
- Physics based on "a refined version of Assetto Corsa's physics engine" — but the rendering/infrastructure is UE5
- Laser-scanned real-world rally stages
- Dynamic weather, day-night cycle, destructible environments
- FWD, RWD, and AWD support with modular drivetrains
- Professional co-driver pace notes
- Physics-driven damage model
- Online leaderboards and multiplayer

### Protocol Predictions (Ranked by Likelihood)

**1. ACC-style Registration Protocol (Most Likely — 50%)**
Since AC Rally uses UE5 (and ACC uses UE4), KUNOS likely reuses the ACC telemetry framework with rally-specific extensions. The registration + multi-packet broadcast model is proven and works well for UE-based games.

**2. UE5 Standard Telemetry (Possible — 25%)**
UE5 has built-in telemetry and analytics capabilities. KUNOS might expose data through UE5's standard subsystem rather than a custom UDP protocol.

**3. Evolved AC1-style (Unlikely — 15%)**
Despite the physics heritage, the UE5 infrastructure makes the AC1-style direct UDP streaming less likely. The engine architecture doesn't naturally support the same socket model.

**4. No Telemetry Yet (Possible — 10%)**
Being Early Access v0.4, telemetry may simply not be implemented yet.

---

## Rally-Specific Telemetry Requirements

Rally telemetry analysis requires fields that don't exist in circuit racing:

### New Fields Needed (Not in AC1/ACC/PCARS)

| Category | Field | Why It Matters |
|---|---|---|
| **Stage timing** | stage_time_ms | Instead of lap_time — single run, no laps |
| **Stage progress** | stage_progress (0.0–1.0) | Like spline_position but for a stage |
| **Split times** | intermediate_times[] | Multiple splits per stage (not just 3 sectors) |
| **Surface type** | surface_type[4] per wheel | Gravel, tarmac, ice, snow, mud, grass |
| **Surface grip** | surface_grip | Overall surface friction coefficient |
| **Co-driver sync** | pace_note_index | Which pace note is currently active |
| **Jump detection** | is_airborne, air_time | Rally stages have jumps — key coaching metric |
| **Stage conditions** | stage_weather, stage_surface_evolution | Conditions change during a rally weekend |
| **Damage accumulation** | cumulative_damage | Damage carries across stages in a rally weekend |
| **Tyre choice** | tyre_type (gravel/asphalt/snow/ice) | Different tyres for different stages |
| **Co-driver audio sync** | pace_note_trigger_time | When the call was made vs when the corner arrives |
| **Stage restart** | is_stage_restart | Rally allows restarts within limits |

### Rally-Specific Analysis Use Cases

| Analysis | Description | Data Required |
|---|---|---|
| **Pace note timing** | Was the call too early/late? | pace_note_index, stage_progress, speed |
| **Surface adaptation** | How did driving style change on mixed surfaces? | surface_type, slip_ratio, brake_pressure |
| **Jump optimization** | Too fast/slow over crests? | is_airborne, air_time, speed before/after |
| **Tyre strategy** | Which tyres for which stage conditions? | tyre_type, surface_type, stage_times |
| **Damage management** | Is the driver too aggressive early in the rally? | cumulative_damage, stage_times |
| **Gravel vs tarmac technique** | Different techniques for different surfaces | surface_type, steer_angle, throttle_map |
| **Stage evolution** | How does grip change as more cars run? | stage_surface_evolution, split_times |
| **Co-driver trust metric** | Does the driver follow pace notes? | pace_note_index, brake_point, actual_corner |

---

## Investigation Plan

### Phase 1: Port Scanning (After Purchase)

Probe common telemetry ports while the game is running:

| Port | Purpose | What to Look For |
|---|---|---|
| 9000 | ACC-style default | Registration response after sending handshake |
| 9996 | AC1 KSUDP legacy | Binary packets starting with `0x61` ('a') |
| 5606 | PCARS-compatible | Binary packets with PCARS-style headers |
| 20777 | DiRT Rally / Codemasters | Binary packets with Codemasters format |
| 8080 | HTTP/WebSocket | REST API or WebSocket handshake |
| 0–65535 | Broad scan | Any UDP activity using `tcpdump` or `netstat` |

### Phase 2: UE5-Specific Investigation

Since AC Rally uses UE5, check for:
- UE5 shared memory (Windows): `Local\ACRally*` or similar mapped file names
- UE5 UDP debugging: Unreal has built-in network debugging that sometimes exposes telemetry
- UE5 analytics plugins: Some UE5 games expose data through the analytics framework
- Configuration files mentioning telemetry/logging

### Phase 3: File System Analysis

Check game directory for:
- `docs/` folder (ACC had documentation here)
- Configuration files mentioning UDP/telemetry
- Shared memory configuration
- Log files mentioning telemetry startup
- Plugin directories

### Phase 4: Community Monitoring

- Watch official KUNOS Discord for rally telemetry discussions
- Monitor OverTake.gg AC Rally forums
- Check Steam discussions
- Watch for third-party rally dashboards

---

## Comparison: AC Rally vs Other Rally Games

| Game | Telemetry | Platform | Our Support |
|---|---|---|---|
| **AC Rally** | Unknown (EA) | Win | ❌ Planned |
| **EA Sports WRC** | UDP out (Codemasters format) | Win/PS5/Xbox | ❌ Not planned |
| **DiRT Rally 2.0** | UDP out (Codemasters format, port 20777) | Win | ❌ Planned — [DiRT Rally Protocol Spec](joplin://877a753ad06a40e08059834d8c8fb438) |
| **DiRT Rally 1** | UDP out (Codemasters format, port 20777) | Win | ❌ Planned — [DiRT Rally Protocol Spec](joplin://877a753ad06a40e08059834d8c8fb438) |
| **Richard Burns Rally** | Plugin system | Win | ❌ Not planned |
| **AC1 + Rally mods** | Same as AC1 (KSUDP/10101) | Win/Linux | ✅ Working |

**AC Rally is the only modern rally sim with potential for Kunos-quality telemetry.** If KUNOS ports their telemetry infrastructure from ACC/EVO to Rally, we get rally-specific data with the same quality as circuit telemetry. No other product offers this combination.

**DiRT Rally 2.0 is the fastest path to rally coaching** — proven protocol with per-wheel surface type data, available now. See [DiRT Rally 1 & 2.0 — UDP Telemetry Protocol Specification](joplin://877a753ad06a40e08059834d8c8fb438).

---

## Prerequisites for Investigation

1. **Purchase AC Rally** on Steam (~€30 during Early Access)
2. **Windows environment** — AC Rally does not have Linux support
3. **Port scanning tools**: `nmap`, `tcpdump`, `netstat`
4. **Wireshark** for packet capture
5. **UE5 debugging tools** (optional, for advanced investigation)

---

## Relevance to rusty-telemetry

- **Priority**: HIGH — rally is our key differentiator (per §16 of product roadmap)
- **Timeline**: Investigate as soon as game is purchased and core AC1 pipeline works
- **Effort to support**: Depends on protocol — days if ACC-compatible, weeks if entirely new
- **Unique value**: **No competitor serves rally telemetry analysis.** This alone could define our product.
- **Rally mod advantage**: AC1 already has rally mods using the same parsers — we can start building rally analysis with AC1 data while waiting for AC Rally telemetry
- **DiRT Rally advantage**: DR2 is available NOW with proven telemetry — can ship rally coaching before AC Rally protocol is known

---

*Created: 2026-06-06*
*Status: Research/planning — game not yet purchased*
*Next step: Purchase AC Rally, run port scan during gameplay*
*Strategic note: This is the most important unknown — rally telemetry is our unique market position*

id: b7b331aa87544b6ebe5db5b8d7bcd2a0
parent_id: 94aa3283ead4477d8449e324a27eb3d0
created_time: 2026-06-06T07:57:39.511Z
updated_time: 2026-06-06T08:27:31.493Z
is_conflict: 0
latitude: 0.00000000
longitude: 0.00000000
altitude: 0.0000
author: 
source_url: 
is_todo: 0
todo_due: 0
todo_completed: 0
source: joplin-desktop
source_application: net.cozic.joplin-desktop
application_data: 
order: 1780732659511
user_created_time: 2026-06-06T07:57:39.511Z
user_updated_time: 2026-06-06T08:27:31.493Z
encryption_cipher_text: 
encryption_applied: 0
markup_language: 1
is_shared: 0
share_id: 
conflict_original_id: 
master_key_id: 
user_data: 
deleted_time: 0
type_: 1