Перейти к содержимому
Mineforgian

RelishAuth

[Update: Player Skin Support + Full Premium UUID Support] 🔐 Advanced Authentication System for Velocity Proxy Servers

Загрузки
290
Подписчики
4
Обновлён
30 мая 2026 г.
Лицензия
MIT

Опубликован 28 января 2026 г.

Advanced Authentication System for Velocity Proxy Servers 🔐

RelishAuthBanner

Secure your Velocity network with advanced authentication, Discord integration, and premium account support

🌟 Features

🔐 Multi-Method Authentication

  • Password Authentication: Traditional secure password system with Argon2 hashing
  • Discord Integration: Link Discord accounts for seamless authentication
  • Premium Auto-Login: Automatic authentication for premium Minecraft accounts
  • Hybrid Mode: Combine password + Discord for maximum security

🛡️ Advanced Security

  • Session Management: Configurable session durations (0-1 hour)
  • IP Validation: Optional IP-based session validation
  • Rate Limiting: Protection against brute force attacks
  • Premium Verification: Real-time Mojang API validation
  • Bedrock Support: Compatible with Floodgate for cross-platform play

🤖 Discord Bot Integration

  • Real-time Verification: Instant Discord DM verification
  • Join Notifications: Security alerts when someone joins with your account
  • Account Management: Change passwords, manage sessions via Discord
  • Admin Commands: Full server management through Discord slash commands
  • Rich Embeds: Beautiful, informative Discord messages

🌐 Multi-Language Support

  • English and Arabic language packs included
  • Customizable Messages: Full message customization support

💾 Flexible Database Support

  • SQLite: Zero-configuration local database (default)
  • MySQL/MariaDB: Network database support for multi-server setups
  • PostgreSQL: Enterprise-grade database with advanced features
  • Connection Pooling: High-performance HikariCP integration

📸 Screenshots

Discord Integration

Discord Verification

Seamless Discord verification with interactive buttons

Admin Dashboard

Admin Commands

Powerful admin tools accessible through Discord slash commands

Security Notifications

Security Alerts

Real-time security notifications keep your account safe

Optimized Limbo world

Limbo world


🚀 Installation

Prerequisites

  • Velocity Proxy 3.4.0 or higher
  • Java 21 or higher
  • LimboAPI plugin (required dependency)
  • Discord Bot (optional, for Discord features)

Step 1: Download and Install

  1. Download plugin JAR file
  2. Place the JAR file in your Velocity plugins/ folder
  3. Install LimboAPI Place it in the same folder
  4. Restart your Velocity proxy

Step 2: Initial Configuration

  1. Navigate to plugins/relishauth/
  2. Edit config.yml to configure your authentication method
  3. Set up your database connection
  4. Configure Discord bot (optional but recommended)

Step 3: Discord Bot Setup (Optional)

  1. Create a Discord application at Discord Developer Portal
  2. Create a bot and copy the token
  3. Add the token to your config.yml
  4. Invite the bot to your Discord server with appropriate permissions

⚙️ Configuration

Basic Configuration

# Choose your authentication method
authentication:
  method: "password"  # Options: password, discord
  premium-auto-login: true
  allow-bedrock-players: true

# Session management
session:
  duration: "5m"  # Options: 0, 1m, 5m, 15m, 30m, 1h
  allow-different-locations: true

# Database setup
database:
  type: "sqlite"  # Options: sqlite, mysql, mariadb, postgresql
  sqlite:
    path: "data.db"

Authentication Methods

🔑 Password Authentication

Perfect for traditional servers wanting secure password-based auth:

authentication:
  method: "password"
  password:
    min-length: 6
    max-length: 32
    hashing: "argon2"  # Secure password hashing

How it works:

  1. New players create a password when first joining
  2. Returning players enter their password to authenticate
  3. Sessions are saved based on configured duration
  4. Optional Discord linking for additional features

Password Authentication

💬 Discord Authentication

Ideal for Discord-centric communities:

authentication:
  method: "discord"
discord:
  bot-token: "YOUR_BOT_TOKEN"
  # You can set a single guild ID:
  # server-id: "YOUR_DISCORD_SERVER_ID"
  # Or multiple guild IDs:
  # server-id: ["GUILD_ID_1", "GUILD_ID_2"]
  server-id: "YOUR_DISCORD_SERVER_ID"

How it works:

  1. Players enter their Discord username in-game
  2. Bot sends verification DM with interactive buttons
  3. Players click "Verify" to authenticate
  4. Account is permanently linked to Discord

Discord Authentication DM Verify Message

🏆 Premium Auto-Login

Streamlined experience for premium players:

authentication:
  premium-auto-login: true
  allow-premium-username-impersonation: false  # Security: prevent impersonation

How it works:

  1. Premium accounts are automatically verified via Mojang API
  2. No password or Discord verification required
  3. Instant server access for legitimate premium players
  4. Cracked clients cannot impersonate premium accounts

Premium Auto-Login

Security Configuration

security:
  authentication-timeout: 300  # 5 minutes to authenticate
  password-attempts:
    max-attempts: 3
    lock-duration: 15  # Minutes
  premium:
    verification-timeout: 5
    api-url: "https://api.mojang.com/users/profiles/minecraft/"

Limbo Authentication UI

customization:
  limbo:
    title:
      enabled: true
    actionbar:
      enabled: true
    bossbar:
      enabled: true
      color: "BLUE"
      overlay: "PROGRESS"

RelishAuth now keeps the auth limbo world behavior hardcoded for stability. Movement clamping and the auth world layout are no longer configurable.

🎮 Commands

Player Commands

Command Description Usage
/ra password <pass> <confirm> Set/change password /ra password mypass123 mypass123
/ra discord <username> Link Discord account /ra discord john_doe
/ra logout Clear all sessions /ra logout
/ra session [duration] Set session duration /ra session 30m
/ra notify <on/off> Toggle join notifications /ra notify on
/ra unlink Unlink Discord account /ra unlink
/ra info View account information /ra info

Admin Commands

Command Description Usage
/ra reload Reload configuration /ra reload
/ra info <player> View player information /ra info PlayerName
/ra unlink <player> Unlink player's Discord /ra unlink PlayerName
/ra block <username> <ip> Block username from IP /ra block Griefer 192.168.1.1
/ra unblock <username> <from> Unblock username from IP /ra unblock Griefer 192.168.1.1
/ra clearblocks <username> Clear all stored blocks for username /ra clearblocks Griefer
/ra setpassword <player> <new> <confirm> Admin set a player's password /ra setpassword PlayerName NewPass NewPass
/ra resetpassword <player> [length] Admin reset password (temp password) /ra resetpassword PlayerName 16

🤖 Discord Bot Integration

Setup Process

  1. Create Discord Application

  2. Configure Bot Permissions Required permissions:

    • Send Messages
    • Use Slash Commands
    • Manage Roles (for linked role)
    • Read Message History
  3. Invite Bot to Server

    https://discord.com/api/oauth2/authorize?client_id=YOUR_BOT_ID&permissions=268435456&scope=bot%20applications.commands
    
  4. Configure in RelishAuth

    discord:
      bot-token: "YOUR_BOT_TOKEN"
      # You can set a single guild ID:
      # server-id: "YOUR_DISCORD_SERVER_ID"
      # Or multiple guild IDs:
      # server-id: ["GUILD_ID_1", "GUILD_ID_2"]
      server-id: "YOUR_DISCORD_SERVER_ID"
      linked-role-id: "ROLE_ID_FOR_LINKED_USERS"
    

Discord Slash Commands

Command Description Permission
/link Instructions for linking account Everyone
/session [duration] Set session duration Linked users
/notifications [toggle] Toggle join notifications Linked users
/info [player] View account information Admin
/kick <player> Kick player from server Admin
/unlink <player> Unlink player's account Admin
/block <username> <ip> Block username from IP Admin
/unblock <username> <from> Unblock username from IP Admin
/clearblocks <username> Clear all stored blocks for username Admin
/setpassword <player> <new> <confirm> Admin set a player's password Admin
/resetpassword <player> [length] Admin reset password (temp password) Admin
/reload Reload plugin configuration Admin

📞 Support & Links

Discord Issues GitHub


Made with ❤️ by M5LB

Ченджлог

1.0.9Релиз26.1, 26.1.1, 26.1.2 · 30 мая 2026 г.

[1.0.9] - 2026-05-30

Fixed

  • Forced-host routing for already-authenticated/session-valid players now respects Velocity's selected initial server when routing.post-auth-server is empty.
1.0.8Релиз26.1, 26.1.1, 26.1.2 · 23 мая 2026 г.

[1.0.8] - 2026-05-23

Changed

  • Discord config: discord.server-id now accepts either a single guild ID string or a list of guild IDs

Fixed

  • Forced-host routing: players now leave limbo to the server chosen by Velocity (respects forced-hosts) instead of always using attempt-connection-order
1.0.7Релиз26.1, 26.1.1, 26.1.2 · 21 мая 2026 г.

[1.0.7] - 2026-05-21

Fixed

  • PostgreSQL: correct column types (BOOLEAN, BIGINT) with auto-migration on startup for existing installs
  • PostgreSQL: createSession using SQLite-only INSERT OR REPLACE syntax
  • Config validation incorrectly warning on postgresql database type
  • Eliminated all password4j PropertyReader startup warnings
  • Missing language key error-auth-failed-generic in EN and AR
1.0.6Релиз26.1, 26.1.1, 26.1.2 · 13 мая 2026 г.

[1.0.6] - 2026-05-13

Added

  • PostgreSQL database support:
    • Full PostgreSQL configuration options (host, port, database, credentials)
    • HikariCP connection pooling support
    • Config schema customization for PostgreSQL tables
1.0.5Релиз26.1, 26.1.1, 26.1.2 · 18 апреля 2026 г.

[1.0.5] - 2026-04-13

Added

  • bcrypt2y password hashing support.
  • Limbo auth timeout HUD support:
    • boss bar toggle, color, and overlay

Changed

  • Updated RelishAuth for newer LimboAPI behavior:
    • adjusted limbo session flow for current LimboAPI releases
    • hardened limbo attach/auth handling
    • kept the auth world behavior stable with a fixed End auth world and spectator flow
  • Simplified limbo/world customization:
    • removed configurable limbo world layout/dimension/gamemode tuning
    • removed configurable limbo movement blocking
    • movement restriction is now handled internally for stability
  • Simplified title timing by hardcoding fade/stay/fade values instead of exposing them in config.
  • Improved verification logging and debug output:
    • neutral verification tags such as [ACCOUNT-VERIFY] and [PROFILE-LOOKUP]
    • clearer auth decision logs
    • less confusing premium wording on offline/cracked paths

Fixed

  • Cached offline/non-premium verification results so cracked players do not hit missing-verification decisions after verification already completed.
  • Fixed new config generation after limbo HUD/config changes.
  • Fixed missing language keys for new help/admin command entries.
  • Fixed limbo session UI/message flow on current LimboAPI builds.
1.0.4Релиз26.1, 26.1.1, 26.1.2 · 30 марта 2026 г.

[1.0.4] - 2026-03-30

Added

  • Language file updater: automatically merges missing keys into lang/<lang>/plugin.yml and lang/<lang>/discord.yml on startup and /ra reload to prevent "Missing message key" spam.
  • New admin commands:
    • /ra setpassword <player> <new> <confirm>
    • /ra resetpassword <player> [length]
    • /ra block <username> <from> / /ra unblock <username> <from> / /ra clearblocks <username>

Changed

  • In-game admin command outputs now use translatable language keys (EN/AR) for /ra block|unblock|clearblocks, /ra setpassword, /ra resetpassword.

Fixed

  • Admin permission node casing mismatch
1.0.3Релиз26.1, 26.1.1, 26.1.2 · 17 марта 2026 г.

[1.0.3] - 2026-03-17

Added

  • Post-auth routing config (routing.post-auth-server) with default fallback to Velocity's attempt-connection-order.
  • Versioned config updates via config-version (config updater now bumps the schema version when syncing defaults).

Changed

  • Session duration presets are now fully driven by session.available-durations for both:
    • In-game /ra session menu
    • Discord /session buttons + validation
  • Session duration parsing now supports arbitrary Ns/Nm/Nh/Nd durations consistently across the proxy.
1.0.2Релиз1.21.9, 1.21.10, 1.21.11 · 13 марта 2026 г.

[1.0.2] - 2025-03-13

Added

  • Skin restore:
    • Cached-skin resolver with offline/premium UUID fallbacks and safeguards to prevent wrong skins being applied to the wrong username.
    • Optional default cape injection for unsigned textures (skins.capes.default-unsigned-cape).
    • Preserve existing textures to avoid overriding Bedrock/Geyser skins (skins.preserve-existing-textures).
    • Configurable skin API endpoints for username textures, UUID lookup, and Mojang session (skins.api.*).
    • Optional login wait for skin fetching (skins.api.login-wait-timeout).
  • Premium official UUID injection (authentication.premium-use-official-uuid) with optional DB migration (authentication.premium-use-official-uuid-migrate-database).

Changed

  • Simplified update/config options:
    • Removed the old auto-update config section.
    • Config migration now runs automatically on startup and /ra reload (backs up before changes).
  • Renamed config key authentication.allow-premium-offlineauthentication.allow-premium-username-impersonation (legacy key is still supported).

Комментарии

Загружаем…