Skip to main content
Version: Unreleased

AssettoServer Hub

Introduction​

AssettoServerHub is a central data store for multiple AssettoServer instances. It allows servers to share things like leaderboards, blacklist, whitelist and more in the future.

Getting started​

When starting AssettoServer.Hub for the first time, a default configuration file called configuration.yml will be generated.
Use the server address and generated key to connect an AssettoServer instance by loading and configuring PatreonHubPlugin.

Web Interface​

The web interface can be reached at the HttpPort you specified in your config, for example http://yourip:8000. You can also check out a demo here.

How to add more servers​

You can add more servers by adding more Name entries like this:

# Port that the hub will listen for server (gRPC) connections
GrpcPort: 5085
# Port that the hub will listen on for the web interface
HttpPort: 8000
# Name of the hub, will be shown in web page titles
HubName: AssettoServer Hub
# Filename of main logo in wwwroot/images
MainLogoFile: logo.svg
# Filename of logo shown in nav bar in wwwroot/images
NavbarLogoFile: logo.svg
# List of keys that are allowed to connect to the hub. Do not share these keys with other people!
Keys:
- Name: server-1
- Name: another-server
- Name: server-3
# List of file-based user groups
FileBasedUserGroups:
- Name: blacklist
Path: blacklist.txt
- Name: whitelist
Path: whitelist.txt

After starting the hub, keys will be automatically generated for each entry without a key. You can then enter the generated key in your AssettoServer configuration.

How to use friendly car/track names for leaderboards​

On a game server with PatreonHubPlugin loaded, log in as administrator and select AssettoServer Hub via the hammer icon in chat:

Click on Upload car/track names.

After that, proper names will be used on the leaderboards (e.g. Nissan Skyline GT-R R34 V-SPEC Performance instead of nissan_skyline_r34_v-specperformance)

How it works​

AssettoServerHub and AssettoServer are using gRPC to communicate. Data is stored in an SQLite database called Hub.db.