# rpgdx **Repository Path**: mirrors_bjorn/rpgdx ## Basic Information - **Project Name**: rpgdx - **Description**: RPGDX - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-11-13 - **Last Updated**: 2026-09-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # rpgdx website The rpgdx website is a mildly customized fork of phpBB 2.0.23 with: - different table names - some bot protections - a custom template - a parent folder with a main web page (that utilizes phpBB) - therefore only the "forums" folder is equivalent to phpBB. ## Why phpBB 2 not 3? The customizations to 2 are not yet fully ported to 3. There is a clear and relatively safe upgrade path from 2 to 3.3 *usually*, but due to our custom table names and other customizations: - The customizations may have to be ported to 3 *before* the import feature is used (both the import feature itself and the forum code would likely have to be edited before the import process can run safely). Due to the time requirement for porting to 3 and the site becoming more or less archival, further patching a readonly instance of the phpBB 2 version is considered as a safe hosting option. Maintaining the 2.0.23-based code is acceptable since 2.0.23 is the last version of 2.x. If anyone wants to port RPGDX to phpBB 3.3, feel free! - As noted above, ensure that it is patched before using 3.3's import feature. - The changes were made into a discreet patch here (The patch may assist with porting changes to 3.3 manually, but cannot be applied to versions other than 2.0.23 automatically): [rpgdx-forums-vs-2.0.23.patch.zip](https://github.com/bjorn/rpgdx/files/15300854/rpgdx-forums-vs-2.0.23.patch.zip) (posted here: ) ### Local development with Docker Compose For local development, the included Docker Compose setup bundles Apache, PHP 8 (with shims), and MariaDB so you can skip the manual setup below. See [development.md](development.md#local-docker-development-lamp). ### System Requirements #### Shims for phpBB 2 on PHP 8.x These reqirements are technically not new but must be done (as of May 2024 php8 branch) since the server was already upgraded to php 8.x. These shims only apply to using phpBB 2 (or other old PHP code) under PHP 8.x or later, which has removed some functions that were deprecated in earlier versions. ```bash REPOS=/opt/git` # ^ if using managed hosting, change this to `REPOS=$HOME/git` mkdir $REPOS cd $REPOS || echo "Don't do the rest if you see this error!" git clone https://github.com/Hierosoft/php-ereg-shim-procedural.git git clone https://gitlab.com/poikilos/mysql-shim.git git switch php8 # ^ If git switch php8 fails, the pull request may be complete at the upstream repo: # https://gitlab.com/dotpointer/mysql-shim.git # In which case the branch would no longer be necessary and the default branch can be used at the upstream repo # (no git switch would be necessary, but use the upstream address instead). # See [Do not send NULL to mysql error functions (prevent PHP 8.2 crash when there is no link).](https://gitlab.com/dotpointer/mysql-shim/-/merge_requests/1) git clone https://github.com/ChristiaanBye/polyfill-each.git ``` - May require the fork of mysql-shim too at if the site crashes when there is no database connection. These shims can be prepended to every php file automatically. This is necessary so that all php files in phpBB 2 (and other PHP files with old calls) have access to the old functions. To do so, follow either the VPS or managed hosting instructions below. Then do the "Install phpBB" section and anything below that. ### VPS instructions If your are using a VPS (or similar setup such as a dedicated server), run these two commands (again, only works/necessary if using PHP 8.0 or higher): ```bash # First make sure you've set the REPOS folder appropriately # as described in earlier steps. # There can only be one auto_prepend_file, so make a loader first: echo '' | tee -a $REPOS/php8-shims.php ``` example $REPOS/php8-shims.php (generated by commands above if REPOS is /opt/git): ```php ``` Load the shims file every time php runs: ```bash echo "auto_prepend_file=$REPOS/php8-shims.php" | sudo tee /etc/php.d/95-php8-shims.ini ``` User-space http daemon instructions: - In the steps above, change `tee` to `tee -a` if you use php.ini directly otherwise it will be overwritten! These steps use case-specific ini files which only exist for loading these shims. - Remove `sudo` if using shared hosting (or have configured a user-space http daemon) which would already provide your user with priveleges to edit a php.ini or php.d for your specific website (Use the path for that instead of `/etc/` in that case, otherwise these configuration files may never get loaded). ### Managed Web Hosting Instructions If using managed web hosting (not a VPS) - Use the alternate path for cloning as instructed above - Manually create a php8-shims.php file and upload it. - Enter the following using the php ini editor in the host's control panel (still only works/necessary if using PHP 8.0 or higher): ```bash auto_prepend_file=/home/USER/php8-shims.php ``` - You *must* manually change USER to your web user's username in the text above, or specify the exact path in any case. ### Install phpBB *Only* if installing on a fresh server, you will have to install phpBB and in config.php, so *only* in that case you would set the following to false: ``` define('PHPBB_INSTALLED', false); ``` Set up the custom tables for rpgdx (reminder: This is a fork of phpBB, so both new custom code and customized files in forums folder may require these tables): ```bash mysql -u username -p indierp_main < sql/database.sql ``` In a general sense, the steps below work on a typical setup, but reading the official install documentation is advisable: [forums/docs/INSTALL.html](forums/docs/INSTALL.html) (If you've completed all steps above on a local offline instance, try ). Go to your server web address, followed by the install file, such as: http://localhost/forums/install/install.php The install process will create database tables (or fail if any of them exist), so again, this should only be done on a fresh install. If you are not on a fresh server, the "install" folder will have to be removed when instructed by the forum software at the http://localhost/forums address or web address (it will tell you to remove the install folder *if* you have completed setup installed a config.php where `PHPBB_INSTALLED` is true into the forums folder). See also: - [Document whether the "contrib" folder from phpBB is necessary](https://github.com/bjorn/rpgdx/issues/8) ### Debug setup For an insecure local configuration for debugging (may help with setup details in general especially on rpm-based distros) see [development.md](development.md)