You are on page 1of 4

Euro Truck Simulator 2 + American Truck Simulator: force feedback

plugin (version 2.5) for Logitech steering wheel controllers with 900
degrees rotation range (G27, G25, Driving Force GT,G29,G920).

Change log 2.5


1) Bug fixing in lateral steering force calculations.
2) Lateral truck slope added to calculation of lateral steering force.
3) Steering wheel shakes when truck stopping is fixed.
4) Added additional parameters in ini file for those who using several controllers, to define
exact controller for plugin processing.
5) Added additional parameter in ini file for recording debug info in log file.

Description
Completely replaces the feedback in the game:
1) Developed simulation of friction in the steering (since the steering wheel is rotated without
resistance, and the standard damper force is too poorly simulates the force). Simulation of friction allows
to resolve a wide "empty" Central zone in the feedback on the twin engine FFB controllers (G25/G27).
2) Due to the detection of "hidden" telemetry parameter (that returns the force on the suspension
for each wheel - dev.truck.wheel.suspension.force), for calculation of stabilizing efforts used formulas
from the theory of stabilization of the steered wheels of the vehicle. This required parameters of the
suspension (caster, camber, inclination of the axis of rotation – can be found in the specifications of the
trucks in this Assembly used the corners of the MB Actros MP3). About steering running shoulder – I
can’t find this info in the specifications, i determined it by the method of looking at photos of the front
hubs).
3) Self-stabilization if deformable rolling wheels is still approximately (from experimental data),
will be further modified, if possible, the real physical model.

Advanced – designed 7 modes of the LEDs G27.

Testing this version was made by me with the settings specified under "Additional settings of steering
gear ratio ". Without it FFB can be sharp in the Central zone, but you can decrease the value of the effort.

System requirements
1) Euro Truck Simulator 2 v 1.17 or higher, American Truck Simulator v 1.0.0 or higher.
2) Logitech controller driver + Logitech profiler software installed
3) Microsoft Visual C++ Redistributable 2012 (x32 & x64)

Installation
Download archive and extract all files.
Put .dll и .ini into the specific folder (x32 or x64):
..\Euro Truck Simulator 2\bin\win_x86\plugins\ or ..\Euro Truck Simulator 2\bin\win_x64\plugins\.
If “plugins” doesn’t exists – just create it there. If plugin located correctly – you will see warning game
message about third-party applications. In the game.log.txt you’ll see information about plugin
initialization.

Settings
1) Set in Logitech Profiler (in tha game settings, if you are using it, or in a global settings):
- Overall effects strength – as you wish, recommended – 100%;
- Spring effect strength – doesn’t matter (not using);
- Damper effect strength – 100%;
- Enable centering spring – disabled;
- Degrees of rotation – 900 degrees recommended;
- Allow game to adjust settings – enabled.
Plugin will try to set it automatically while initialization, but sometimes it failed and controller
using setings from profiler.
2) Disable all FFB in the game controller settings.

Configuration file description


All settings are stored in ini-file. It must be located near .dll file and must be called Real_G27_ffb.ini.
List of settings:

ffb section
steering_force=90 – total effort coefficient (while driving, while stop), in %
damper_force=0 – additional standard damper force, you can increase it if you want, in %, grows with the
speed
steering_speed=100 – main effort of FFB, in %
tyre_self_stabilization=50 – self-stabilization force of steerable wheels, in %, plays a main role ath the
low speed driving
tyre_self_stabilization_speed_coeff=200 – correction of wheels self-stabilization approximation, in %
steering_stift_base=700 – stiftness of steering gear
steering_stift_speed=300 – additional stiftness of steering gear (grows with the speed)
steering_workzone=4000 – inner parameter - workzone (in points of steering range, full range – 65535)
steering_stift_param=20 – number of game frames for smoothing of FFB.
vibration_force_engine=0 – engine vibrations, depends of RPM (in %), I don’t like it but you can enable
vibration_force_overload=0 – overload engine vibrations, depends of RPM & engine load (in %), I don’t
like it but you can enable

LEDS section (work for G27 only)


mode=0 – selected LEDs mode:
0 – LEDs off
1 – time to next rest stop (can work incorrect if fatigue simulation is disabled in game)
2 – brakes temperature
3 – RPM
4 – fuel in tanks
5 – average fuel consumption
6 – time to job deadline
7 – cargo wear
leds_mode_switch_button_number=3 – button number for switch modes in game. Info about currently
selected mode puts into the game.log.txt, if your miniconole is enabled – you can see it on the run. Mode
switching “on the run” doesn’t work if this value out of allowed range.
I can’t find pictures about G27 button numbers, here is the picture for G25:

G27 have almost the same.


Settings for mode 1 & 6:
leds_real_time_scale=1 – if 1, plugin corrects time with a current truck placement map scale, if 0 map
scales doesn’t takes in calculations.
Settings for mode 1:
rest_total=12 – time to next rest stop (depends of the map scale or not, see leds_real_time_scale), when
the first green LED will light. If time to next rest stop become 0 – all LEDs will blink.
Settings for mode 2:
brake_temp_max=199 – maximum brakes temperature when all LEDs will blink. Must correspond with
brakes temperature parameters in physics.sii (max_brake_temperature – 1).
Settings for mode 3:
rpm_min=1000 – RPM when the first green LED will light.
rpm_max=2400 – RPM when all LEDs will blink.
Settings for mode 4:
fuel_warning=250 – fuel amount in tanks when the first green LED will light.
fuel_min=50 – fuel amount in tanks when all LEDs will blink.
Settings for mode 5:
fuel_cons_min=20 – fuel average consumption when the first green LED will light.
fuel_cons_max=50 – fuel average consumption when all LEDs will blink.
Settings for mode 6:
del_time_max=12 - time to job deadline (depends of the map scale or not, see leds_real_time_scale),
when the first green LED will light. If job deadline become 0 – all LEDs will blink.
Settings for mode 7:
cargo_wear_min=1 – cargo wear (in %) when the first green LED will light.
cargo_wear_max=6 – cargo wear (in %) when all LEDs will blink.

WHEEL_ANGLES section

All the angles a,b,c – in degrees * 100, shoulder L – in millimeters:


castor_angle=250 – c;
camber_angle=100 – a;
kingpin_angle=775 – b;
half_axle_length=90 - L

steer_range=35 – maximal steering wheel angle, must correspond with physics.sii (max_visual_rotation,
35 – default value). If you will use «additional settings of steering gear ratio» & default
max_visual_rotation in physics.sii – set it to 20 (35 degrees max_visual_rotation * 0.56 zero nonlinearity
range = 19.6).

WHEEL section
Plugin tries to set it while initializing (sometimes it doesn’t work, but you can ignore it fails)
overall_gain=100 – value for Overall effects strength in Logitech profiler;
wheel_range=900 – value for Degrees of rotation in Logitech profiler;
Parameters for those who using several controller devices:
preferred_vendor_id = 0 – vendor ID of preferred controller. Default value is 0. If you set it to non-zero,
plugin will select controller with Vendor ID defined by this value (for me, Logitech = 1133)
preferred_product_id = 0 product ID. Default value is 0. If you set it to non-zero, plugin will select
controller with product ID defined by this value (for me, Logitech G27 = 49819)
You can detect desired ID’s preferred_vendor_id & preferred_product_id from real_g27_ffb.log. Start the
game with plugin and your preferred controller plugged. Then look into log-file this part:
==============================================
Device VendorID: 1133
Device ProductID: 49819

DEBUG section (writing debug info into log-file)


debug_mode=0 – tirning on (1) / off (0) recording of debug info into log-file.

Additional settings of steering gear ratio


If you are using you controller’s full range (900 degrees) with a default steering wheel angle (35 degrees,
max_visual_rotation in physics.sii) we got steering gear ratio 900 / (35 * 2) = 12.86. This value can be
used in small sport cars (IRL), but it’s not applicable even on civil cars, not to mention about trucks. For
example, Iveco Hi-Way have steering gear ratio from 22 to 26 (you can find it in specs sheets), that
isalmost twice higher. If you want to make truck steering more realistic, you can do one of the next:
1) Increase nonlinearity in game settings.
Advantages: standard in-game feature.
Disadvantages: sensitivity near central position is too low, animated steering wheel in interior
doesn’t correspond with your controller.
2) Decrease max_visual_rotation in physics.sii
Advantages: remove disadvantages of 1.
Disadvantages: maneuvering in tight spots is very difficult.
How to make it universal & useful? I recommend to change steering formula in controls.sii this way:
config_lines[169]: "mix steering `dsteering - (0.56 * normalize(abs(sel(c_jisteer, -j_steer?0,
j_steer?0)), c_steer_dz) + (0.22 * c_steer_func) * (pow(normalize(abs(sel(c_jisteer, -j_steer?0,
j_steer?0)), c_steer_dz), (1.0 + c_steer_func * 0.5)))) * sign(sel(c_jisteer, -j_steer?0,
j_steer?0))`"
(indext 169 can be different in different game versions)
What we got? Using only 1 nonlinearity slider, we can switch between nonlinearity & full range of
steering. If we want to maneuvering – we can set nonlinearity slider to maximum and got the full steering
range. If we get to the highway – we can set nonlinearity slider to minimum and got realistic sensitivity of
truck’s steering wheel and 56% of a full range. All range will be linear with a total steering gear ratio:
900 / (2 * 0.56 * 35) = 22.96, that is very close to real life trucks.
Only one small problem is left. Animation of interior steering wheel doesn’t corresponding with your
controller. For decision of this “bug” I’ve made a little mod for steering wheel animation (sorry, for now
it’s just only for left-handed default ETS2 trucks), that makes animation range 1620 degrees (instead of
default 900), or 4.5 rotation.
Mod download link: http://sharemods.com/fzk37t3hbvvt/zzzz40_sup_nonlinear_swheel.scs.html
(may be required to be updated)

You might also like