Northstar icon indicating copy to clipboard operation
Northstar copied to clipboard

On authentication have client send Northstar version and log it on master server

Open GeckoEidechse opened this issue 3 years ago • 2 comments

Feature

During authentication with the master server, the client should also send their current version. This way we can log this information to analyse

Goal

The reason to introduce this feature would be to allow logging client versions to get a better understanding of which versions of Northstar are used by which percentage of the community. This could help us get a better understanding about players updating their game and how large of a player population might be affected by a breaking change.

Affected areas

Client

  • We'll need to decide on a somewhat single source of truth to decide client version (NorthstarLauncher vs NorthstarMods).
    Alternatively, we could have the client report the individual versions of all of these.

Master server

  • Functionality needs to be added to support the logging.
    As the idea in part would be to use the logged information to see turn-over rates on a breaking release, the feature would need to be added before a breaking release. This means it also needs to support clients not reporting a version and then mark them as unknown in the logs.
  • Additionally the logged versions should maybe be written to their own location to allow for easier parsing later on, i.e. not having to go through main log.

Security

  • The received information might need to be properly escaped and truncated to prevent an adversary spamming logs with faulty data etc.

GeckoEidechse avatar Feb 11 '22 14:02 GeckoEidechse

if we want to report an overall northstar version, using the launcher version from this pr is probably the best plan, could probably be added as a key to server browser entries

BobTheBob9 avatar Feb 11 '22 14:02 BobTheBob9

The sending client version part and masterserver parsing have since been implemented:

  • https://github.com/R2Northstar/NorthstarLauncher/pull/113
  • https://github.com/R2Northstar/NorthstarMasterServer/pull/55

Now we just need the logging part (and maybe exposing it via some endpoint so that 3rd parties such as northstar-stats.frontier.tf can display statistics about client versions)

GeckoEidechse avatar Apr 07 '22 14:04 GeckoEidechse