PUBG Red Packet Game Real-Time Leaderboard

Introduction

This is a web application that monitors the PUBG red packet games from famous Chinese player, such as YYF, Mu, and Longdd, in real-time.

Real-Time Leaderboard

Learderboard Entry

This project is not being hosted currently because those players have not been playing PUBG recently.

The following link always directs the user to the latest application that is being deployed.

PUBG Red Packet Game Real-Time Leaderboard

Leaderboard Preview

Technical Details

Real-Time Leaderboard

The application consists of three major components, a web crawler, a stats summarizer, and a web server.

Web Crawler

The web crawler runs infinitely in the background, collecting all the player and match information to a SQLite database in real time.

Stats Summarizer

The stats summarizer queries the SQLite database routinely, prepares a stats snapshot, and save the stats snapshot to Redis server.

Web Server

The web server request the stats snapshot from the Redis server and send the information back the user upon request.

Google Cloud Run VS Google App Engine

Google Cloud Run deploys stateless containers whereas Google App Engine deploys stateful containers. Here stateless or stateful simply means whether the application could write to filesystem in the container.

Previously, I did not notice this subtle difference and I deployed the application on Google Cloud Run. Somehow, the application worked well in the very first several weeks, even if the application is writing new data to the SQLite file in the filesystem. Later, I started to see OperationalError: disk I/O error on my Google Cloud Console, suggesting that the application could no longer write new data to the filesystem. So I moved the application deployment from Google Cloud Run to Google App Engine. Because it is a single-container application, the deployment switch was smooth. I only had to add a yaml file in order to switch to Google App Engine.

Custom Domain Registration

Freenom provide free domain name for at least one year. However, the free domain registration has become problematic in recent years. With the suggestion from this tutorial, I was able to successfully register the domain pubg-ob.ml for free.

Custom Domain Mapping

Custom domain mapping was not difficult, give Google has a provided comprehensive guidance on custom domain mapping. The DNS management on Freenom could be found under the Manage Freenom DNS tab. The user might also refer to this Freenom DNS management tutorial for more details. Updating DNS settings could take a very long time, so please be patient.

References

Author

Lei Mao

Posted on

12-30-2021

Updated on

12-30-2021

Licensed under


Comments