🔐 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
