Full overview (English, German, Russian, and Ukrainian dubbing)
NCL Skins Plugin is the server companion for the NCL Skins client mod, letting other players see appearance changes without reconnecting. It supports official Minecraft skin and cape updates, as well as changes from other providers used by the player, including OptiFine and SkinMC, even when their Minecraft profile has not changed.
The player changing their appearance needs NCL Skins. Official skin and cape updates are visible to other players in the world and player list even without the mod. To receive updates from other providers, viewers also need NCL Skins: each player sees the result according to their own enabled providers and priorities.
After changing your cape on the provider’s website, click Refresh in the mod so other NCL Skins players can see the new cape without reconnecting. Local capes from files and resource packs remain visible only to their owner.
The plugin only accepts requests from a currently connected player with a verified identity. For official appearance updates, it rechecks the Minecraft profile and uses only the verified skin or cape from that profile. For updates from other providers, NCL Skins clients fetch fresh data from their own enabled sources. Concurrent requests, their average rate, and short bursts are limited. Repeated requests from one player are combined so that only the latest relevant change is applied.
When many players need to receive an appearance update, the work is spread across server ticks instead of running all at once. A failed refresh for one viewer does not block the others, while stale requests and requests from disconnected players are safely removed from the queue.
One universal JAR contains separate entrypoints for Bukkit-family servers, Velocity, and BungeeCord.
plugins folder| Minecraft version | Standalone server | Velocity network | BungeeCord network |
|---|---|---|---|
| 1.20.1 | CraftBukkit, Spigot, Paper, Purpur, Folia | Paper, Purpur, Folia | Spigot, Paper, Purpur, Folia |
| 1.21.1 | Paper, Purpur | Paper, Purpur | Paper, Purpur |
| 1.21.11 | Paper, Purpur, Folia | Paper, Purpur, Folia | Paper, Purpur, Folia |
| 26.1.1 | Paper | Paper | Paper |
| 26.1.2 | Paper, Purpur, Folia | Paper, Purpur, Folia | Paper, Purpur, Folia |
| 26.2 | Paper, Purpur, Folia | Paper, Purpur, Folia | Paper, Purpur, Folia |
| 26.3 | Paper, Purpur | Paper, Purpur | Paper, Purpur |
The plugin version combines a base version and a build number. For example, in 1.0.0.2, 1.0.0 is the base version and 2 is the build number. The plugin's base version identifies the NCL Skins mod version that introduced its client-server protocol. Later mod versions remain compatible until that protocol changes. When that happens, the new plugin's base version will match the mod version that introduces the change. Compatibility with older mod versions is not guaranteed. Additional plugin builds that add support for newer Minecraft versions do not change which mod versions are compatible.
| Platform | Location | Available settings |
|---|---|---|
| CraftBukkit, Spigot, Paper, Purpur, Folia | plugins/NCLSkinsPlugin/nclskins-server.json5 |
Appearance refresh without reconnecting, trust for verified proxy forwarding, concurrent profile lookups, average request rate, and maximum short-term burst |
| Velocity, BungeeCord | NCL Skins Plugin has no separate configuration file on the proxy | The plugin works without configuration. Configure the applicable verified forwarding mechanism described below on the proxy and backend servers |
The standalone or backend server configuration is created automatically after the first startup. For a proxy network, set realtimeRefresh.trustedProxyForwarding: true on every backend server. Changes take effect after a server restart.
modern player information forwardingNCL Skins Plugin is distributed under the GPL-3.0-only license.