Self-hosting a server with start verification

By no means a complete guide to ACSM, but the bare minimum to get started:

  1. 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
  2. Unzip the the downloaded ACSM archive into a new folder where you want to install your AC server manager
  3. Copy your license file into this folder
  4. Copy the “server” folder you find in steamapps\common\assettocorsa into your new ACSM folder, and rename it to “assetto”
  5. Go to and generate a key
  6. 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+”=
  7. In the same config.yml file, at the end there’s a LUA config section: change enabled: false into enabled: true
  8. 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
  9. You can now start the server-manager executable. The ACSM interface will open in your browser; if it doesn’t, enter in your browser
  10. 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

Now you have to add the position of the startline to the tracks:

  1. Detect the startline in-game using the app – drive slowly across to get an accurate reading!
  2. In the Python app settings in Content Manager you’ll find the startline position value of the last track – copy this value. For instance:
  1. In the AC server manager select the track, and go to “track map features”
  1. 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:

  1. Time attack = on
  2. Speed traps: Send chat messages = on

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.

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