Skip to main content
Everything is here. Backends only need the address and the secret.
On a new install the secret is generated for you on first start. Copy it into each backend and you are done.

Where the pack comes from

Anything but proxy is a Nexo pack server type, so configure the host itself the normal Nexo way under Pack.server. Pick proxy and you also need http.port open to players and http.public_address set to an address that works from outside your network. See hosting.
Multipack needs a host whose URL contains the pack hash: hermes, s3 or proxy. NexoHub warns on startup if you pick one of the other two with multipack on.

Do your backends run different HUDs or models?

false if they all run the same ones. Every backend builds the same thing, so they share one pack and one download with nothing to merge. true if they differ. The hub gives every backend the union of what they all generated, merged into one pack, so a HUD defined only on pvp still shows up for a player on lobby. This is the only way BetterHUD’s and ModelEngine’s assets reach the other backends, since their files stay on the server you installed them on.
Do not set true alongside a generator you turned off under generators. That one numbers on its own, and merging it in gives one backend another’s models.

Groups and per-server settings

Most networks need none of this. It is here for when four servers want the same thing and you would rather say it once. Files go in nexo-data/, and settings go in config.yml, in the same three layers: Each wins over the one above it.
A group with just a list of backends still works and layers files only.

MultiPack per server

NexoHub distributes Nexo’s multipack.yml and every template pack, but Nexo normally keeps a player’s selection on one backend. Make the selection a property of the backend instead when a template belongs to one gamemode:
On every server switch the proxy sends that backend’s complete selection to Nexo. In the example a player starts the Earth download immediately after joining lobby, still has it enabled on Earth, and loses it again when entering practice. An empty list is meaningful: it disables every optional template. Leave a backend out to retain Nexo’s ordinary, per-player MultiPack choice there. The template folders and Nexo config themselves belong in the shared layer:
Nexo’s base pack can arrive first during the pre-join phase; the configured template is offered immediately after the backend connection completes. That makes lobby: [earth] the preloading option, rather than making Earth download for players who join practice directly.

Settings

Anything in the table goes in any of the three layers. generators decides what NexoHub does for one asset-building plugin:
managed is the default and holds that plugin’s numbering on the hub, so backends agree without holding each other’s files. share-files sends its files across the network instead. off leaves it alone. Keys are betterhud, bettermodel, modelengine, mythichud, animotions, overdrive and tooltips. share-files works per backend. Only the backends set to it send their files and receive each other’s, so a server left on managed keeps its own models even when others share theirs. Set it for a group to share between some servers only. You only need share-files if a backend says at startup that it runs a version NexoHub cannot follow. It names the key to set.
A backend that sets one of these in its own config.yml keeps its own value and says so at startup. Delete the line there to hand it back. See bridge config.

Notifications

Anything that accepts {"content": "..."}, so a Discord webhook works. Blank sends nothing. Drop push from events to hear only about things that need you.

Everything else

You are unlikely to touch any of these. Most of these ship commented out. They still work if you write them.
packs.hosting and packs.delegate were replaced by packs.host, and packs.contributions by packs.mixed_content, and http.api_port/http.api_bind by http.api_address. Every old spelling still works, so there is nothing you have to change.

Files the hub writes