Repository navigation
Forwarding and PaperGuard
OPaperStream edited this page Oct 6, 2026
·
1 revision
Each backend can use its own forwarding mode in paperproxy.toml. Servers that are not listed use player-info-forwarding-mode from velocity.toml.
[forwarding.servers]
lobby = "modern"
old-pvp = "paperguard"Modes: modern, paperguard, bungeeguard, legacy, none.
PaperGuard is signed, replay-proof forwarding for servers that cannot use modern forwarding, for example 1.8 to 1.12 servers.
- Every login is signed with HMAC-SHA256 over all player data, the target server name, a timestamp and a one-time nonce.
- Each server gets its own key, derived from the proxy's secret. A leaked key only affects that one server.
- The backend plugin PaperGuard (Paper 1.12.2+, Folia) checks the signature and rejects everyone while it is not configured.
- Replayed, expired, modified or foreign logins are rejected.
- In
paperproxy.tomlset the server topaperguard. - In the proxy console run
paperproxy paperguard key <server>. The key is only shown in the console. - Put the server name and the key into
plugins/PaperGuard/config.ymlon the backend. - Set
settings.bungeecord: truein the backend'sspigot.yml.
paperproxy paperguard rotate creates a new secret. All servers then need their new keys.
[paperguard] max-age-seconds (default 10) is how long a signed login stays valid. Keep the clocks of proxy and backends in sync.