Steam-Removed-Game-Scanner

You can use Git to clone the repository via the web URL. Download snapshot (zip)
 
descriptionA web application written in PHP that uses the Steam Web API to scan Steam profiles for ownership of removed games.
websitehttps://fietkau.software/steam_removed_game_scanner
last changeFri, 19 Aug 2022 23:17:40 +0000 (01:17 +0200)
shortlog
2022-08-19 Julian FietkauInitial public release main
readme

Steam Removed Game Scanner

Steam Removed Game Scanner is a small web application written in PHP that uses the Steam Web API to scan Steam profiles for ownership of removed games.

The digital game sales platform Steam operated by Valve Corporation is by far the biggest player on the market at the time of writing. For a variety of reasons, games get removed from sale on Steam all the time, and a community of enthusiasts about collecting and tracking these removed games has established itself over the years.

Since the number of removed games is now rather large, it can be useful to have a digital tool to keep track of what removed games you own. There are various websites that fulfill this purpose. Steam Removed Game Scanner is one such website -- to my knowledge, the first one to be made publically available and self-hostable as free and open source software.

The first public release of the source code is versioned at 2.0 because it has grown out of a codebase that was used privately for several years.

Project website: https://fietkau.software/steam_removed_game_scanner

Requirements

Running this scanner for yourself requires a web server such as Apache or nginx with PHP. It needs at least PHP 5.4.0, although using PHP 7 or later is heavily recommended since I do not keep very old PHP versions around for routine testing.

It requires the cURL and SQLite3 modules for PHP. Refer to your operating system's package management for how to install and enable these.

For the profile scanning and removed game listing functionality, the scanner needs a Steam Web API key and a list of games removed from Steam.

Installation

The first step is to make a copy of config.example.php under the name config.php and then to customize the parameters of the installation in that file. Do not be discouraged by the lengthy comments, the config file serves as its own documentation and will explain to you the purpose of each setting as well as how to use it.

You will need to decide on a location for your SQLite database. By default, it is saved in the data subdirectory, though this can be adjusted in the configuration. The directory where the database is stored must be writable by PHP. The web server should also be set up in such a way that the database file is not externally accessible. An example .htaccess file for the Apache web server is provided.

As part of the configuration, you will need to supply a Steam Web API key. Registering for an API key is free, but you should still take care to keep it confidential, since malicious use of the API using your key may get you restricted or banned from using it.

If you're starting out, it is also necessary to set the server_admin configuration setting to your own Steam ID. This ensures that you will have admin rights once you log in.

The config file also contains most of the English text displayed in the profile scanner. You can customize that for your own preferences.

After that, you should be ready to place your files onto a web server of your choice and access the main page in your browser. Steam Removed Game Scanner has extensive self-diagnostics and will tell you about any issues it encounters. Fatal issues may prevent it from even showing the landing page. Depending on your PHP configuration, error messages will be shown publically on the web page or just added to the server's error log.

After all the fatal issues have been fixed and you have logged in for the first time, you should see the admin view which will further tell you about any non-fatal issues you need to deal with before your profile scanner is ready for public use.

One that you will almost certainly want to tackle right away is the removed game database. Since Steam Removed Game Scanner does not come with a list of removed games, you will need to supply your own. You can do this by editing the SQLite databse table games directly if you so choose, or by configuring an authoritative CSV file that you can keep up to date with any spreadsheet software or text editor.

Customization

The first step for customization is the config file, where you can edit the title of your scanner and most of the text snippets it displays. Make sure you exhaust your options here before modifying the application code itself.

If you'd like to give your profile scanner a more unique visual identity, try editing the colors listed at the top of style.css. The first few lines are all colors given as RGB tuples. Changing these according to your own taste is an easy way to make your scanner your own.

It's not mandatory that your profile scanner needs to scan for removed games. Depending on what games you put into your scanner's list, it could highlight any number of different game collections, such as all games by a particular developer or publisher.

To take your customization even further than that, you can find the structural parts of the HTML output in the view subdirectory and change fundamental aspects of how the scanner looks and behaves.

License

Steam Removed Game Scanner (c) 2022 Julian Fietkau

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. See LICENSE for details.