OGame-clone browser based game engine.
- Requirements
- Installation
- Updating from older versions
- Development guides
- Documentation
- Languages
- Credits
- License
- PHP
>= 7.0 && < 7.3
>= 5.4
(deprecated)
- Composer
>= 1.6
- MySQL
>= 5
- A webserver (eg. nginx)
- Node.js
>= 11
- Setup a webserver capable of running PHP scripts.
php.ini
file should haveE_NOTICE
reporting disabled, eg.:error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT
- PHP needs to have write permissions to these files / directories:
config.php
- (one-off, installation purposes)
includes/constants.php
- (one-off, installation purposes)
tmp/
- (permanent, eg. for Smarty cache)
- Setup a MySQL server.
- Disable
STRICT_TRANS_TABLES
mode.
- Disable
- Create a DB user and DB database for your game server.
- Move source files of the project to your webserver's directory.
- Install PHP dependencies.
composer install --no-dev
- Run installation wizard: http://your_server_address:port/install
- Remove
install/
directory
- Check Releases section to see if migration scripts have been provided between your current version and the latest version you want to upgrade to.
- In case of missing migration scripts, do not try to use the auto-migrate functionality! It may completely break your game server.
- In case of major breaking changes (which for some reason were not possible to auto-migrate), there should be a release note explaining why and what manual actions have to be performed to proceed with migration.
- Close your game server (prevent players from accessing the game).
- Perform a full backup of your game server's state (database, configuration, files, etc...).
- Make sure that your PHP server has write access to game server's files (in case if one of the migration scripts might need this).
- Update files to the desired version.
- Update PHP dependencies.
composer install --no-dev
- Run migration script from project's root directory:
composer run-script migrate:run
- For more details go to Available scripts section.
- Restart PHP server.
- Install PHP dependencies (normal & dev):
composer install --dev
- Install Node.js dependencies:
npm ci
- Run PHP code linting (powered by PHP Code Sniffer)
composer run-script ci-php-phpcs
- Run all not-yet-applied migrations
composer run-script migrate:run [-- --confirm-manual-action]
- Script will automatically apply all outstanding migrations.
- A manual interaction might be required. If that's the case, follow the instructions printed to the command line and then run the script again with
--confirm-manual-action
flag. - After successful migration, a marker file will be created (
config/latest-applied-migration
) for future migrations.
- Generate new migration file using a template
composer run-script migrate:make -- <MIGRATION_FILE_NAME>
- New migration file with autogenerated ID (date) will be created in
utils/migrator/migrations/
directory.
- Run JavaScript code linting (powered by ESLint):
npm run ci-js-eslint
- Run CSS code linting (powered by stylelint):
npm run ci-css-stylelint
- Rebuild (minification + cachebusting) JS & CSS files:
npm run build-minify
- All files from
js/
andcss/
directories will be re-minified (only when actually changed) and saved in their respectivedist/
directories. - Note: when a file has no changes, this script won't remove the old minified & cachebusted file from
dist/
. File replacement happens only if a source file has changes, or there is no result file yet. - Note: this script does not automatically replace filepaths in templates. For now, this has to be done manually by a developer.
- Note: due to legacy reasons, all files in
dist/
are stored in the repo.
Visit docs/index.md to see project's documentation.
- English 🇬🇧
- Polish / Polski 🇵🇱
- Michał Dziekoński (https://github.com/mdziekon)
- Alessio nicoales@live.it (https://github.com/XxidroxX)
GPL-2.0
See LICENSE
file for this project's license details.
See OTHERLICENSES
for the licenses of included external resources.