ACEvo Server Launcher
Download
? Back to home

Installation

From download to your first server.

Choose your system. Install the official dedicated server through Steam first. The startup scripts are in the extracted ACEvo package.

1. What you need beforehand

Windows is suitable for getting started on your own PC. For a permanently running server, the automatic Debian installer is the shortest way. Docker requires experience with containers and an existing MariaDB.

WindowsRecommended for the easiest way to get started on a PC or Windows server.
LinuxSuitable for a permanently running server. The official Windows game server requires Wine and Xvfb.
DockerFor users who already know Docker or want a reproducible deployment.
RequirementDuty?Why?
Assetto Corsa EVO Dedicated Server over SteamYesACEvo manages the official server, but does not provide its files.
Java 21 or newerYesACEvo is a Java web application.
Wine + XvfbLinux onlySo that the Windows-EXE of the official Dedicated Server can run without a desktop.
MariaDBNoBy default, an embedded H2 file database is used.
DockerDocker variant onlyNot required for Windows or Linux ZIP installation.
Safety rule: Open ACEvo only in the local network during the first test. Do not forward ports to the Internet until the admin password, firewall, HTTPS/Reverse Proxy and backups are consciously set up.

2. Quick installation by operating system

Windows uses the launcher zip. On Debian, the Linux script automatically installs ACEvo and the official Dedicated Server.

Windows: Launcher ZIP

  1. In Steam, open Library → Tools and install Assetto Corsa EVO Dedicated Server.
  2. Install a Java-21 runtime. This is suitable for Windows Temurin-21-JDK for Windows x64 as MSI. In the installation dialog, the option to add Java to the PATH leave activated.
  3. Download the ACEvo launcher ZIP and completely unzip it into a fixed folder, for example C:\ACEvo.
  4. Before starting for the first time, set the admin and database passwords (section Complete Windows installation). Then start in the unzipped folder scripts\start-app-windows.cmd and open http://localhost:8082.

The ZIP installation sets up ACEvo. The official Dedicated Server and Java must be installed beforehand.

Linux: Debian web installer

The automatic way is intended for Debian. Open a terminal, download the script and run the block. No character or asterisk appears when typing passwords; type anyway and press enter. Sudo can then ask for your Linux account password.

sudo apt update
sudo apt install -y curl
curl -fsSL https://acevo-server.com/linux/install.sh -o /tmp/acevo-install.sh
(
  set -e
  read -rp "Steam account name: " STEAM_LOGIN
  read -rp "H2 database user: " DB_USER
  read -rsp "H2 database password: " DB_PASSWORD
  printf '\n'
  read -rsp "ACEvo admin password: " GUI_ADMIN_PASSWORD
  printf '\n'
  export STEAM_LOGIN DB_USER DB_PASSWORD GUI_ADMIN_PASSWORD
  export ACEVO_PORT=8082 ACEVO_HOME=/opt/acevo ACE_SERVER_HOME=/opt/ace-server
  export ACEVO_CONFIG_DIR=/etc/acevo ACEVO_SERVICE_USER=acevo
  sudo --preserve-env=STEAM_LOGIN,DB_USER,DB_PASSWORD,GUI_ADMIN_PASSWORD,ACEVO_PORT,ACEVO_HOME,ACE_SERVER_HOME,ACEVO_CONFIG_DIR,ACEVO_SERVICE_USER bash /tmp/acevo-install.sh
)

Inputs: Steam account name, H2 user, H2 custom password and ACEvo custom admin password. SteamCMD queries Steam password and, if necessary, Steam Guard itself. Never enter your Steam password in the command. H2 credentials are not MariaDB credentials and the H2 password does not encrypt the database file.

Before running, you can change the web port, installation folder, game server folder, configuration folder and service user in the block. Use absolute Linux paths without spaces. The installer adds Debian repositories, installs Java, SteamCMD and Wine, downloads ACEvo and the game server, and sets up systemd. It doesn't open any router ports. Not on Ubuntu or others Use distributions. If ACEvo configuration or service is present, the script aborts.

After a successful run, the script checks service and local web access. Open http://localhost:8082 on the server or http://SERVER-IP:8082 from the local network. Replace SERVER-IP by the local IP address. When you log in as an admin for the first time, you use the password you chose previously. There is no admin username.

View Linux installation script
http://localhost:8082 on the computer itself or http://SERVER-IP:8082 open in the local network. Further settings are available in the sections Windows and Linux.

3. Complete Windows installation

Prepare Steam and Dedicated Server

Install Steam and log in with an account that has access to Assetto Corsa EVO. Then install the tool Assetto Corsa EVO Dedicated Server.

Typical Steam path is just an example. What matters is the folder in which AssettoCorsaEVOServer.exe actually lies.

Extract ACEvo into a fixed folder

Example: C:\ACEvo. For permanent operation, avoid download or temporary folders.

Set admin access before the first start

In the ACEvo folder, create the subfolder config. Open the editor, copy the following configuration into it and replace both example passwords with your own values. Save the file as C:\ACEvo\config\application.properties; Select “All files” in the save dialog so that Windows does not go unnoticed .txt attached. The file contains passwords and may not be shared or publicly uploaded.

server.port=8082
acevo.paths.data-dir=C:/ACEvo
spring.datasource.url=jdbc:h2:file:C:/ACEvo/data/acevo-db;MODE=MariaDB;DATABASE_TO_LOWER=TRUE;CASE_INSENSITIVE_IDENTIFIERS=TRUE
spring.datasource.username=acevo
spring.datasource.password=EIN_EIGENES_DB_KENNWORT
spring.datasource.driver-class-name=org.h2.Driver
logging.file.name=C:/ACEvo/logs/acevo-application.log
acevo.security.gui-admin-password-fallback=EIN_EIGENES_ADMIN_KENNWORT

The fallback is saved as the web admin password upon the first successful login. The file contains secrets. The login only asks for a password, not a username.

First start

Double click scripts\start-app-windows.cmd. If Windows shows a firewall query, initially only allow private networks.

Then open it http://localhost:8082.

Which values ​​do you need to change?

ValueinputNotice
server.portNormally 8082Only change if port 8082 is already in use.
acevo.paths.data-dirWritable folder, e.g. b. C:/ACEvoForward slashes avoid escape problems.
spring.datasource.passwordOwn local passwordDo not use a publicly known example password.
Dedicated server pathIn the ACEvo interface, the folder with AssettoCorsaEVOServer.exe chooseNot the EXE itself, but select the appropriate folder.

4. Linux installation and admin pre-configuration

On Debian, the web installer is the recommended installation path. He sets up ACEvo and the official Dedicated Server. The server file is a Windows-EXE; Wine and Xvfb run on Linux without a desktop.

System requirements: Debian, Internet access and a user who sudo may use. Do not run this script on Ubuntu or any other distribution. It explicitly complements Debian package sources.

Values ​​before installation

ValueDutyStandard and purpose
STEAM_LOGINYesSteam account name with access to the official Dedicated Server. You enter the Steam password and Steam Guard directly into SteamCMD.
DB_USERYesUsers of the local H2 file database, for example acevo. This is not a MariaDB account.
DB_PASSWORDYesOwn password for H2 database access. It does not automatically encrypt the database file on disk.
GUI_ADMIN_PASSWORDYesOwn password for the first ACEvo web admin login. An admin username is not used.
ACEVO_PORTNoWeb port, standard 8082.
ACEVO_HOMENoApp, data and logo folders, standard /opt/acevo.
ACE_SERVER_HOMENoGame server folder, default /opt/ace-server.
ACEVO_CONFIG_DIRNoProtected configuration folder, default /etc/acevo.
ACEVO_SERVICE_USERNoLinux system account under which ACEvo runs; standard acevo.
DOWNLOAD_URLNoDownload address of the ACEvo JAR file. Keep the official default value.

You can customize the optional path, port, and user values ​​in the quick install block. Use absolute paths without spaces. The script saves database and admin password in /etc/acevo/install.env with limited rights; the systemd service reads them.

Which the script does automatically

  1. It complements Debian package sources and installs Java 21, SteamCMD, Wine, Xvfb and utilities.
  2. SteamCMD will download the official Dedicated Server using your Steam account.
  3. The script creates its own Linux service user, the program, configuration, data and logo folders, and the Wine prefix.
  4. It loads the ACEvo JAR file from the official website and creates an external configuration with port, H2 database, game server path and admin fallback.
  5. It sets up the systemd service, enables automatic startup and starts ACEvo.
  6. Finally, it checks game server files and the local web port.

It does not set up MariaDB, open any firewall or router ports, or configure any game server instance. An existing ACEvo configuration or service will cause the installer to abort for security reasons. If you have an existing installation, back up first /opt/acevo/data and /etc/acevo.

Check installation and find errors

The terminal should report the service as active and return a HTTP response. You can run these commands again at any time:

sudo systemctl status acevo --no-pager
sudo journalctl -u acevo -n 100 --no-pager
curl -I http://127.0.0.1:8082/

Replace 8082, if you have chosen a different web port. If an error occurs, first read the messages in the service log. Common causes include lack of Steam access, incorrect Steam Guard procedure, occupied ports, or insufficient free memory.

Admin and game server data after launch

Log in with the ACEvo admin password you set previously. If possible, change it in the ACEvo configuration. If you don't want to permanently accept the external fallback, remove the line acevo.security.gui-admin-password-fallback out of /etc/acevo/application.properties and restart the service. You can later set the game server name, game server admin password, route and racing sessions per instance in ACEvo; the Linux installer does not accept these values.

If you don't use Debian

Do not start the web installer. The launcher zip contains the ACEvo program and sample configurations, but does not automatically set up SteamCMD, Wine, permissions, and a Systemd service. For other Linux distributions, an administrator must set up the appropriate packages and systemd launch themselves.

5. Docker installation

Important: The examined source code ZIP does not contain any Compose or Docker files. The current website describes a separate Docker package for this. Use this section only in conjunction with the published Docker release, which compose.yaml, compose.local-mariadb.yaml, Dockerfile.local and contains example configurations.

The ZIP contains the pre-built file acevo-server.jar in the main folder. The Docker file awaits you at target/acevo-server-1.0.0-SNAPSHOT.jar. Copy it there before starting. In PowerShell:

New-Item -ItemType Directory -Force target
Copy-Item acevo-server.jar target/acevo-server-1.0.0-SNAPSHOT.jar

In bash you use mkdir -p target and cp acevo-server.jar target/acevo-server-1.0.0-SNAPSHOT.jar. The Docker ZIP does not contain a Maven project. Use on Windows scripts/docker-up.ps1 -NoBuild or start Docker Compose directly docker compose up -d --build.

Unzip Docker package

Check whether at least these files are present:

compose.yaml
compose.local-mariadb.yaml
Dockerfile.local
config/application-docker.properties.sample
config/acevo-docker.env.sample
config/acevo-local-mariadb.env.sample

Copy sample files

cp config/application-docker.properties.sample config/application-docker.properties
cp config/acevo-docker.env.sample config/acevo-docker.env
cp config/acevo-local-mariadb.env.sample config/acevo-local-mariadb.env

All values ​​included CHANGE_ME substitute.

Mount dedicated server folder

The file compose.local-mariadb.yaml contains an example path from a developer installation. Replace it with the actual host folder with AssettoCorsaEVOServer.exe. The Docker package only launches the web app and does not set up the Dedicated Server.

Start container

docker compose -f compose.yaml -f compose.local-mariadb.yaml -p acevo_local up -d --build

Test: docker compose -p acevo_local ps shows running containers. Then open it http://localhost:8082.

Required inputs

ValueMeaning
MariaDB database nameFor example acevo; must be the same in app and DB configuration.
MariaDB userOwn user, not blind root use.
MariaDB passwordLong, unique password; identical in both configurations.
Admin passwordOwn password for the ACEvo admin access.
Host path Dedicated ServerAbsolute path to the folder with AssettoCorsaEVOServer.exe.
Web portBy default 8082, unless mapped otherwise.

6. Create the first server in ACEvo

Secure admin access

The web admin only uses one password. You can change it in ACEvo configuration. An external fallback that has been set also remains valid: only remove it after saving a new password and then restart ACEvo.

Change an existing default or fallback password immediately. Do not use a password from an example configuration.

Select dedicated server folder

Select the folder in which AssettoCorsaEVOServer.exe, cars.json, events_practice.json and events_race_weekend.json lay.

Enter ports

For the first instance, the following areas are provided in the template:

ACE TCP: 9700
ACE UDP: 9700
ACE HTTP: 8091
ACEvo Web UI: 8082

For each subsequent instance, the game server ports must be unique, e.g. E.g. 9701/9701/8092.

The ACEvo web port 8082 is separate from it. The installer does not open the firewall or router. For public gaming, only release the game server ports shown in ACEvo including the TCP or UDP protocol. Do not forward the web port directly to the Internet; use HTTPS with reverse proxy.

Select Setup

Configure route, mode, sessions, vehicles, number of players and weather. According to the integrated help, no vehicle selection means: all vehicles are allowed.

Start and check

Start the instance in ACEvo and check status and log.

Linux exam: ss -tulpn | grep -E "9700|8091"

7. Common problems

The website doesn't open

Check the start console for errors and whether the port is correct. The standard here is consistent 8082. Test http://localhost:8082.

“java” was not found

Java 21 is not installed or not in the PATH. After installation, start a new terminal and check java -version.

The Dedicated Server does not start

Check the folder and files. Under Linux additionally Wine, Xvfb, rights and the ACEvo logo folder.

Port already occupied

Either change server.port for ACEvo or the ports of the affected game server instance. Each instance requires unique ports.

Server is open locally but not visible in game

If TCP/UDP are listening locally, the cause may be external to ACEvo, such as firewall, router sharing, or connection to the game's backend. Don't open ports across the board, but only specifically.

8. After installation

Stop ACEvo before copying the H2 file database. Secure data and configuration separately:

  • Windows: the folder acevo.paths.data-dir and config\application.properties.
  • Debian: /opt/acevo/data, /etc/acevo/application.properties and the confidential file /etc/acevo/install.env.
  • Docker: the persistent data folder and the real configuration files. Do not remove database volumes.
BackupSecure data folders, configuration and – with MariaDB – the database regularly.
UpdatesBack up before updates, read release notes and review configuration changes.
Public operationHTTPS, set up a reverse proxy, firewall, strong passwords and an appropriate privacy policy.

If something won't start

Check your Java version, startup log, server path and configured port. If the port is occupied, change server.port and use the same port in your browser. The embedded H2 database is enough to get started.