Skip to content

Repository files navigation

Modpack Manager (MCMM)

Style Checks Open Issues License

PHP PSR-12 PHPStan ESLint Stylelint HTMLHint

Overview

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.


Latest Release

We're excited to announce the release of v0.0.8! This update brings foundational new features, particularly around plugin configuration and mod management.

🚀 New Features

  • Enhanced Plugin Configuration: Introduced initial capabilities for plugin configuration, including support for plugin.json and XML structures.
  • MCMM Plugin Slack Description: Added support for generating Slack descriptions for the MCMM plugin.
  • Mod Scanning: Implemented initial functionality for mod scanning.

🛠 Improvements & Refinement

  • Dependency Updates: Updated various development dependencies in package.json for better stability and performance.

🐛 Bug Fixes

  • No specific bug fixes were included in this release.

Architecture

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
Loading

Container Runtime Layer

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.

Modpack Management Layer

MCMM is responsible for organizing, validating, and preparing modpack definitions that are injected into the containerized server runtime.

Configuration and Orchestration Layer

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.


Project Structure

.
├── .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

Code Quality and Tooling

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]
Loading
  • 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

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.


License

This project is licensed under the MIT License.
See the LICENSE file in the repository root for full details.


Contact

Use GitHub Issues for bug reports, feature requests, or general discussion.

About

No description, website, or topics provided.

Resources

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages