SkinsRestorer: managing skins on your server
SkinsRestorer is the most popular plugin for managing skins on Minecraft servers. It lets players change their skin with the /skin command without relogging, works on offline-mode servers and syncs skins across BungeeCord/Velocity networks.
What SkinsRestorer is
SkinsRestorer is a free, open-source plugin that gives players control over their skin right on the server. In standard Minecraft, changing your skin means going to minecraft.net, uploading a PNG file and reconnecting to the server. SkinsRestorer boils that down to a single command.
The plugin matters most on offline-mode servers (online-mode: false), where players' skins aren't tied to a Mojang account. SkinsRestorer lets them pick any skin and keeps it between sessions.
SkinsRestorer is installed on thousands of servers and has over 3 million downloads. You can get it from the official website, SpigotMC or Modrinth.
Skin commands
| Command | What it does | Permission |
|---|---|---|
/skin set [nick] | Sets the skin of another player with a paid account | skinsrestorer.command.skin.set |
/skin url [link] | Sets a skin from a PNG file (URL) | skinsrestorer.command.skin.set.url |
/skin clear | Resets the skin to the default (Steve/Alex) | skinsrestorer.command.skin.clear |
/skin update | Refreshes your skin (after changing it on minecraft.net) | skinsrestorer.command.skin.update |
/skins | Opens a GUI with a list of available skins | skinsrestorer.command.skins |
The /skin set command lets you use the skin of any player with a paid account. You type the username of a well-known player (for example Technoblade, Dream) and SkinsRestorer fetches their skin from the Mojang API. The change is instant: no need to relog.
Installation
On a single server, installation means dropping the .jar file into plugins/ and restarting. On a multi-server network the setup is a little more involved:
- Install SkinsRestorer on the proxy (Velocity or BungeeCord)
- Install SkinsRestorer on every backend server
- Set SkinsRestorer to proxy mode on the backend servers
In plugins/SkinsRestorer/config.yml on the backends, set:
# On backend servers behind a proxy
api:
enabled: true
# Don't allow skin commands on the backends - only on the proxy
commands:
disable-skin-command-on-backend: true This way the proxy handles the skin commands, and the backends only display the skins synced from the proxy.
Network setup
On a server network, SkinsRestorer syncs skins through plugin messaging (the BungeeCord/Velocity channel). When a player changes their skin on the proxy, the change is automatically propagated to all backend servers.
Important network settings:
- Proxy mode - install the main instance on the proxy, and only the sync module on the backends
- Storage - SkinsRestorer stores skins in files or MySQL. On a network, MySQL is recommended for shared access
- Cache - the plugin caches fetched skins so it doesn't query the Mojang API on every login
- Cooldown - set a cooldown on skin changes (for example 30 seconds) to prevent API spam
Custom skins
SkinsRestorer supports several skin sources:
- Username of a paid account -
/skin set Notchfetches the current skin from the Mojang account - PNG file URL -
/skin url https://example.com/skin.pngconverts the image into a skin - Skin GUI -
/skinsopens a menu with predefined skins (you configure the list in the config) - Default skins - an admin can set a default skin for new players instead of Steve/Alex
You configure the predefined skins in the GUI in skins.yml. This is handy on RPG servers, where you want to offer players skins that fit the server's theme (knights, mages, thieves and so on).
Tips
- Block inappropriate skins - SkinsRestorer lets you block specific skins and usernames (for example skins with offensive imagery). Use the blocklist in the config
- Mojang API rate limiting - the Mojang API limits requests. SkinsRestorer caches skins, but with hundreds of players logging in at once you may see delays
- Works with FastLogin - the two plugins work together on servers that use FastLogin's "semi-premium" setup. FastLogin logs in players with paid accounts, SkinsRestorer manages skins
- Skins from the console - an admin can change other players' skins with
/skin set [player] [nick]from the server console
Related: how to change your skin, FastLogin, Velocity.