A lightweight authentication plugin for the Bukkit/Spigot API including Velocity support!

Introduction
SkarvexAuthentication is a high-performance, lightweight authentication and account security solution designed specifically for modern Velocity proxies and Paper backend servers. Built from the ground up to keep your main thread smooth and your network secure.
Please note:
This plugin is under heavy development and some bugs might appear while using it. If you encounter any mistakes or bugs, feel free to report on GitHub.
Features
- Brute-force support: Join listening and brute-force protection run entirely off the main server thread with 10-minute IP restriction.
- SMTP and email protection: Complete SMTP integration handling email binding, unbinding, and validation logic.
- Flyway migrations: Automatic database initialization and seamless schema updates.
- Email binding: Sensitive email management commands, such as
/email link, unlink, confirm, infoare restricted exclusively to authenticated user sessions - Configuration: Configurable database options, SMTP settings, and customizable message templates.
- Zero learning curve: Commands like
/register,/login,/logoutand/changepassare all built-in and easy-to-use
Commands (no permissions required)
Authorization Commands
Email Binding Commands
Essential Changes (required)
Server owners must modify these sections for the plugin to function:
Database Connection
SkarvexAuth requires a shared database to run Flyway migrations and sync player sessions across Velocity and Paper.
database:
url: "jdbc:mysql://localhost:3306/auth" # Replace 'localhost:3306/auth' with your host, port, and DB name
username: "root" # Your MySQL username
password: "root" # Your MySQL password
SMTP Setup (for Email binding)
Email verification won't send without valid SMTP credentials.
smtp:
host: "smtp.gmail.com" # SMTP Host (e.g., smtp.gmail.com)
port: 587 # SMTP Port (587 for TLS, 465 for SSL)
username: "[email protected]" # SMTP Account Email
password: "app-password" # App-Specific Password
Requirements
- Paper/Spigot 1.20.4 and higher
- Velocity 3.3.0 and higher
- Java 21 and higher
A MySQL 8.0+ database is highly recommended for cross-server support and Flyway migrations.
Support & Links
- Source Code: GitHub Repository
- Issue Tracker: Report Bugs
- Support the project: Buy Me a Coffee