Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disable Redirect on Server Disconnect Config Option #1410

Open
ChiboYen opened this issue Aug 20, 2024 · 5 comments
Open

Disable Redirect on Server Disconnect Config Option #1410

ChiboYen opened this issue Aug 20, 2024 · 5 comments
Labels
type: feature New feature or request

Comments

@ChiboYen
Copy link

Requested Feature

The try section is for both initial connections to the server and also if a player gets kicked, this request is to make it so that the try section is just for initial connections, and all backend server disconnects do not redirect the player. When players get kicked from any server, they should be kicked from the proxy as well under this configurable option.

Why is this needed?

Queue systems are currently buggy and the implementation is weird on Velocity. The backend server disconnects will simply boot the players into the queue server, resulting in a reconnect loop that cannot be broken. An option to not redirect players after initial connection to the proxy will solve this.

Alternative Solutions

I've tried contacting plugin developers and getting something made on the plugin-side. This was not possible or successful.

Additional Information

No response

@ChiboYen ChiboYen added the type: feature New feature or request label Aug 20, 2024
@Timongcraft
Copy link
Contributor

I believe that this already exists.
In the advanced section of the config under failover-on-unexpected-server-disconnect.
Also, if properly implemented, queue systems should have no issues overriding these defaults regardless of the value of this config option, and for the best support, you would need an external message broker to detect outages of backend servers, regardless of whether it is Velocity or not.

@ChiboYen
Copy link
Author

That only applies to unexpected server disconnects. Regular commands such as /miencraft:kick <player> don't currently fall under that and aren't affected by that config option. We aren't detecting outages of backend servers, we are simply disabling the velocity behavior of reconnecting them to a fallback server.

@Timongcraft
Copy link
Contributor

I guess it makes sense then, but I don't understand your reasoning, as Queue Plugins should have no problem circumventing this.
That said, if this option is turned on, plugins cannot stop the proxy from disconnecting the player, or is that intended?

@ChiboYen
Copy link
Author

From my understanding, queue plugins have no way of knowing if a player got kicked from the backend. If this config option is turned on, plugins can still stop the proxy from disconnecting the player (and instead redirecting them) since such plugins already exist (KickRedirect). I'm just suggesting this because while redirect behavior plugins exist, there is no existing solution to disable the velocity redirect behavior for ALL kicks.

@Timongcraft
Copy link
Contributor

No, plugins can already detect kicks with the KickedFromServerEvent, that's how KickRedirect works. And if you know that plugins like KickRedirect exist, I don't get how plugins should be unable to disconnect the player themselves. But if the proxy were to disconnect the player from the proxy, plugins would have no way to prevent this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: feature New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants