TrueUUID

TrueUUID

A Forge 1.20.X mod that securely verifies premium accounts on an offline-mode server during the login phase, without sending the player's access token to the server.

by
15.0K Downloads
forgeneoforge
Rent Server with this Mod

About this Mod

TrueUUID

English | 简体中文

A Forge 1.20.X mod that securely verifies premium accounts on an offline-mode server during the login phase, without sending the player's access token to the server.

TrueUUID lets an offline-mode server:

  • Ask the client to perform Mojang "joinServer" locally.
  • Verify with Mojang Session Server from the server using a nonce.
  • If verification passes: replace the player's UUID with the official premium UUID, fix username casing, and inject skin properties.
  • If verification fails or times out: configurable behavior (kick on timeout by default; failover to offline mode for verification failures by default).
  • Inform the player on join with a Title whether they are in "Online/Premium Mode" or "Offline Mode" and send an explanatory chat message for offline fallback.

Note: Client and server must both install this mod. The server must run in offline mode.

Why

  • Privacy-preserving: the player's access token never leaves the client. The client calls joinServer(profile, token, nonce) locally.
  • Better identity integrity: even in offline mode, verified players keep their official UUID and skins.
  • Clear UX: show Title messages for premium vs offline mode, plus a chat hint when falling back to offline.

How it works

  1. Server is in offline mode. During login (HELLO), the server sends a custom login query with a nonce (transactionId + identifier trueuuid:auth + data).

  2. The client replies with a boolean ack (no sensitive data).

  3. The server calls Mojang Session Server /hasJoined?username={name}&serverId={nonce}[&ip={ip}].

  4. If success:

    • Replace the pending login GameProfile with premium UUID and the name returned from Mojang (ensuring correct casing).
    • Inject skin properties (textures) with signature into the GameProfile property map.
    • After join, force-refresh player info so skins update.
    • Show a green Title "Premium Mode".
  5. If failure:

    • Behavior is configurable. By default:
      • Timeout: kick with configurable message.
      • Any verification failure (ack=false / hasJoined failed / server error): fall back to vanilla offline flow (no UUID replacement), then:
        • Show a red Title "Offline Mode" with a short subtitle.
        • Send a chat message explaining that the session failed and it might be due to network issues.

Requirements

  • Minecraft: 1.20.X
  • Forge: 47.x (e.g., 47.4.8)
  • Java: 17
  • Client and server must both install this mod.
  • Server property: online-mode=false

Installation

  • Server:
    • Set online-mode=false in server.properties.
    • Place the built JAR in mods/.
  • Client:
    • Place the same JAR in mods/.

Tip: If the client does not have this mod, the server will not receive a valid response to the custom login query. Depending on configuration, the server may kick or fall back to offline mode.

Configuration

After the first run, a config file is generated:

  • config/trueuuid-common.toml

Keys and defaults (reflecting the recommended behavior):

  • auth.timeoutMs = 10000
    • Login-phase wait time (milliseconds) for the client's reply.
  • auth.allowOfflineOnTimeout = false
    • false: kick on timeout (default)
    • true: allow offline fallback if timeout occurs
  • auth.allowOfflineOnFailure = true
    • true: allow offline fallback on any verification failure (default)
    • false: disconnect on failure
  • auth.timeoutKickMessage = "登录超时,未完成正版校验"
    • Kick reason shown on timeout.
  • auth.offlineFallbackMessage = "注意:你当前以离线模式进入服务器;如果你是正版账号,可能是网络原因导致无法成功鉴权。"
    • Chat message shown to the player if they were allowed in via offline fallback.
  • auth.offlineShortSubtitle = "鉴权失败:离线模式"
    • Short subtitle for the Title when in offline mode.
  • auth.onlineShortSubtitle = "已通过正版校验"
    • Short subtitle for the Title when in premium mode.

Notes:

  • The "Title" uses short subtitles to avoid overflowing the screen.
  • The long explanatory message is sent via chat when offline fallback happens.

Compatibility and notes

  • Proxies (Bungee/Velocity): The server optionally includes the client IP in the Mojang /hasJoined call when available. If you're behind a proxy that hides the real IP, verification still works because ip is optional for Mojang's endpoint.
  • Skins: Skin properties are injected during login. The server broadcasts a player info refresh after join to force client-side skin updates.
  • If the client is unmodded: it will not respond with the expected payload. Depending on config, the server will either kick or allow offline fallback.

Privacy

  • The player's access token is never sent to your server. The token is used locally on the client to call joinServer.
  • The server only receives a boolean ack and then itself contacts Mojang's session server to verify the nonce.

License

  • GNU LGPL 3.0 (see gradle.properties / project license)

Credits

  • Mojang authlib and session API.
  • Sponge Mixin.
  • ForgeGradle.

Maintained by: @YuWan-030

Available Versions

TrueUUID 1.0.9release
MC 1.21.1neoforge
June 1, 2026
TrueUUID 1.0.9release
MC 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6forge
June 1, 2026
TrueUUID 1.0.4release
MC 1.21.1neoforge
November 28, 2025
TrueUUID 1.0.5release
MC 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5forge
October 19, 2025
TrueUUID 1.0.2release
MC 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6forge
September 9, 2025

How to Install TrueUUID on Your Server

1

Order Server

Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).

2

Set forge Loader

In the panel under "Egg", select the forge loader and matching Minecraft version (1.21.1).

3

Install Mod

Open the mod browser in the dashboard and search for "TrueUUID". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.

Compatibility

Mod Loaders

forgeneoforge

Minecraft Versions

1.21.1, 1.20.6, 1.20.5 (+4 more)

Server-side

Required

Recommended RAM

4 GB(min. 3 GB)

Frequently Asked Questions

TrueUUID server crashes on startup – what to do?

Most common cause: wrong forge version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (1.21.1). You can switch loaders with one click in the panel.

Is TrueUUID compatible with forge and neoforge?

TrueUUID officially supports forge, neoforge for Minecraft 1.21.1, 1.20.6, 1.20.5. The Mado dashboard automatically detects incompatible loader combinations.

Server lagging with TrueUUID – how to optimize performance?

Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if TrueUUID consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.

Rent Modded Server

Install TrueUUID with just one click on your server.

Recommended RAM
4 GBab €8/mo
Min. 3 GB | +1 GB pro 8 Spieler
Create Server Now
1-Click Mod Install
NVMe SSD Storage
DDoS Protection included

Details

License
GNU Lesser General Public License v3.0 only
Server-side
Required

Supported Versions

1.21.11.20.61.20.51.20.41.20.31.20.21.20.1