SkinsRestorer - Ability to restore/change skins on servers! (Offline and Online Mode). (Bungee/Bukkit/Sponge)


This is a discussion topic for the Ore project, SkinsRestorer. View the full project on Ore for downloads and more information.

Completely working from 1.8 till 1.14!

Wiki | Discord Support Chat | Feature requests | Issue tracker | Source code

Relevant Tools

SkinFile Generator

With SkinFile Generator you can upload your own custom .png skin to obtain a .skin file that you can put in your skins folder. Check it out here.


With SkinSystem, a server owner can connect an authentication system such as forum/authme and SkinsRestorer, and allow users to change their skin through a web interface. Server owners may use it to host a website that gives their players the ability to upload & manage custom skins. Check it out here.

SkinsRestorer Info

What is SkinsRestorer?

SkinsRestorer is a plugin that restores skins for offline mode servers & networks and gives the players ability to change their skins by typing a single command.

Where can i use SkinsRestorer?

Currently you can use SkinsRestorer on these platforms:


  • Craftbukkit
  • Spigot
  • PaperSpigot
  • TacoSpigot
  • Sponge


  • BungeeCord (PaperMC)
  • Waterfall
  • FlexPipe
  • VelocityPowered

Installation Guide

Follow this little guide, so you don’t go wrong :slightly_smiling_face:

For more info see Wiki

For Sponge:

  1. Place the plugin in ./mods/ folder (where Sponge is located).
  2. Restart the server.

For Spigot:

  1. Place the plugin in ./plugins/ folder.
  2. Restart the server.
  3. (Optional) Edit the config.yml inside ./plugins/SkinsRestorer/ folder.

For BungeeCord :

  1. Place the plugin in ./plugins/ folders of every spigot server.
  2. Place the plugin in ./plugins/ folder of every bungeecord server.
  3. Check & set on every Spigot server spigot.yml -> bungeecord: true
  4. Give permissions inside the bungee server
  5. Restart the server.
  6. (Optional) Edit the config inside ./plugins/SkinsRestorer/ folder. (bungeecord)

Commands and Permissions

Here’s a list with commands and permissions to use them
Note: If you use the plugin with bungeecord you will need to add the permissions on the bungeecord side (e.g. config.yml)

Player commands:

/skin - main command.
/skin <skinname> - Sets your skin.
/skin update - Updates your current skin.
/skin clear - clears your skin.
/skins - GUI (spigot 1.13+ only).

Admin commands:

/sr - main admin command
/skin set <playername> <skinname> - Sets player's skin.
/skin clear <player> - clear a player's skin.
/skin update <player> update a player's skin.
/skin drop <skinname> - Removes skins data from database.
/sr reload - Reloads config and locale.
/sr props <playername> - Returns properties of a player.
/sr status - check the plugin status.

Additional Permissions:

skinsrestorer.bypasscooldown -> bypasses skinscooldown config
skinsrestorer.bypassdisabled -> bypass the disabledskins list

More info & Permissions:

see: wiki

[!] only works with "NewPermissions: true" (if false see old perms!)
[!] wildcards ("*") don't work


A new version has been released for SkinsRestorer, it is available for download here.

No description given.


A new version has been released for SkinsRestorer, it is available for download here.

Hey all, long wanted update is here!


/skin to set skins by URL using MineSkin (Permission: "skinsrestorer.command.set.url")
Warning on spigot when using bungeecord to avoid confusion
Verbose config setting to reduce logging messages from SR
"skinsrestorer.ownskin" permission
Remove ChangeSkin detection (we are no longer the underdog)
Support for Java versions older and newer than 1.8
More debugging information to /sr status


/skins GUI skull ordering now always ensured


A new version has been released for SkinsRestorer, it is available for download here.

This is a small bugfix release.


CodeMC maven repository for the upcomming API.


MySQL driver on Velocity
Skins GUI on older versions
SkinStorage nullpointer exception on spigot when running in bungee mode


Great support! I recommend :stuck_out_tongue: