https://github.com/ub01root/authx
https://github.com/ub01root/authx
authentication login minecraft plugin-minecraft
Last synced: 11 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/ub01root/authx
- Owner: ub01root
- License: apache-2.0
- Created: 2026-07-12T02:31:47.000Z (15 days ago)
- Default Branch: main
- Last Pushed: 2026-07-12T03:10:16.000Z (15 days ago)
- Last Synced: 2026-07-12T04:24:37.080Z (15 days ago)
- Topics: authentication, login, minecraft, plugin-minecraft
- Homepage: https://securityx.sbs
- Size: 66.4 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
ð AuthX
Advanced multi-platform authentication plugin for Minecraft servers
ð Secure âĒ âĄ Lightweight âĒ ðïļ Multi-Database âĒ ð Multi-Language âĒ ð Proxy-Ready âĒ ðĄïļ Anti-Tamper
---
## ð About
AuthX is a high-performance authentication plugin built for modern Minecraft servers. It provides a complete account security solution with premium verification, anti-bot protection, multi-database support, Discord 2FA, and seamless proxy integration.
Designed for server owners who need **rock-solid security** without sacrificing performance or usability.
---
## âĻ Features
### ð Authentication & Security
- ð **Secure Password Hashing** â BCrypt (default), SHA-256, and PBKDF2 with auto-rehashing
- ðĪ **Anti-Bot / CAPTCHA** â Interactive GUI-based captcha for unregistered players
- âąïļ **Rate Limiting** â Configurable cooldowns to prevent brute-force attacks
- ðĪ **Session Management** â Skip re-login on rejoin with IP-verified sessions
- ðŦ **Max Accounts Per IP** â Prevent multi-account abuse
- ðŠ **Password Strength Rules** â Enforce length, mixed case, numbers, and special characters
- ðŦ **Blocked Passwords** â Built-in list of common passwords players cannot use
- ð **IP Change Alerts** â Notifies players when their IP address changes
### ðŪ Premium Integration
- â
**Premium Auto-Login** â Verified premium players authenticate automatically
- ð **Premium Linking** â Link cracked + premium accounts via `AX-XXXX` verification code
- ð **Proxy Auto-Detection** â Automatically detects Velocity and BungeeCord
- ð **UUID Migration** â Seamless UUID migration with LuckPerms permission transfer
- ðĄ **ProtocolLib Support** â Standalone premium verification without a proxy
### ðïļ Multi-Database
| Database | Use Case |
|----------|----------|
| ðŠķ **SQLite** | Default, zero-config, file-based |
| ðŽ **MySQL** | Production servers, HikariCP connection pooling |
| ð **MongoDB** | Document-based, scalable |
| ⥠**Redis** | High-speed caching / networks |
### ð Multi-Language (14 Languages)
ðšðļ English âĒ ðŠðļ Spanish âĒ ðŦð· French âĒ ðĐðŠ German âĒ ð§ð· Portuguese âĒ ðŪðđ Italian âĒ ðģðą Dutch âĒ ðĩðą Polish âĒ ð·ðš Russian âĒ ðđð· Turkish âĒ ðĻðģ Chinese âĒ ðŊðĩ Japanese âĒ ð°ð· Korean âĒ ðļðĶ Arabic
### ð Proxy Support
- ⥠**Velocity** â Full plugin channel support, real UUID capture
- ð **BungeeCord** â Legacy channel support
- ð **Auto-login** â Premium players authenticate through the proxy
- ð **Verification Code System** â Link accounts across proxy sub-servers
### ðĻ Visual Effects
- ðïļ Blindness & speed lock for unauthenticated players
- ð Boss bar countdown timer (color changes as time runs out)
- ðŽ Action bar reminder
- ðš Custom login / register / success screen titles
- ð Configurable welcome messages with placeholders
- ð Level-up sound on successful authentication
### ð Spawn System
- ðĄïļ **Auth** â Waiting area while players authenticate
- ð **First Join** â Spawn point on first registration
- â
**Join** â Teleport location after successful login
- ð **Respawn** â Custom respawn location for authenticated players
### ðą Two-Factor Authentication (2FA)
- ð **TOTP (Authenticator App)** â Google Authenticator, Authy, or any TOTP-compatible app
- ðĪ **Discord Bot 2FA** â Receive login/verify requests via Discord DM with Accept/Deny buttons
- âïļ **Per-Action Protection** â Enable/disable 2FA separately for login, unregister, and password change
- ðĄïļ **Discord Embeds** â Rich embeds with color, footer, and interactive buttons
- ð **Security Status GUI** â View and configure 2FA protection settings in `/account`
### ð Anti-Tamper Protection
- ðĄïļ **Integrity Verification** â SHA-256 checksums of all class files (auto-generated on first run)
- ð **Bytecode Scanning** â Detects ProcessBuilder, Runtime.exec, Socket, System.exit, and 20+ threat patterns
- ðŦ **JavaAssist Detection** â Detects `-javaagent`, instrumentation, and bytecode manipulation libraries
- ð **Auto-Disable** â Plugin automatically disables when tampering is detected
- ð **Detailed Logging** â Every security violation logged with severity level
### ð Moderation & Administration
- âïļ **Admin GUI** â Full account settings GUI (`/account`)
- ð **Login History** â View last 10 authentication events with masked IPs
- ðą **2FA / TOTP** â Time-based one-time passwords via authenticator apps
- ðŽ **Discord Webhook Alerts** â Real-time notifications for security events
- ð **Comprehensive Logging** â Every auth event logged to database
- â
**Whitelist Mode** â Built-in whitelist with add/remove/list management
- ð **PlaceholderAPI** â 10+ placeholders for scoreboards, tab lists, and more
### ðĨïļ Console
- ðĻ Professional startup output with ASCII banner
- ð Color-coded console messages
- ð Password filter â prevents sensitive commands from appearing in server logs
### ðĶ Build & Obfuscation
- ðĄïļ **yGuard Obfuscation** â Automatic class/method name obfuscation on `mvn clean package`
- ð **Shaded Dependencies** â HikariCP, JDA, jBCrypt, bStats, OkHttp bundled and relocated
- ðĶ **Self-Contained JAR** â No extra jars needed, drop in `plugins/` and go
---
## ð Commands
### ðĪ Player Commands
| Command | Alias | Description |
|---------|-------|-------------|
| `/login ` | `/l` | ð Log in to your account |
| `/register ` | `/reg` | ð Register a new account |
| `/changepassword ` | `/cpw` | ð Change your password |
| `/unregister ` | `/unreg` | ðïļ Delete your account |
| `/account` | `/settings`, `/myaccount` | âïļ Open account settings GUI |
| `/premium` | `/prem` | ðŪ Premium account linking |
| `/premium confirm ` | `/prem confirm` | â
Confirm premium linking with code |
| `/axhelp` | `/authxhelp` | â Show all available commands |
### ð Admin Commands
| Command | Description |
|---------|-------------|
| `/authx reload` | ð Reload configuration and language files |
| `/authx info` | âđïļ Show plugin status and info |
| `/authx forcelogin ` | ð Force-authenticate a player |
| `/authx forceregister ` | ð Register a player forcibly |
| `/authx resetpassword ` | ð Reset a player's password |
| `/authx lookup ` | ð View player auth information |
| `/authx unregister ` | ðïļ Delete a player's account |
| `/authx whitelist ` | â
Manage whitelist |
| `/authx spawn ` | ð Manage spawn points |
---
## ð Permissions
| Permission | Default | Description |
|------------|---------|-------------|
| `authx.admin` | `op` | ð Access to all `/authx` admin commands |
| `authx.vip` | `false` | â VIP features: bypass captcha, longer sessions |
---
## âïļ Configuration
### ð Quick Start
1. ðĶ Drop `AuthX-1.0.0.jar` into your `plugins/` folder
2. ð Restart the server
3. âïļ Edit `plugins/AuthX/config.yml` to your needs
4. ð Run `/authx reload`
### ð config.yml Sections
```yaml
general:
login-timeout: 60
max-login-attempts: 5
restrict-commands: true
language:
language: en # en es fr de pt it nl pl ru tr zh ja ko ar
premium:
enabled: true
auto-login: true
verify-timeout: 300
proxy:
enabled: true # Auto-detects Velocity / BungeeCord
two-factor:
enabled: true
issuer: AuthX
methods:
totp:
enabled: true
discord:
enabled: false
bot-token: "YOUR_BOT_TOKEN"
channel-id: "YOUR_CHANNEL_ID"
guild-id: "YOUR_GUILD_ID"
protection:
login: true
unregister: true
change-password: true
notifications: true
captcha:
enabled: true
captcha-timeout: 45
session:
enabled: true
duration: 30
require-same-ip: true
password:
min-length: 6
max-length: 64
require-mixed-case: false
require-number: false
require-special-char: false
block-common-passwords: true
database:
type: sqlite # sqlite, mysql, mongodb, redis
effects:
blindness: true
titles:
enabled: true
boss-bar:
enabled: true
color: RED
discord:
enabled: false
webhook-url: "WEBHOOK_URL_HERE"
spawns:
auth: {}
firstjoin: {}
join: {}
respawn: {}
```
---
## ð PlaceholderAPI Placeholders
| Placeholder | Description |
|-------------|-------------|
| `%authx_registered%` | â
`yes` or â `no` |
| `%authx_authenticated%` | â
`yes` or â `no` |
| `%authx_logins%` | Total login count |
| `%authx_last_login%` | Last login date |
| `%authx_registered_date%` | Registration date |
| `%authx_ip%` | Last known IP address |
| `%authx_premium%` | â
`yes` or â `no` |
| `%authx_premium_autologin%` | â
`yes` or â `no` |
| `%authx_session_enabled%` | â
`yes` or â `no` |
| `%authx_2fa_enabled%` | â
`yes` or â `no` |
---
## ðĄïļ Anti-Tamper System
AuthX includes a built-in anti-tamper system that protects against unauthorized code modification.
### How It Works
| Check | Description | Severity |
|-------|-------------|----------|
| **Integrity Verification** | SHA-256 checksums of all `com.authx` class files | CRITICAL (auto-disable) |
| **Bytecode Scanning** | Detects 20+ suspicious patterns (ProcessBuilder, Runtime.exec, Socket, etc.) | CRITICAL (auto-disable) |
| **JavaAssist Detection** | Detects `-javaagent`, instrumentation, bytecode manipulation | HIGH/CRITICAL |
### First Run
On first startup, AuthX generates `AUTHX_CHECKSUMS` in the plugin data folder. This file contains SHA-256 hashes of all obfuscated class files and serves as the baseline for future integrity checks.
### Threat Detection
```
[AuthX Security] Running anti-tamper checks...
[AuthX Security] All checks PATTERNS DETECTED:
[AuthX Security] [CRITICAL] Class modified: com/authx/commands/LoginCommand.class
[AuthX Security] Disabling to prevent potential harm.
```
### Detected Threats
| Pattern | Severity |
|---------|----------|
| `ProcessBuilder`, `Runtime.exec`, `/bin/sh`, `powershell` | CRITICAL |
| `Socket`, `ServerSocket`, `HttpURLConnection` | HIGH |
| `System.exit`, `URLClassLoader`, `defineClass` | HIGH |
| `FileOutputStream`, `Proxy`, `ClassLoader` | MEDIUM |
---
## ðĶ Dependencies
| Dependency | Status | Purpose |
|------------|--------|---------|
| ðĶ **Paper 1.21+** | ðī Required | Server platform |
| ðĄ **ProtocolLib 5.3+** | ðī Required | Standalone premium verification |
| ð **PlaceholderAPI** | ðĄ Optional | Placeholder expansion |
| ðŊ **LuckPerms** | ðĄ Optional | UUID migration on premium linking |
> ðĶ AuthX ships with HikariCP, JDA, jBCrypt, bStats, OkHttp, and yGuard obfuscation bundled â no extra jars needed.
---
## ðŽ Discord Alerts
AuthX can send real-time security notifications to a Discord channel via webhooks.
**ðĻ Monitored Events:**
- ðī Failed login attempts
- ð IP address changes
- ð New registrations
- ð Password resets by admins
- â Premium verification failures
- ðïļ Account deletions
---
## ð Requirements
- â Java 21 or higher
- ðŪ Minecraft server 1.21+ (Paper recommended)
---
## ðĨïļ Supported Software
| Software | Versions | Notes |
|----------|----------|-------|
| ð **Paper** | 1.21 â 1.26+ | â
Fully supported (recommended) |
| ð§ **Spigot** | 1.21 â 1.26+ | â
Fully supported |
| ð **BungeeCord** | Latest | â
Proxy auto-detection & premium linking |
| ⥠**Velocity** | 3.0.1 â 3.3.0+ | â
Proxy auto-detection & premium linking |
---
## ð Statistics
---
## ð Support
- ð **Issues:** [GitHub Issues](https://github.com/securityx/AuthX/issues)
- ðŽ **Discord:** [Join our Discord](https://discord.gg/securityx)
- ð **Website:** [securityx.sbs](https://securityx.sbs)
---
ðĻ Built with passion by SecurityX
â If you enjoy AuthX, consider leaving a star on GitHub!