Conduit unlocks completely new possibilities for Vanilla Minecraft servers using the power of Python. Here are just a few examples of what you can build:
Conduit is an easy-to-use tool that allows you to control one or multiple Minecraft servers using Python.
It is designed with flexibility in mind and can be used in two ways:
-
As a Standalone Program: Run
python -m mconduitfrom your console, and it will automatically load all your plugins, connect to your servers, and start listening to events. Look how to install (it's very quick and easy)! -
As an API Framework: Import
mconduitdirectly into your own Python applications to harness its powerful features - like Rcon dispatching, log-tailing, and data fetching - on your own terms.
- Completely Independent: Runs in a parallel process. Update or restart Conduit without having to restart your Minecraft server!
- Modern Python API: Clean, intuitive, and strongly typed APIs for the best Developer Experience (DX).
- Event-Driven: Uses Pygtail to actively read server logs, efficiently extracting useful information to trigger your custom events.
- Rcon Integration: Execute commands and fetch player information seamlessly via Rcon.
- Rich Feature Set: Built-in support for Permissions, Custom Commands, Multilingual translation, JSON Text generation, Data fetching, and a comprehensive CLI.
Conduit is highly inspired by MCDReforged, but with a major architectural difference: Conduit doesn't run the Minecraft server directly. It runs in a parallel process, communicating via Pygtail (Logs) and Rcon.
This prevents server crashes if something fails and makes it reloadable at runtime!
Another important difference is that Conduit allows managing multiple servers from a single instance.
flowchart LR
%% Colors and Styles
classDef user fill:#f9a826,stroke:#333,stroke-width:2px,color:#000;
classDef conduit fill:#2196f3,stroke:#fff,stroke-width:2px,color:#fff;
classDef plugin fill:#ffca28,stroke:#333,stroke-width:2px,color:#000;
classDef mc fill:#4caf50,stroke:#fff,stroke-width:2px,color:#fff;
classDef log fill:#607d8b,stroke:#fff,stroke-width:1px,color:#fff;
U([👤 User]):::user
subgraph ConduitSystem["Conduit Framework (Single Process)"]
direction TB
Handler(⚙️ Handler):::conduit
Plug([🧩 Plugins]):::plugin
Plug <--> Handler
end
%% Servers
subgraph S1["Survival Server"]
direction TB
MC1(Minecraft):::mc
L1(📄 latest.log):::log
MC1 --> L1
end
subgraph S2 ["Creative Server"]
direction TB
MC2(Minecraft):::mc
L2(📄 latest.log):::log
MC2 --> L2
end
%% User Interaction
U <-.->|💻 CLI| Handler
%% Connections
Handler <-.->|🛜 Rcon| MC1
Handler <--->|📜 Pygtail| L1
Handler <-.->|🛜 Rcon| MC2
Handler <--->|📜 Pygtail| L2
This instead is a simplified scheme of how MCDR works:
flowchart LR
%% Colors and Styles
classDef user fill:#f9a826,stroke:#333,stroke-width:2px,color:#000;
classDef mcdr fill:#2196f3,stroke:#fff,stroke-width:2px,color:#fff;
classDef plugin fill:#ffca28,stroke:#333,stroke-width:2px,color:#000;
classDef mc fill:#4caf50,stroke:#fff,stroke-width:2px,color:#fff;
U([👤 User]):::user
subgraph Env1["Survival Environment"]
direction TB
M1(⚙️ MCDR):::mcdr
P1([🧩 Plugins]):::plugin
S1(Minecraft):::mc
M1 <--> P1
M1 <-->|Stdio| S1
end
subgraph Env2 ["Creative Environment"]
direction TB
M2(⚙️ MCDR):::mcdr
P2([🧩 Plugins]):::plugin
S2(Minecraft):::mc
M2 <--> P2
M2 <-->|Stdio| S2
end
%% User Interaction
U <-.->|💻 CLI| M1
U <-.->|💻 CLI| M2
Pros:
-
Easier and faster setup out of the box.
-
Completely independent process (safeguards your MC server uptime).
-
Update and reload plugins without stopping the Minecraft server.
-
One central CLI to manage handlers/attributes across multiple servers.
-
Extremely nice and pythonic API.
Current Limitations:
- Currently only fully supports Vanilla (Bukkit/Spigot/Paper support coming soon).
It's much easier to set up than you might think! Install Conduit via pip:
pip install mconduitTo run Conduit directly from the console:
python -m mconduitCheck out our comprehensive Wiki: How to Install for a full step-by-step configuration guide.
Everything you need to know about building plugins, configuring the server, and utilizing the API can be found on our Wiki.
We are actively developing Conduit. Future updates include:
- Support for Bukkit / Spigot / Paper / Forge / Fabric log formats.
- More event hooks and deeper data fetching.
- Further CLI enhancements.
Contributions are more than welcome! Whether it's reporting bugs, suggesting features, writing documentation, or creating awesome new plugins.
- Discord: Contact me directly at
attila8829or join MultiTech discord - Pull Requests: Feel free to open an issue or PR on this repository!
This project was heavily inspired by the amazing work done by the MCDReforged team. Huge credits to them for pioneering this space!



