Skip to content

Impopite/AuthSystem

Repository files navigation

🔐 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

  1. Download the .jar file
  2. Place it in the folder: /plugins/
  3. 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 zImpooTelegram · Discord

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages