How does PBBG Charts work?

For those curious, the full source is open and located here

Gathering Data

As of today, September 09, 2022, there are two methods in which PBBGLite gathers data about PBBGs.

The first method relies on users to 'self-report' themselves. Game developers can put a simple line of code on their authenticated game pages that will send an HTTP request to PBBGLite. This request contains no data other than the default HTTP headers contained in every request your computer makes, even if it's encrypted using HTTPS. These headers are harmless on their own, and cannot be used to personally identify you without more data. Once the headers are recieved, the origin (the page that sent the ping) and IP addressed are combined into a hash (a one-way unique encryption method). Once it is created, the hash cannot be used to go backward and find your IP address. The origin and hash are stored, throwing away the IP address immediately. Back on your game page, becuase it's a type of request called a 'POST', all that is recieved is an HTTP status code of whether the operation was successful and nothing else.

The second method periodically gathers data from a publically available API endpoint that game developers expose. This may seem more reliable and less complicated than the first method, but is far less trustworthy. Game developers can pad their numbers easily by simply adding to the true active count, or making it up entirely. There is no way for PBBGLite to verify the number given for it's accuracy.

What is stored?

Very little, actually. The hash ensures that we only record a particular person once, and the origin is stored so we can tally the total players. That's it. Below is a sample data model that is stored for calculation:

_id : Object (631bd3a90851c8d72ba94b6e),
hash : "8c657a73683519fb316223308aafaaf6",
origin : "https://elethor.com/",
__v : 0
    

warning Why do some games have an 'inaccurate' warning? warning

Some games report their active users to PBBGLite directly via API. While the vast majority of game developers have integrity, there is fundamentally no way to tell if the numbers are correct or if they are being manipulated prior to being sent. For that reason, we display a disclaimer as a reminder that their total concurrent users could be skewed in either direction. It is up to the users of PBBG Charts to judge the trustworthiness of those stats.

Some game developers have deliberately chosen this to avoid having players send their activity to PBBGLite, via the method described above. Whereas we respect the decisions made by the owners of games, we are compelled to point out the potential of inaccurate data reporting that we cannot verify.