October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan NowOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk10 min

How to Create Custom Races on an Assetto Corsa Dedicated Server

A practical, version-aware guide to configuring custom Assetto Corsa dedicated-server races: set sessions in server_cfg.ini, build the grid in entry_list.ini, choose laps or time, control joining and diagnose common errors.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To create a custom race on a stock Assetto Corsa dedicated server, edit two files: cfg/server_cfg.ini defines the practice, qualifying and race sessions, while cfg/entry_list.ini defines the cars that can occupy the grid. Set either a lap count or a timed race in the [RACE] block, choose how late drivers may join with IS_OPEN, and add one CAR_N entry for every available grid slot. The exact option names can differ between server builds, so compare your installed configuration with the Kunos FAQ and the comments in your build before going live.

How the dedicated-server race configuration is organised

Assetto Corsa separates the event definition from the starting grid:

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • cfg/server_cfg.ini contains the session blocks and race rules.
  • cfg/entry_list.ini contains the grid slots, car models, skins and any driver restrictions.

The server reads the session sequence from server_cfg.ini. A normal weekend uses [PRACTICE], [QUALIFY] and [RACE]. A [BOOK] section applies only when booking mode is enabled. The number of CAR_N sections in entry_list.ini limits the number of drivers who can be on the server at once, regardless of how many people are waiting to join.

Prepare the server before editing

Make a backup of both configuration files and keep a copy of the original files supplied with your server build. The Kunos FAQ documents the core keys, but it is an older reference and community configurations often contain additional options. Treat the names in your installed server_cfg.ini as authoritative for that build.

#1 Best Overall
Assetto Corsa Ultimate Edition (PS4)
  • Assetto Corsa Base Game
  • Prestige Pack
  • 3x Porsche Packs
  • Red Pack
  • ReadyToRace Pack
  • Confirm that you are editing the instance’s active cfg directory, not a template or a different server profile.
  • Identify the exact car model and skin folder names installed on the server and on every client.
  • Decide whether the event is lap-based or time-based before setting the [RACE] values.
  • Create enough CAR_N entries for the largest grid you want to permit.
  • Keep a plain-text copy of the working configuration so you can restore it after a failed edit.

Live-reload behaviour is not established consistently across server versions. The safest operating procedure is to make changes while the instance is stopped, save the files, then start the instance and check its console or log for parsing errors.

Configure the sessions in server_cfg.ini

Each session is a bracketed section. The settings below are the core options documented for dedicated-server races.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Practice

Practice uses TIME in minutes. Set IS_OPEN to determine whether drivers may join after the session begins:

[PRACTICE]
TIME=30
IS_OPEN=1

A value of 1 permits free joining during the session. A value of 0 prevents joining, and 2 permits joining until 20 seconds before the green light. Use the value that matches your event format; an open practice session is useful for public servers, while a closed session avoids late arrivals in a league timetable.

Qualifying

Qualifying also uses a duration in minutes and the same three-value IS_OPEN rule:

[QUALIFY]
TIME=15
IS_OPEN=1
QUALIFY_MAX_WAIT_PERC=120

The Kunos FAQ’s example sets QUALIFY_MAX_WAIT_PERC=120. This expresses the cutoff as 120 percent of the fastest lap. Because this option is documented in an FAQ that predates some current server packages, check that your installed build accepts it and preserves the same meaning.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Race

The race block determines distance, start countdown and joining policy:

Rank #2
Assetto Corsa Competizione - PlayStation 5
  • Assetto Corsa Competizione allows you to feel the real atmosphere of the GT3 championship
  • Compete against official drivers,teams, cars circuits reproduced in game with the highest level of accuracy ever achieved on console
  • Sprint, Endurance, and Spa 24 Hours races come to life with an incredible level of realism, in both single and multiplayer modes
[RACE]
LAPS=12
TIME=0
WAIT_TIME=60
IS_OPEN=2

WAIT_TIME is the countdown, in seconds, before the start. IS_OPEN=2 allows joining until 20 seconds before the green light; IS_OPEN=1 leaves joining open; and IS_OPEN=0 disallows joining.

For a lap race, set a positive LAPS value. For a timed race, set LAPS=0 and put the desired duration, in minutes, in TIME:

[RACE]
LAPS=0
TIME=25
WAIT_TIME=60
IS_OPEN=2

LAPS takes priority over TIME. If LAPS is greater than zero, the server runs the lap race and ignores the timed distance. TIME is used only when LAPS is zero. Setting both to non-zero values is a common source of confusion because the race will still be lap-based.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Core race keys at a glance

File and key Purpose Important qualification
server_cfg.ini → [RACE] LAPS Sets race distance in laps When greater than zero, it takes precedence over TIME
server_cfg.ini → [RACE] TIME Sets race duration in minutes Used only when LAPS=0
server_cfg.ini → [RACE] WAIT_TIME Sets the pre-start countdown in seconds Applies to the race start countdown
IS_OPEN Controls when a driver may join 0 never, 1 freely, 2 until 20 seconds before green
QUALIFY_MAX_WAIT_PERC Sets the qualifying cutoff relative to the fastest lap The documented example uses 120 percent; verify support in your build
RESULT_SCREEN_TIME Controls how long results remain visible Available in the FAQ’s session extras; verify the spelling in your build
RACE_OVER_TIME Sets the finish window for a timed race Available in the FAQ’s session extras; verify the spelling in your build

Build the grid in entry_list.ini

Create one numbered car section for each grid slot. The documented structure uses MODEL, SKIN and an optional DRIVER_GUID:

[CAR_0]
MODEL=ks_ferrari_488
SKIN=00_red

[CAR_1]
MODEL=ks_ferrari_488
SKIN=01_blue

[CAR_2]
MODEL=ks_ferrari_488
SKIN=02_black
DRIVER_GUID=0123456789abcdef0123456789abcdef

The model and skin values in this example are illustrative identifiers. Replace them with the exact folder names present in your server’s content installation; the spelling and capitalization must match what the server expects. A DRIVER_GUID binds a slot to a particular driver. Leaving it out creates an unassigned slot that another eligible driver may use.

The grid capacity is the number of entries you create. Three CAR_N sections mean three available slots; changing a track’s maximum capacity does not create additional server entries. Number the blocks consistently and avoid duplicate section names, because an overwritten or malformed block can silently reduce the usable grid.

Restrict which cars may be selected

Many dedicated-server configurations also contain a CARS line in server_cfg.ini with permitted model identifiers separated by semicolons:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
Sale
Assetto Corsa Competizione
  • Realistic simulation. Performance and driving behaviour
  • Graphics and effects of the latest generation
  • All racetracks are reproduced using laser scan
CARS=ks_ferrari_488;ks_bmw_m3_e30

This semicolon-list format is reported by third-party hosting guides rather than confirmed in the Kunos FAQ. Use it only if the comments or sample configuration in your installed server build show the same key. The identifiers must correspond to the models used in entry_list.ini; otherwise, drivers may see no selectable car or the server may reject an entry. If your build uses a different allow-list key, follow that build’s template instead of copying this line.

Choose laps or time for the race format

Format Required setting When it is useful What to avoid
Lap race LAPS greater than zero; set TIME=0 for clarity Predictable distance and a fixed number of completed laps Do not expect TIME to shorten the event while LAPS is active
Timed race LAPS=0 and TIME set in minutes Endurance-style events or schedules where every race occupies a fixed time slot Do not leave a positive lap count in place

For a first test, use a short practice and a two-lap race. Once the server advances through the sessions correctly, change only the distance or duration required for the real event. This isolates syntax errors from track, car or network problems.

Control late joining with IS_OPEN

IS_OPEN is available in the normal session blocks and has three documented values:

  • 0 — closed: no new driver may join that session.
  • 1 — open: drivers may join freely while the session is running.
  • 2 — closing window: joining remains possible until 20 seconds before the green light.

For public practice, 1 is usually the least surprising choice. For a league race, 2 gives drivers a final connection window without allowing a last-second grid entry. Use 0 when the participant list must be fixed before the session starts. The setting controls joining, not the number of available slots; the latter still comes from entry_list.ini.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use session extras carefully

RESULT_SCREEN_TIME controls the time spent on the results screen, while RACE_OVER_TIME provides the finish window associated with a timed race. Both appear among the FAQ’s session extras, but option availability and exact spelling should be checked against the configuration shipped with your server version. Do not copy unrelated community keys merely because they appear in another host’s configuration: names such as flag or network-buffer options may be build-specific and are outside the core race setup.

End-to-end setup procedure

  1. Stop or otherwise isolate the active instance. Because automatic reload behaviour is not uniform between builds, edit the files before starting the server rather than relying on a live reload.
  2. Open cfg/server_cfg.ini. Confirm that the session sections are named [PRACTICE], [QUALIFY] and [RACE]. Keep [BOOK] only when your server uses booking mode.
  3. Set practice and qualifying durations. Enter TIME in minutes and choose IS_OPEN for each session. If you use the documented qualifying cutoff, add QUALIFY_MAX_WAIT_PERC=120 and verify that your build recognises it.
  4. Choose the race distance. Enter a positive LAPS for a lap race, or set LAPS=0 and enter the duration in TIME for a timed race.
  5. Set the start and joining rules. Add WAIT_TIME in seconds and set IS_OPEN to 0, 1 or 2 as required.
  6. Review the car allow-list. If your build documents CARS, list permitted models with semicolons and make sure every listed identifier is installed.
  7. Open cfg/entry_list.ini. Add one CAR_N block per grid slot, with a valid MODEL and SKIN. Add DRIVER_GUID only for slots that must be assigned to named drivers.
  8. Match the grid to the event. Count the CAR_N blocks and confirm that this is the intended maximum number of drivers.
  9. Start a short test session. Watch the server log for malformed sections, unknown keys or missing content, then connect with a test client and verify that the expected cars appear.
  10. Test the transitions. Let practice end, enter qualifying, check the late-join cutoff, and confirm that the race starts with the intended countdown and distance.
  11. Save the tested files as a named event profile. Keep the backup and record which server build accepted the keys, since a later update may change available options.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshoot the common failure modes

The race ends at the wrong time

Check whether LAPS is still greater than zero. A positive lap count overrides TIME. For a timed race, set LAPS=0, enter the duration in minutes, and restart the instance so it reads the changed file.

Drivers cannot join

Check all three layers: the session’s IS_OPEN, the number of CAR_N entries, and any model allow-list. IS_OPEN=0 blocks joining even when free grid slots exist. A full entry list blocks additional drivers even when joining is open. A mismatched CARS identifier can remove the cars the client is trying to select.

Rank #4
Assetto Corsa Competizione Racing Simulator, Standard Edition, PlayStation 5 [video game]
  • Experience true next-generation gaming with increased visual fidelity through 4K graphics, and 60FPS for a faster and smoother race experience
  • 2021 Liveries: Updated liveries from the 2021 season
  • Fully Immersive Simulation: Race like a real GT World Challenge driver, with options to configure tyres, chassis, engine set up, and more
  • New-Generation Graphics & Visual Effects: Photorealistic weather conditions and multi-channel audio sampling to create that authentic GT racing experience
  • Advanced Multiplayer Functionality: Includes a new fair-play ranking system (rewarding virtuous players), solid matchmaking, regular challenges, and a real-time online leader-board

The grid is smaller than expected

Count the numbered sections in entry_list.ini. The server can use only the entries that are present and valid. Look for duplicate section names, misspelled keys, invalid model or skin identifiers, and numbering mistakes. Add a separate block for every slot rather than assuming the track’s physical grid automatically expands the server list.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A driver receives the wrong car or skin

Compare the MODEL and SKIN strings with the actual installed content and ensure the same content is installed on the client. If a slot contains a DRIVER_GUID, confirm that the GUID belongs to the intended account and that the driver is using that account when connecting.

A documented key is rejected

Verify the spelling and section in the configuration shipped with your server. The Kunos FAQ is a long-standing reference, and some options are marked under update notes. Community files also contain extra keys that are not guaranteed to exist in every build. Remove an unrecognised option, restore the last known-good file, and add settings back one at a time.

Complete example: 12-lap league race

The following illustrates the relationship between the two files. Replace the model and skin identifiers with content installed on your server.

; cfg/server_cfg.ini
[PRACTICE]
TIME=30
IS_OPEN=1

[QUALIFY]
TIME=15
IS_OPEN=2
QUALIFY_MAX_WAIT_PERC=120

[RACE]
LAPS=12
TIME=0
WAIT_TIME=60
IS_OPEN=2
RESULT_SCREEN_TIME=60

; cfg/entry_list.ini
[CAR_0]
MODEL=ks_ferrari_488
SKIN=00_red

[CAR_1]
MODEL=ks_ferrari_488
SKIN=01_blue

[CAR_2]
MODEL=ks_ferrari_488
SKIN=02_black

[CAR_3]
MODEL=ks_ferrari_488
SKIN=03_white

This configuration offers four grid slots, a 30-minute practice, a 15-minute qualifying session and a 12-lap race. Qualifying closes to new drivers 20 seconds before the green light because it uses IS_OPEN=2; the race uses the same joining policy.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Complete example: 25-minute timed race

[RACE]
LAPS=0
TIME=25
WAIT_TIME=90
IS_OPEN=2
RACE_OVER_TIME=180

Here the race distance is time-based because LAPS is zero. TIME=25 specifies 25 minutes, while RACE_OVER_TIME is included only if the installed build documents that option and you want its timed-race finish window. Confirm accepted values in your local configuration before relying on it for a scheduled event.

Version and feature boundaries

The core layout—session blocks in server_cfg.ini, grid blocks in entry_list.ini, lap-versus-time precedence, the three IS_OPEN values and the qualifying percentage example—is documented by Kunos. The CAR_N format and semicolon-separated CARS list are also widely described by hosting guides, but they are not confirmed in the Kunos FAQ summary. Check your installed build’s sample files before treating either as universal.

Do not assume that a league-grid lock, reversed-grid rule or a Content Manager preset is supported by the dedicated server merely because a community guide mentions it. The names and behaviour of reversed-grid settings conflict across guides, and no authoritative confirmation establishes one key. Build your event around the documented session and entry-list features unless your own server package explicitly exposes an additional option.

Operational checklist before opening the server

  • Both files are in the active cfg directory and have been backed up.
  • Every session section uses keys accepted by this server build.
  • Exactly one race mode is selected: positive LAPS, or LAPS=0 with a positive TIME.
  • WAIT_TIME is long enough for the intended countdown.
  • IS_OPEN matches the event’s joining policy.
  • The number of valid CAR_N entries equals the planned maximum grid.
  • Each model and skin is installed and spelled exactly as the server expects.
  • Any DRIVER_GUID restriction has been checked against the correct driver.
  • A short test has confirmed practice, qualifying, race start and finish behaviour.

Once those checks pass, the custom race is defined entirely by the two configuration files: the session blocks determine how the event runs, and the entry list determines who and what can occupy its grid.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Quick Recap

Bestseller No. 1
Assetto Corsa Ultimate Edition (PS4)
Assetto Corsa Ultimate Edition (PS4)
Assetto Corsa Base Game; Prestige Pack; 3x Porsche Packs; Red Pack; ReadyToRace Pack; Japanese Packs
$24.75
Bestseller No. 2
Assetto Corsa Competizione - PlayStation 5
Assetto Corsa Competizione - PlayStation 5
Assetto Corsa Competizione allows you to feel the real atmosphere of the GT3 championship
$28.00
SaleBestseller No. 3
Assetto Corsa Competizione
Assetto Corsa Competizione
Realistic simulation. Performance and driving behaviour; Graphics and effects of the latest generation
$22.99
Bestseller No. 4
Assetto Corsa Competizione Racing Simulator, Standard Edition, PlayStation 5 [video game]
Assetto Corsa Competizione Racing Simulator, Standard Edition, PlayStation 5 [video game]
2021 Liveries: Updated liveries from the 2021 season
$24.99

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Crashes, No Sound, or Screen Glitches?Free driver scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.