drwhut / tabletop-club

An open-source platform for playing tabletop games in a physics-based 3D environment for Windows, macOS, and Linux! Made with the Godot Engine.
https://tabletopclub.net
MIT License
1.29k stars 57 forks source link

Feature: Better support for self hosted master server #108

Closed elmodor closed 1 year ago

elmodor commented 1 year ago

Is your feature request related to a problem? Please describe. Currently the URL and certificate of the master server is hardcoded. To be able to run your own master server, you would need to change the URL in the source doe and re-compile the client.

Describe the solution you'd like To be able to change the server URL on the client I have two solutions in mind:

Furthermore we either have to disable the certificate validation, and/or add the possibility to also set the custom public certificate.

Describe alternatives you've considered The alternative would be to compile the client again with the changed URL which is very cumbersome.

Additional context

drwhut commented 1 year ago

Thank you for the suggestion! Yeah, this makes sense to implement, and it shouldn't be too difficult.

I think it's best if the URL and certificate overrides are input through the command line arguments, e.g. --master-server and --ssl-certificate, since realistically it'll only be 'technical' users that will want to use them, and it may be too complicated for the average player in the options menu.

It also makes sense to print a warning if the master server is overridden, just to say "hey, you're not connecting to the official master server, proceed with caution".