Bedrock Skin RestorerPlugins · 1.21 – 26.xShow a Bedrock player's skin on your server.

TrueUUID lets premium and offline-mode Minecraft players play together on the same server. Premium players keep their real Minecraft UUID and skin, while…
Opens Modrinth · 33,078 downloads there
TrueUUID lets premium and offline-mode Minecraft players play together on the same server. Premium players keep their real Minecraft UUID and skin, while…
TrueUUID is a plugin for Paper / Spigot servers, made by YuWan030. It supports Minecraft 1.20 – 1.21. It has been downloaded 33,078 times on Modrinth. That puts it at #49 of the 108 cosmetic and display plugins listed here. The last update came out on Sep 14, 2026.
TrueUUID has had 101 releases on Modrinth since Sep 7, 2025. 97 of them came out in the past year. The newest is 1.3.0+forge-1.21.6, released on Sep 13, 2026. It is made for Minecraft 1.21.6. It runs on Forge. The download is 254 KB.
| Version | Released | Minecraft | Type |
|---|---|---|---|
1.3.0+forge-1.21.6 | Sep 13, 2026 | 1.21.6 | Release |
1.3.0+fabric-1.20.2 | Sep 13, 2026 | 1.20.2 | Release |
1.3.0+neoforge-1.20.1 | Sep 13, 2026 | 1.20.1 | Release |
1.3.0+fabric-1.20.3 | Sep 13, 2026 | 1.20.3 | Release |
1.3.0+neoforge-1.20.4 | Sep 13, 2026 | 1.20.4 | Release |
The commands named on the Modrinth page of TrueUUID:
/trueuuidTrueUUID is open source. Its newest release on GitHub is v1.3.0-TrueUUID, published on Sep 13, 2026.
TrueUUID 1.3.0 is a security update for every Forge, Fabric, and NeoForge
build. It also delivers the exact-patch coverage prepared for 1.2.1, which was
never published. This release contains 52 exact mod builds for Minecraft 1.20.1
through 1.21.11 and new server plugins for Spigot 1.20.1 and Paper 1.20.1. The
login flow of every mod build passed the installed-JAR login matrix: premium
login, offline fallback, confirmed migration, and known-name denial.
Read all release notes on GitHub
Before that: v1.2.0-TrueUUID (Jul 23, 2026), v1.0.2-TrueUUID (Jul 15, 2026).
English | 简体中文
TrueUUID adds account verification to modded Minecraft servers that run in
offline mode. A premium player's access token stays on their own computer; the
server receives only the login proof needed to verify their UUID and skin.
The same TrueUUID JAR must be installed on the client and server. Always choose
the JAR made for your exact Minecraft version and loader.
[!IMPORTANT]
Version 1.2.0 publishes only the 36 exact targets approved in the
[target matrix](docs/architecture/target-matrix.md). Omitted Minecraft
patches are not implicitly supported.
online-mode=false
premium login and red when the server accepts offline fallback.
Do not expose a development server created by run-dev-target.sh to the
internet. It deliberately binds to localhost and uses offline mode for testing.
server.
login.
previously verified.
address checks, and redirect refusal.
that feature in the target matrix.
All 36 currently declared adapters include offline-to-verified data migration,
admin commands, and the addon API. Every exact target passed the premium,
offline fallback, confirmed migration, and known-name denial installed-JAR
matrix. Consult the target matrix instead of assuming every implemented feature
or an omitted adjacent Minecraft patch was exercised.
joinServer call. Its access token never leaves the client.
offline-fallback policy.
For an allowed Yggdrasil provider, the same flow uses its HTTPS session
endpoint. Custom endpoints are disabled until their host is explicitly
allowlisted.
Do not use a Forge JAR in NeoForge, or a JAR built for another Minecraft patch.
For Fabric, use the remapped JAR in build/libs, never the development JAR in
build/devlibs.
Forge and NeoForge generate:
config/trueuuid-common.toml
Fabric generates:
config/trueuuid.json
Forge and NeoForge use the TOML keys below. Fabric stores the matching login
policy settings in the JSON auth object; the target matrix lists any
adapter-specific gaps.
The main policy options are:
auth.timeoutMs = 30000
auth.allowOfflineOnTimeout = false
auth.allowOfflineOnFailure = true
auth.knownPremiumDenyOffline = true
auth.allowOfflineForUnknownOnly = true
auth.recentIpGrace.enabled = true
auth.recentIpGrace.ttlSeconds = 10
auth.showJoinFeedback = true
auth.showJoinTitle = false
auth.showAccountOverlay = true
The recommended defaults allow an unknown offline name but stop that name from
falling back to offline mode after it has completed a verified login.
All three loaders can position the account badge. Forge and NeoForge use TOML;
Fabric uses the matching keys inside the JSON auth object:
auth.overlayCorner = "bottom_right"
auth.overlayOffsetX = 0
auth.overlayOffsetY = 0
auth.overlayScale = 1.25
For Yggdrasil/authlib-injector providers, add only hosts you trust:
auth.yggdrasil.apiRootWhitelist = ["littleskin.cn"]
An empty allowlist keeps Mojang as the only accepted session service.
TrueUUID can back up and move same-name offline player data to a verified UUID.
Migration requires confirmation and preserves both
the old offline data and any existing destination data before changing files.
Available admin commands:
/trueuuid cleanupuuid
/trueuuid migrateuuid
Both commands require permission level 4. The target matrix identifies which
adapters currently include migration.
The server-side API exposes cn.alini.trueuuid.api.TrueuuidApi. Other mods can
query whether a player joined as premium or through offline fallback:
AccountStatus status = TrueuuidApi.getStatus(serverPlayer);
if (status.isOffline()) {
// Apply your server's offline-player policy.
}
The API also provides a login callback and access to the verified-name
registry. Check the target matrix before depending on it.
Gradle must be launched with Java 21 for every target. Java 17 targets are
still compiled and run with their declared Java 17 toolchain automatically.
On Linux, from the repository checkout:
cd ~/TrueUUID
export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64
export PATH="$JAVA_HOME/bin:$PATH"
TARGET=neoforge-1.21.11
./scripts/ci/build-target.sh "$TARGET"
The Prism-ready JAR is then:
platform/neoforge-1.21.11/build/libs/trueuuid-1.2.0-neoforge-1.21.11.jar
Change TARGET to any ID in release/targets.json, for example:
forge-1.20.1
forge-1.21.6
forge-1.21.8
fabric-1.20.1
fabric-1.20.2
fabric-1.20.4
fabric-1.20.6
fabric-1.21.1
fabric-1.21.3
fabric-1.21.4
fabric-1.21.5
fabric-1.21.6
fabric-1.21.8
fabric-1.21.10
fabric-1.21.11
neoforge-1.20.4
neoforge-1.21.11
List every available target with:
jq -r '.targets[].id' release/targets.json
On Windows PowerShell, with Java 21 selected:
.\gradlew.bat :platform:neoforge-1.21.11:build --no-daemon
.\platform\forge-1.21.11\gradlew.bat -p platform/forge-1.21.11 build --no-daemon
To build every target instead:
./scripts/ci/build-all-targets.sh
Each finished production JAR is written to:
platform/-/build/libs/
For local client/server development runs, see
[local runtime testing](docs/development/local-runtime-testing.md).
properties—not the token.
DNS/IP, timeout, response-size, and redirect checks.
shared servers.
TrueUUID is licensed under the GNU LGPL 3.0.
The original TrueUUID lock badge textures are Copyright (C) 2026 F1xGOD and
are distributed with the project under the same GNU LGPL 3.0 license.
Maintained by @YuWan-030,
@wish131400, and
@F1xGOD.
Written by YuWan030. Read it with pictures on Modrinth.
Make sure your server runs Paper and Spigot on Minecraft 1.20 – 1.21.
Download the .jar file from Modrinth and put it in the plugins folder of your server.
Restart the server. Avoid /reload, many plugins do not handle it well.
Type /plugins in the console: TrueUUID should be listed in green. Its config files are created in the plugins folder on the first start.
| Resource | Downloads | Versions | Last update | Price |
|---|---|---|---|---|
| 33K | 1.20 – 1.21 | Sep 14, 2026 | Free | |
| 50K | 1.21 – 26.x | Sep 7, 2026 | Free | |
| 10 | 1.21 | 1 day ago | Free | |
| 64 | 1.21 – 26.x | 25 days ago | Free |
Not yet. The newest version it supports is Minecraft 1.21.
Yes. TrueUUID is free to download from Modrinth.
TrueUUID runs on Paper and Spigot servers.
Yes. The last update came out in the past day.
The closest ones are Bedrock Skin Restorer, Scripted Smp Core and SunshineCommandGuard. Compare all alternatives
Bedrock Skin RestorerPlugins · 1.21 – 26.xShow a Bedrock player's skin on your server.
Scripted Smp CorePlugins · 1.21Nick • Skin • Immortality • Teams • DeathBan • Rollback and much more! Essentials for a scripted server!
SunshineCommandGuardPlugins · 1.21 – 26.xHide commands from tab-complete, block their execution, and keep your plugin list private
CommandWhitelistPlugins · 1.13 – 26.xYou decide what commands players can use or tab complete on your server!
Simple RanksPlugins · 1.20 – 26.xSimple rank plugin allowing for custom-colored, ordered ranks in tab list, name tags, chat, and Placeholder API placeholders!
SkinsRestorerPlugins · 1.8 – 26.xAbility to restore/change skins on servers! (Offline and Online Mode)
Log in to leave a review.