Skip to content

MazeAuth is a lightweight, secure, and modern authentication plugin for Minecraft Paper servers (1.21+).

License

Notifications You must be signed in to change notification settings

PixelMCN/MazeAuth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MazeAuth

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.

Features

  • 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.

Installation

  1. Download the MazeAuth-1.0.jar.
  2. Drop it into your server's plugins folder.
  3. (Optional but Recommended) Install Floodgate if you allow Bedrock players.
  4. Restart your server.

Note: This plugin requires Java 21 and runs on Paper 1.21.


Commands & Permissions

Player Commands

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

Admin Commands

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.

Configuration

The config.yml file allows you to change storage types, messages, and session settings.

Storage Setup

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

Session Settings

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

Building from Source

To build this project yourself, you need JDK 21 installed.

  1. Clone the repository.
  2. Open a terminal in the project folder.
  3. 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


Support

Developed by PixelMCN. For bug reports, please open an issue in the repository.


About

MazeAuth is a lightweight, secure, and modern authentication plugin for Minecraft Paper servers (1.21+).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages