Web Forum Project
Project Concluded: August 10, 2019
DB Reference: asl_bbs
Last Updated: September 26, 2023
Introduction
Maintaining various game servers could be time-consuming, and answering questions about how to use the service could be even worse. A place where people could find the latest information and potential answers to frequently asked questions is then needed. For most of public organizations or software developing groups, they have a online discussion forum in addition to the official website. This is an ideal solution for my case, especially when I do not want some of the information out in the wild.
Specification & Structures
As of April 2023, the system has the following specification:
Hardware: 1 * 4 Core CPU & 4G Memory Virtual Server
OS: Debian 10.
Software: Apache 2.4 + PHP + Discuz! + Redis
Detailed Description
The web forum was initially created to serve as a platform to publish information about ASL's Minecraft servers. I searched for available web forum systems and considered several alternatives, including Phpwind. Eventually, I chose Discuz!. Using AD authentication for game servers might be an overkill (and also hard to implement). Discuz! is capable of integrating with current in-game authentication method. This ensures that our players can login to their in-game account with the same credentials they used for the web forum. For more information about how authentication works, take a look at our Minecraft Servers.
The initial instance was deployed in 2019, and was attacked by the botnet specifically targeting Discuz!. It is then become unpractical to manually cleaning the database. As a result, the entire instance was re-depoloyed in 2020 with complex captcha and invitaion code enabled to protect the site.
In 2022, with the deployment of the web load balancer and reverse proxy, the web forum was separated from the main web server and moved into its own virtual machine (VM). The software and PHP version were also upgraded as well.
The web forum is currently in Mandarin Chinese and does not have an English version due to its audience. You can take a look at it: ASL BBS
Optimization
Redis & Memcached was enabled and configured as a cache backend. Gzip was also enabled to improve the access speeds. All files shared on the forum was hosted via Web Drive to avoid slowing down the site.