Proxy Mode
Learn how to troubleshoot proxy mode issues with SkinsRestorer.
This page is for servers that are using a proxy (BungeeCord, Waterfall or Velocity) in their network to connect multiple servers together. If you're not using a proxy, you can skip this page.
Using a proxy? --> You MUST use proxy installation!
What is "Proxy Mode"?
The proxy will handle SkinsRestorer's commands, API, permission, database and config in a "centralized" manner.
When proxy mode is active on backend servers:
- Commands are forwarded to the proxy
- Skin data is managed centrally by the proxy
- Configuration changes only need to be made on the proxy
- The proxy handles all API communication with Mojang/MineSkin
How to install on proxy?
Please read: https://skinsrestorer.net/docs/installation#platform-installation
Proxy Mode Configuration
Proxy mode can be configured in the config.yml file on your backend servers:
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 controls how proxy mode is determined:
AUTO(default): Automatically detects if the server is behind a proxyENABLED: Forces proxy mode onDISABLED: Forces proxy mode off
Backend API Access
The api option (default: true) enables plugins on backend servers to use the SkinsRestorer API.
This is useful when using plugins like BedWars, Dynmap, etc. that need to get skin data through the API from the backend server.
Keep in mind that connecting MySQL to the same database as the proxy is required for this to work!
Disabling Proxy Mode
Disabling proxy mode will force the backend to handle everything including applying skins on join. This is not recommended as the proxy has better control over the player connection.
To disable proxy mode, set detection: DISABLED in your backend server's config.yml.
Troubleshooting
Verifying proxy mode is active
Check your backend server logs during startup. You should see:
[SkinsRestorer] +==================+
[SkinsRestorer] | SkinsRestorer |
[SkinsRestorer] |------------------|
[SkinsRestorer] | Proxy Mode |
[SkinsRestorer] +==================+If you don't see "Proxy Mode" in the startup message, proxy mode is not active.
Using /sr status
Run /sr status on the proxy to check API connectivity:
/sr statusThis will show the status of all required API endpoints and help identify connection issues.
Using /sr dump
If you need help from the SkinsRestorer team, run:
/sr dumpThis uploads diagnostic information to a paste service and gives you a link to share with support.
Common issues
"Proxy Mode not detected"
Symptoms: Backend servers don't show "Proxy Mode" in logs.
Causes and fixes:
-
Player information forwarding not configured
- BungeeCord: Set
bungeecord: trueinspigot.ymlandonline-mode=falseinserver.properties - Velocity: Follow the Velocity forwarding guide
- BungeeCord: Set
-
SkinsRestorer not installed on proxy
- Ensure
SkinsRestorer.jaris in the proxy'spluginsfolder - Restart the proxy after adding the plugin
- Ensure
-
SkinsRestorer not installed on backend
- Ensure
SkinsRestorer.jaris in each backend server'spluginsfolder - Restart the backend servers
- Ensure
-
Plugin messaging channel blocked
- Some security plugins block plugin messaging
- Whitelist SkinsRestorer's channel in your security plugin
Commands not working on backend servers
Symptoms: /skin commands don't work on backend servers.
This is expected behavior! In proxy mode, commands are handled by the proxy. Run commands on the proxy console or ensure players are connected through the proxy.
Skins not applying on server switch
Symptoms: Players lose their skin when switching servers.
Fixes:
- Ensure SkinsRestorer is installed on ALL backend servers
- Verify all servers show "Proxy Mode" in their logs
- Check that player information forwarding is working
API not working on backend servers
Symptoms: Plugins using SkinsRestorer API get errors on backend servers.
Fixes:
- Enable database storage on the proxy
- Configure the same database on backend servers
- Ensure
server.proxyMode.api: true(default) in backend config
See the Database Setup guide for details.
Config sync issues
The config.yml must be identical on the proxy and all backend servers!
If configs are out of sync:
- Make changes on the proxy first
- Copy the
config.ymlto all backend servers - Run
/sr reloadon the proxy - Restart all backend servers (they can't use
/sr reload)
Force enabling/disabling proxy mode
If auto-detection isn't working correctly, you can force the mode:
Force proxy mode ON (on backend servers):
server:
proxyMode:
detection: ENABLEDForce proxy mode OFF (use standalone mode):
server:
proxyMode:
detection: DISABLEDOnly disable proxy mode if you understand the implications. Each server will manage skins independently, and skin data won't sync between servers.
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 |
Both proxies work well with SkinsRestorer. Velocity is generally recommended for new installations due to better performance and security.
How is this guide?
Last updated on