Skip to content

iM5LB/RelishAuth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

16 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

RelishAuth

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"
  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 World Customization

customization:
  limbo:
    dimension: "THE_END"  # OVERWORLD, NETHER, THE_END
    gamemode: "SPECTATOR"
    spawn:
      x: 0
      y: 64
      z: 0
    block-movement: true

๐ŸŽฎ Commands

Player Commands

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

Admin Commands

Command Description Usage
/ro reload Reload configuration /ro reload
/ro info <player> View player information /ro info PlayerName
/ro unlink <player> Unlink player's Discord /ro unlink PlayerName
/ro block <username> <ip> Block username from IP /ro block Griefer 192.168.1.1
/ro unblock <identifier> Unblock username/IP /ro unblock Griefer

๐Ÿค– 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"
      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 <identifier> Unblock username/IP Admin
/reload Reload plugin configuration Admin

๐Ÿ“ž Support & Links

Discord Issues GitHub


Made with โค๏ธ by M5LB

About

Advanced Authentication System for Velocity Proxy Servers ๐Ÿ”

Resources

License

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors