Skip to content

TheDR-lul/Tailgunner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

88 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฏ Tailgunner

Powered by A.S.S. (Adaptive Sensory System)

Transform your War Thunder experience into a full-body immersion system!

Tailgunner is a revolutionary haptic feedback application that bridges War Thunder's telemetry API with advanced haptic devices, translating every game event into physical sensations. Feel every hit, every G-force, every critical moment through adaptive sensory feedback.


๐Ÿš€ Key Features

๐ŸŽฎ Full War Thunder Integration

  • โœ… 100% EAC-Safe - Reads data only from 127.0.0.1:8111 (official API)
  • โœ… Real-time telemetry - 10 updates per second
  • โœ… HUD Events - Kill feed, damage events, aircraft crashes
    • Track your kills and deaths in real-time
    • Filter by player names and clan tags
    • Trigger haptic feedback on specific player events
    • Enemy tracking and targeted feedback
  • โœ… 50+ Game Parameters including:
    • Flight: IAS, TAS, Altitude, Mach, AoA, G-Load
    • Controls: Aileron, Elevator, Rudder, Flaps, Gear, Airbrake
    • Engine: RPM, Temperature, Oil Temp, Manifold Pressure, Throttle
    • Weapons: Ammo count, Cannon ready status
    • Resources: Fuel (kg & %), Low fuel warnings
    • Tank-specific: Stabilizer, Gear ratio, Cruise control, Driving direction
    • Crew: Total/alive crew, Gunner/Driver state
    • Advanced: Blisters, Gear lamps, Speed warnings

๐ŸŽจ Visual Pattern Constructor

Node-based editor (similar to Blender/Unreal) for creating complex haptic patterns:

Input Nodes:

  • ๐Ÿ“Š Sensor Input - 50+ game parameters grouped by category
  • โšก Event Trigger - Game events (Hit, Overspeed, LowFuel, etc.)

Logic Nodes:

  • ๐Ÿ” Condition - Single comparisons (>, <, =, โ‰ฅ, โ‰ค, โ‰ , between, outside)
  • ๐ŸŽฏ Multi-Condition - Complex conditions with AND/OR logic
  • โš™๏ธ Logic Gates - AND, OR, NOT, XOR operations

Output Nodes:

  • ๐Ÿ’ฅ Vibration - Classic vibration patterns with ADSR curves
  • ๐Ÿ“ Linear Motion - For strokers/thrusters (position control)
  • ๐Ÿ”„ Rotation - For rotary devices (speed & direction)
  • ๐Ÿ“ก Output - Send to devices

๐ŸŽฏ Smart Profiles & Dynamic Triggers

Automatic profile switching based on vehicle type:

  • ๐Ÿ›ก๏ธ Tank RB - Immersive realism with engine rumble, hit feedback
  • โœˆ๏ธ Aircraft - G-force simulation, overspeed warnings, stall alerts
  • ๐ŸŽฎ Light Background - Subtle feedback for all vehicle types

Advanced Trigger System:

  • Custom Curve Editor - Draw your own vibration intensity curves
  • Per-Trigger Settings - Adjust cooldown, duration, and intensity individually
  • Built-in Triggers - Pre-configured for fuel warnings, engine damage, ammo alerts
  • Profile Filtering - Only shows events with active triggers for clarity
  • Continuous Vibration Mode - Sustained feedback while condition is active
  • Vehicle-Specific Limits - Auto-generated triggers based on actual aircraft data
    • G-load warnings (80% of max positive/negative G)
    • Flutter speed alerts (before wing rip)
    • Critical overspeed warnings (95% of Vne)

Player Identity System:

  • Track Specific Players - Set your nickname to filter kill events
  • Clan Tag Support - Monitor clan member activities
  • Enemy Lists - Create targeted feedback for specific opponents
  • Smart Kill Filtering - "I killed someone" vs "Enemy damaged me"

๐Ÿ”ง Advanced Device Support

  • Buttplug.io Integration - Universal device support via Intiface Central
  • Multiple Device Types:
    • Vibration (classic haptics)
    • Linear actuators (strokers, thrusters)
    • Rotary devices (rotating toys)
  • Smart QoS - Rate limiting (5-8 cmd/s) to prevent device overload
  • Fail-Safe - Smooth fade-out on crash/disconnect

๐ŸŒ Multilingual

  • ๐Ÿ‡ฌ๐Ÿ‡ง English (primary)
  • ๐Ÿ‡ท๐Ÿ‡บ Russian
  • Easy to add more languages

๐ŸŽจ Enhanced UI/UX

  • Interactive Curve Editor - Draw custom vibration patterns with mouse
    • Add/remove points with double-click
    • Drag points to adjust intensity over time
    • Real-time visual feedback
    • Canvas-based rendering for smooth curves
  • Smart Number Inputs - Keyboard-friendly value editing
    • Type values directly instead of only using arrows
    • Backspace/Delete support
    • Enter to confirm, Escape to cancel
    • Auto-formatting with units (seconds, etc.)
  • Filtered Views - Cleaner interface
    • Only shows triggers with configured events
    • Hides empty profiles for clarity
  • Debug Console - Real-time event monitoring
    • Live trigger activation logs
    • Game state telemetry display
    • HUD event debugging
    • Error tracking and diagnostics

๐Ÿ“ฆ Installation

Prerequisites

  1. War Thunder with localhost API enabled
  2. Intiface Central (Download)
  3. Compatible haptic devices

Quick Start

# Clone repository
git clone https://github.com/yourusername/tailgunner.git
cd tailgunner

# Install dependencies
npm install

# Run in development mode
npm run tauri dev

# Build production version
npm run tauri build

๐ŸŽฎ How to Use

1. Connect Devices

  • Launch Intiface Central
  • Start server (default: ws://localhost:12345)
  • Connect your haptic devices
  • Launch Tailgunner
  • Click "Initialize Devices"

2. Start War Thunder

  • Enable localhost API in game settings
  • Launch any battle (tank, aircraft, ship)
  • Tailgunner will auto-detect vehicle type

3. Create Custom Patterns

  • Open Pattern Manager
  • Click "Create Pattern"
  • Build your haptic flow:
    [Speed Sensor] โ†’ [Condition: > 800] โ†’ [Vibration Pattern] โ†’ [Output]
    
  • Save and enable pattern

4. Configure Triggers

  • Go to Game Events tab
  • All Triggers - View and configure all available triggers
    • Enable/disable individual triggers
    • Adjust cooldown (seconds between activations)
    • Customize vibration duration
    • Draw custom intensity curves with the interactive editor
  • Active Profiles - Configure profile-specific event mappings
    • Only shows events with configured triggers
    • Per-profile customization for different vehicle types
    • Real-time preview of trigger settings

๐Ÿ› ๏ธ Architecture

Technology Stack

  • Frontend: React + TypeScript + Vite
  • Backend: Rust + Tauri 2.0
  • UI: React Flow (node editor)
  • Haptics: Buttplug.io via WebSocket
  • I18n: react-i18next

Core Systems

A.S.S. (Adaptive Sensory System)

The engine that powers Tailgunner:

  • Telemetry Reader - Polls WT API at 100ms intervals
    • /indicators endpoint - Real-time telemetry (50+ parameters)
    • /hudmsg endpoint - Kill feed and damage events
    • Smart HUD initialization (processes recent 15s of events)
    • Duplicate message prevention with time-based caching
  • Event Engine - Detects game events (hits, damage, state changes)
  • Trigger Manager - Evaluates custom conditions with persistent settings
    • Custom curve point storage and serialization
    • Per-trigger cooldown and pattern management
    • Real-time condition evaluation with state history
    • Continuous trigger support (sustained vibration)
    • Event-based vs state-based trigger separation
  • Profile Manager - Switches haptic profiles based on vehicle
  • Pattern Engine - Converts curves to ADSR envelopes
    • Custom curve-to-pattern conversion
    • ADSR (Attack, Decay, Sustain, Release) generation
    • Burst mode support (repeat patterns)
  • Vehicle Limits Manager - Datamine integration
    • Parses War Thunder game files (VROMFS unpacking)
    • Extracts aircraft performance limits (G-load, Vne, flutter)
    • Auto-generates vehicle-specific triggers
    • EAC-safe (unpacks to TEMP, doesn't modify game)
  • Player Identity DB - SQLite-based identity tracking
    • Persistent storage of player names, clan tags, enemy lists
    • Kill event filtering based on player identity
  • Rate Limiter - QoS to prevent device spam
  • Device Manager - Communicates with Buttplug.io

Pattern System

Visual node-based patterns are converted to Rust EventTrigger structures:

  • Condition evaluation - Real-time checks against game state
  • Pattern execution - ADSR envelopes, curves, continuous modes
  • Multi-device support - Different patterns for different device types

๐ŸŽฏ Pattern Examples

Example 1: Speed Warning

[IAS Sensor] โ†’ [Condition: > 800 km/h] โ†’ [Vibration: Pulsing] โ†’ [Output]

Triggers when airspeed exceeds 800 km/h

Example 2: Critical G-Load

[G-Load Sensor] โ†’ [Multi-Condition: > 8G OR < -3G] โ†’ [Vibration: Sharp] โ†’ [Output]

Triggers on extreme G-forces

Example 3: Low Fuel + Enemy Hit

[Fuel % Sensor] โ†’ [Condition: < 20%] โ”€โ”
[Hit Event] โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ†’ [Logic: AND] โ†’ [Vibration: Critical] โ†’ [Output]

Intense feedback when hit while low on fuel

Example 4: Rotation on Engine Speed

[RPM Sensor] โ†’ [Condition: > 2000] โ†’ [Rotate: Continuous] โ†’ [Output]

Rotary device spins proportionally to engine RPM

Example 5: Custom Vibration Curve for Low Fuel

Trigger: Low Fuel (<10%)
Cooldown: 30.0s
Duration: 2.5s
Curve: Custom drawn curve (gentle ramp up โ†’ sustained pulse โ†’ fade out)

Creates a unique sensation using the interactive curve editor


๐Ÿ“Š Supported Parameters

Flight Dynamics

  • IAS, TAS, Altitude, Mach, AoA, G-Load (Ny)

Aircraft Controls

  • Aileron, Elevator, Rudder, Flaps, Gear, Airbrake
  • Stick/Pedal raw inputs

Engine Telemetry

  • RPM (multi-engine support)
  • Engine, Oil, Water temps
  • Manifold pressure, Throttle position

Tank-Specific

  • Stabilizer state, Gear ratio
  • Cruise control, Driving direction
  • Speed warning indicators

Weapons & Resources

  • Ammo count, Cannon ready status
  • Fuel (kg & percentage)
  • Low fuel/ammo warnings

Crew Status

  • Total/Current crew count
  • Crew distance, Gunner/Driver state

Advanced

  • Blisters (1-4), Gear lamps (up/down/off)
  • Roll indicators available

๐Ÿ” Safety & Ethics

EAC-Safe Guarantee

Tailgunner ONLY reads from War Thunder's official localhost API (127.0.0.1:8111). It does not:

  • โŒ Inject code into game memory
  • โŒ Modify game files
  • โŒ Hook into DirectX/OpenGL
  • โŒ Use any anti-cheat bypass techniques

Device Safety

  • Rate Limiting: Max 8 commands/second to prevent overheating, XD
  • Fail-Safe Mode: Devices stop smoothly if game crashes
  • Manual Override: Emergency stop button in UI

๐Ÿค Contributing

We welcome contributions! Areas of interest:

  • New node types (e.g., Constrict, Inflate)
  • Additional game parameters
  • Community pattern library
  • Translations (add your language!)
  • Device profiles (optimize for specific hardware)

How to Contribute

  1. Fork repository
  2. Create feature branch (git checkout -b feature/AmazingFeature)
  3. Commit changes (git commit -m 'Add AmazingFeature')
  4. Push to branch (git push origin feature/AmazingFeature)
  5. Open Pull Request

๐Ÿ“ License

GNU General Public License v3.0 or later (GPL-3.0-or-later)

This project is free and open source software licensed under the GPL-3.0.

โœ… You CAN:

  • Use the software for any purpose (personal, commercial, educational)
  • Study and modify the source code
  • Share and distribute the software
  • Distribute your modifications
  • Use in commercial products

โš ๏ธ You MUST:

  • Keep the same GPL-3.0 license for derivative works
  • Provide source code when distributing
  • State changes made to the original code
  • Include copyright and license notices

See LICENSE for full details.

This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions.


๐ŸŽ–๏ธ Credits

Tailgunner is powered by:


๐Ÿ’ฌ Community


๐Ÿš€ Roadmap

v0.8.1 (Current - Released 2025-01-26)

  • โœ… 50+ game parameters
  • โœ… Multi-condition nodes
  • โœ… Linear & Rotate devices
  • โœ… Full localization (EN/RU)
  • โœ… Interactive vibration curve editor
  • โœ… Per-trigger cooldown/duration/intensity settings
  • โœ… Persistent trigger configuration
  • โœ… Profile filtering (shows only events with triggers)
  • โœ… Editable number inputs with keyboard support
  • โœ… HUD Events System - Kill feed, damage tracking
  • โœ… Player Identity - Track specific players/clans/enemies
  • โœ… Vehicle Datamine Integration - Auto-generated limits from game files
  • โœ… Continuous Vibration Mode - Sustained feedback for conditions
  • โœ… Debug Console - Real-time event monitoring
  • โœ… Smart Kill Filtering - Context-aware event descriptions
  • โœ… Vehicle-Specific Triggers - G-load, flutter, overspeed warnings
  • โœ… HUD Initialization - Processes recent 15s of events on startup

v0.9.0 (Planned)

  • ๐Ÿ”„ Enhanced datamine features
    • Tank performance limits (turret traverse, hull break)
    • Naval vessel data integration
    • Weapon ballistics parameters
  • ๐Ÿ”„ Advanced pattern features
    • Pattern templates library
    • Community pattern sharing
    • Trigger import/export (JSON)
  • ๐Ÿ”„ UI improvements
    • Trigger event history viewer
    • Pattern performance analyzer
    • Custom event categories

v1.0.0 (Future)

  • ๐Ÿ”„ On-screen HUD overlay
    • Real-time game state visualization
    • Active trigger indicators
    • Device status display
    • Customizable position and opacity
  • ๐Ÿ”„ Advanced analytics
    • Session statistics
    • Trigger activation heatmaps
    • Device usage metrics
  • ๐Ÿ”„ Multi-game support
    • DCS World integration
    • IL-2 Sturmovik support
    • Generic telemetry adapter

โš ๏ธ Disclaimer

Tailgunner is an unofficial third-party application and is not affiliated with, endorsed by, or sponsored by Gaijin Entertainment. War Thunderยฎ is a registered trademark of Gaijin Entertainment. Use at your own risk.


Developed with โค๏ธ for the War Thunder community

Feel the Thunder. Be the Thunder.

About

War Thunder haptic feedback system with HUD events, player tracking, and vehicle datamine integration. 100% EAC-safe.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors