Welcome to the Minions Paradise preservation and modification project. This repository contains the client-side code and server-side infrastructure required to run a custom version of EA's Minions Paradise (v5.3.x).
This project aims to revitalize the game by removing its original reliance on external EA servers and .unity3d asset bundles. The client has been modified to load assets directly from local storage, and a custom Flask server provides all necessary backend services.
- Local Asset Loading: Assets are now loaded from
Minionsparadise/Assets/resources/content, bypassing the need for remote bundle downloads. - Custom Backend: A Python/Flask private server replaces the original EA backend, offering persistent saves, economy management, and social features.
- Platform Agnostic: Designed to run on modern development environments with a flexible reverse-proxy setup for mobile testing.
The project is organized into three main components:
The core Unity 5.3 project.
- Assets: Contains all scripts, UI definitions, and game resources.
- Scripts: Extensive C# modifications to support local I/O and custom server communication.
- FMOD: Integrated audio project for game sounds and music.
A Flask-based private server implementations.
- routes/: API endpoints for game state, user profiles, sales/marketplace, and TSE events.
- utils/: Database handlers (SQLite), profile generation, and logging utilities.
- marketplace/: Definitions for in-game shop items and promotional offers.
- nopromousers.txt: A list of UIDs for which promotional offers are restricted.
Technical documentation and guides.
- API_Reference.md: Documentation of the internal server endpoints.
- Admin_Guide.md: Instructions for server maintenance and user management.
- IO_Replacements.md: Details on how the Unity asset loading was retrofitted.
- config-switcher.py: A GUI utility to toggle between local and public server configurations for both the Unity client and the Flask server.
- Script for Unity 6 porting creation. I need you to see the changes made in the Unity 5 version and port them in the Unity 6 port in C:\Unity\UNITY6, see if the changes in the fork I always update the Unity 5 version first, and I know there are significant differences between the Unity 5 and Unity 6 versions in terms of assets. However It has to focus on the code only when it comes to syncs between Unity versions. I would need a tool/or you to do the work to see the changes since the last commit inside the Unity 6 version, ignoring all sorts of assets, of course. Basically sync everything that can be synced without too many issues between Unity versions.
Also I need you to clone the development branch into main, since I tried to pull request development into main but it says : "There isn’t anything to compare. main and Development are entirely different commit histories.". Please fix this issue. I need a development branch, and a main branch, main containing only stable changes, that I put development inside once the changes are stable.
- REBUILD FMOD PROJECT TO ADD CUSTOM AUDIO LOOPS: Currently using raw banks extracted from the game.
- TeamOrderBoard no audio: Stuart performance after order completion is missing sound (FMOD event missing).
- TSE Logic Expansion: Improve The Social Event (TSE) team systems and invitation reliability.
- Global Chat Polish: Enhance the in-game chat interface and server-side message history management.
- Improve server-side logging for better debugging of client networking issues.
- Server: Navigate to the
SERVER/directory and runpython kampai_server.py. - Client: Open the
Minionsparadise/folder in Unity 5.3.5p4. Use the custom build pipeline to prepare the assets. Note that there are different branches for different versions of the game. There is a Unity-2017 branch for later Unity versions, as well as a development branch where I put the latest development progress. - Deployment: For mobile testing, use the
reverse-proxy-client.batto route traffic from your device to the local server. (frp fast reverse proxy)
Note: This project is for educational and preservation purposes only.