FluxCraft is an open-source Minecraft Paper/Bukkit plugin focused on streaming in-game events from a Minecraft server to an MQTT broker. It is designed to follow the Unified Namespace (UNS) architecture, providing a structured and scalable way to monitor server and player activities in real-time. This plugin captures a wide range of events, including player actions, enemy engagements, and world changes, and publishes them to specific MQTT topics.
- Download the latest release JAR file and place it in your
pluginsfolder. - Restart your server to enable the plugin.
- For detailed configuration and usage instructions, see the User Guide.
This is a fork of Minecraft MQTT Streamer by Hugo Vaz / CoreFlux.
This fork is not affiliated with or endorsed by CoreFlux.
It includes renaming and packaging changes plus selected modifications.
See LICENSE for the upstream MIT license.
To protect users from reuploads, malware, and unofficial builds, official releases are published only via the channels below:
- GitHub Releases (primary): https://github.com/jforge/FluxCraft/releases
- Modrinth: https://modrinth.com/project/fluxcraft
If you downloaded FluxCraft anywhere else, it may be unofficial.
“FluxCraft” and the FluxCraft logo are project identifiers for the official distribution of this plugin.
You may fork and redistribute the source code under the terms of the license, but you may not use the name “FluxCraft” or the FluxCraft logo in a way that suggests your build is official, endorsed, or affiliated with this project without written permission.
FluxCraft is distributed under the MIT License (see LICENSE).
Third-party notices and attributions are documented in NOTICE.md.
- If FluxCraft helps you, donations are welcome: https://ko-fi.com/jforge
- For support, please use GitHub Issues: https://github.com/jforge/FluxCraft/issues
- For commercial or special-case support: mailto:github@jforge
This guide will walk you through setting up the development environment, which includes a Minecraft server and an MQTT broker.
- Docker and Docker Compose: Essential for running the entire environment.
- Minecraft Java Edition Client: Version 1.21 or later to connect to the server.
- (Optional) Java 21 and Maven: If you prefer to build the plugin locally without Docker.
Convenient scripts are provided to build the plugin and start the environment.
-
Build the plugin:
.\build.batThis script uses Docker to compile the Java plugin. The resulting
.jarfile is automatically copied to thepluginsdirectory. -
Start the services:
.\start.batThis command starts the Minecraft server and Coreflux MQTT broker using
docker-compose. -
Stop the services:
.\close.batThis command gracefully stops all the running services.
-
Build the plugin:
chmod +x build.sh ./build.sh
This script uses Docker to compile the Java plugin. The resulting
.jarfile is automatically copied to thepluginsdirectory. -
Start the services:
chmod +x start.sh ./start.sh
This command starts the Minecraft server and Coreflux MQTT broker using
docker-compose. -
Stop the services:
chmod +x close.sh ./close.sh
This command gracefully stops all the running services.
Once the services are running, you can connect to them:
-
Minecraft Server: Open your Minecraft client and connect to
localhost:25565. -
MQTT Broker: You can connect to the broker at
localhost:1883with a client like MQTT Explorer or any other MQTT client. Use the following credentials:- Username:
root - Password:
coreflux
Subscribe to the topic
server/#to see all the real-time events. - Username:
This solution is composed of four main components working together:
- Minecraft FluxCraft Plugin: A Bukkit plugin that runs on the Minecraft server. It captures a wide range of in-game events and publishes them as structured MQTT messages following the Unified Namespace (UNS) architecture.
- Coreflux MQTT Broker: A high-performance MQTT broker that acts as the central messaging hub. It receives events from the Minecraft plugin and routes them to subscribers. The broker is included in the
docker-compose.ymlfile for easy setup.
- Unified Namespace (UNS): The plugin is designed around the UNS architecture, ensuring that all MQTT topics are structured in a consistent and predictable way.
- Real-Time Event Streaming: Events are published to the MQTT broker as they happen, providing a live feed of server activities.
- Comprehensive Event Coverage: The plugin captures a wide range of events, including:
- Player Events: Crafting, building, mining, dying, respawning, eating, and taking damage.
- Enemy Events: Taking damage and dying.
- World Events: Time changes and weather changes.
- Configurable: All events can be individually enabled or disabled in the
config.ymlfile.
- Coreflux: "Coreflux" is a trademark of Coreflux Portugal SA.
- Minecraft: This project is not affiliated with Mojang or Microsoft. "Minecraft" is a trademark of Mojang Synergies AB.
