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 and Qualification sessions are in an experimental state and might need more testing.
This is a fork of https://github.com/Niewiarowski/AssettoServer.
Installation
- Windows
- Linux
- Download
assetto-server-win-x64.zip
from the latest stable release and extract it wherever you want.
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.
- Download
assetto-server-linux-x64.tar.gz
from the latest stable release and extract it wherever you want.
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
toacServer.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.
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 emptyfixed
- AI will always take the car slot. It won't be possible for players to join in this slotnone
- 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.
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:
- LiveWeatherPlugin for getting realtime weather from openweathermap.org
- RandomWeatherPlugin for random weather
- VotingWeatherPlugin for letting players vote for weather changes
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.
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.