RoyDefined / WebDoomer

WebDoomer is a fast and efficient Zandronum and QZandronum server browser as a web app.
GNU General Public License v3.0
4 stars 0 forks source link

Support for configuring multiple Zandronum/QZandronum engines for join command #11

Open RoyDefined opened 5 months ago

RoyDefined commented 5 months ago

Is your feature request related to a problem? Please describe. Currently it is only possible to configure a single Zandronum/QZandronum server location. This might make the join command invalid as the server uses a different engine version than what is configured.

Describe the solution you'd like It should be possible to list multiple engines of the same type, rather than a single one. The configuration screen should provide the option to add one or more engine locations.

Each instance of the list should then have three values:

The join command should then determine the engine that the server requires based on what version the server returns in their first response packet.

Describe alternatives you've considered N/A

Additional context N/A

RoyDefined commented 5 months ago

The back end currently throws away the server version so this should be changed so the version is passed to the frontend.

https://github.com/RoyDefined/WebDoomer/blob/09e2beb63d585c1cee263d337416b754a138851f/src/WebDoomer/WebDoomer/Services/Zandronum/Server/Builder/ServerResultBuilder.cs#L108

https://github.com/RoyDefined/WebDoomer/blob/09e2beb63d585c1cee263d337416b754a138851f/src/WebDoomer/WebDoomer/Services/Zandronum/Server/Builder/ServerResultBuilder.cs#L125

RoyDefined commented 5 months ago

Rather than being able to configure profiles for a lot of different versions, perhaps just do it for the current Zandronum/QZandronum version, and a possible dev version. Dev versions are indicated with the testing binary URL, so this is already available.