Repository navigation
The Server List
Project Avalanche has one public server list, run by the project. The game's Internet tab shows it (Joining a Server).
A server is on the list by default. To keep it off, set public = false in the [discovery] section of server.toml, or switch off Listed on the public server list on the launcher's Host page (a server for this computer only is never listed). The list is always the project's: no setting names another.
An unlisted server can still be joined by its address (START in the browser, an avalanche://connect/host:port
link, the Favourites and Recent tabs), and the LAN tab finds it without the list
(Query and LAN Discovery).
A listed server announces itself with a heartbeat every 60 seconds, and 15 seconds after its players or resources changed.
- The list first checks that it can reach the server's query port, so a listed server answers the query (on with
public) and needs UDPport + 1open (Ports and Firewalls). - Each heartbeat is signed with the server's identity key, so nobody else can list or remove your server. It is sent
from the bound address when
bindnames one. - The list's answer, "listed" or why not, goes into the log; the console's
statusshows the last answer. - A stop tells the list the server is leaving.
What the list shows comes from the server's /info (Logs and Metrics): the name, description
and icon, [discovery] region and tags, the player count and maximum, whether there is a password, the mode and
the drop or map, the resources' download size, and the client-mod policy
(Client Mods on Servers). The heartbeat also carries [discovery] contact, which only the
list's operator sees.
A player joining from the Internet tab checks the server against the identity key the list gave for it.
The project's list also keeps a blocklist of resource files that must not run (each named by its content hash).
- Every server follows it, listed or not, beside its own list (Blocklists): it fetches the list every 10 minutes, keeps it in its data folder, never starts a resource that holds a blocked file and stops a running one that becomes blocked.
- Players' games follow it too. Before a join fetches any file, the game checks every file of the server's resources against it; one blocked file refuses the join with the resource and the file named. A mod of your own that holds a blocked file is skipped at the game's start (Installing Mods).
- When the list cannot be reached, the copy kept applies for up to 30 days after the list last answered.
Servers
- Hosting a Server
- Server Configuration
- Ports and Firewalls
- Server Console
- Operators and Remote Console
- Access Control List
- Bans and Mutes
- The Server List
- Query and LAN Discovery
- Server Resources
- Blocklists
- Maps and Gamemodes
- Logs and Metrics
- Running as a Service
- Running in Docker
- Joining a Server
Scripting
- Resource Packages
- Content IDs and Kinds
- Scripting Overview
- Server Script API
- Client Script API
- Events and Messages
- Script Permissions
- Script Examples
Modding