MaskAuth
作者:rebot | 分类:模组
Minecraft 版本: 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.20 1.20.1 1.20.2 1.20.3 1.20.4 1.20.5 1.20.6 1.21 1.21.1 1.21.2 1.21.3 1.21.4 1.21.5 1.21.6 1.21.7 1.21.8 1.21.9 1.21.10 1.21.11 26.1 26.1.1 26.1.2
平台: bukkit bungeecord paper purpur spigot
[](https://www.spigotmc.org) [](https://papermc.io) [](https://adoptium.net) [](#-license) [](https://github.com/ALLAY-XD-20/MaskAuth/releases)
> **🔐 The most stylish authentication plugin for Minecraft.** > A 6-digit PIN system with a fully interactive GUI numpad, custom number-head skulls, IP tracking, BungeeCord support, and total account security — all in one.
🖼️ Preview
✨ Features
🔢 GUI-Based PIN System
- Fully interactive 54-slot chest GUI — no chat commands needed
- Custom player-head skulls for every digit
0–9, each with a unique number skin - Live PIN indicator — 6 slot display at the top fills in as you click digits (shown as
●dots) - Auto-confirm when all 6 digits are entered
- Backspace and Confirm skull buttons
- GUI re-opens automatically if closed before authentication — no bypass possible
🛡️ Rock-Solid Security
- PINs hashed with SHA-256 + UUID salt — never stored in plaintext
- Movement freeze while unauthenticated
- Blindness effect on join until authenticated
- Chat and command blocking until login completes
- Max attempt limit — too many wrong PINs = kick
🌐 IP Tracking & Control
- 📍 Full IP history logged per player with timestamps
- 🚫 IP account limit — configurable max accounts per IP address
- 🔔 Admin alerts when a player logs in from a new IP
- 🔍
/maskauth ipinfo <player>to view a player's complete IP history
🕹️ Legacy Player Support
- Players on older clients or who prefer commands can use:
/register <pin>— register with a 6-digit PIN via chat/login <pin>— authenticate via chat command
- Fully toggleable in
config.yml
🌍 Auth World
- Unauthenticated players are teleported to a designated auth world/spawn
- Configurable world name, XYZ coordinates, yaw & pitch
🔗 BungeeCord Integration
- Designate this server as an auth server
- Automatically forward authenticated players to your lobby/main server
- Compatible with BungeeCord's IP forwarding
💬 Fully Custom Messages
- Every single message is configurable in
config.yml - Full
&color code support - Custom prefix with color formatting
📦 Installation
1. Download MaskAuth-1.0.0.jar
2. Drop it into your /plugins/ folder
3. Restart your server
4. Configure plugins/MaskAuth/config.yml
5. ✅ Done!
Requirements: Spigot or Paper 1.20.x · Java 11+
🔧 Commands
| Command | Description | Permission |
|---|---|---|
/register |
Open register GUI (or /register <pin> legacy) |
— |
/login |
Open login GUI (or /login <pin> legacy) |
— |
/changepin |
Change your PIN via GUI | — |
/unregister <player> |
Delete a player's auth data | maskauth.admin |
/maskauth reload |
Reload the config | maskauth.admin |
/maskauth status |
View live auth status | maskauth.admin |
/maskauth ipinfo <player> |
View player IP history | maskauth.admin |
/maskauth info |
Plugin version info | maskauth.admin |
🔑 Permissions
| Permission | Description | Default |
|---|---|---|
maskauth.admin |
Full admin access | OP |
maskauth.bypass |
Skip authentication entirely | false |
maskauth.ipbypass |
Bypass IP account limit | false |
⚙️ Configuration
📄 Click to expand config.yml ```yaml settings: session-timeout: 0 # Seconds to remember login (0 = off) max-attempts: 5 # Wrong PIN attempts before kick login-timeout: 60 # Seconds to authenticate before kick blind-on-join: true # Apply blindness until authenticated freeze-movement: true # Freeze player until authenticated hide-until-auth: true # Hide player from others until auth auth-world: enabled: true world: "world" spawn: { x: 0.5, y: 64.0, z: 0.5 } legacy-support: enabled: true # Allow /login and /register ip-settings: max-accounts-per-ip: 3 track-ip-history: true alert-admins-on-new-ip: true bungeecord: enabled: false is-auth-server: false forward-server: "lobby" gui: register-title: "&8🔐 &bMask&3Auth &8» &7Register" login-title: "&8🔐 &bMask&3Auth &8» &7Login" mask-display: true # Show ● instead of actual digits ```🎨 GUI Layout
┌─────────────────────────────────────────────────────┐
│ [●] [●] [●] [○] [○] [○] ← PIN display (6 slots) │
│─────────────────────────────────────────────────────│
│ [ 7 ] [ 8 ] [ 9 ] [ ⌫ ] ← Number skulls │
│ [ 4 ] [ 5 ] [ 6 ] [ ] │
│ [ 1 ] [ 2 ] [ 3 ] [ ✔ ] ← Confirm │
│ [ 0 ] [ ] │
└─────────────────────────────────────────────────────┘
Each number is a custom player head with digit skin
🔒 How Security Works
Player enters PIN via GUI
↓
SHA-256( UUID + "::maskauth::" + PIN )
↓
Stored hash compared — raw PIN never saved
↓
✅ Match → Authenticated ❌ No match → Attempt recorded
Salting with the player's UUID means two players with the same PIN have completely different stored hashes.
🗂️ Data Storage
Player data is stored in plugins/MaskAuth/data/players.yml:
players:
<uuid>:
name: "Steve"
hashed-pin: "a3f5c8..." # SHA-256 hash — never plaintext
registered-ip: "192.168.1.1"
registered-at: 1700000000000
ip-history:
192_168_1_1: 1700000000000
10_0_0_5: 1700005000000
🌐 BungeeCord Setup
- Enable
bungeecord.enabled: trueinconfig.yml - Set
is-auth-server: trueon your auth server - Set
forward-server: "lobby"to your main server name - Players authenticate → automatically forwarded to lobby
📋 Compatibility
| Platform | Status |
|---|---|
| Spigot 1.20.x | ✅ Supported |
| Paper 1.20.x | ✅ Supported |
| BungeeCord | ✅ Supported |
| Velocity | ⚠️ Untested |
| Spigot 1.18–1.19 | ⚠️ May work |
🐛 Issues & Support
Found a bug or have a feature request?
💬 Discord:
allay_gaming_x
🐙 GitHub: @ALLAY-XD-20
📜 License
请登录后举报
暂无评论,抢个沙发吧~