Skip to content

RefreshMC/SmartRejoin

 
 

Repository files navigation

SmartRejoin for Velocity

Java Version Velocity Version

SmartRejoin is a modern alternative to older reconnect plugins, built with a highly customizable rule-based engine.


Features

  • 🧠 Automatically sends players back to the server they disconnected from.
  • ⚙️ Define custom rules based on a player's last server. For example, send players from a bedwars_ game to the most populated bedwars_lobby.
  • ⚖️ Distributes players across lobbies by connecting them to the server with the most or least players, or to a random one.
  • 🛡️ Configure a safe fallback server (or a pool of servers) for new players or when a target server is offline.
  • ⚡ Reload the configuration on-the-fly with a simple command.

Installation

  1. Download the plugin
  2. Place the plugin into your Velocity proxy's /plugins directory.
  3. Restart your Velocity proxy. A config.yml file will be generated in /plugins/SmartRejoin/.

Commands & Permissions

Command Alias Permission Description
/smartrejoinreload /srr smartrejoin.command.reload Reloads the config.yml file.

Configuration (config.yml)

The configuration is split into three main parts: Fallback, Default Rule, and Custom Rules.

Quick Start

For the simplest setup, just install the plugin. By default (rule: SAME), it will automatically reconnect players to the server they left. New players will be handled by your velocity.toml configuration. To use the plugin's fallback for new players, set fallback.enabled: true.

Example Use Cases

  • BedWars Lobby: If a player leaves bedwars_12, send them to the bedwars_lobby with the most players.
  • Persistent Survival: If a player leaves survival, always send them back to survival.
  • Random Lobby: If a player was in any lobby_ server, send them to another random lobby_ server.
  • AFK Escape: If a player was in an afk server, send them to the lobby with the fewest players.

Full Configuration Example (different from default one!)

# --------------------------------------------------- #
#               SmartRejoin Configuration             #
# --------------------------------------------------- #

# --- General Settings ---
settings:
  # If true, the plugin will print informational messages to the console.
  # Critical errors are always logged.
  logging_enabled: true

# --- Fallback Configuration ---
# Used for new players or when a target server from a rule is offline.
fallback:
  # If 'enabled', this plugin's fallback logic will be used.
  enabled: true
  # 'RANDOM': Connects to a random server whose name CONTAINS the 'name' value.
  # 'SERVER': Connects to a specific server with an exact 'name'.
  type: RANDOM
  name: "lobby"

# --- Default Rule ---
# Applied if a player's last server doesn't match any custom rules below.
default:
  # 'SAME': Connects to the exact same server. (Most common)
  # 'FALLBACK': Immediately uses the fallback rule.
  # 'SMART': Finds a related lobby. See comments below for details.
  rule: SAME
  # Arguments for the 'SMART' rule.
  # Example: ['MOST', '%last_seen%_lobby']
  arguments: []

# --- Custom Rules ---
# Define specific redirection rules here. They are checked in order.
rules:
  stay_on_survival:
    last_seen:
      # Condition: Player's last server name must be an exact match.
      type: EQUALS
      name: "survival"
    where_to_join:
      # Action: Connect to a server with this exact name.
      type: EQUALS
      name: "survival"

  bedwars_lobby_fallback:
    last_seen:
      # Condition: Player's last server name must contain "bedwars".
      type: CONTAINS
      name: "bedwars"
    where_to_join:
      # Action: Find all online servers containing "bedwars_lobby" and
      # connect to the one with the MOST players.
      type: MOST
      name: "bedwars_lobby"

About

A Velocity 3.4.0 plugin analogous to RememberMe, but with more capabilities

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 100.0%