Skip to content
A web interface to manage an Assetto Corsa Server.
Go HTML JavaScript TypeScript CSS Makefile Other
Branch: master
Clone or download
cj123 Merge pull request #475 from cj123/sleep-time
move sleep time to server options page, fix defaults
Latest commit dc2836e Aug 16, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cmd convert all moment values to UTC Aug 14, 2019
fixtures add session file converter for existing test fixtures Apr 5, 2019
misc update screenshots Mar 4, 2019
pkg add changelog popup with per-account dismissal Aug 7, 2019
vendor builds now specifically use vendor directory. fixed generation of cha… Aug 7, 2019
.dockerignore use a multistage dockerfile Aug 7, 2019
.gitignore embed changelog Aug 7, 2019
.travis.yml bump node version to 12 Aug 8, 2019
CHANGELOG.md add a migration to set sleep time to 1 Aug 16, 2019
Dockerfile fix makefile Aug 8, 2019
INSTALL.txt a few consistency fixes Apr 2, 2019
LICENSE Create LICENSE Feb 6, 2019
Makefile fix makefile Aug 8, 2019
README.md correct a typo Aug 5, 2019
accounts.go remove unnecessary version trimming logic Aug 7, 2019
audit_log.go replace global variables with resolver pattern Jul 19, 2019
championship_manager.go content manager wrapper: prettify sol names, show championship info i… Jul 27, 2019
championship_manager_test.go added getserverconfig to dummyserverprocess Jul 26, 2019
championships.go import order Aug 1, 2019
championships_handler.go replace global variables with resolver pattern Jul 19, 2019
championships_test.go open championships: swap the assigned entrant with the free entrant s… Jul 27, 2019
changelog.go add changelog popup with per-account dismissal Aug 7, 2019
config_ini.go add a migration to set sleep time to 1 Aug 16, 2019
config_ini_default.go add a migration to set sleep time to 1 Aug 16, 2019
content_cars.go concurrently build search index Aug 4, 2019
content_cars_skins.go fix an issue with skin listings, create a more concise but comprehens… Feb 10, 2019
content_manager_wrapper.go content manager wrapper: prettify sol names, show championship info i… Jul 27, 2019
content_setups.go add setups to car pages, add handling for editing tags Jul 19, 2019
content_tracks.go replace global variables with resolver pattern Jul 19, 2019
content_tyres.go use an io.ReadSeeker to build a list of files from the acd file, but … Feb 28, 2019
content_upload.go index specific cars when they are uploaded Jul 24, 2019
content_weather.go replace global variables with resolver pattern Jul 19, 2019
entrylist_ini.go Merge branch 'v1.3.4' Aug 5, 2019
form.go add link to custom CSS examples on the wiki Jul 8, 2019
go.mod removed javascript that tried to control pit id sorting, it's now all… Aug 9, 2019
go.sum removed javascript that tried to control pit id sorting, it's now all… Aug 9, 2019
hosted.go add message to base.html about supporting server manager development Apr 7, 2019
init.go added fallback results sorting option Aug 5, 2019
migrations.go add a migration to set sleep time to 1 Aug 16, 2019
monitoring.go embed changelog Aug 7, 2019
penalties.go replace global variables with resolver pattern Jul 19, 2019
race_control.go update existing live timing rows instead of rebuilding the live timin… Aug 8, 2019
race_control_driver.go fix connection timeout handling, add handling for drivers that connec… Jul 1, 2019
race_control_http.go fix nil pointer issue in join link, make race builder car search use … Aug 7, 2019
race_control_test.go fix failing tests Jul 19, 2019
race_custom.go import order Aug 1, 2019
race_manager.go move sleep time to server options page, fix defaults Aug 16, 2019
race_quick.go added performance mode, currently it only turns off live timing, hope… Jul 29, 2019
resolver.go added performance mode check to race control resolver in UDP callback Jul 29, 2019
results.go if a driver is missing from the results append them from the cars lis… Aug 12, 2019
router.go add changelog popup with per-account dismissal Aug 7, 2019
scheduled_races.go formatting Aug 1, 2019
server_administration.go add changelog popup with per-account dismissal Aug 7, 2019
server_install.go connect in config file Feb 18, 2019
server_process.go Merge pull request #438 from cj123/live-timing-join-link Jul 26, 2019
server_process_nonwindows.go run commands with context. use go-ps to find out when server manager … Apr 3, 2019
server_process_windows.go run championship pitbox migrations on event entrylists, not champions… Jul 3, 2019
servermanager_config.go added performance mode, currently it only turns off live timing, hope… Jul 29, 2019
store.go simplify file moving, add CHANGELOG notes Jul 9, 2019
store_bolt.go simplify file moving, add CHANGELOG notes Jul 9, 2019
store_json.go added check for an existing entrant in the json store to prevent addi… Aug 9, 2019
templates.go add changelog popup with per-account dismissal Aug 7, 2019

README.md

Assetto Server Manager

Build Status Discord

A web interface to manage an Assetto Corsa Server.

Features

  • Quick Race Mode
  • Custom Race Mode with saved presets
  • Live Timings for current sessions
  • Results pages for all previous sessions, with the ability to apply penalties
  • Content Management - Upload tracks, weather and cars
  • Sol Integration - Sol weather is compatible, including 24 hour time cycles (session start may advance/reverse time really fast before it syncs up - requires drivers to launch from content manager)
  • Championship mode - configure multiple race events and keep track of driver, class and team points
  • Automatic event looping
  • Server Logs / Options Editing
  • Accounts system with different permissions levels
  • Linux and Windows Support!

If you like Assetto Server Manager, please consider supporting us with a donation!

Installation

Manual

  1. Download the latest release from the releases page
  2. Extract the release
  3. Edit the config.yml to suit your preferences
  4. 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.
  5. Start the server using ./server-manager (on Linux) or by running server-manager.exe (on Windows)

Docker

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. Note that this docker image does not have steamcmd pre-installed.

See Manual to set up server manager without Docker.

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.yml

Post Installation

We 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!

Updating

Follow the steps below to update Server Manager:

  1. Back up your current Server Manager database and config.yml.
  2. Download the latest version of Server Manager
  3. Extract the zip file.
  4. Open the Changelog, read the entries between your current version and the new version. There may be configuration changes that you need to make!
  5. Make any necessary configuration changes.
  6. Find the Server Manager executable for your operating system. Replace your current Server Manager executable with it.
  7. Start the new Server Manager executable.

Build From Source Process

This is written with Linux in mind. Note that for other platforms this general flow should work, but specific commands may differ.

  1. Install Go 1.12; follow https://golang.org/doc/install#install

  2. Install Node js 11; this varies a lot based on os/distribution, Google is your friend.

  3. Enter the following commands in your terminal:

     # clone the repository (and dependencies) to your $GOPATH
     go get -u github.com/cj123/assetto-server-manager/...
     # move to the repository root
     cd $GOPATH/src/github.com/cj123/assetto-server-manager
    
  4. Set up the config.yml file in assetto-server-manager/cmd/server-manager (best to copy config.example.yml to config.yml then edit). There are important settings in here that need to be configured before sever manager will run, such as the path to steamcmd, default account information and more. Make sure you read it carefully!

  5. Time to run the manager, enter the following in your terminal:

     export GO111MODULE=on
     # run makefile commands to build and run server manager
     make clean
     make assets
     make asset-embed
     make run
    
  6. Server Manager should now be running! You can find the UI in your browser at your configured hostname (default 0.0.0.0:8772).

Credits & Thanks

Assetto Corsa Server Manager would not have been possible without the following people:

  • 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

Screenshots

Check out the screenshots folder!

You can’t perform that action at this time.