MazeAuth is a lightweight, secure, and modern authentication plugin for Minecraft Paper servers (1.21+). It protects your server by requiring players to register and log in, while offering seamless support for Bedrock players via Geyser/Floodgate.
- Secure Authentication: SHA-256 password hashing.
- Session Management: Auto-login for players rejoining from the same IP (configurable timeout).
- Inventory Protection: Hides player inventory and prevents movement/interaction until logged in.
- Bedrock Support: Auto-authenticates Bedrock players connecting via Floodgate (no password needed).
- Console Security: Automatically filters password commands from console logs.
- Multi-Storage Support:
- SQLite (Default, no setup required)
- MySQL / MariaDB (Experimental)
- Redis (Experimental - High performance)
- Fully Configurable: Customize every message, sound, and title.
- Download the
MazeAuth-1.0.jar. - Drop it into your server's
pluginsfolder. - (Optional but Recommended) Install Floodgate if you allow Bedrock players.
- Restart your server.
Note: This plugin requires Java 21 and runs on Paper 1.21.
| Command | Alias | Description | Permission |
|---|---|---|---|
/register <pass> <pass> |
/reg |
Register a new account. | Default |
/login <pass> |
/l, /log |
Login to your account. | Default |
/logout |
/logoff |
Logout and clear your session. | Default |
/changepassword <old> <new> |
/cp |
Change your password. | Default |
/unregister <pass> |
/unreg |
Delete your account. | Default |
Permission: mazeauth.admin (Default: OP)
| Command | Description |
|---|---|
/mazeauth reload |
Reloads config.yml. |
/mazeauth register <player> <pass> |
Manually register a player. |
/mazeauth unregister <player> |
Forcefully delete a player's account. |
/mazeauth cp <player> <newPass> |
Forcefully change a player's password. |
/mazeauth lastlogin <player> |
Check when a player last logged in. |
The config.yml file allows you to change storage types, messages, and session settings.
By default, MazeAuth uses SQLite (a local file). To use MySQL or Redis, update the storage section:
storage:
# Options: SQLITE, MYSQL, MARIADB, REDIS
type: MYSQL
host: "localhost"
port: 3306
database: "minecraft"
username: "root"
password: "yourpassword"
pool-size: 10
Enable auto-login for players who rejoin quickly.
sessions:
enabled: true
timeout-minutes: 60 # Set to -1 to never expire (IP based only)
clear-on-logout: true # Typing /logout forces a password next time
To build this project yourself, you need JDK 21 installed.
- Clone the repository.
- Open a terminal in the project folder.
- Run the build command:
Windows:
./gradlew clean build
Linux / Mac:
chmod +x gradlew
./gradlew clean build
The output jar will be located in: build/libs/MazeAuth-1.0.jar
Developed by PixelMCN. For bug reports, please open an issue in the repository.