Velocity icon indicating copy to clipboard operation
Velocity copied to clipboard

Per-server forwarding mode

Open Hedwig7s opened this issue 10 months ago • 7 comments

Requested Feature

Allow overriding forwarding mode for specific servers

Why is this needed?

With bungeecord getting more and more outdated its support will inevitable start to fall off. For example, Fabric does not have a notable maintained mod for bungeecord forwarding. This means if a server network wanted to host a <=1.12.2 server and fabric 1.21.4 server it would be impossible without disabling forwarding entirely.

Alternative Solutions

A: Completely disable forwarding: Loses all benefits of forwarding and with offline UUIDs would be unviable for existing setups B: Middleman proxy: Technically possible with viaproxy (it strips the forwarding info so offline servers work), however there is no decent solution for this and this is very hacky

Additional Information

Duplicate of #1145 - Making new issue due to former being closed unplanned and as to use new format Technically duplicate of #566 - This issue is more direct and former has been inactive for 3.5 years

The main issue pointed out in #1145 is incompatibility with existing configuration. This is not necessarily the case. If instead of requiring each server have its mode set manually instead an optional overrides table is provided then this could be supported by checking the overrides for a forwarding mode and if one isn't specified use the default (existing) setting

Hedwig7s avatar Mar 17 '25 02:03 Hedwig7s

having it as an optional table at the end just felt like it would be cludgy, we also wouldn't be able to provide examples inside of the default config file, etc; all options which aren't "replace the config system" just tend to suck here

electronicboy avatar Mar 17 '25 10:03 electronicboy

@electronicboy If you have a better solution I'm all ears, but unless there's a refactor of the configuration system I do not see how this could be done better You could add a sidecar file, but that would likely be part of a bigger overhaul and be cluttery and you could change server definitions but that would be a bigger discussion and be awkward to have be backwards compatible

Also you can add examples in the default file, if you simply keep the example commented out by default and have the overrides be next to the rest of the server definition stuff

Given that the configuration limitation has clearly been known for years and it hasn't been resolved I'm not going to suggest it If features are rejected simply due to the configuration system being a bit short sighted then frankly I think looking into it should be a higher priority

Hedwig7s avatar Mar 17 '25 11:03 Hedwig7s

Replacing the configuration system is a high priority; it's just a lot of things are generally more high priority than spending my free time on velocity, such as having had my cornea part exchanged and recovering from that surgery, and starting a new day job after years of being out due to health issues.

electronicboy avatar Mar 17 '25 12:03 electronicboy

Please don't make this personal I'm just trying to discuss a feature. I do not expect this to be rushed, I am just saying it should probably be looked into sooner rather than later

Hedwig7s avatar Mar 17 '25 12:03 Hedwig7s

it is already being looked into and has been started on a branch

electronicboy avatar Mar 17 '25 13:03 electronicboy

For users looking for this, Velocity-CTD does have this implemented (external soft-fork)

https://github.com/GemstoneGG/Velocity-CTD

JosTheDude avatar Jun 09 '25 23:06 JosTheDude

i think a fork called velocity-ctd has that

SullensCR avatar Nov 27 '25 10:11 SullensCR