Originally developed and designed by Nuclear: https://github.com/ncla/Portal-2-Leaderboard
Server requirements:
- Basic LAMP/XAMPP webserver. Note that for MySQL, MariaDB is known to cause issues when using query variables.
- Google account.
Server configuration:
- Set the 'public' folder as the server's document root.
- For Apache, enable 'mod_rewrite' and 'mod_expires' for image caching and beautiful URLs.
- For PHP, enable the cURL extension for scraping the Steam leaderboards.
- Import database dump data/leaderboard.sql into phpMyAdmin.
- Configure database authorization settings in secret/database.json.
- Set database timezone to UTC by executing data/setDatabaseTimeZoneUTC.php
Configuring Google Drive for storing demos
- Go to https://console.developers.google.com
- Create a project and activate the Google Drive API
- Create an OAuth client ID. Download and copy the client secret file associated with this ID, and paste it in secret/client_secret.json.
- Execute 'php util/authorizeGoogleDrive.php' from the command line to provide the project access to Google Drive.
- Configure the demos folder in classes/demoManager.php.
Fetching data:
- Updating scores and refreshing the server cache accordingly is performed by running data/fetchNewScores.php.
- Updating user data is done by running data/fetchNewProfileData.php. This requires a Steam API developer key which has to be placed in secret/steam_api_key.json. For obtaining an API key, go to https://steamcommunity.com/dev