- New | You can now run a command on a backend server's console straight from the proxy console with /forward <server> <command>. Players can use it too with the chatcontrol.command.forward permission. Enable it in settings.yml under Forward. Without Redis, the target server needs at least one online player to receive the command
- New | Operators can forward a console command to a specific backend server (
settings.yml>Enable_Forward_Command)- Fix | Join message now shows when the server-switch event fires before the connect event
- Fix | Proxy message listeners are now stateless, preventing cross-thread races
- Fix | Solved directory reconciliation wiping players from other proxies during transient Redis outages
- Fix | Solved unsafe synchronization in proxy and Discord plumbing
- Fix | Command aliases now show the alias you typed in usage messages and the
{label}placeholder, instead of the main command label
- Fix | Solved a "NullPointerException" when passing the "DisconnectEvent" as the proxy shuts down while players are still connected.
- New | Added
Register_Joining_Playerstoggle insettings.yml(defaultfalse). Required if you use therequire playedbeforeorignore playedbeforerule operators. See Wiki > Proxy.- Improve | Invalid proxy operator rule lines print one clear error line instead of a full stack trace.
- Improve | Removed unsafe synchronization in proxy player message broadcast, load-tested at 349 connections with 529 server switches and zero stalls.
- Fix | Using
require/ignore playedbeforewithoutRegister_Joining_Players: truethrows a precise error pointing to the missing setting.- Fix | Solved crash when a player disconnects mid-
DATABASE_READYhandshake.
