Premise
OpenModServer is a web application for managing and hosting modifications for popular video games. It provides an easy-to-use interface for game players to download new mods for their favourite games, a simple way for mod developers to upload their mods, and a way for site administrators to moderate and verify submissions. It is built using ASP.NET Core, with a PostgreSQL database for storing user data.Moderation
Accepting arbitrary user uploads has always been a challenge for websites, and OpenModServer is no exception. To combat this, OpenModServer uses a moderation system, where users can submit mods for approval, and site administrators can review and approve or reject them.
This system is built using a PostgreSQL database, with a table for mods, releases, verifications, and users. In addition, OpenModServer automatically submits uploads to virus-checking site VirusTotal, and periodically pings VirusTotal to check if it has finished processing the file. Once it has been processed, OpenModServer will show the result to the site administrators in the review process.Challenges
- Storing mod information, including the various releases, their approval statuses, reasons for approval/disapproval, and VirusTotal scanning status
- User profiles, including handling personal information
- Comments on mod listings, including pinned and deleting comments