Commands
/ssvc-proxy admin commands, failure behaviour and building the proxy jar
這一頁還沒有翻譯,以下顯示英文原文。
Admin commands
| Command | Purpose |
|---|---|
/ssvc-proxy status | Listener address (or offline), active relayed connections and rejected-connection count |
/ssvc-proxy reload | Re-reads config.yml and restarts the relay listener |
Both require the socketsvc.proxy.admin permission. Grant it explicitly: proxy platforms don't have Bukkit's default-op permission model.
/ssvc-proxy reload stops the current listener before starting the new one. If the new config cannot be loaded or the listener cannot start, the command reports the failure, the relay stays offline and the details are in the proxy log; fix config.yml and reload again. Metrics settings are not affected by reload (see Metrics).
Failure behaviour
The relay simply closes the incoming connection (and counts it as rejected) when:
- the connection has no valid
uuidquery parameter; - the player's UUID can't be resolved to a backend, for example in a race right after a server switch;
- the resolved server name isn't in
servers:; - connecting to the backend fails.
The client's existing reconnect/backoff logic (waiting 5, 10, 20, then 30 seconds; see Voice protocol) handles this exactly like any other failed connection attempt — no special client-side handling is needed or exists for proxy mode.
Building the proxy jar
Build, test and package the proxy relay engine and the universal plugin jar:
.\gradlew.bat buildAllProxybuildAllProxy runs :proxy:common:test and :proxy:plugin:build; buildAll includes it. Adding -Ploaders=none skips configuring the loader projects and keeps only Paper and the proxy, which speeds up a proxy-only build.
The jar to install is proxy/plugin/build/libs/socketsvc-proxy-<proxy>.jar, where <proxy> is proxy.version in gradle/socketsvc.properties. Do not install -plain.jar or -slim.jar, and do not use leftovers from the old proxy-plugin/build/ directory.