Skip to content

Multi Proxy Sync

OPaperStream edited this page Oct 9, 2026 · 2 revisions

Multi Proxy Sync

Several PaperProxy instances can share state through Redis.

[sync]
enabled = true
proxy-id = "proxy-1"
redis-host = "127.0.0.1"
redis-port = 6379
redis-username = ""
redis-password = ""
redis-database = 0
redis-ssl = false
secret = "a-long-random-value"
network-player-count = true

Give every proxy its own proxy-id, but the same secret.

Security

  • secret (since 1.2.2): every message between proxies (alerts, kicks, bans) is signed with it and checked for age and replays. Without a secret, anyone who can publish to your Redis could send them, and PaperProxy logs a warning. Use a long random value, for example from openssl rand -hex 32.
  • redis-ssl: connect with TLS; the certificate and host name are checked.
  • redis-username: Redis 6+ ACL user.
  • Passwords and secrets can stay out of the file: "${env:REDIS_PASSWORD}" reads an environment variable, "file:/run/secrets/redis" the first line of a file.

What is shared

  • Player count of the whole network in the server list (network-player-count)
  • /find finds players on other proxies
  • /alert reaches players on every proxy
  • /pp network lists all proxies and their players
  • A player who logs in on a second proxy is removed from the first
  • Bans and mutes (see Moderation)

Each proxy sends a heartbeat every 10 seconds. A proxy that stops without cleaning up drops out after 30 seconds.

Not shared yet

Parties and queues are per proxy.

Clone this wiki locally