Automatically reconnect players when backend servers crash or restart.
- Keeps Players Connected: Players stay in-world during server restarts
- Visual Feedback: Animated titles and action bars with countdown
- Fully Configurable: Customize or disable any message
- Fallback Support: Sends players to lobby if reconnection fails
- Velocity 3.4.0+
- Java 17+
mvn clean packageCopy target/VelocityReconnect-1.0.0.jar to your Velocity plugins/ folder and restart.
Config file: plugins/velocityreconnect/config.toml
max-reconnect-time = 30 # Total reconnect timeout (seconds)
countdown-duration = 15 # Visual countdown timer (seconds)
reconnect-delay = 1 # Delay between attempts (seconds)
fallback-server = "lobby" # Where to send on failure
show-titles = true # Enable/disable all titlesEach message type uses frames that cycle for animation. Use [] to disable any element.
[messages]
# Title animation frames
title-frames = [
"§e🔄 Reconnecting",
"§e🔄 Reconnecting.",
"§e🔄 Reconnecting..",
"§e🔄 Reconnecting..."
]
# Subtitle frames (use %countdown% for timer)
subtitle-frames = [
"§7Please wait... §c%countdown%s"
]
# Action bar frames
actionbar-frames = [
"§6⏳ Reconnecting... §e%countdown%s left"
]
# When countdown reaches 0
title-countdown-end = "§c⚠ Still reconnecting..."
subtitle-countdown-end = ""
actionbar-countdown-end = ""# Title only, no subtitle/action bar
subtitle-frames = []
actionbar-frames = []
# Completely silent
title-frames = []
subtitle-frames = []
actionbar-frames = []- Server crashes → Player stays connected to proxy (not kicked!)
- Animated messages → Title/subtitle/action bar cycle through frames
- Countdown → Shows remaining time (configurable)
- Reconnection → Automatic attempts every second
- Success → Player back on server seamlessly
- Timeout → Redirected to fallback server
- Fallback fails → Kicked with message
VelocityReconnectPlugin - Main plugin class
ReconnectManager - Handles reconnect logic and timers
PluginConfig - TOML configuration parser
ServerDisconnectListener - Event handlers
- Thread-safe task management
- Smart kick detection (ban/whitelist vs crash)
- Frame-based animation system
- Independent countdown timer from actual timeout
KickedFromServerEvent- Starts reconnect with RedirectPlayerServerConnectedEvent- Cancels reconnect on successDisconnectEvent- Cleanup on disconnect
Open-source project
Inspired by Bungee-Reconnect functionality