Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add opt-in statistics and metrics #330

Open
lionkor opened this issue May 26, 2024 · 2 comments
Open

Add opt-in statistics and metrics #330

lionkor opened this issue May 26, 2024 · 2 comments
Labels
feature New feature or request

Comments

@lionkor
Copy link
Member

lionkor commented May 26, 2024

Is your feature request related to a problem? Please describe.
The more info we can gather (consensually) about where and how the server is used, the better we can optimize for those use-cases. For example, we currently don't know whether anyone even hosts the server on Windows, or which settings people are commonly setting. If we had a way to know these things (consensually), we could pick saner defaults and expand on existing behavior to improve features people are maybe not using as much as they should.

Describe the solution you'd like
Two things:

  1. A setting in the ServerConfig that is opt-in to collect statistics and metrics. Add a link to documentation what is collected and why.
  2. An INFO message on startup, if the user did not opt in, that reads something like "If you'd like to help make the BeamMP-Server better, please turn on XYZ in the Server Config.".

If opted in, send the following data to a statistics endpoint in the backend (im happy to write that one, too) at some fixed frequency(?):

  • Platform (windows, linux, macos, freebsd, etc.)
  • Server version + if it was built by ci/cd or not (i.e. is it an official build or not)
  • MaxCars, MaxPlayers, all update related settings (ImScaredOfUpdates, update frequency, etc.), Private, Debug
  • Uptime
  • Whether there are plugins (but not which plugins)
  • Mod count + mods total size (but not which mods)
  • How many players are on rn (but not which players)

This whole feature can replace the SendErrors and SendErrorsShowMessage settings, and work similarly. We can then turn off the heartbeat functionality for those servers as well, or just in general (?).

Describe alternatives you've considered
We could just collect this info without asking but that would violate their privacy. We could just not collect this info and keep guessing, but that sucks.

Alternatively to all this, we could print a survey link on startup and collect information that way, by letting people self-report stuff. That would possibly work as well.

@lionkor lionkor added the feature New feature or request label May 26, 2024
@lionkor
Copy link
Member Author

lionkor commented May 26, 2024

Very open to discussion and ideas on this one.

@sla-ppy
Copy link
Collaborator

sla-ppy commented Jun 1, 2024

Personally, I support the fact that it isn't forced upon the users to provide us with more information so this way individual users can choose if they do wish to support us in this way or not by default.

What I was thinking about is that we could have multiple degree's of ways to return more statistics towards us without the user being uncomfortable:

  • Introducing multiple options with a slider and a detailed page about what each scale would return should be optimal for everyone in my oppinion. (Scale of 1-5, 1 not providing details, 2 being providing the bare essentials which make it worth implementing this feature to begin with ,5 providing us with with all that is useful)
  • This way every single scale should be completely transparent so the scale of feedback provided can be decided by each individual depending on how much they want to share.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants