xLogin
PluginMIT

xLogin

Professional and super secure login system.

1.3K
Downloads
5
Followers
2 months ago
Updated
📦
3
Versions

📖About xLogin

🛡️ xLogin – Simple, Lightweight & Powerful Authentication

banner-es

xLogin is an all-in-one authentication system designed for servers that want maximum security without the bloat. Forget about complex external database setups; xLogin is optimized to work locally, fast, and secure out of the box.


🚀 Key Features

  • 📦 Local-First Storage: High-performance H2 system (data.db). No need for MySQL to get professional network-level performance. Just plug and play!
  • 💎 Smart Premium System: Using an original account? Use /premium and the system will recognize you automatically next time. Say goodbye to typing your password every join!
  • 🧠 Industrial-Grade Security:
    • BCrypt Hashing: Passwords are encrypted with the industry standard, making them virtually impossible to crack.
    • Anti-Bot Captcha: A visual verification system during registration to stop bot attacks in their tracks.
    • Total Protection: Blindness, immobilization, and block/damage protection until the user is authenticated.
  • 🖼️ Admin GUI: An intuitive visual menu featuring player heads to manage your database without memorizing UUIDs.
  • ⚡ Performance Optimized: Fully asynchronous database operations ensure your TPS stays at 20.0, no matter how many players are joining.
  • 📱 Bedrock Support (Geyser): Fully compatible with console and mobile players via Floodgate integration.

🛠️ Commands & Permissions

Command Description Permission
/login <pass> Log in to your account. None
/register <pass> <pass> Create a new account with captcha. None
/premium Toggle Auto-login (Premium Mode). None
/changepassword <old> <new> Securely change your current password. None
/captcha <code> Solve the registration captcha. None
/xlogin gui Open the visual administration menu. xlogin.admin
/xlogin reload Reload the plugin configuration. xlogin.admin

⚙️ Simplified Configuration

We've stripped the config down to the essentials so you don't waste time.

config.yml

# -------------------------------------------------------
#           __             _
#   __  __ / /  ___   __ _(_)_ __
#   \ \/ // /  / _ \ / _` | | '_ \   Made by xPlugins
#    >  </ /__| (_) | (_| | | | | |      WillfryDev
#   /_/\_\____/\___/ \__, |_|_| |_|      
#                  |___/ Release 1.0.3
#
#        Wiki: https://xplugins.es/xlogin
#    24/7 Support: https://discord.gg/AH5k9YE78b
# -------------------------------------------------------

general:
  # The default language (must match messages_XX.yml)
  language: "en"

# The plugin now uses DatabaseManager (Local H2) by default.
# Data is stored in the /database/data.db folder
storage:
  h2:
    filename: "xlogin_data"

#      ___          _                _
#   / __\ ___  __| |_ __ ___   ___| | __
#  /__\/// _ \/ _` | '__/ _ \ / __| |/ /
# / \/  \  __/ (_| | | | (_) | (__|   <
# \_____/\___|\__,_|_|  \___/ \___|_|\_\
geyser-support:
  # If true, Bedrock players (Floodgate) join without needing to login.
  auto-login-bedrock: false

protection:
  # Block breaking, placing blocks, chat, commands, etc. before logging in.
  general-protection: true

  # Visual effects when joining the server
  effects:
    blindness: true

  # Auto-Login Methods (Sessions)
  login-methods:
    session:
      enabled: true
      timeout-minutes: 10

security:
  # Maximum time allowed to log in before being kicked
  time-to-login:
    enabled: true
    duration-seconds: 60

  # Extra commands allowed before logging in
  allowed-commands-before-login:
    - "help"
    - "rules"
    - "discord"

passwords:
  size: { min: 4, max: 20 }
  strength-meter:
    enabled: true
    prevent-weak-passwords: true

ip-security:
  registration-limit:
    enabled: true
    limit: 3

#      __     _                      _
#   /\ \ \___| |___      _____  _ __| | __
#  /  \/ / _ \ __\ \ /\ / / _ \| '__| |/ /
# / /\  /  __/ |_ \ V  V / (_) | |  |   <   Idea by xPlugins
# \_\ \/ \___|\__| \_/\_/ \___/|_|  |_|\_\
proxy-redirect:
  # Send the player to the Lobby after successful login (useful for AuthLobby setups)
  enabled: true
  target-server: "Lobby"

captcha:
  enabled: true
  timeout-seconds: 120
  code-length: 6
  allowed-characters: "ABCDEFGHJKLMNOPQRSTUVWXYZ123456789"

ui:
  titles:
    before-login:
      title: '&aWelcome!'
      subtitle: '&fUse /login <password>'
    before-register:
      title: '&eRegister Now!'
      subtitle: '&fUse /register <password> <password>'
    after-login:
      title: '&aLogin Successful!'
      subtitle: '&fEnjoy your stay'
    incorrect-password:
      title: '&cIncorrect Password!'
      subtitle: '&7Please try again'

logging:
  enabled: true
  log-successful-logins: true
  log-registrations: true
  log-failed-attempts: true
  log-admin-actions: true

version: 1.0.3

🔌 Requirements & Installation

  1. Java Version: Java 17 or higher.
  2. Server: Paper, Spigot, or Purpur (Compatible from 1.8.8 up to 1.20.1+).

Installation:

  1. Download the .jar and place it in your /plugins folder.
  2. Restart your server.
  3. Done! The plugin will automatically create the local database.