|
1 | | -## How to Port Modules to Project Raco |
| 1 | +# Module Porting Guide for Project Raco |
2 | 2 |
|
3 | | -First of all, read [THIS](https://github.com/LoggingNewMemory/Project-Raco/blob/main/PLUGIN.md) first |
4 | | -Done? Good |
| 3 | +## Prerequisites |
5 | 4 |
|
6 | | -Now here's the thing. Raco Doesn't have WebUI Support (as for now 4.0) but in the future might have. |
| 5 | +Before you begin porting modules to Project Raco, please read the [Plugin Development Guide](https://github.com/LoggingNewMemory/Project-Raco/blob/main/PLUGIN.md) thoroughly. |
7 | 6 |
|
8 | | -So, as you know there's no post-fs-data.sh here, there's only service.sh (Yea I make the name same cuz why not? Won't burden the porters) |
| 7 | +## Important Notes |
9 | 8 |
|
10 | | -Ye anyway easy |
| 9 | +- Project Raco 4.0 currently **does not support WebUI**. WebUI support may be added in future releases. |
| 10 | +- Unlike traditional Magisk modules, Project Raco does not use `post-fs-data.sh`. Instead, all initialization should be handled in `service.sh`. |
11 | 11 |
|
12 | | -module.prop > rename it to raco.prop then add RacoPlugin=1 |
| 12 | +## Porting Checklist |
13 | 13 |
|
14 | | -Banner.png? > Nah, make it Logo.png with 1:1 Aspect ratio (advise, do not make it more than 512x512, why? if you make it 4k then you just gonna make it heavier -_- (Come on)) |
| 14 | +### 1. Module Properties File |
| 15 | +**Action:** Rename `module.prop` to `raco.prop` |
15 | 16 |
|
16 | | -install.sh > this is crucial, you must make it like you write service.sh (shell language only, not using magisk module syntax) |
| 17 | +Add the following line to identify it as a Raco plugin: |
| 18 | +``` |
| 19 | +RacoPlugin=1 |
| 20 | +``` |
17 | 21 |
|
18 | | -uninstall.sh > executed during uninstallation, so you better not leave it empty if you change something -_- |
| 22 | +### 2. Plugin Logo |
| 23 | +**Action:** Replace `banner.png` with `logo.png` |
19 | 24 |
|
20 | | -Ye I guess that's it Good luck Dev |
| 25 | +**Requirements:** |
| 26 | +- Must have a 1:1 aspect ratio (square) |
| 27 | +- Recommended maximum resolution: 512×512 pixels |
| 28 | +- Higher resolutions (e.g., 4K) will unnecessarily increase file size and load times |
21 | 29 |
|
22 | | -Want to submit your plugin? Send on the [Dormitory](https://t.me/YamadaDorm) and tag me @KanagawaYamadaVTeacher and I will foward it to the official Project Raco CH |
| 30 | +### 3. Installation Script |
| 31 | +**File:** `install.sh` |
23 | 32 |
|
24 | | -NOTE! (or more like WARNING) |
| 33 | +**Critical:** This script must be written in pure shell script language, similar to how you would write `service.sh`. Do not use Magisk module-specific syntax or functions. |
25 | 34 |
|
26 | | -DO NOT MAKE ANY GIMMICK / FAKE / CLOSE SOURCED PLUGIN! |
| 35 | +### 4. Uninstallation Script |
| 36 | +**File:** `uninstall.sh` |
| 37 | + |
| 38 | +This script is executed when the plugin is uninstalled. If your plugin modifies system files, creates directories, or changes configurations, you must properly clean up these changes in this script. Do not leave it empty. |
| 39 | + |
| 40 | +## Plugin Submission |
| 41 | + |
| 42 | +Ready to share your plugin with the community? |
| 43 | + |
| 44 | +1. Join the [Yamada Dormitory](https://t.me/YamadaDorm) |
| 45 | +2. Tag @KanagawaYamadaVTeacher with your plugin submission |
| 46 | +3. Your plugin will be reviewed and forwarded to the official Project Raco channel |
| 47 | + |
| 48 | +## Guidelines and Warnings |
| 49 | + |
| 50 | +⚠️ **Plugin Development Standards:** |
| 51 | +- **No gimmick or fake plugins** – Your plugin must provide genuine functionality |
| 52 | +- **Open source required** – Closed-source plugins will not be accepted |
| 53 | +- **Quality matters** – Ensure your code is well-tested and properly documented |
| 54 | + |
| 55 | +--- |
| 56 | + |
| 57 | +Good luck with your development! If you have questions, don't hesitate to reach out to the dormitory. |
0 commit comments