A ZenithProxy plugin for controlling the offline UUID used when ZenithProxy connects outward to a target Minecraft server with offline authentication.
- Sets
CONFIG.authentication.offlineUUIDdirectly (no packet interception) - Supports
fixed,random, andgeneratedUUID modes - Generated mode supports optional
prefix + usernameUUID generation - Lightweight config-only approach
- ZenithProxy
1.21.4 - Java 21+
- Open the Releases page.
- Download the latest
ZenithProxyOfflineUUID-<version>.jar. - Put the jar in the
pluginsfolder next to your ZenithProxy launcher. - Restart ZenithProxy.
.\gradlew.bat buildThe built jar will be placed in build/libs.
Base command:
offlineUUID
Examples:
offlineUUID mode fixed
offlineUUID set 123e4567-e89b-12d3-a456-426614174000
offlineUUID mode generated
offlineUUID prefix OfflinePlayer:
offlineUUID prefix clear
offlineUUID clear
Available subcommands:
offlineUUID- show current configuration and active offlineUUID valueofflineUUID mode <fixed/generated>- set UUID generation modeofflineUUID set <uuid>- set a fixed UUIDofflineUUID clear- clear the fixed UUIDofflineUUID prefix <value>- set the prefix for generated modeofflineUUID prefix clear- clear the prefix
Mode meanings:
fixed: always use the configured UUIDgenerated: generate a deterministic UUID fromprefix + username
offlineUUID mode fixed
offlineUUID set 70542937-7f25-32a5-8a47-600e13eb5b68
offlineUUID mode generated
offlineUUID prefix OfflinePlayer:
The plugin sets CONFIG.authentication.offlineUUID before ZenithProxy connects to the target server. In GENERATED mode, the UUID is auto-regenerated on each connection based on the current username. This field is read by the built-in Authenticator.login() method in ZenithProxy's outbound connection flow.
This plugin does not bypass Mojang online-mode authentication.
If a target server requires authenticated online-mode login, changing UUID alone will not make an offline-auth ZenithProxy session valid there. This plugin is only for UUID control, not account authentication bypass.
Plugin versions are manual.
To release a new version, update plugin_version in gradle.properties, then build and tag the release.
This repository includes GitHub Actions for automation:
- every push and pull request runs the build workflow
- pushing a tag like
v2.0.0creates a GitHub Release and uploads the built jar automatically
- Plugin name:
ZenithProxyOfflineUUID - Plugin id:
offlineUUID - Package:
dev.zenith.offlineuuid - Repository name:
ZenithProxyOfflineUUID
| Branch | ZenithProxy Version | Approach |
|---|---|---|
1.21.4 |
1.21.4 | Config (no Module) |
1.21.11 |
1.21.11 | Packet interception |
See CHANGELOG.md.
This repository is licensed under the LICENSE file included in the project.