Skip to main content
Version: 0.0.50

Introduction

About

AssettoServer is a custom game server for Assetto Corsa developed with freeroam in mind. It greatly improves upon the default game server by fixing various security issues and providing new features like AI traffic and dynamic weather.

Race/Quali sessions and lap times are not supported yet. Only use this if you want to run a practice-only freeroam server.

This is a fork of https://github.com/Niewiarowski/AssettoServer.

Installation

DO NOT EXTRACT TO YOUR ASSETTO CORSA FOLDER!

AC and AssettoServer use different versions of the Steam SDK that will conflict with each other. If you still feel the need to extract to your AC folder delete the steam_api64.dll from the server first, but this will cause Steam Auth to be broken.

Usage

Through Content Manager (full)

  • Open your AC server folder in Explorer, e.g. C:\Program Files (x86)\Steam\steamapps\common\assettocorsa\server
  • Rename acServer.exe to something else
  • Extract assetto-server-win-x64.zip into this directory
  • Rename AssettoServer.exe to acServer.exe

Now you can run servers through CM just like you would with the original server. Keep in mind that not all features of the original server are supported yet, so some of the server settings in CM will either have no effect or the features will just not work.

Dedicated server

The easiest way to get started is creating your server configuration with Content Manager.
After that just click "Pack" to create an archive with all required configs and data files. Extract this archive into the server root folder.

Features

Most features can be controlled via extra_cfg.yml. If this file does not exist it will be created at first server startup.

Steam Authentication

The default server implementation of Assetto Corsa does not use the Steam API to determine whether a connected player is actually the account they claim to be. This opens the door for SteamID spoofing, which means someone can impersonate another player.

In this server the Steam Auth API is utilized, which makes SteamID spoofing impossible.

Since the player needs to get a Steam session ticket before joining, a CSP (Custom Shaders Patch) version of 0.1.75 or higher and Content Manager v0.8.2297.38573 or higher is required.

This feature must be enabled in extra_cfg.yml.

Logging in as administrator via SteamID

To automatically login as admin enter your SteamID in admins.txt in the server folder.

caution

Do not use this feature with Steam Auth disabled! Someone might be able to gain admin rights with SteamID spoofing.

AI Traffic

It is possible to load one or more AI splines to provide AI traffic. Place fast_lane.ai (or fast_lane.aip) in the maps ai/ folder and set EnableAi to true in extra_cfg.yml.
The default AI settings have been tuned for Shutoko Revival Project, other maps may require different settings.

To allow AI to take a car slot you have to add a new parameter to the entry_list.ini, for example:

[CAR_0]
MODEL=ktyu_c8_lav_s1
SKIN=04_gunmetal_grey/ADAn
BALLAST=0
RESTRICTOR=0
AI=auto

Possible values for the AI parameter are

  • auto - AI will take the slot when it is empty
  • fixed - AI will always take the car slot. It won't be possible for players to join in this slot
  • none - AI will never take the slot (default)

When using AI=auto slots it is highly recommended to specify a MaxPlayerCount in extra_cfg.yml to make sure there is always a minimum amount of AI cars available.

note

Admins can always join on AI slots.

Dynamic Weather

The server supports CSPs WeatherFX v1 which allows dynamic weather, smooth weather transitions and RainFX. CSP 0.1.76+ is required for this feature.

Three plugins are included that utilize dynamic weather:

Plugin Interface

There is an experimental plugin interface for adding functionality to the server. Take a look at the sample plugin to get started with developing your own plugin.

The API is still under development and might change in the future.

Getting help

If you have trouble setting up a server feel free to visit the #server-troubleshooting channel on our Discord (read #welcome if you can't see that channel). Alternatively you can ask questions here.

note

Please don't use the GitHub Issue tracker for installation help or configuration questions. Also make sure to read this page first before asking questions that are already answered here!

License

AssettoServer is licensed under the GNU Affero General Public License v3.0, see LICENSE for more info.
Additionally, you must preserve the legal notices and author attributions present in the server.

Copyright (C) 2022 Niewiarowski, compujuckel

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.

Additional permission under GNU AGPL version 3 section 7

If you modify this Program, or any covered work, by linking or combining it with the Steamworks SDK by Valve Corporation, containing parts covered by the terms of the Steamworks SDK License, the licensors of this Program grant you additional permission to convey the resulting work.

Additional permission under GNU AGPL version 3 section 7

If you modify this Program, or any covered work, by linking or combining it with plugins published on https://www.patreon.com/assettoserver, the licensors of this Program grant you additional permission to convey the resulting work.