
VoidAuth
这是一个新生代的可视化GUI登录模组。This is a next-generation visual GUI login module.
Screenshots




About this Mod
VoidAuth
Mandatory Authentication Mod for Minecraft 26.1–26.1.2 | Fabric | Both-Side Install
VoidAuth is a security authentication mod designed for the Minecraft 26.1 series, requiring both server and client installation. Beyond basic login/registration, it architecturally solves long-standing issues in traditional auth mods — flickering, death-state lockups, and elytra disconnect void traps — while providing full GUI management, fine-grained permissions, and a developer API.
🚀 Quick Start
- Install Fabric Loader 0.19.2+ and Fabric API
- Place VoidAuth in both server and client
modsfolders - Start the server — config auto-generates at
config/voidauth.json - Players join and type
/voidauth register <password>to register, then/voidauth login <password>each visit - Type
/voidauth helpto see all commands (clickable!)
💡 Uses JSON storage by default — zero dependencies, works out of the box. For SQLite/MySQL, just drop the driver jar into the mods folder.
📋 Requirements
| Item | Requirement |
|---|---|
| Minecraft | 26.1 / 26.1.1 / 26.1.2 |
| Java | 25 |
| Fabric Loader | 0.19.2+ |
| Fabric API | 0.145.1+26.1 |
⚠️ Mandatory both-side install — Clients without VoidAuth will be rejected and prompted to install it.
✨ Unique Features at a Glance
These features are not found in other Minecraft authentication mods:
| # | Feature | One-Liner |
|---|---|---|
| 🔒 | 4-Layer Position Lock | Client input freeze + server position sync + move packet intercept + deviation correction — eliminates flickering and X-ray |
| 🌑 | Darkness Anti-Bypass | Darkness effect + forced gamma=0 + F3 screen block — even Fullbright can't see through |
| 🪂 | Elytra Disconnect Protection | Auto-loads 7×7 chunks on join, prevents void trap after elytra disconnect |
| 💀 | Death-State Auto-Recovery | Detects death on logout and auto-respawns on rejoin — no admin intervention needed |
| ⏱️ | Flight Check Grace Period | Configurable grace period after login suppresses fly-hack detection during falling/elytra glide |
| 🛡️ | BCrypt Truncation Guard | Validates password UTF-8 length ≤ 72 bytes, closes the silent BCrypt truncation vulnerability |
| 🔐 | Sequential Character Detection | Blocks abc/123/cba/321 patterns — rejects weak passwords |
| 📝 | Admin Audit Log | All admin actions auto-logged, one-click export with timestamp |
| 🔑 | Fine-Grained Permission Nodes | 7 independent permission nodes, supports Fabric Permissions API |
| 🔌 | Developer API | Callback system + data queries + exception isolation for third-party mod integration |
| 🔄 | Auto Migration | Config and data auto-migrate on upgrade or storage type switch |
| 🛡️ | MySQL Password Protection | Config sync uses placeholder ***, prevents password leak via network |
| ⚙️ | bcryptCostFactor Validation | Server enforces range 10–14, prevents DoS via malicious cost factor |
🔍 Unique Features in Detail
🔒 4-Layer Position Lock — Eliminates Login Flickering & X-Ray
Traditional auth mods only intercept move packets server-side, leaving the client free to move — causing flickering and X-ray. VoidAuth implements four coordinated layers:
- ClientInputMixin — Freezes all keyboard/mouse input
- tickFreeze() + LockPositionPacket — Locks client to server-specified position, zero velocity + no gravity + render interpolation lock
- ServerPlayHandlerMixin — Intercepts all move and vehicle move packets
- ServerPlayerEntityMixin — Actively corrects position deviation, resets fly-check counters
Key innovation: A dedicated LockPositionPayload network packet syncs the server-side coordinates to the client, preventing block-embedding caused by position desync.
🌑 Darkness Anti-Bypass
Traditional mods use Blindness, which Fullbright resource packs easily bypass. VoidAuth uses triple protection:
- Darkness effect — Cannot be penetrated even with max brightness
- Client gamma forced to 0 — Locks render brightness during login, restores after
- F3 debug screen blocked — Prevents coordinate and entity info leaks
⏱️ Flight Check Grace Period
After login, players may still be falling or gliding with elytra. Traditional mods immediately trigger fly-hack detection and kick them. VoidAuth provides a configurable grace period (flightCheckGracePeriodSeconds) that suppresses flight checks, letting players land safely.
🪂 Elytra Disconnect Protection
When a player disconnects mid-elytra-flight and rejoins, traditional mods leave them stuck in the void (chunks not loaded). VoidAuth proactively loads a 7×7 chunk area around the player on join.
💀 Death-State Auto-Recovery
Players who die and disconnect get stuck in a "dead" state on rejoin with traditional mods. VoidAuth records the death state on logout and auto-executes respawn on rejoin.
🛡️ BCrypt 72-Byte Truncation Guard
BCrypt silently truncates passwords beyond 72 bytes. Attackers can exploit this prefix collision to access other accounts. VoidAuth validates UTF-8 byte length and rejects passwords exceeding 72 bytes.
🔐 Sequential Character Detection
Beyond requiring letters + digits, VoidAuth detects ascending/descending sequences (e.g. abc, 123, cba, 321) to reject weak passwords.
📝 Admin Audit Log
All admin actions are automatically logged to logs/voidauth-admin.log. Export a timestamped copy with /voidauth exportlog.
🔑 Fine-Grained Permission Nodes
| Permission Node | Action |
|---|---|
voidauth.admin.reset |
Reset player password |
voidauth.admin.setpassword |
Force-set password |
voidauth.admin.delete |
Delete player account |
voidauth.admin.list |
View player list |
voidauth.admin.reload |
Reload config |
voidauth.admin.config |
Modify config |
voidauth.admin.exportlog |
Export admin log |
Falls back to OP check when Fabric Permissions API is not installed.
🔌 Developer API & Callback System
VoidAuthAPI.registerCallback(new AuthCallbackAdapter() {
@Override
public void onAuthenticated(UUID uuid) { /* Login success */ }
});
Set<UUID> authenticated = VoidAuthAPI.getAuthenticatedPlayers();
Optional<PlayerData> data = VoidAuthAPI.getPlayerData(uuid);
AuthCallbackAdapterprovides empty implementations for selective override- Callback exceptions are auto-isolated — one failing callback won't affect others
🔄 Auto Migration
- Config: Automatic version migration on mod upgrade — no lost settings
- Data: Automatic migration when switching storage type (JSON → SQLite → MySQL)
🛡️ MySQL Password Protection
Config sync packets replace the MySQL password with ***. The server only updates the password when the client sends a non-empty, non-placeholder value.
⚙️ bcryptCostFactor Validation
Server enforces BCrypt cost factor range 10–14, preventing DoS via maliciously high values.
🎮 Full Feature List
Player Commands
| Command | Description | Click Behavior |
|---|---|---|
/voidauth login <password> |
Login | Fills command, type password |
/voidauth register <password> |
Register | Fills command, type password |
/voidauth info |
View personal info | Click to execute |
/voidauth changepassword |
Open change password GUI | Click to execute |
/voidauth email |
Open email management GUI | Click to execute |
/voidauth unregister |
Delete account (requires confirmation) | Fills command, confirm after prompt |
/voidauth help |
Show help menu | Click to execute |
Admin Commands
| Command | Description | Permission | Click Behavior |
|---|---|---|---|
/voidauth reset <player> |
Reset player password | voidauth.admin.reset |
Fills command, type player name |
/voidauth setpassword <player> <password> |
Force-set password | voidauth.admin.setpassword |
Fills command, type name & password |
/voidauth list [page] |
View registered players | voidauth.admin.list |
Click to execute |
/voidauth delete <player> |
Delete player account | voidauth.admin.delete |
Fills command, type player name |
/voidauth reload |
Reload config | voidauth.admin.reload |
Click to execute |
/voidauth config |
Open config GUI | voidauth.admin.config |
Click to execute |
/voidauth exportlog |
Export admin log | voidauth.admin.exportlog |
Click to execute |
💡 All commands in the help menu are clickable. Commands requiring parameters auto-fill into the chat bar.
GUI Screens
- Login Screen — With countdown timer, auto-kick on timeout
- Register Screen — Optional email binding during registration
- Change Password Screen — Old + new + confirm password fields
- Email Management Screen — Bind / change / unbind modes
- Config Management Screen — Visual editor for all settings
- Account Management Screen — Unified entry point
Security
- BCrypt password hashing (configurable cost factor 10–14)
- Password strength validation (min 6 chars + letters & digits + sequential char detection + 72-byte cap)
- Login failure lockout (configurable attempts & duration)
- Same-IP auto-login (configurable validity period)
- Account deletion with confirmation + effect cleanup + data purge
Data Storage
| Storage | Description | Dependency |
|---|---|---|
| JSON | Default, zero-dependency | None |
| SQLite | For small-medium servers | Install sqlite-jdbc in mods folder |
| MySQL | For large servers / multi-server | Install mysql-connector-j in mods folder |
Data auto-migrates when switching storage type. Falls back to JSON with a warning if driver is missing.
🔧 Optional Dependencies
| Dependency | Purpose | Installation |
|---|---|---|
| sqlite-jdbc | SQLite storage | Place jar in mods folder |
| mysql-connector-j | MySQL storage | Place jar in mods folder |
| Fabric Permissions API | Fine-grained permissions | Place in mods folder |
Auto-fallback to defaults (JSON storage + OP permission check) when not installed. Core features unaffected.
⚙️ Configuration
| Setting | Default | Description |
|---|---|---|
loginTimeoutSeconds |
120 | Login timeout (seconds) |
maxPasswordAttempts |
5 | Max password attempts |
lockDurationMinutes |
30 | Account lock duration (minutes) |
bcryptCostFactor |
10 | BCrypt cost factor (10–14) |
ipAutoLoginEnabled |
true | Enable same-IP auto-login |
ipAutoLoginDurationHours |
24 | Auto-login validity (hours) |
storageType |
json | Storage type (json/sqlite/mysql) |
flightCheckGracePeriodSeconds |
30 | Flight check grace period (seconds) |
mysqlHost |
localhost | MySQL host |
mysqlPort |
3306 | MySQL port |
mysqlDatabase |
voidauth | MySQL database name |
mysqlUsername |
root | MySQL username |
mysqlPassword |
MySQL password | |
mysqlPoolSize |
5 | MySQL connection pool size |
📜 Developer API
// Add dependency
dependencies {
modImplementation "com.voidauth:voidauth:1.0.0"
}
// Register callback
VoidAuthAPI.registerCallback(new AuthCallbackAdapter() {
@Override
public void onAuthenticated(UUID uuid) { /* Login success */ }
});
// Data queries
Optional<PlayerData> data = VoidAuthAPI.getPlayerData(uuid);
Set<UUID> authenticated = VoidAuthAPI.getAuthenticatedPlayers();
boolean isAuth = VoidAuthAPI.isAuthenticated(uuid);
❓ FAQ
Q: Can players join without VoidAuth installed?
A: No. Clients without VoidAuth are rejected and prompted to install it.
Q: Do I need to login in singleplayer?
A: No. The host player auto-authenticates in singleplayer (including LAN).
Q: How do I switch storage type?
A: Change storageType in config/voidauth.json and restart. Existing data auto-migrates.
Q: What if I forget my password?
A: Admins can use /voidauth reset <player> to reset it.
Q: Which Minecraft versions are supported?
A: 26.1, 26.1.1, and 26.1.2. Not compatible with older versions.
📄 License
© 2025 VoidAuth. All Rights Reserved.
This mod is closed-source software. All rights are reserved. Without prior written authorization from the author, the following are prohibited:
- Decompiling, reverse engineering, or disassembling this software
- Modifying, adapting, or creating derivative works
- Distributing, re-licensing, or selling the source code of this software
- Removing or altering any copyright notices in this software
Users are granted a non-exclusive, non-transferable license to install and use this software solely for personal, non-commercial purposes.
Available Versions
How to Install VoidAuth on Your Server
Order Server
Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).
Set fabric Loader
In the panel under "Egg", select the fabric loader and matching Minecraft version (26.1.2).
Install Mod
Open the mod browser in the dashboard and search for "VoidAuth". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.
Compatibility
Mod Loaders
Minecraft Versions
26.1.2, 26.1.1, 26.1
Server-side
✓ RequiredRecommended RAM
4 GB(min. 3 GB)Frequently Asked Questions
VoidAuth server crashes on startup – what to do?
Most common cause: wrong fabric 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 (26.1.2). You can switch loaders with one click in the panel.
Is VoidAuth compatible with fabric?
VoidAuth officially supports fabric for Minecraft 26.1.2, 26.1.1, 26.1. The Mado dashboard automatically detects incompatible loader combinations.
Server lagging with VoidAuth – how to optimize performance?
Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if VoidAuth 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.
Similar Mods
Rent Modded Server
Install VoidAuth with just one click on your server.