MCMM is designed to act as a foundational platform for managing Minecraft modpacks in containerized or server-oriented environments. The project emphasizes maintainability, modularity, and the enforcement of consistent coding standards across all components.
Minecraft server instances managed by MCMM are created and operated using Docker images provided by itzg. These images are widely adopted, actively maintained, and serve as the standardized runtime layer for all Minecraft servers provisioned through MCMM.
This README intentionally provides a high-level overview only. Detailed usage, configuration, and deployment documentation may be added as the project matures.
We're excited to announce the release of v0.0.8! This update brings foundational new features, particularly around plugin configuration and mod management.
- Enhanced Plugin Configuration: Introduced initial capabilities for plugin configuration, including support for
plugin.jsonand XML structures. - MCMM Plugin Slack Description: Added support for generating Slack descriptions for the MCMM plugin.
- Mod Scanning: Implemented initial functionality for mod scanning.
- Dependency Updates: Updated various development dependencies in
package.jsonfor better stability and performance.
- No specific bug fixes were included in this release.
MCMM follows a modular and extensible architecture, designed to clearly separate concerns and support future growth.
graph TD
A[Docker Container] -->|Runtime| B(Minecraft Server)
C[MCMM Platform] -->|Manage| D{Modpack Definitions}
D -->|Inject| B
E[External Config] -->|Configure| C
E -->|Parameters| B
Minecraft servers run inside Docker containers based on itzg-provided images. This ensures a consistent, reproducible, and well-supported execution environment for both vanilla and modded servers.
MCMM is responsible for organizing, validating, and preparing modpack definitions that are injected into the containerized server runtime.
Server configuration, lifecycle control, and environment-specific parameters are managed externally to the container images. This allows a clean separation between infrastructure concerns and application logic.
This layered approach allows MCMM to remain agnostic of specific hosting environments while still leveraging best-in-class container images for Minecraft server execution.
.
├── .github/ (scripts, workflows, linters)
├── images/
├── include/
├── javascript/
├── plugin/
├── styles/
├── empty_report.json
├── default.cfg
├── mcmm.page
├── debug_scan.php
├── README.md
├── api.php
├── mcmm-plugin.zip
├── package.json
├── release_notes.md
├── SECURITY.md
The repository enforces strict coding standards through automated tooling to ensure long-term maintainability and reliability:
graph LR
A[Git Commit] --> B{CI Workflow}
B -->|Check| C[PHP: PSR-12]
B -->|Analyze| D[PHPStan]
B -->|Lint| E[ESLint / Stylelint]
B -->|Verify| F[HTMLHint]
C & D & E & F --> G[Release]
- PHP: PSR-12 compliance enforced via PHP CodeSniffer
- Static Analysis: PHPStan
- JavaScript: ESLint
- CSS: Stylelint
- HTML: HTMLHint
All contributions are expected to pass these checks.
Contributions are welcome. Please ensure that all changes adhere to the established coding standards and that all automated checks pass before submitting a pull request.
Architectural changes should remain aligned with the project’s modular and container-first design philosophy.
This project is licensed under the MIT License.
See the LICENSE file in the repository root for full details.
Use GitHub Issues for bug reports, feature requests, or general discussion.