Openra: Add a setting/option to the game GUI to manually set the Master Server URL/Address and add new master server functionality

Created on 22 Sep 2020  路  20Comments  路  Source: OpenRA/OpenRA

Request:

Step 1: Allow clients to set the master server address in their client settings manually as an option
Step 2: Change the registered accounts, and badge functionality to be defined by the master server (or similar app).

Motivation:
There has been discussion about the functionality built with features such as badges. While I realize that badges are not necessarily a feature of the master server, and more of a client/forum integration, this request would serve to fix two things:

  1. Allow for use of different master servers set by the user
  2. Set up the ability for functionality such as database/server linking, accounts and badges to be defined on the master server level.
IdeWishlist

All 20 comments

IMO it would make more sense to improve the integration with webservices (and build those) so all openra stakeholders can benefit. The forum and masterserver url strings can already be changed in the source code very easily, so people can build their own infrastructure if they want. In general I like that all mods normally register with a centralized system because this allows advertising other mods for example in the server browser at https://www.openra.net/games/ or ingame (provided you have the mod installed).

The master server URL is a mod-based setting, not a user based one, and mods can already change this by overriding the WebServices urls in mod.yaml. Exposing this as a user-level GUI provides an easy way for people to break their game, without adding any new functionality for those who actually need it. I would not support adding this.

I would personally find it disappointing and disheartening if a mod choose to opt-out of the default master server, as the shared games list is the most visibile indicator of the overall community multiplayer health as well as supporting the ability for players to switch between mods based on server activity.

It is possible to have a mod link to its own account system: https://github.com/OpenRA/OpenRA/blob/19b02875c7da6f4be22c8d30a8df7b89fbd978fc/OpenRA.Game/PlayerDatabase.cs#L24

I agree with the posts above that it doesn't make sense to expose this to the user via a GUI, so closing as wontfix, sorry.

Does this mean that the official mods can only be played on the "official" master server?

In theory you can host your own master server, but at the moment you can only use one at a time. (Which means you basically exclude yourself from the rest of the community when you change your mod to point to the other server.)

Yes, I understand that the client can be edited (but not easily, as intended per the comments above). But, to my question, is the official stance of this project that the official mods (RA, etc) should only be played on the official master server for non-lan multiplayer?

I'm not really sure what you are asking, to be honest. There are no alternative master servers or player databases, and even if someone were to set those up players using the official server would not be able to interact with players who are not using the official server. This is a compatibility breaking change, just like any other manual edits to the default mod installation.

the official mods (RA, etc) should only be played on the official master server for non-lan multiplayer?

No, the majority of servers are provided by people from the community (game servers). These servers handle the synchronisation of each clients locally running game-simulation by recievimg and passing on orders from clients to other clients. The master server afaik only recieves data about game servers, connected clients and - provided the user allowed it - anonyized system data for tracking overall activity.

If your motivation is to build an own ladder system, I'm not sure if this is connected to the question of having a separate master server. Afaik this could be handled by gameservers with custom logic to build a system on top of the capabilities #17578 introduces (and limited to these servers). Everything else like a common authentication and result api with abilities to send data to a server requires significantly more thought and changes to OpenRA than exposing the master server url to the ui. It might be more helpful for everyone to explain the implentation you had in mind.

So if an alternative master server was created, would this issue be able to be reopened, so that people could connect without having to manually edit their game? Or do you not envision that being possible with the official mods?

If the accounts and so forth were a master server option as opposed to a mod option, it would alleviate allow for those functionality to be used my other master servers. That is why I am asking. However if the stance is that the official mods will not have the functionality for users to change their master server, then it means that only non-official mods would have the ability to connect to a different master server. Right?

If the accounts and so forth were a master server option as opposed to a mod option, it would alleviate allow for those functionality to be used my other master servers.

This would require a complete redesign and rewrite of both the master server and player database server, so this is a very hypothetical question which I indeed don't envision being possible because I don't realistically consider that rewrite will ever happen.

But, in terms of a thought experiement, what would the benefits of completely segregating the already small official (or unofficial) mod playerbase into two non-interacting sets be?

the accounts and so forth were a master server option as opposed to a mod option, it would alleviate allow for those functionality to be used my other master servers.

The idea of building a system all mods can hook into and register themselves, potentially allowing players to authenticate against it ingame and share mod-multiplayer-result-data and other ingame events is something very interesting but also challenging and likely too much work for the few currently active developers, but I'm sure contributions and ideas are as always welcome. However, IMO, to request building this system and then give away the keys to the community that has grown around the official mods so you can gather them around your own competing system while separating the community is outrageous and something I hope is not going to happen.

But, in terms of a thought experiement, what would the benefits of completely segregating the already small official (or unofficial) mod playerbase into two non-interacting sets be?

It would allow for a few things:

  1. Allow for a different account and badge system to be used if somebody wanted it.
  2. Allow for redundancy or quick switchover in the event of master server failure, or if somebody just chooses to use their own server. For example, in some countries, master server may be blocked and its not possible for them to get people to connect to a local master server (because they would need to teach people to edit their client, and do so for every patch)
  3. Yes, I realize that a DNS roundrobin could achieve the issue with a failure. But as you point out thats still not ideal.
  4. You could allow master servers to federate with eachother, if you are concerned that their interaction would be off. Similar to what Synapse (Matrix) is doing

Doing 2. and 3. would solve #2568. I'm not sure why a custom master server is more important than pointing to a different player database for 1. though.

Doing 2. and 3. would solve #2568. I'm not sure why a custom master server is more important than pointing to a different player database for 1. though.

Because from a practical standpoint, in my opinion (take it for what it is), the master server owner would expect all the functionality for a community to apply: accounts, badges, server listing restrictions, etc, to fall into one software package. Also makes it easier for redundancy (failovers, round robins) in an event of failure.

To me this is very simple: if you have an alternative badge, authetication and master server implementation and intrgration with the game please send a pull request and it may replace the current one. If you don't want to make it public and keep control, build your own separate infrastructure and playerbase. If you don't have any implementation of anything, then there is nothing to decide or discuss. Any solution for master server redundancy needs to stay under control of trusted people and although not being within the circle that decides, I'd rather burn down the whole OpenRA thing than connecting players to your servers or from other untrusted people.

I personally don't have any servers. But it is disturbing that you think its preferable to "Burn down the whole OpenRA thing" than allow people to decide which master server to use. I am sure that this statement isn't the official opinion of the OpenRA developers.

I personally don't have any servers. But it is disturbing that you think its preferable to "Burn down the whole OpenRA thing" than allow people to decide which master server to use. I am sure that this statement isn't the official opinion of the OpenRA developers.

TBH I wonder why @matjaeck is not banned yet, as he is clearly a troll. Kinda reminds me of an other guy we all know about.

I personally don't have any servers. But it is disturbing that you think its preferable to "Burn down the whole OpenRA thing" than allow people to decide which master server to use. I am sure that this statement isn't the official opinion of the OpenRA developers.

Of course it isn't, i made it clear enough that what I say is my opionion and I'm not one of those who decide. Might have been the wrong wording but since I can't burn down anything anyway and don't have the intention to do so and don't have to deal with questions about "the official stance" I can use such wording when trying to make clear what I think about requests that ask to hand out the playerbase and building a potentially monetizable plattform for other people (which itself is fine but you are seriously asking to get the audience of the default mods on top of it).

I personally don't have any servers. But it is disturbing that you think its preferable to "Burn down the whole OpenRA thing" than allow people to decide which master server to use. I am sure that this statement isn't the official opinion of the OpenRA developers.

TBH I wonder why @matjaeck is not banned yet, as he is clearly a troll. Kinda reminds me of an other guy we all know about.

You're free to request this from either github or the maintainers of the repo. There's also a CoC you can base your request on.

BTW this is also a reason for this to be made https://www.youtube.com/watch?v=lEplzHraw3c
an example of a country that cant access openra because it would need its own master server, so they would need to all modify their games in order to connect to a local server.

Was this page helpful?
0 / 5 - 0 ratings