Some wheels like the Moza R5 have crazy button ID numbers. Button ID can now be entered in a text box instead of being selected from a (limited) drop-down list.
Wheel button ID dropdown selection is now working again
- When logfile wasn't found reference files would not save
- App now looks in a few locations and will still work if logfile isn't found
- fix skin detection for player's car when connected to a server (as registered in .refl file)
- rewrite of documentation on main page
- Fix export for tracks with multiple layouts
- Car skin is now registered in reference file. When exchanging replay files one may not have the skin that was used, and as we all know, watching uncovered rally cars is morally questionable and may lead to degenerate behaviour. This can help in finding the skin, or you can just copy another skin and rename the folder to the name found in associated .refl file
![]()
- Watching replay right after finishing might have caused issues with the saved replay clip, this is now fixed.
In any case, wait for the 'replay clip saved" message at the top of the screen- The exported zip file now starts with the stage name
In the Python app settings you can now select an import/export folder.
![]()
When Export is enabled, after each lap the app will save a compressed archive into this folder containing both replay and reference files. (No automated cleanup for exported files!)
When Import is enabled, the app will look for reference (.refl) files in this folder. If the reference is for a known track it will move the file into the right folder so the reference lap can be selected in the app (click on the left side of the main app window -> reference chooser -> click on the left side of main window again to close)
This way you can run against another player's time, or watch your replay against another player's time - or the other way round.
By no means a complete guide to ACSM, but the bare minimum to get started:
Now you have to add the position of the startline to the tracks:
- Purchase an ACSM license from the kind people at Emperor Servers. It's just 20USD for a perpetual license (no subscription or recurring fees) and the license supports a multi-server configuration
- Unzip the the downloaded ACSM archive into a new folder where you want to install your AC server manager
- Copy your license file into this folder
- Copy the "server" folder you find in steamapps\common\assettocorsa into your new ACSM folder, and rename it to "assetto"
- Go to https://passwordsgenerator.net/ and generate a key
- Copy this key into the config.yml file as the session key: default line 58 (for version 2.3.6)
for instance.: session_key: 8Nx}h(MLy**9g+"=- In the same config.yml file, at the end there's a LUA config section: change enabled: false into enabled: true
- In your ACSM folder there should be a subfolder "plugins".
In the file results.lua remove the "--" at the start of the line --results = invalidateLapIfSpeedingAtStart(results)
By default the start speed limit in the results script is set to 4.17 m/s - corresponding to 15km/h- You can now start the server-manager executable. The ACSM interface will open in your browser; if it doesn't, enter http://127.0.0.1:8772 in your browser
- Login using the default username 'admin' and the password 'servermanager'. You will be asked to change the password. There's a few other default things to configure, then you can start uploading cars & tracks. Don't worry this doesn't require much space at all - only required metadata & checksums are uploaded
- Detect the startline in-game using the app - drive slowly across to get an accurate reading!
- In the Python app settings in Content Manager you'll find the startline position value of the last track - copy this value. For instance:
![]()
- Now in the AC server manager select the track, and go to "track map features"
![]()
- Copy the start position value as speed trap and save. It will appear as a dot on the map
![]()
Now you can create a race. Do select a few specific settings:
Enabling the chat messages will notify players of their speed when crossing the startline, and the message gets picked up by the app to alert whether your lap will be invalidated or not.
- Time attack = on
- Speed traps: Send chat messages = on
Processing of the results will only happen after a session ends; all session results are compiled into Time Attack results where invalid laps will be filtered out and registered start speeds can be found. In the server manager go to Results -> Racing -> latest Time Attack results
The app can't function on tracks without an AI line. It will now display a warning instead of crashing
![]()
Included a default config.ini again - otherwise the app might fail until something is changed in app settings
- max replay file size will now automatically be increased to 1GB if smaller (setting found in in AC > miscellaneous settings)
This is needed as a buffer to make the replay clip saving work correctly; for long online sessions it may have to be even larger- the "spline position" of the startline of the last used track is now visible in app settings, to avoid having to search in json file. This value has to be entered as speed trap position in ACSM
- when first using the app the windows won't spawn on top of each other anymore
A replay clip for every run is now saved automatically into RallyTiming\replays folder, trimmed by default to 3s before start until 2s after finish. This margin can be set in app options (or replay saving disabled altogether).
After crossing finish, and configured "after" time you should see "clip saved" at the top of the screen.
In the app you can find the location where replays are saved - this is purely informational, and is set by the game after first clip is saved! Changing this field won't do anything.
![]()
Do make sure max replay file size is large enough in AC > miscellaneous settings, especially when racing online as those replay files get larger. This file is needed as a temporary buffer.
The replay files are kept in sync with the .refl files containing detailed timing information per run; when slower reference files get deleted (according to max number set in app settings) the related replay files will be deleted as well.
Big thanks to PleaseStopThis and SCHLAUBI77 for advice & implementation as this feature seemed impossible for a long time.
- option to adjust the number of saved points/second in reference files (10-100Hz)
- some other small fixes
- Fix for reference file getting messed up when a run is interrupted for watching replay
- Fixes for correct delta & split handling during replays
- Reference file chooser is automatically closed when collapsing the main window
- Don't try showing delta time & splits without target time
A number of buttons were added: if you click on the left side of the main window it will expand (and shrink again), to show a number of buttons
![]()
![]()
You can verify the startline position by moving the camera outside of the car (F7) and driving up to it. The slower you drive when detecting the startline the more accurate this will be. When taking a start the system will write the detected difference to the log; this should be no more than a few cm.
- Open/close other windows (delta timing, progress bar, reference chooser, notification on splits)
- Delete all reference files for current track
- Reset start/finish data for current track -> this works only when you're before the startline (i.e. when timer is not running)
![]()
And several fixes:
- .json file with start & finish positions is now preserved on existing installations
- Fix for 0 finish value in old .json (resulting in negative distance to finish, and also car position not working)
- Modified rendering for the car position on the progress bar as this was not working on some systems
- Added _ctypes.pyd for systems where this is missing
Added DR2 - style progress bar with split timing. Split notifications will briefly show the (total) difference compared to the reference time when a split is passed; split sections are colored green/red if faster/slower. The number of splits & some other parameters (like progress bar dimensions, notification duration, transparency) can be tuned in Python app settings. For correct split section visualisation during replays: a single pass though each split position is required as timings are calculated on the fly
![]()
Reset car to track can now be configured on a wheel button.
In previous versions reference files may have become corrupted by replays. In case of doubt, delete files under RallyTiming\referenceLaps. Corrupted files will show lots of 'unknown' or weird values in file headers. Example of a good file:
![]()
In the main window there's an invisible button in the top left to show/hide extra buttons to open/close other windows. GUI stuff to be inproved in a future update
![]()
Settings window:
![]()
Added wheel button configuration option for car reset, after some advice from PleaseStopThis
Configuration files have been reworked, in case of problems, remove previous app version (or at least config\config.ini)
In previous releases delta time was jittery, this is now fixed & smooth.
By default delta time will now show 2 digits (hundredths of a second), this can be configured from 1 to 3 digits.
Delta timing works during replays, but after finishing you have to reload the reference track (it will default to the last run)
A key to reset the car to the track (offline only) can now be configured in the app settings in CM, rendering this mini-app obsolete
Fixed issue with weather information not being found in only sessions.
Tweaked delta algorithm & some code cleanup
On some systems the app refused to load (sim_info error)
This should now be fixed