1. For downloading SimTools plugins you need a Download Package. Get it with virtual coins that you receive for forum activity or Buy Download Package - We have a zero Spam tolerance so read our forum rules first.

    Buy Download Package Now!
  2. Do not try to cheat our system and do not post an unnecessary amount of useless posts only to earn credits here. We have a zero spam tolerance policy and this will cause a ban of your user account. Otherwise we wish you a pleasant stay here! Read the forum rules
  3. We have a few rules which you need to read and accept before posting anything here! Following these rules will keep the forum clean and your stay pleasant here. Do not following these rules will lead to permanent exclusion from this website: Read the forum rules.

SimTools Settings, Tips and Tricks

SimTools, Settings, Tips and Tricks

Here you will find useful information about SimTools settings, tips and tricks

Steps to create a motion profile

After installing the game plugin select the desired game in the Axis Assignments tab of the SimTools Game Engine.

For race profiles start with surge only, allocate 20% in the Axis Assignments. The actual Axis % needed depends on the design of the simulator and what force is being tuned and takes some experimentation to find and refine. In many respects Axis allocation % is a bit like clipping in FFB settings, too much and you lose detail.

For flight profiles start with roll and pitch, or where supported by the plugin you can use Extra 1 and 2 in place of pitch and roll, as the later invert from one axis extreme to the other at 180 degree in-game inversion.

Total axis allocation should be around 100%, it can be a little over but do avoid huge allocations on axis that serve multiple DOF/forces, as clipping is likely: https://www.xsimulator.net/communit...-loss-moving-while-stopped.10397/#post-135974

You can do a base setting for the Tuning Center: http://www.xsimulator.net/community/faq/set-base-tuning-motion-values-in-the-tuning-center.122/

Raising the Tuning Center values will soften the motion over a greater axis movement, lowering the value will do the reverse. See here for an expanded explanation: https://www.xsimulator.net/community/threads/graphic-simtools-parameter-adjustment.9054/#post-113925

Test surge in game and manually adjust Tuning Center Values until surge feels right: http://www.xsimulator.net/community/faq/tuning-center-entering-manual-values.210/

With surge the Max value is generally smaller than the Min value in the Tuning Center, to give the effect of a snappy gear changes: http://www.xsimulator.net/community/faq/snappy-gear-change-motion.121/

Disable surge but leave the Axis Allocation % in place so you can easily re-enable it.

Do Sway next and follow the same procedure, then do heave the same way. Heave can in many cases be far less of an Axis allocation than 20%, while sway may be significantly more for best results. However, avoid allocating too much Axis % in total: http://www.xsimulator.net/community/faq/axis-assignment-percentage-totals.120/

Once you have surge, sway and heave sorted then you can then try adding roll and pitch.

Once you are satisfied with each you can re-enable them all and SimTools will mix the results. You may need to do some minor manual tweaking in the Tuning Center with all enabled.

When you are satisfied with the generic motion profile you created then you can refine it even further by creating specific car/track profiles in the Profile Editor, located in the SimTools Game Manager. Copy the Default Profile in Profile Editor under the Editor tab, name the copy by the Car/Track then use the sliders in the Editor to further tweak the settings.

Once the fundamentals are sorted you can use this handy tool by @perdixero to compare axis and analyze/refine filter settings: https://www.xsimulator.net/community/threads/application-to-compare-axis-filters-etc.10695/

Check here for further SimTools Settings, Tips and Tricks: http://www.xsimulator.net/community/faq/simtools-settings-tips-and-tricks.18/category

Credit @noorbeast

Tuning Centre and Axis Settings

To get you started you can check here to find member Tuning Centre and Axis Settings: http://www.xsimulator.net/community/threads/tuning-centre-and-axis-settings.8363/

Check here if you want to dive in a little deeper to refine your motion profile: http://www.xsimulator.net/community/faq/steps-to-create-a-motion-profile.228/

Here is a very handy animated graphical representation of Axis Assignment and Tuning Center setting effects by @fzxj520: https://www.xsimulator.net/community/threads/graphic-simtools-parameter-adjustment.9054/

Tuning Center:

Capture Max Min:

Axis Assignments:

RTFM - Start with the official SimTools documentation


Comprehensive guide to SimTools and Arduinos


SimTools Language setting bug - Change to English Local

There is a bug with SimTools and some language settings, so try this:

Please check the local settings for example they need to be like this: 13956

Here is an alternate method that can use the original settings on your control panel for those who uses unicode languages to avoid language compatibility issues with other applications here.

Thanks @jamesdio for the solution.

Simulating a 2DOF simulator

SimTools 2 Input Settings

The difference from SimTools 1.3 to SimTools 2 in setup is that in the Interface Settings instead of axis defined like this <Axis1> it now has designate grouping for a or b in SimTools 2 for each axis assignment, like this <Axis1a>

Most simulators will only use the a grouping, the b grouping is to allow additional axis for using thing things like a G-Seat in conjunction with a motion rig.

Devs - how to add Telemetry output into a game + Unity and UE4 code

If you are using either Unity or Unreal Engine 4 then @Claudio Silva has done the hard work for you in creating function code for SimTools integration, including a UDP server, see the original post here: https://www.xsimulator.net/community/threads/generic-unity-plugin.7804/page-2#post-146168

And the GitHub QuplaySimTools repository where you can grab the code: https://github.com/ddkclaudio/QuplaySimTools

The SimTools dev @yobuddy gives this example guide to adding telemetry to your game: https://www.xsimulator.net/communit...ow-to-add-telemetry-output-into-a-game.11080/

First, let’s make the game a settings file to hold the Telemetry settings for the game.
I’m suggesting a ‘Telemetry.cfg’ file that holds the motion configuration for the game.

You may already have a configuration file for the game that you want to put these settings in, this is just an example. (This also gives SimTools a file to patch for motion, and allows the telemetry outputting to be on or off as needed.)

The Telemetry.cfg file holds these 4 settings:
- Enable_Telemitry = False
- IpAddress =
- Port = 4123
- MS_OutputRate = 10

I wrote the following example code in VB.net, as its dead simple to read and see what I’m doing.
Basically thou, I’m creating a looping background thread that builds and sends the needed output with UDP.
Once you have ‘something like’ this code in the game, all you have to do is:
Call ‘Start_Telemetry_Output()’ when the game starts up.
And ‘Stop_Telemety_Output()’ when the game shuts down.

Ok, now some code:
Private Telemetry_Sender As New UdpClient
Private Telemetry_Loop_ms As Integer
Private Telemetry_Running As Boolean = False
Private Telemetry_Thread As Threading.Thread

'Starts up the Telemetry Sender.
Private Sub Start_Telemetry_Output()
'only startup if not already started.
If Telemetry_Running = False Then
'read from Telemtry cfg file.
Dim Telemitry_Enabled AsString = "Get Enabled_Telemetry value from the Telemetry.cfg file"
Dim IpAddress AsString = "Get IpAddress value from the Telemetry.cfg file"
Dim Port AsString = "Get Port value from the Telemetry.cfg file"
Dim MS_OutputRate AsString = "Get MS_OutputRate value from the Telemetry.cfg file"

If CBool(Telemitry_Enabled) = True Then
'startup a new client.
Telemetry_Sender = New UdpClient
Telemetry_Sender.Connect(IpAddress, CInt(Port))

'set loop speed & start sending data.
Telemetry_Loop_ms = CInt(MS_OutputRate)
Telemetry_Running = True
Telemetry_Thread = New Threading.Thread(AddressOf Telemetry_Loop)
Telemetry_Thread.IsBackground = True
Catch ex As Exception
'Could not create the UDP sender, no need to do anything.
End TryEnd IfEnd IfEnd Sub

'Send Telemetry
Public Sub SendTelemetry()
'Collect the data.
Dim Roll As String = ""
Dim Pitch As String = ""
Dim Yaw As String = ""
Dim RollSpeed As String = ""
Dim PitchSpeed As String = ""
Dim YawSpeed As String = ""
Dim Vertical As String = ""
Dim Lateral As String = ""
Dim Longitudinal As String = ""
'add anything else you want to add, its easy now!
'Dim Rpm As String = ""
'Dim Speed As String = ""

'check the status to see if the game is being played (In Game, In Menus, Paused).
Dim Game_Is_Playing As Boolean = 'Get if the game is being played)

'game is actually being played check.
If Game_Is_Playing = True Then

'If game is actually being played (not in menus or paused).
Roll = "Get value from your game" 'in degrees - (-180 to 180)
Pitch = "Get value from your game" 'in degrees - (-180 to 180)
Yaw = "Get value from your game" 'in degrees - (-180 to 180)
RollSpeed = "Get value from your game" 'in (rad/sec)
PitchSpeed = "Get value from your game" 'in (rad/sec)
YawSpeed = "Get value from your game" 'in (rad/sec)
Vertical = "Get value from your game" 'in g's acceleration
Lateral = "Get value from your game" 'in g's acceleration
Longitudinal = "Get value from your game" 'in g's acceleration
'If the game is paused or in the menus. (not actually being played)
Roll = "0" 'in degrees - (-180 to 180)
Pitch = "0" 'in degrees - (-180 to 180)
Yaw = "0" 'in degrees - (-180 to 180)
RollSpeed = "0" 'in (rad/sec)
PitchSpeed = "0" 'in (rad/sec)
YawSpeed = "0" 'in (rad/sec)
Vertical = "0" 'in g's acceleration
Lateral = "0" 'in g's acceleration
Longitudinal = "0" 'in g's acceleration
End If

'Build the output string. (The 'S~' and the '~E' is so the user can see if they have a complete string of inputs)
Dim WhatToSend As String = "S~Roll:" & Roll & "Pitch:" & Pitch & ":Yaw:" & Yaw & "RollSpeed:" & RollSpeed & "PitchSpeed:" & PitchSpeed & ":YawSpeed:" & YawSpeed & "Vertical:" & Vertical & ":Lateral:" & Lateral & ":Longitudinal:" & Longitudinal & "~E"

'Send the string
Dim bytCommand As Byte() = NewByte() {}
bytCommand = Encoding.ASCII.GetBytes(WhatToSend)
Telemetry_Sender.Send(bytCommand, bytCommand.Length)Catch ex As Exception
'something went wrong, turn off telemetry output.
End TryEnd Sub

'Stop Telemetry Output
Public Sub Stop_Telemetry_Output()
'only shutdown if already started.
If Telemetry_Running = True Then
'turn output off.
Telemetry_Running = False
'let it finish what its doing.
'Close Client.
End IfEnd Sub

'Send Telemetry Loop
Private Sub Telemetry_Loop()
'Send Telemetry.
'pause till next packet is needed.
'loop again if needed.
If Telemetry_Running = True Then
Telemetry_Thread = New Threading.Thread(AddressOf Telemetry_Loop)
Telemetry_Thread.IsBackground = True
End IfEnd Sub

Source Code:

Startup and Shutdown positional controls

Your Startup and Shutdown options affects how the sim behaves when connecting and disconnecting from a game, see @speedy's explanation here: https://www.xsimulator.net/communit...and-windows-utilities.4957/page-33#post-83250

You can use Startup and Shutdown options to hold you sim in position when using motors that can be back driven when not powered: https://www.xsimulator.net/communit...ation-for-oculus-rift.7684/page-3#post-111568

With JRKs 221 is the on command for Position, 63 tells it where to go and 225 turns it off: https://www.xsimulator.net/communit...ght-with-oculus-rift.6179/page-14#post-106293


Which way to set SimTool axis movements

Which way an axis moves is determined by the Dir box being checked orange or not. Both boxes will be either checked or unchecked for surge and pitch, while only one will be checked for sway and the opposite one will be checked for roll.


Nomenclature of movements in SimTools by @value1:

Pitch is the tilt of the car forwards or backwards in [°]
Roll is how much the car is dipped to the left or right in [°]
Yaw is the heading of the car (north, east, south, west) in [°]

Surge means the acceleration of the car in longitudinal direction [g]
Sway means the acceleration of the car in lateral direction [g]
Heave means the acceleration up and down [g]
Direction of movements in SimTools
Acceleration → pitch slider moves to left, surge slider moves to right
Deceleration (braking) → pitch slider moves to right, surge slider moves to left
Right turn → roll slider moves to left, sway slider moves to right, yaw slider moves to left
Left turn → roll slider moves to right, sway slider moves to left, yaw slider moves to right
Driving downhill → pitch slider moves to right
Driving uphill → pitch slider moves to left
Tilted to the left → roll slider moves to left
Tilted to the right → roll slider moves to right

Tuning Center - Entering manual values

When fine tuning motion profiles you can find the need to enter a Tuning Center value that is less than 1, particularly for heave.

To do so in the Tuning Center un-check the tick in the box next to the name of the axis you want to manually enter a value for, say Heave. You can then manually enter Max and Min values all the way down to 0.01.

The values must be entered like this, 0.5 not like this 0,5 as a decimal point is the recognized deliminator. Sometimes the computer language setting may be an issue when trying to enter a decimal point if they are set to something other than US English.

Source: http://www.xsimulator.net/community...ter-simulation-plugin.4777/page-17#post-91187

Manually removing a game patch

Ideally you should unpatch a game plugin with Game Manager before you delete or install a game to a different directory.

If you don't then the SimTools patching button will be greyed out and you won't be able to patch the new install because SimTools stores the old game installation path.

You can follow @eaorobbie's advice to manually unpatch a game: http://www.xsimulator.net/community/threads/how-to-unpatch-plugin-without-game.5831/#post-61244

"You will need to go to this directory c:\user\(yourPCname)\AppData\Local\SimTools\GameManager\GamePathSaves

And delete the save file for the affected game.

Restart Game Manager and you should now be able to patch the new game directory".

When & how to run SimTools in Admin mode

UDP games produce no output data

Please check the local settings for example they need to be like this:

Here is an alternate method that can use the original settings on your control panel for those who uses unicode languages to avoid language compatibility issues with other applications here.

The SimTools developer @yobuddy has advised that the output bug has been found and will be fixed in the next release of SimTools: http://www.xsimulator.net/community/threads/game-data-input-0.4909/page-2#post-50117

Thanks @jamesdio for the solution.

Traction Loss in SimTools

Testing SimTools without a simulator

Many are curious about SimTools and you can experiment with SimTools without having a motion simulator.

Here is a handy tool by @perdixero which simulates the movements of a 2dof, without having hardware or needing to connect anything: https://www.xsimulator.net/community/threads/simple-application-to-analyze-the-axis-setting.10430/

Alternatively SimTools comes with the Live For Speed plugin already supplied and here @value1 explains the steps where you can test SimTools with Live For Speed without needing a simulator: http://www.xsimulator.net/community/threads/game-engine-exceptions.7080/#post-82208

As an alternative you can also use the free version of Google SketchUp to make your model motion controlled by a game of your choice and SimTools:

The latest version of SketchUp: http://www.sketchup.com/download

How to connect SimTools to SketchUp: http://www.xsimulator.net/connect-simtools-sketchup/

See @SilentChill's tips for configuring Sketchup 2015 for SimTools: http://www.xsimulator.net/community...v-dc-motors-mms-and-arduinos.6948/#post-79442