AuthenticationSystem
Secure authentication plugin for Minecraft servers that manages player login and registration with password protection, session handling, and account security features. Designed to keep your server safe and easy to use for players.
📖About AuthenticationSystem
🔐 AuthSystem
Advanced authentication system for Minecraft servers with database support and developer API.
Complete framework for managing user authentication, with persistent database, multilingual configuration management and API for developers.
✨ Features
- 🔑 Robust authentication system
- 💾 MySQL support with HikariCP
- ⚙️ Advanced YAML configuration
- 🌐 Multilingual support (IT/EN)
- 📚 API for developers
- 🔄 Centralized user management
- ✅ Secure data validation
📋 Requirements
- Paper 1.21+
- Java 21+
- MySQL database
📦 Installation
- Download the
.jarfile - Place it in the folder:
/plugins/ - Restart the server
✅ Compatibility
| Software | Supported |
|---|---|
| Paper | ✅ |
| Spigot | ✅ |
| Bukkit | ✅ |
🧩 Dependencies
Hard Dependencies
No required dependencies.
Libraries Used
- Bukkit/Spigot API: Minecraft framework
- HikariCP: Database connection pooling
- Kyori Adventure: Text components and messaging
📁 Configuration
AuthSystem/
├── config.yml # Database configuration
└── lang/
├── IT_it.yml # Italian language file
└── EN_us.yml # English language file
🛠 config.yml
Example
settings:
language: "en"
debug: false
database:
enabled: true
type: "mysql"
host: "localhost"
port: 3306
database: "minecraft_auth"
username: "root"
password: "password"
ssl: false
max-pool-size: 10
lang/EN_us.yml
Messages support & color codes, hex colors and <player> placeholders where applicable.
prefix: "\n<#3C3C3C>(<#00B4EE>ᴀᴜᴛʜ ꜱʏꜱᴛᴇᴍ<#3C3C3C>) \n"
vars:
normal: "<#9A9A9A>"
error: "<#CE0000>"
success: "<#06BB00>"
...
📖 Configuration Explained
| Path | Description |
|---|---|
| settings.language | Plugin language (en/it) |
| settings.debug | Enable debug mode |
| database.enabled | Enable database persistence |
| database.type | Database type (mysql, mariadb) |
| database.host | Database host |
| database.port | Database port |
| database.database | Database name |
| database.username | Database username |
| database.password | Database password |
| database.ssl | Enable SSL connection |
| database.max-pool-size | Connection pool size |
⌨️ Commands
| Command | Description |
|---|---|
| /auth reload | Reload the plugin |
| /register | Register your account |
| /login | Login to your account |
| /changepassword | Change your password |
🔐 Permissions
| Permission | Description |
|---|---|
| authsystem.command.unregister | Permission to unregister player |
| authsystem.command.reload | Permission to reload configuration files |
| authsystem.command.checkip | Permission to check ip addresses |
| authsystem.command.adminChangePassword | Permission to change users password |
| authsystem.command.staff | Permission to the staff members |
| authsystem.command.admin | Permission to the administration of the server |
🔌 API
AuthSystem exposes a simple API for developers to interact with the authentication system and user data. You can use it to check authentication status, manage user data, and integrate with other plugins.
Maven
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.github.Impopite</groupId>
<artifactId>AuthSystem</artifactId>
<version>VERSION</version>
<scope>provided</scope>
</dependency>
</dependencies>
Gradle
repositories {
maven { url 'https://jitpack.io' }
}
dependencies {
compileOnly 'com.github.Impopite:AuthSystem:VERSION'
}
Gradle (Kotlin DSL)
repositories {
maven("https://jitpack.io")
}
dependencies {
compileOnly("com.github.Impopite:AuthSystem:VERSION")
}
plugin.yml
Add PartySystem as a dependency in your plugin.yml:
depend: [AuthSystem]
import it.impo.authSystem.api.AuthSystemApi;
AuthSystemApi authApi = (AuthSystemApi) Bukkit.getPluginManager()
.getPlugin("AuthSystem");
if (authApi != null) {
AuthManager authManager = authApi.getAuthManager();
AuthTable authTable = authApi.getAuthTable();
}
API Example
// Check authentication
if (authApi.getAuthManager().isAuthenticated(player)) {
// User is authenticated
}
🐞 Bug Report
Open an issue here:
https://github.com/Impopite/AuthSystem/issues
📄 License
This project is licensed under the MIT License.
Developed by zImpoo — Telegram · Discord