Skip to content

Cross-Server

Wonder supports three roles:

RoleWhat it does
LOCALSingle-server mode. No Redis required.
ORCHESTRATORParticipates in the queue and performs matching.
WORKERParticipates in the queue and claims, but does not perform matching.

For one server:

wonder {
role = "LOCAL"
redis {
enabled = false
}
}

This is the easiest way to run Wonder.

For multi-server Wonder, enable Redis and set a unique server-id:

wonder {
role = "ORCHESTRATOR"
redis {
enabled = true
url = "redis://localhost:6379"
server-id = "wonder-main"
pool-size = 8
}
}

Worker example:

wonder {
role = "WORKER"
redis {
enabled = true
url = "redis://localhost:6379"
server-id = "wonder-worker-2"
pool-size = 8
}
}

Only LOCAL and ORCHESTRATOR instances perform matching. WORKER nodes still:

  • accept queue submissions
  • show status/history/results
  • allow claims and cancellations

But they do not attempt to create matches themselves.

Typical setup:

  • one orchestrator for matching authority
  • one or more workers for player-facing entry points

That keeps matching centralized while still letting multiple servers feed the same Wonder queue.