RenCloud / scs-sdk-plugin

ETS2 (Euro Truck Simulator 2) & ATS (American Truck Simulator) SDK plug-in. Telemetry data is shared via SharedMemory/Memory Mapped Files.
MIT License
185 stars 35 forks source link

Conversion from MMF to cross platform IPC (TCP) #83

Closed ndelta0 closed 3 years ago

ndelta0 commented 3 years ago

Converted the plugin from Visual Studio solution to CMake. Transferred from Memory Mapped Files (Windows only) to TCP using cppzmq (Windows, Linux, Mac OS, etc.). The client was also converted to NetMQ (TCP).

This conversion benefits from instant data transfer (no need to poll the data and check whether it changed, all the data is pushed by the server which makes everything go instant; it also should mitigate the issue with events sometimes not being called). Also changed the struct so the data at the beginning is not garbage.

The library manager used here is vcpkg.

Confirmed working on:

Confirmed not working currently on:

I haven't yet tried building the plugin for x86 (32 bit) architectures.

ndelta0 commented 3 years ago

Resolves #79, resolves #75

ndelta0 commented 3 years ago

Closing as for @RenCloud request to not use external libraries. Resolved in #91