Proxy Mode
Configure Proxy Mode and correct common proxy problems.
This page applies to networks that use BungeeCord, Waterfall, or Velocity.
If you use a proxy, install SkinsRestorer on the proxy and every backend server.
How Proxy Mode works
In Proxy Mode, the proxy controls SkinsRestorer for the whole network.
When Proxy Mode is active on backend servers:
- Commands are forwarded to the proxy
- Skin data is managed centrally by the proxy
- The proxy provides the main configuration
- The proxy handles all API communication with Mojang/MineSkin
Install on a proxy
Follow the installation guide for your proxy.
Configure Proxy Mode
Set Proxy Mode in the config.yml file on each backend server:
server:
proxyMode:
# Options: ENABLED, DISABLED, or AUTO (default)
detection: AUTO
# Enable API access on backend servers (requires database)
api: trueProxy Mode detection
The detection option has three values:
AUTO(default): SkinsRestorer detects whether the server is behind a proxyENABLED: Proxy Mode is always activeDISABLED: Proxy Mode is always inactive
Backend API access
The api option lets backend plugins use the SkinsRestorer API.
Its default value is true.
This option requires MySQL. The proxy and backend servers must use the same database.
Disable Proxy Mode
Without Proxy Mode, each backend server manages its own skins. The servers do not automatically share skin data.
To disable Proxy Mode, set detection: DISABLED in the backend config.yml file.
Troubleshooting
Make sure that Proxy Mode is active
Find this message in each backend startup log:
[SkinsRestorer] +==================+
[SkinsRestorer] | SkinsRestorer |
[SkinsRestorer] |------------------|
[SkinsRestorer] | Proxy Mode |
[SkinsRestorer] +==================+If "Proxy Mode" is absent, the mode is not active.
Using /sr status
Run /sr status on the proxy:
/sr statusThe command shows the status of all required API endpoints.
Using /sr dump
To collect information for support, run:
/sr dumpThe command uploads diagnostic information and returns a link. Send the link to support.
Common issues
"Proxy Mode not detected"
Symptom: Backend logs do not show "Proxy Mode".
Causes and solutions:
-
Player information forwarding is not configured
- For BungeeCord, set
bungeecord: trueinspigot.ymlandonline-mode=falseinserver.properties. - For Velocity, follow the Velocity forwarding guide.
- For BungeeCord, set
-
SkinsRestorer is not installed on the proxy
- Put
SkinsRestorer.jarin the proxy'spluginsfolder. - Restart the proxy.
- Put
-
SkinsRestorer is not installed on a backend server
- Put
SkinsRestorer.jarin each backend server'spluginsfolder. - Restart all backend servers.
- Put
-
A security plugin blocks plugin messages
- Permit the SkinsRestorer channel in the security plugin.
Commands not working on backend servers
Symptom: /skin commands do not work from a backend console.
This is expected in Proxy Mode. Run administrator commands from the proxy console. Players must connect through the proxy.
Skins not applying on server switch
Symptom: Players lose their skin when they switch servers.
Solutions:
- Install SkinsRestorer on all backend servers.
- Find "Proxy Mode" in each backend log.
- Make sure that player information forwarding works.
API not working on backend servers
Symptom: A backend plugin gets SkinsRestorer API errors.
Solutions:
- Enable MySQL storage on the proxy.
- Configure the same database on all backend servers.
- Set
server.proxyMode.api: truein each backend configuration.
See the Database Setup guide for details.
Configuration synchronization errors
Use the same config.yml file on the proxy and every backend server.
If the configuration files are different:
- Change
config.ymlon the proxy. - Copy the file to all backend servers.
- Run
/sr reloadon the proxy. - Restart all backend servers.
Set Proxy Mode manually
If automatic detection fails, set the mode in each backend configuration.
Force proxy mode ON (on backend servers):
server:
proxyMode:
detection: ENABLEDForce proxy mode OFF (use standalone mode):
server:
proxyMode:
detection: DISABLEDIf you disable Proxy Mode, each server manages its own skins. The servers do not share skin data.
BungeeCord vs Velocity
| Feature | BungeeCord | Velocity |
|---|---|---|
| Forwarding setup | bungeecord: true in spigot.yml | Modern or Legacy forwarding |
| Config location | plugins/SkinsRestorer/ | plugins/skinsrestorer/ |
| Recommended | For legacy setups | For new installations |
SkinsRestorer supports both proxies. For a new network, Velocity provides newer security and performance features.
How is this guide?
Last updated on