You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We have about 7 master server query implementations (and more to come), we can take a step forward to bring more attention to them.
In #643 it became obvious that we have a problem regarding how master servers are handled, some problems include are GID/file name, output format and location definition in the code structure.
GID/file name: This is more of a general problem regarding all protocols as we don't have a definition what the file name (or export name) should be.
Currently we just append "master" to the game query protocol name, for example: Renegade X is renegadex (although the GID is renegade10) and as it uses a master server, it is defined as renegadexmaster.
It could become a problem if we'll add a protocol for a game that ends with "master", although the following examples do not currently have dedicated protocol file, they are examples that games with this edge case do exist: "Zombie Master" has the GID of zombiemaster and "Rally Masters" does rallymasters which (if they had protocol files) could be mistaken for a master server query protocols, and even worse if they were to have a master protocol, which would end up like zombiemastermaster or rallymastersmaster.
Output format: The usage of master servers are already implied to be unstable right now as all of them output their data in the raw field, the ones that have their own protocol file export the servers in the servers field of the previously object.
Their contents are also not standardized, tribes1master (although unsupported), exposes motd and name in raw, vintagestorymaster exposes only the server list but also has a status variable and minetest has some counts that are not placed anywhere.
Besides this, should we format every server entry from a master server query? This becomes a bit of an expensive operation as some provide thousands of entries and most of the times they are used in game server queries, where we don't really need to format every one of them.
Code structure: altvmp, ragemp and minetest do not even have separated code nor do they expose the master server queries (this can be easily altered and provided).
The text was updated successfully, but these errors were encountered:
We have about 7 master server query implementations (and more to come), we can take a step forward to bring more attention to them.
In #643 it became obvious that we have a problem regarding how master servers are handled, some problems include are GID/file name, output format and location definition in the code structure.
GID/file name: This is more of a general problem regarding all protocols as we don't have a definition what the file name (or export name) should be.
Currently we just append "master" to the game query protocol name, for example:
Renegade X
isrenegadex
(although the GID isrenegade10
) and as it uses a master server, it is defined asrenegadexmaster
.It could become a problem if we'll add a protocol for a game that ends with "master", although the following examples do not currently have dedicated protocol file, they are examples that games with this edge case do exist: "Zombie Master" has the GID of
zombiemaster
and "Rally Masters" doesrallymasters
which (if they had protocol files) could be mistaken for a master server query protocols, and even worse if they were to have a master protocol, which would end up likezombiemastermaster
orrallymastersmaster
.Output format: The usage of master servers are already implied to be unstable right now as all of them output their data in the
raw
field, the ones that have their own protocol file export the servers in theservers
field of the previously object.Their contents are also not standardized, tribes1master (although unsupported), exposes
motd
andname
inraw
, vintagestorymaster exposes only the server list but also has astatus
variable and minetest has some counts that are not placed anywhere.Besides this, should we format every server entry from a master server query? This becomes a bit of an expensive operation as some provide thousands of entries and most of the times they are used in game server queries, where we don't really need to format every one of them.
Code structure:
altvmp
,ragemp
andminetest
do not even have separated code nor do they expose the master server queries (this can be easily altered and provided).The text was updated successfully, but these errors were encountered: