# How To Configure Your Assetto Corsa Server (/docs/assetto-corsa/configure-your-server)



Assetto Corsa server configuration is handled through two main files in the `cfg/` directory: `server_cfg.ini` for server settings and `entry_list.ini` for car entries.

Using Startup Settings [#using-startup-settings]

For common settings, use the panel's **Startup** page:

1. Log in to the [XGamingServer Panel](https://panel.xgamingserver.com)
2. Click **Startup** in the sidebar
3. Adjust fields like **Server Name**, **Track**, **Max Players**
4. Restart from the **Console** page

Editing server_cfg.ini [#editing-server_cfgini]

For full control, edit the config files directly. Click **Files** in the sidebar and navigate to `cfg/`.

***

[SERVER] Section [#server-section]

| Setting               | Description                                                   | Default     |
| --------------------- | ------------------------------------------------------------- | ----------- |
| `NAME`                | Server name in the browser                                    | `AC Server` |
| `CARS`                | Available car models (semicolon-separated)                    |             |
| `TRACK`               | Track folder name                                             | `monza`     |
| `CONFIG_TRACK`        | Track layout (empty = default)                                | *(empty)*   |
| `SUN_ANGLE`           | Time of day (-80 to 80; 16 ≈ 2pm)                             | `16`        |
| `MAX_CLIENTS`         | Max players (must match entry\_list.ini car count)            | `24`        |
| `RACE_OVER_TIME`      | Seconds after winner finishes before race ends for others     | `60`        |
| `ALLOWED_TYRES_OUT`   | Wheels allowed off track (0–4; -1 = no limit)                 | `2`         |
| `UDP_PORT`            | Game UDP port                                                 | `9600`      |
| `TCP_PORT`            | Game TCP port (must match UDP)                                | `9600`      |
| `HTTP_PORT`           | Lobby registration port                                       | `8081`      |
| `REGISTER_TO_LOBBY`   | Show in public browser (1 = yes, 0 = hidden)                  | `1`         |
| `PICKUP_MODE_ENABLED` | 1 = any player can take any listed car; 0 = locked slots      | `1`         |
| `SLEEP_TIME`          | Milliseconds between server loops (1 = low latency)           | `1`         |
| `LOOP_MODE`           | 1 = restart sessions after race; 0 = server closes after race | `1`         |
| `PASSWORD`            | Join password (empty = public)                                | *(empty)*   |
| `ADMIN_PASSWORD`      | Password for `/admin` command in-game                         |             |
| `WELCOME_MESSAGE`     | Path to welcome message file                                  | *(empty)*   |

> ⚠️ **Important:** `MAX_CLIENTS` must not exceed the number of `[CAR_N]` entries in `entry_list.ini`. Every player needs a car slot.

Voting [#voting]

| Setting         | Description                        | Default |
| --------------- | ---------------------------------- | ------- |
| `VOTING_QUORUM` | % of votes needed to pass a vote   | `75`    |
| `VOTE_DURATION` | Seconds voting stays open          | `20`    |
| `KICK_QUORUM`   | % of votes needed to kick a player | `85`    |

***

Session Sections [#session-sections]

You can define **\[PRACTICE]**, **\[QUALIFY]**, and **\[RACE]** sessions. Set `TIME=0` on a section to disable it.

```ini
[PRACTICE]
NAME=Practice
TIME=0              ; Minutes (0 = unlimited)
IS_OPEN=1           ; 1 = allow join mid-session

[QUALIFY]
NAME=Qualifying
TIME=15             ; Minutes
IS_OPEN=1

[RACE]
NAME=Race
LAPS=10             ; Number of laps
WAIT_TIME=60        ; Seconds to ready up before start
IS_OPEN=2           ; 0=closed, 1=open, 2=open until first car passes start
```

> 💡 **Tip:** Set `LOOP_MODE=1` to cycle sessions continuously. Without it, the server shuts down after the race ends.

***

[DYNAMIC_TRACK] Section [#dynamic_track-section]

Controls track rubber buildup — simulates the track "rubbering in" over time.

| Setting            | Description                                   | Default |
| ------------------ | --------------------------------------------- | ------- |
| `SESSION_START`    | Track grip at session start (0–100%)          | `98`    |
| `RANDOMNESS`       | How much grip varies                          | `2`     |
| `SESSION_TRANSFER` | % of grip gained that carries to next session | `50`    |
| `LAP_GAIN`         | Grip gain per lap from all cars combined      | `132`   |

***

[WEATHER_0] Section [#weather_0-section]

| Setting                    | Description                                          | Default   |
| -------------------------- | ---------------------------------------------------- | --------- |
| `GRAPHICS`                 | Weather preset (folder name from `content/weather/`) | `3_clear` |
| `BASE_TEMPERATURE_AMBIENT` | Ambient temperature in °C                            | `23`      |
| `BASE_TEMPERATURE_ROAD`    | Road temp offset (added to ambient)                  | `7`       |

> 💡 **Tip:** Add `[WEATHER_1]`, `[WEATHER_2]` etc. for weather cycling during the session.

***

[ASSIST_RULES] Section [#assist_rules-section]

| Setting              | Description       | Values                             |
| -------------------- | ----------------- | ---------------------------------- |
| `TC_ALLOWED`         | Traction control  | 0 = off, 1 = factory only, 2 = any |
| `ABS_ALLOWED`        | Anti-lock braking | 0 = off, 1 = factory only, 2 = any |
| `STABILITY_ALLOWED`  | Stability control | 0 = disabled, 1 = enabled          |
| `AUTOCLUTCH_ALLOWED` | Auto-clutch       | 0 = disabled, 1 = enabled          |

***

[REALISM] Section [#realism-section]

| Setting                 | Description                          | Default |
| ----------------------- | ------------------------------------ | ------- |
| `TYRE_WEAR_RATE`        | 0 = no wear, 100 = realistic         | `100`   |
| `FUEL_RATE`             | 0 = no fuel use, 100 = realistic     | `100`   |
| `DAMAGE_MULTIPLIER`     | 0 = no damage, 100 = realistic       | `100`   |
| `TYRE_BLANKETS_ALLOWED` | Allow warm tyres at race start       | `0`     |
| `FORCE_VIRTUAL_MIRROR`  | Force virtual mirror for all players | `0`     |

***

Editing entry_list.ini [#editing-entry_listini]

Each `[CAR_N]` entry is one player slot:

```ini
[CAR_0]
MODEL=ks_ferrari_488_gt3      ; Car folder name (must exist in content/cars/)
SKIN=rosso_corsa               ; Skin folder name
SPECTATOR_MODE=0               ; 1 = spectator slot
DRIVERNAME=                    ; Lock slot to a driver name (empty = anyone)
TEAM=                          ; Team name
GUID=                          ; Lock slot to a Steam GUID (empty = anyone)
BALLAST=0                      ; Extra weight in kg
RESTRICTOR=0                   ; Engine power restrictor (0–100%)
```

**Pickup mode** (`PICKUP_MODE_ENABLED=1`): Any player can take any available slot with a matching car model. Without pickup mode, slots are assigned in order.

**Spectator slots**: Set `SPECTATOR_MODE=1` on a CAR entry to make it spectate-only.

***

Example Full Configuration [#example-full-configuration]

```ini
[SERVER]
NAME=XGaming Racing Server
CARS=ks_ferrari_488_gt3;ks_porsche_911_gt3_r_2016;ks_lamborghini_huracan_gt3
TRACK=spa
CONFIG_TRACK=
MAX_CLIENTS=16
PICKUP_MODE_ENABLED=1
LOOP_MODE=1
REGISTER_TO_LOBBY=1
ADMIN_PASSWORD=MySecurePass123
UDP_PORT=9600
TCP_PORT=9600
HTTP_PORT=8081

[PRACTICE]
NAME=Free Practice
TIME=0
IS_OPEN=1

[QUALIFY]
NAME=Qualifying
TIME=10
IS_OPEN=1

[RACE]
NAME=Race
LAPS=15
WAIT_TIME=60
IS_OPEN=2

[DYNAMIC_TRACK]
SESSION_START=95
RANDOMNESS=2
SESSION_TRANSFER=50
LAP_GAIN=132

[WEATHER_0]
GRAPHICS=3_clear
BASE_TEMPERATURE_AMBIENT=22
BASE_TEMPERATURE_ROAD=6
```

> 💡 **Tip:** Need help with configuration? Join our [Discord](https://discord.xgamingserver.com) for support.

Related Guides [#related-guides]

* [Change Track](/docs/assetto-corsa/change-track)
* [Install Custom Cars & Tracks](/docs/assetto-corsa/install-mods)
* [Admin Commands](/docs/assetto-corsa/admin-commands)
* [Session Setup](/docs/assetto-corsa/session-setup)
