- 🇺🇸 English: You are reading it now
- 🇪🇸 Español: README-ES.md
- 🚀 Introduction
- 💻 Installation
- 🔧 Configuration
- 🏁 Basic Usage
- ⚙️ Advanced Features
- 🔧 Compilation
- 🐛 Troubleshooting
- 📖 References
Assetto Server Manager is a comprehensive web interface to manage an Assetto Corsa Server.
This is a fork maintained by RodrigoAngeloni, based on the excellent work of the original authors.
- 🎨 Custom icon in Windows executables
- 🧹 Automatic cleanup system for temporary files
- 📁 Improved organization of binaries in specific folders
- 🔄 Optimized build process with better resource handling
- 🛠️ Automatic installation of development tools
- 📊 Version information embedded in executables
- Quick Race Mode - Start racing instantly
- Custom Race Mode with saved presets for your favorite configurations
- Live Timings for current sessions with real-time updates
- Results pages for all previous sessions, with the ability to apply penalties
- Content Management - Upload tracks, weather and cars easily
- Sol Integration - Sol weather is compatible, including 24 hour time cycles
- Championship mode - configure multiple race events and keep track of driver, class and team points
- Race Weekends - a group of sequential sessions that can be run at any time
- Integration with Assetto Corsa Skill Ratings!
- Automatic event looping for continuous racing
- Server Logs / Options Editing with real-time monitoring
- Accounts system with different permissions levels
- Linux and Windows Support with optimized builds for both platforms
If you like Assetto Server Manager, please consider supporting us with a donation!
This project has been completely modernized with significant security and performance improvements:
- Go Runtime: Updated to Go 1.22.0 (from 1.13) - 9 major versions ahead
- npm Vulnerabilities: Reduced from 45 to 1 (98% improvement)
- Router Modernization: Upgraded to Chi v5 for better performance
- Security Packages: Updated all cryptographic and networking libraries to 2024 versions
- Dependencies: Modernized jQuery, Bootstrap, Moment.js, and 50+ other core libraries
- Build System: Eliminated all Sass deprecation warnings, modernized gulp ecosystem
- Icon Integration: Custom Windows executable icons with automated resource compilation
- Build Organization: Streamlined build process with automatic cleanup and organization
- Critical CVE Fixes: Addressed vulnerabilities in frontend dependencies
- Go Security Updates:
golang.org/x/crypto→ v0.28.0 (2024)golang.org/x/net→ v0.30.0 (2024)golang.org/x/sync→ v0.8.0 (2024)
- WebSocket & Logging: Updated gorilla/websocket and sirupsen/logrus
- Import Path Corrections: Fixed all deprecated bbolt import paths
- Chi Router v5: Better routing performance and modern API
- Updated Build Tools: Faster compilation with modern Sass, Gulp 5.0, TypeScript
- Optimized Dependencies: Removed unused packages, updated to latest stable versions
✅ Go 1.13 → 1.22.0 (latest stable)
✅ 98% reduction in npm vulnerabilities (45→1)
✅ All critical security packages updated to 2024
✅ Zero deprecation warnings in build process
✅ Router performance improved with Chi v5
✅ Build time optimizations achieved
✅ Custom Windows icons with automated embedding
✅ Organized build artifacts in proper directory structure
- Go 1.22.0 or higher
- Node.js 16.0 or higher
- npm 8.0 or higher
- Make (via Chocolatey:
choco install make) - Git for version control
# Ubuntu/Debian
sudo apt update
sudo apt install golang-go nodejs npm make git
# CentOS/RHEL
sudo yum install golang nodejs npm make git- Go to the Releases page
- Download
server-manager-v1.7.12-windows.ziporserver-manager-v1.7.12-linux.tar.gz - Extract the file to your preferred directory
- Edit the
config.ymlto suit your preferences - Either:
- Copy the server folder from your Assetto Corsa install into the directory you configured in config.yml, or
- Make sure that you have steamcmd installed and in your $PATH and have configured the steam username and password in the config.yml file.
- Start the server using
./server-manager(on Linux) or by runningserver-manager.exe(on Windows)
🌐 Access: http://localhost:8772
👤 Default credentials:
- Username:
admin - Password:
changeme(⚠️ Change it immediately!)
git clone https://github.com/JustaPenguin/assetto-server-manager.git
cd assetto-server-managerWindows:
.\build.ps1Linux:
chmod +x build.sh
./build.sh- 🖱️ Navigate to "Custom Races"
- 🏎️ Select:
- Track 🏁
- Cars 🚗
- Number of participants 👥
- ⚙️ Configure:
- Session duration ⏱️
- Weather conditions 🌤️
- Server settings 🔧
- 🚀 Start the race
- Go to "Championships" → "New Championship"
- Configure:
- 📛 Championship name
- 📝 Description
- 🎯 Points system
- 👥 Participants
- ⏰ Flexible scheduling with multiple time zones
- 🔄 Recurring events (weekly, monthly)
- 📧 Automatic notifications for participants
stracker:
enabled: true
http_config:
listen_port: 50041discord:
token: "your_discord_token"
channel_id: "channel_id"- ⚖️ Automatic penalty system
- 📋 Customizable rule configuration
- 📊 Detailed infringement reports
- 🔑 Differentiated roles: Admin, Write, Read, Delete
- 🔒 Steam authentication (optional)
- 🛡️ Secure passwords with configurable policies
tls:
enabled: true
cert_file: "/path/to/cert.pem"
key_file: "/path/to/key.pem"- ⏱️ Real-time timing during races
- 🗺️ Real-time map of positions
- 💬 Integrated chat with moderation
- 📱 Mobile-optimized interface
- 📝 Detailed logs of all actions
- 👤 User tracking and changes
- 📊 Server usage reports
The new system includes:
- 🧹 Automatic cleanup at start and finish
- 🎨 Automatic icon embedding
- 📁 Smart binary organization
- 🔄 Resource regeneration on each build
- 📊 Automatic version information
# The build.ps1 script automatically performs:
# 🧹 Step 0: Initial cleanup
# 📦 Step 1: Go dependencies installation
# 🎨 Step 2: Frontend compilation
# 📁 Step 3: Asset embedding
# 🎯 Step 4a: Resource compilation (icon)
# 🖥️ Step 4b: Application compilation
# 📋 Step 5: Post-compilation configuration
# 📦 Step 6: Release creation and final cleanupcmd/server-manager/build/
├── 🖥️ windows/
│ ├── server-manager.exe # With embedded icon
│ └── config.yml
├── 🐧 linux/
│ ├── server-manager
│ └── config.yml
└── 📚 documentation...
To change the icon:
- Replace
cmd/server-manager/static/img/servermanager.ico - Run
.\build.ps1- the new icon will be applied automatically
If you prefer to build manually:
# Use the modernized build script
.\build.ps1# Use the build script
chmod +x build.sh
./build.sh-
Install Dependencies:
go mod tidy go install github.com/mjibson/esc@latest
-
Build Frontend:
cd cmd/server-manager/typescript npm install --legacy-peer-deps npx gulp build -
Embed Assets & Build:
cd ../ make asset-embed go build -o server-manager
# Install Go from https://golang.org/dl/
# Verify installation:
go version# Windows - install with Chocolatey:
choco install make
# Or use scoop:
scoop install make# Clear npm cache:
cd cmd\server-manager\typescript
npm cache clean --force
npm install --legacy-peer-deps# Change port in config.yml:
port: 8773 # Or any free port- Windows:
cmd\server-manager\logs\ - Linux:
cmd/server-manager/logs/
# config.yml
log_level: "debug"monitoring:
enabled: true
metrics_port: 8773# Automatic backup of important data:
xcopy "cmd\server-manager\*.db" "backup\" /Y
xcopy "cmd\server-manager\config.yml" "backup\" /Y- Backup
config.ymland data files - Download new version
- Replace binaries while maintaining configuration
- Verify functionality
A docker image is available under the name seejy/assetto-server-manager. We recommend using docker-compose
to set up a docker environment for the server manager. This docker image has steamcmd pre-installed.
Note: if you are using a directory volume for the server install (as is shown below), be sure to make
the directory before running docker-compose up - otherwise its permissions may be incorrect.
You will need a config.yml file to mount into the docker container.
An example docker-compose.yml looks like this:
version: "3"
services:
server-manager:
image: seejy/assetto-server-manager:latest
ports:
# the port that the server manager runs on
- "8772:8772"
# the port that the assetto server runs on (may vary depending on your configuration inside server manager)
- "9600:9600"
- "9600:9600/udp"
# the port that the assetto server HTTP API runs on.
- "8081:8081"
# you may also wish to bind your configured UDP plugin ports here.
volumes:
# volume mount the entire server install so that
# content etc persists across restarts
- ./server-install:/home/assetto/server-manager/assetto
# volume mount the config
- ./config.yml:/home/assetto/server-manager/config.ymlWe recommend uploading your entire Assetto Corsa content/tracks folder to get the full features of Server Manager.
This includes things like track images, all the correct layouts and any mod tracks you may have installed.
Also, we recommend installing Sol locally and uploading your Sol weather files to Server Manager as well so you can try out Day/Night cycles and cool weather!
Follow the steps below to update Server Manager:
- Back up your current Server Manager database and config.yml.
- Download the latest version of Server Manager
- Extract the zip file.
- Open the Changelog, read the entries between your current version and the new version. There may be configuration changes that you need to make!
- Make any necessary configuration changes.
- Find the Server Manager executable for your operating system. Replace your current Server Manager executable with it.
- Start the new Server Manager executable.
📋 For a detailed step-by-step guide, see BUILD_GUIDE.md
Required Software:
- Go 1.20+
⚠️ REQUIRED (tested with Go 1.22.0) - Download here - Node.js 18+ (tested with Node.js 22.x) - Download here
- Make (build tool)
- Git (version control)
Windows:
# Use the modernized build script
.\build.ps1Linux/macOS:
# Use the build script
chmod +x build.sh
./build.sh-
Install Dependencies:
go mod tidy go install github.com/mjibson/esc@latest
-
Build Frontend:
cd cmd/server-manager/typescript npm install --legacy-peer-deps npx gulp build -
Embed Assets & Build:
cd ../ make asset-embed go build -o server-manager
- All dependencies have been updated to latest secure versions
- 93% reduction in npm security vulnerabilities
- Modern Go 1.22.0 runtime with latest security patches
- Updated cryptographic libraries (golang.org/x/crypto v0.28.0)
If you encounter build issues:
- Ensure Go 1.20+ is installed (older versions are not supported)
- Use
npm install --legacy-peer-depsfor frontend dependencies - Run
go mod tidyif you see module resolution errors - See BUILD_GUIDE.md for detailed troubleshooting
# Linux/macOS
export GO111MODULE=on
go mod tidy
# Windows PowerShell
$env:GO111MODULE = 'on'
go mod tidygo install github.com/mjibson/esc@latestNavigate to the frontend directory and install dependencies:
# Linux/macOS
cd cmd/server-manager/typescript
npm install --legacy-peer-deps
npx gulp build
# Windows PowerShell
cd cmd\server-manager\typescript
npm install --legacy-peer-deps
npx gulp buildNote: We use --legacy-peer-deps to resolve dependency conflicts with older packages.
# Return to project root
cd ../../.. # Linux/macOS
cd ..\..\.. # Windows
# Embed frontend assets into Go binary
cd cmd/server-manager
make asset-embed# Build for current platform
go build -o server-manager
# Cross-compile for different platforms
# For Linux (from any platform):
$env:GOOS="linux"; $env:GOARCH="amd64"; go build -o server-manager-linux
# For Windows (from any platform):
$env:GOOS="windows"; $env:GOARCH="amd64"; go build -o server-manager.exeThis fork is maintained by RodrigoAngeloni (2025+) with extensive modernization and security updates.
Original Authors & Contributors:
- JustaPenguin - Original creator and maintainer
- AleForge Team - Previous maintainers and contributors
- Henry Spencer - Twitter / GitHub
- Callum Jones - Twitter / GitHub
- Joseph Elton
- The Pizzabab Championship
- ACServerManager and its authors, for inspiration and reference on understanding the AC configuration files
Special Thanks:
- All contributors who helped with the modernization process
- Security researchers who identified vulnerabilities that have now been fixed
- The Assetto Corsa community for continued support and feedback
Check out the screenshots folder!