Skip to main content
Version: 0.0.34

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
# 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 sync user groups from the Hub to your game servers​

When specifying a user group, prefix the user group name with a +. This will cause the PatreonHubPlugin to load this user group from AssettoServer Hub.

Example (Blacklist)
Set BlacklistUserGroup to +blacklist in extra_cfg.yml.

Example (Whitelist)
Set WhitelistUserGroup to +whitelist in extra_cfg.yml.

Example (PatreonReservedSlotsPlugin)
Set ReservedEntryListSlotsUserGroup and/or ReservedSlotsUserGroup to +reserved in extra_cfg.yml and create a new file-based user group in configuration.yml of your Hub:

FileBasedUserGroups:
- Name: reserved
Path: reserved.txt

How it works​

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