Repository navigation
Backend Lifecycle States

You use backend lifecycle states to advertise whether a server is waiting, in a lobby, starting a match, or in game. You configure the router to accept only chosen states.
[backend_states]
enabled = true
allowed = ["LOBBY", "WAITING", "AVAILABLE"]
allow_unknown = trueYou use case-insensitive state names. You configure custom names by matching the backend and the allowed list.
Add a marker to the backend's server-list MOTD:
[STATE:LOBBY]
You configure the proxy to read the marker during the backend ping. You rotate a minigame server between MOTDs:
[STATE:WAITING] Bed Wars
[STATE:IN_GAME] Bed Wars
You stop the server from receiving routed players when its MOTD changes to IN_GAME if you only allow WAITING.
You keep servers with no state marker eligible using allow_unknown = true.
You set it to false after every routed backend publishes a marker. You exclude servers without a marker even if they ping successfully.
You exclude a server in maintenance from routing before the lifecycle state check runs. You show the maintenance reason to players. You configure lifecycle state and maintenance state as independent flags.
Use /vn health to review backend health and detected states. If a state does not appear:
- confirm the marker is in the server-list MOTD, not a join message;
- keep the exact
[STATE:name]format; - wait for the next health check or reload the plugin;
- confirm the state is present in
allowed.
When Redis is enabled, detected backend states are shared with the other Velocity proxies.
Home · Quick Start · Configuration · Operations · FAQ
Website · GitHub · Support / Discord · Report a Bug
VelocityNavigator v4.5.0 · by DemonZ Development
![]()
Getting Started
Routing
- Routing Algorithms
- Algorithm Visualizations
- Initial Join Balancing
- Contextual Routing Guide
- Player Affinity
- Health & Circuit Breakers
- Retries & Fallbacks
- Geo Routing
Player Experience
- Java & Bedrock Selectors
- Selector Customization
- Backend NPCs
- Backend YAML Menus
- Language Packs
- Party System
- Capacity Queue
Configuration
- Configuration Guide
- Modular Configuration
- MOTD Configuration
- Authentication & Security
- Backend Bridge Configuration
- Migration Guide v3 → v4
- Migration Guide v4.4 → 4.5
Network & Operations
- Advanced Proxy Systems
- Redis & Multi-Proxy
- Common Core Architecture
- NavigatorAPI
- Storage & Databases
- Server Management
- Backend Lifecycle States
- Maintenance Mode
- HTML Dashboard
- Operations Runbook
- Prometheus & Grafana Setup
- Troubleshooting Guide
- FAQ
VelocityNavigator 4.5.0