A project developed in Laravel 12 that uses the thanos library to efficiently compress Minecraft worlds.
Note
The Spanish version of this README can be found in README-ES.md.
MCWCompressor aims to provide an easy-to-use tool to reduce the file size of Minecraft worlds. This is especially useful for backups, transferring worlds, or simply saving disk space. Compression is performed using the powerful thanos library.
Make sure you have the following software installed on your system:
- PHP >= 8.2
- Composer
- Node.js >= 18
- The Minecraft world compression library Thanos in the
thanosfolder at the root of the project.
Follow these steps to get the project up and running:
-
Clone the repository:
git clone https://github.com/MC-World-Compressor/Backend.git cd Backend -
Intall dependencies:
npm install && composer install -
Clone of compressor library:
git clone https://github.com/aternosorg/thanos.git
-
Set up the environment: Copy the example file
.env.exampleto.env:cp .env.example .env
Open the
.envfile and configure your environment variables, especially:APP_KEY(will be generated in the next step)DB_CONNECTIONand the database credentials (if you use a DB other than SQLite).- Any other project-specific settings.
-
Generate the application key:
php artisan key:generate
-
Run migrations:
php artisan migrate
-
Create the symbolic link between storage and public:
php artisan storage:link
Make sure the
storageandpublicdirectories have write permissions. -
Start the server:
npm start
Then, access the backend using: http://localhost:8000.
Contributions are welcome! If you'd like to improve this project:
- Fork the repository.
- Create a new branch (
git checkout -b feature/new-feature). - Make your changes and commit (
git commit -m 'Add new feature'). - Push your changes to the branch (
git push origin feature/new-feature). - Open a pull request.
Please ensure your code follows the project standards and include tests if applicable.
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International
- This project is open source, you can use, mix or reuse any of the code or assets.
- You cannot use any of the source code or assets material for commercial purposes.
- You cannot monetize any of the work done on this repository, or all the derivative work.
- You must link any of the used, mixed or reused material to this repo.
- You must preserve the
CC BY-NC-SA 4.0license to all the derivative work.
You can add donations to maintain your own server, but it can't unlock anything or differentiate the user in any way. Just that, no gray areas!