Skip to content

About

🟒 Discord Rich Presence integration for ETS2/ATS

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

Β 

History

5 Commits

Folders and files

Repository files navigation

Logo

TruckSim RPC

Discord Rich Presence integration for ETS2/ATS

Overview β€’ Features β€’ Preview β€’ Installation β€’ Building β€’ Contributing β€’ License


Overview

TruckSim RPC is a native plugin for Euro Truck Simulator 2 and American Truck Simulator that integrates Discord Rich Presence. It reads live telemetry data through the official SCS Telemetry SDK and the Discord Game SDK, updating your Discord status with truck details, job information, player status, and session time.

Note

This plugin is currently compatible with Windows only. Linux support is planned for a future release.

Features

  • Game info β€” displays ETS2 or ATS with the current game version.
  • Truck display β€” manufacturer and model from telemetry.
  • Job tracking β€” origin city β†’ destination city with driving distance.
  • Free roam β€” shows current status when no delivery is active.
  • Player status β€” Driving, Idle, Parked, Ferry, Train, Loading, In Menu β€” inferred reliably from available telemetry channels.
  • Session timer β€” elapsed play time using Discord Rich Presence timestamps.
  • Convoy support β€” appends "Convoy" when multiplayer offset is detected.
  • Truck brand images β€” small image shows the truck brand logo (if a matching Discord asset exists), fallback to a steering wheel icon.
  • ETA display β€” large image tooltip shows remaining navigation time.
  • Efficient updates β€” updates are throttled and only fire when values actually change (2s dirty / 30s idle intervals).
  • Graceful error handling β€” never crashes the game; handles missing Discord, lost SDK connections, and unsupported game versions.
  • Debug logging β€” [TruckSimRPC] messages in game.log.txt

Preview

ETS2

Preview 1
Free roam with player status
Preview 2
Job route with remaining distance
Preview 3
Job route with ETA
Preview 4
Truck information
Preview 5
Convoy status

ATS

Preview 1
Free roam with player status
Preview 2
Job route with remaining distance
Preview 3
Job route with ETA
Preview 4
Truck information
Preview 5
Convoy status

Installation

  1. Download the latest trucksim-rpc-*.zip from the Releases page.
  2. Extract bin folder into your game's root location.
  3. Start the game. The plugin logs [TruckSimRPC] plugin initialized to game.log.txt to confirm it loaded.

Building

Native (Windows)

Requires MinGW-w64 with windres and g++.

Set the APP_ID environment variable:

set APP_ID=123456789012345678

mkdir build\bin\win_x64\plugins

windres trucksim-rpc.rc -O coff -o build\trucksim-rpc_res.o

copy src\sdk\discord\lib\x86_64\discord_game_sdk.dll build\bin\win_x64\

g++ -shared -m64 -O2 -std=c++23 -o build\bin\win_x64\plugins\trucksim-rpc.dll ^
    -DDISCORD_APP_ID=%APP_ID% ^
    build\trucksim-rpc_res.o ^
    src\log\log.cpp ^
    src\telemetry\telemetry.cpp ^
    src\discord\discord_client.cpp ^
    src\presence\presence.cpp ^
    src\core\plugin.cpp ^
    src\sdk\discord\cpp\activity_manager.cpp ^
    src\sdk\discord\cpp\application_manager.cpp ^
    src\sdk\discord\cpp\core.cpp ^
    src\sdk\discord\cpp\image_manager.cpp ^
    src\sdk\discord\cpp\lobby_manager.cpp ^
    src\sdk\discord\cpp\network_manager.cpp ^
    src\sdk\discord\cpp\overlay_manager.cpp ^
    src\sdk\discord\cpp\relationship_manager.cpp ^
    src\sdk\discord\cpp\store_manager.cpp ^
    src\sdk\discord\cpp\storage_manager.cpp ^
    src\sdk\discord\cpp\types.cpp ^
    src\sdk\discord\cpp\user_manager.cpp ^
    src\sdk\discord\cpp\voice_manager.cpp ^
    src\sdk\discord\cpp\achievement_manager.cpp ^
    trucksim-rpc.def ^
    -include src\sdk\discord\compat\preinclude.h ^
    -I src\sdk\scs\include ^
    -I src\sdk\discord\cpp ^
    -I src\sdk\discord\compat ^
    -I src\telemetry ^
    -I src\discord ^
    -I src\presence ^
    -I src\config ^
    -I src\log ^
    -I src\core ^
    src\sdk\discord\lib\x86_64\discord_game_sdk.dll.lib ^
    -static-libgcc -static-libstdc++ ^
    -Wl,--kill-at
del build\trucksim-rpc_res.o

Cross-compile (Linux)

Requires MinGW-w64 (x86_64-w64-mingw32-g++). Set APP_ID in .env:

./build.sh

Note

Run ./gen_compile_commands.sh after first clone or MinGW upgrade to generate compile_commands.json for clangd LSP support.

Contributing

Bug reports and feature requests are welcome β€” open an issue.

License

This project is licensed under the MIT License.

About

🟒 Discord Rich Presence integration for ETS2/ATS

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages