Skip to content

brosssh/legendary-study-3.0

Repository files navigation

✨ The Legendary Study ✨

This is the backend that collect EIDs from Wasmegg, process them and generate daily reports showing the legendary distribution across the playerbase. The reports can be accessed on the Wasmegg Legendary Study.

🔐 EID Privacy and Security

As the developer, I cannot see the EIDs that this application uses. Your raw EID is only used to make API calls to the game server. Once the API call is made, your EID is obfuscated and hashed before being stored, ensuring that it cannot be reversed. The hashed string can't be reversed, but it can still uniquely identify the same user. Each time the EID is submitted, the hashed key will remain consistent.

🚨 Cheating considerations

As we know, cheaters exists and it's possible to cheat in a variety of way. Players using widely known cheating methods have been excluded from the study; however, there are numerous cheating techniques that can't always be detected from a single player backup. As a result, it’s possible that some cheaters may still be included.

🤓 For the nerds

How does this work?

Wasmegg send me the EIDs (of people who choose to join) via the submitEID POST request. If a recent backup (within the last hour) isn't already available, the system fetches a fresh backup from the Auxbrain server, processes the data, and stores it in a MongoDB Cluster.

Every day, a GitHub Action triggers calc_daily_reports.py, which does queries to the cluster above and generate the report file, which is uploaded to another MongoDB Cluster.

Swagger

I have created a Swagger interface for the API documentation.

📙 Issues or suggestion

In case of issues or suggestion, open a GitHub issue or contact me on Discord (brosssh)

About

The backend that collect EIDs and generate daily report for the Wasmegg Legendary Study

Resources

Stars

Watchers

Forks