About • Getting Started • Support Us • Contribution • License
DeFRaG is a game mode within Quake III Arena that challenges players to complete levels as quickly as possible using advanced movement techniques like strafe-jumping and rocket-jumping to achieve the fastest times.
The goal of defrag.racing is to refresh the game by adding a modern and user-friendly UI, as well as introducing new features such as custom tournaments, rankings, clans, notifications and downloadable bundles with all necessary files to start playing DeFRaG as soon as possible.
ℹ️ For Developers: See LOCAL_SETUP.md for detailed local development setup instructions.
ℹ️ For Production:
- Quick Start: Copy
.env.exampleto.envand fill in credentials fromPRODUCTION_CREDENTIALS.md- Deployment Guide: See PRODUCTION_DEPLOYMENT.md for complete setup
- Credentials: See
PRODUCTION_CREDENTIALS.md(local file, not in git) for Backblaze B2 keys, DB passwords- Storage Options: PRODUCTION_STORAGE.md | PRODUCTION_STORAGE_CONTABO.md
⚠️ SECURITY:.envandPRODUCTION_CREDENTIALS.mdcontain secrets and are in.gitignore. Never commit them to GitHub!
⚠️ Important Notice: The installation steps provided in this guide have only been tested on a Linux machine. They are not thoroughly tested and are primarily intended as a kickstart for development. If you encounter any issues or if you have a better solution, we warmly invite you to contribute to this repository. Your contributions are highly appreciated!
⚠️ Important Notice: The following steps are designed to work with Docker, utilizing a Laravel tool called Sail. However, it's important to be aware that the production server operates on a non-containerized approach at the moment.
To clone and run this application, you'll need:
- Git
- Docker
- PHP:
- You php and some extenstions:
- php
- php-curl
- php-zip
- php-xml
- php-intl
- In PHP
.inifile you may need to uncomment extenstions:- filetype
- zip
- You php and some extenstions:
- Composer
-
Clone the repository:
- Using HTTPS:
git clone https://github.com/neyoneit/defrag-racing-project.git
- Using SSH:
git clone git@github.com:neyoneit/defrag-racing-project.git
- Using HTTPS:
-
Enter the repository:
All below commands assume you are in project's top level directory. Enter it with:
cd defrag-racing-project -
Run startup script:
Script below contains all steps to setup, install and start local server.
./local_devel/start_local_server.sh
-
Go to localhost
-
(Optionally) Load up dummy data:
You can load dummy data into your local environment using the following command:
./local_devel/load_dummy_data.sh
The dummy SQL database includes an admin user with the following credentials:
login: admin password: passwordAfter logging in, you can access the dashboard at localhost/defraghq.
-
To stop the server run:
./vendor/bin/sail stop
When working with database schema changes, always use Laravel migrations instead of manual SQL:
-
Creating a new migration:
docker compose exec laravel.test php artisan make:migration migration_name -
Running migrations:
docker compose exec laravel.test php artisan migrate -
After pulling new migrations from git:
docker compose exec laravel.test php artisan migrate ./rebuild-frontend.sh
⚠️ IMPORTANT: Never alter database tables directly using SQL commands. Always create proper migration files usingphp artisan make:migrationto ensure consistency between development and production environments.
We hope you've enjoyed using using defrag.racing.
If you'd like to contribute to the ongoing development and maintenance of this project, as well as our other initiatives like defraglive and demome, please consider making a donation.
Your support allows us to continue improving these projects for the benefit of all Defragers. Thank you!
Even if you're not a developer, there are numerous ways you can contribute to this project. Please see the CONTRIBUTION guide for more information on how you can help.
Thank you for considering contributing to defrag.racing. We appreciate it! ❤️
This project is licensed under the GNU Affero General Public License v3 (AGPLv3), which applies to all past and future contributions.