Skip to content

Backend Overview

Nexori can run standalone with local queues and no external backend. In that mode, the plugin owns queueing, match launch, local completion, and player returns inside the server setup.

Nexori can also integrate with an external backend. In that mode, Nexori still owns the in-server runtime, but your backend can receive queue/match visibility, return matchmaking assignments, receive final results, and track whether running matches are still open for backfill.

Endpoint Map

/nexori/sync

Config flag
syncEnabled
Typical server
lobby/queue server
Trigger
heartbeat interval
Purpose
backend-driven matchmaking assignments

/nexori/results

Config flag
resultReportingEnabled
Typical server
arena/minigame server
Trigger
final match result
Purpose
final result reporting

/nexori/matches/state

Config flag
matchStateReportingEnabled
Typical server
arena/minigame server
Trigger
match admission state changes
Purpose
backend backfill visibility

Lobby/queue servers usually enable syncEnabled=true so the backend can see queued players and return INITIAL_MATCH or BACKFILL assignments. Arena/minigame servers usually keep syncEnabled=false, enable resultReportingEnabled=true for final result reports, and enable matchStateReportingEnabled=true when the backend needs open-match visibility for backfill.

For cross-server backfill, the arena publishes match admission visibility through /nexori/matches/state; later, a lobby sync request exposes a queued player; then the backend returns a BACKFILL assignment through /nexori/sync to the lobby server, using targetConnectionAddress from the arena state payload.

Shared Queue And Game IDs Across Lobbies

When several lobby servers should feed the same backend-managed queue, their portals must point to the same shared queue/game definitions. The backend groups waiting players by the queueId and related game definition each lobby sends through POST /nexori/sync.

Do not manually recreate an identical-looking game or queue on every lobby server. Those copies will have different internal ids, so the backend will treat them as different queues even if their names and settings look the same.

Create the game/queue once, then use Nexori's in-game Minigames > Sync / Catalog Sync tab to copy the saved game or saved queue to the other lobby servers. Catalog Sync preserves the ids that matter for backend matchmaking, so players entering portals on different lobbies can still be reported through POST /nexori/sync as waiting for the same queue/game.

Catalog Sync is an admin replication tool, not the same thing as the backend POST /nexori/sync endpoint. Catalog Sync copies the selected saved game or queue definition; it does not copy portals, spawns, backend config, local server identity, or local UI state.

How The Endpoints Relate

POST /nexori/sync

/nexori/sync is a server heartbeat for backend-driven matchmaking. Nexori sends queue, arena, active-match, and assignment-ack snapshots, then your backend may return assignments for Nexori to launch.

See Sync Endpoint for the request and response payloads.

POST /nexori/results

/nexori/results is event-driven result reporting. Nexori sends it after a match is completed locally and a backend result report is queued.

See Results Endpoint for the result contract.

POST /nexori/matches/state

/nexori/matches/state is event-driven admission visibility reporting. Nexori sends it when a backend-driven match changes whether it can still accept future admission or backfill.

See Match Admission State Endpoint for the admission-state snapshot contract.

Common Setups

SetupRecommended flags
Standalone/local queuesleave backend flags disabled
Backend matchmaking lobbysyncEnabled=true
Arena result reporting onlysyncEnabled=false, resultReportingEnabled=true
Backend backfill arenamatchStateReportingEnabled=true

Arena servers can combine result reporting and match-state reporting without running the matchmaking sync heartbeat.