Compatibility
Minecraft: Java Edition
Platforms
Creators
Details

xLogin – The Ultimate Authentication System
Protect your server with the most complete, modern, and flexible login system for Paper/Spigot! xLogin is not just a password plugin; it’s a full security suite designed to work in any environment—from a simple friends-only server to a complex multi-server network with Velocity/BungeeCord.
🔥 Partner 10% discount on your purchases on Website
Built to be incredibly powerful yet easy to configure, xLogin delivers a flawless user experience for both Java and Bedrock players, and total control for administrators.
🚀 Key Features xLogin is packed with professional-grade functions normally only found in premium plugins:
Dual Database (MySQL + H2): Your choice! Use H2 for a super simple setup with a local file, or switch to MySQL for maximum scalability and performance—ideal for server networks.
True Cross-Platform Support:
Premium and Non-Premium: Premium players are authenticated automatically with Mojang servers, while non-premium players use the secure password system.
Java and Bedrock (GeyserMC): Thanks to Floodgate integration, Bedrock players (mobile, consoles, Windows) can join and are authenticated automatically—no commands required!
Smart Auto-Login Systems:
Premium Login: Java premium accounts log in directly without ever needing to register or type a password.
Session Login: If a player reconnects within a few minutes from the same IP, their session is resumed automatically.
Known IP Login: Non-premium players logging in from their last known IP are also authenticated automatically.
Advanced Security:
Ultra-Secure Passwords (BCrypt): All passwords are stored using the industry-standard BCrypt hashing algorithm, making them practically impossible to crack.
Account Limit per IP: Restrict how many accounts can be registered from a single IP address to fight bots and multi-accounts.
IP Blocking: Admins can permanently block or unblock IP addresses with a simple command.
Login Timeout: Automatically kicks players who don’t log in within a configurable time limit.
Premium User Experience:
Advanced Titles and Subtitles: Configure dynamic titles for every situation (welcome, successful login, wrong password, etc.) with full support for hex colors (&#RRGGBB).
100% Customizable Messages: Translate and personalize every single message players see.
Ready for Server Networks:
Proxy Redirection: Automatically sends players to your Lobby (or any server) after successful authentication. Fully compatible with Velocity and BungeeCord.
Easy-to-Use Admin Tools:
A central /xlogin command with clear subcommands (reload, delacc, blockip, etc.).
Full tab-completion for admin commands for fast, error-free management.
💻 Commands & Permissions We simplified the commands so they’re intuitive for everyone.
Command Description
/login <password> Log in to your account. none
/register <pass> <pass> Register a new account. none
/xlogin help Shows admin help. xlogin.admin
/xlogin reload Reloads all config files. xlogin.admin
/xlogin delacc <player> Deletes a player’s account. xlogin.admin
/xlogin blockip <ip> Blocks an IP from registering. xlogin.admin
/xlogin unblockip <ip> Unblocks an IP. xlogin.admin
⚙️ Easy Configuration Our configuration is designed to be powerful yet easy to understand.
config.yml: The main file where you control all functions.
# -------------------------------------------------------
# __ _
# __ __ / / ___ __ _(_)_ __
# \ \/ // / / _ \ / _` | | '_ \ Made by xPlugins
# > </ /__| (_) | (_| | | | | | WillfryDev
# /_/\_\____/\___/ \__, |_|_| |_| 77 Studio
# |___/ Beta 1.0
#
# Wiki: https://xlogin.willfry.net
# 24/7 Support: https://discord.willfry.net
# -------------------------------------------------------
general:
# Defines the language file that the plugin will use
# (( More coming soon ))
language-file: "messages_en.yml"
storage:
# Choose your storage method: H2 (local file) or MYSQL (external server)
method: H2
h2:
# The database file will be created in: /plugins/xLogin/database/xlogin_data.mv.db
filename: "xlogin_data"
mysql:
hostname: "localhost"
port: 3306
database: "xlogin_data"
username: "root"
password: "your_password"
properties:
useSSL: false
useUnicode: true
characterEncoding: "utf8"
pool-settings:
maximum-pool-size: 10
connection-timeout: 5000
# ___ _ _
# / __\ ___ __| |_ __ ___ ___| | __
# /__\/// _ \/ _` | '__/ _ \ / __| |/ /
# / \/ \ __/ (_| | | | (_) | (__| <
# \_____/\___|\__,_|_| \___/ \___|_|\_\
# Beta phase 1.1
geyser-support:
# If set to true, Bedrock players will log in automatically.
# Requires GeyserMC and Floodgate installed.
auto-login-bedrock: false
ui:
titles:
before-login:
title: '&aWelcome back!'
subtitle: '&fUse /login <password>'
fade-in: 10
stay: 120
fade-out: 20
before-register:
title: '&aWelcome to our server!'
subtitle: '&fUse /register <password> <password>'
fade-in: 10
stay: 120
fade-out: 20
after-login:
title: '&aLogin Successful!'
subtitle: '&fEnjoy your stay!'
fade-in: 10
stay: 40
fade-out: 20
incorrect-password:
title: '&cError!'
subtitle: '&fIncorrect password.'
fade-in: 5
stay: 40
fade-out: 10
session-login:
title: '&#fcd05c✨ &fSession Restored &f&#fcd05c✨'
subtitle: '&aYou have been logged in automatically!'
fade-in: 10
stay: 40
fade-out: 20
premium-login:
title: 'c95ff💎 &fPremium Login &fc95ff💎'
subtitle: '&aAuthenticated successfully!'
fade-in: 10
stay: 40
fade-out: 20
bedrock-login:
title: 'Re35b📱 &fBedrock Login &fRe35b📱'
subtitle: '&aSuccessfully connected from Bedrock!'
fade-in: 10
stay: 40
fade-out: 20
protection:
block-movement: true
effects: { blindness: true, godmode: true }
session: { enabled: true, timeout-minutes: 5 }
auto-login: { enabled: true }
security:
time-to-login: { enabled: true, duration-seconds: 60 }
allowed-commands-before-login: [ "help", "rules", "discord" ]
passwords:
size: { min: 4, max: 20 }
bruteforce-protection: { kick-on-fail: true, max-tries: 3 }
ip-security:
# Enables the registration limit per IP.
registration-limit:
enabled: true
# Maximum number of accounts that can be registered from the same IP.
limit: 3
# __ _ _
# /\ \ \___| |___ _____ _ __| | __
# / \/ / _ \ __\ \ /\ / / _ \| '__| |/ /
# / /\ / __/ |_ \ V V / (_) | | | < Idea by xPlugins
# \_\ \/ \___|\__| \_/\_/ \___/|_| |_|\_\
proxy-redirect:
enabled: true
target-server: "Lobby" # (Only 1 for now)
💫messages/messages_en.yml: Translate and customize all messages in one place.
# _
# /\/\ ___ _ __ ___ __ _ (_) ___ ___
# / \ / _ \ '_ \/ __|/ _` || |/ _ \/ __| Translated by
# / /\/\ \ __/ | | \__ \ (_| || | __/\__ \ xPlugins | Wollfrydev
# \/ \/\___|_| |_|___/\__,_|/ |\___||___/ ♥
# |__/ .yml EN
no_permission: '&cYou do not have permission to execute this command.'
session_login_success: '&aYou have logged in with your active session!'
autologin_success: '&aYou have been automatically logged in from a known location.'
bedrock_login_success: '&aYou have been automatically logged in from Bedrock.'
register_prompt: '&eWelcome! Use &a/register <password> <password> &eto register.'
register_success: '&aYou have successfully registered and logged in!'
register_error: '&cError. Correct usage: &a/register <password> <confirm_password>'
already_registered: '&cYou already have a registered account.'
password_mismatch: '&cPasswords do not match. Please try again.'
password_too_short: '&cYour password is too short. It must be at least {min} characters.'
password_too_long: '&cYour password is too long. The maximum is {max} characters.'
login_prompt: '&ePlease log in with &a/login <password>&e.'
login_success: '&aYou have successfully logged in!'
login_error: '&cError. Correct usage: &a/login <password>'
not_registered: '&cYou are not registered. Use &a/register <password> <password>&c.'
wrong_password: '&cIncorrect password!'
message_limit_end: '&cYou have failed too many times. You will be disconnected.'
login_timeout_kick: '&cYou took too long to log in.'
premium_login: '&aYou have been automatically logged in with your Premium account.'
already_logged_in: '&cError! You are already logged into the server.'
ip_limit_reached: '&cThe limit of registered accounts for your IP address has been reached.'
ip_is_blocked: '&cYour IP address has been blocked and you cannot register new accounts.'
admin_ip_blocked: '&aThe IP &e{ip} &ahas been successfully blocked.'
admin_ip_unblocked: '&aThe IP &e{ip} &ahas been successfully unblocked.'
admin_invalid_ip: '&cThe IP address format is invalid.'
admin_block_usage: '&cError. Correct usage: &a/xlogin blockip <ip>'
admin_unblock_usage: '&cError. Correct usage: &a/xlogin unblockip <ip>'
admin_reload_success: '&axLogin has been successfully reloaded.'
admin_unknown_subcommand: '&cUnknown sub-command. Use /xlogin help to see the list.'
admin_help_message:
- '&8&m-----------------&r &6&lxLogin Commands &8&m-----------------'
- '&e/xlogin help &7- Shows this help menu.'
- '&e/xlogin reload &7- Reloads the configuration files.'
- '&e/xlogin delacc <player> &7- Deletes a player''s account.'
- '&8&m----------------------------------------------------'
account_deleted: '&aThe account of player &e{player} &ahas been deleted.'
admin_deleted_account: '&cAn administrator has deleted your account.'
delacc_wrong_syntax: '&cError. Correct usage: &a/xlogin delacc <player_name>'
delacc_account_not_fount: '&cNo account was found with that name.'
2fa/email.yml: Coming soon! Here you’ll configure future 2FA functions.
# ____ _____
# |___ \| ___|_ _
# __) | |_ / _` | Idea by
# / __/| _| (_| | 777Studios.lat
# |_____|_| \__,_|
# Beta phase 1.0 (Email 2FA)
# Enable or completely disable the email system.
enable: false
# Your mail server (SMTP) configuration
# VERY IMPORTANT: Use an "App Password" if using Gmail, not your normal password.
# Google tutorial: https://support.google.com/accounts/answer/185833
authentication:
host: "smtp.gmail.com"
port: 587
email: "your-email@gmail.com"
from: "Your Minecraft Server"
user: "your-email@gmail.com"
password: "your-app-password"
encryption: TLS # Options: TLS, SSL
options:
# Force players to link an email in order to play.
link-required:
enable: false
required-for-premium: false
# List of allowed email domains (leave empty to allow all).
allowed-domains: []
# List of blocked email domains (e.g., temporary emails).
denied-domains: []
Everything is commented so you know exactly what each option does.
🔌 Requirements
Required: Spigot-based server or forks like Paper (1.19+ recommended).
Optional: GeyserMC and Floodgate to allow Bedrock players to join.
💡 Credits & Support A project by WillfryDev of 777 Studios / xPlugins.
For support, suggestions, or to join our community, visit our Discord!
▐▄• ▄ ▄▄▌ ▄▄ • ▪ ▐ ▄
█▌█▌▪██• ▪ ▐█ ▀ ▪██ •█▌▐█
·██· ██▪ ▄█▀▄ ▄█ ▀█▄▐█·▐█▐▐▌
▪▐█·█▌▐█▌▐▌▐█▌.▐▌▐█▄▪▐█▐█▌██▐█▌
•▀▀ ▀▀.▀▀▀ ▀█▄▀▪·▀▀▀▀ ▀▀▀▀▀ █▪



