Quick navigation
mirlo 🐦⬛ provides server owners with a simple way of implementing and handling plugin messaging between a proxy and its backends (check Usage).
Warning
mirlo is not ready for production use yet. The project is still missing an important part of its core functions (right now its sole purpose is sending plugin messages to a proxy). You can report any misbehaviours or share any feedback by creating an issue.
Compatible? | Version | |
---|---|---|
Velocity | ✅ | 3.3.0 |
BungeeCord | ❌ | |
Paper | ✅ | 1.13+ |
PurpurMC | ✅ | 1.13+ |
Spigot | ✅ | 1.13+ |
Bukkit | ✅ | 1.13+ |
Minestom | ✅ | Latest |
Folia | ❌ |
Versions prior to 1.13 might work but you won't receive any support.
- Download the mirlo jar file for your platform. You can find the latest version on our releases page.
- Add the mirlo jar file to your server's plugin folder. Make sure to delete any older versions of mirlo.
- Fully restart your server. Type
/stop
and start the server again instead of using/reload
.
Repeat the steps for every backend of your network.
When you run mirlo for the very first time it will automatically generate three different configurable files that can be adjusted depending on your server's needs:
settings.yml
contains general settingschannels.yml
contains every channel to listen forvariables.yml
contains every variable
Every file has one or more examples with hints.
Events listen for specific actions that happen in the game. Right now you can use:
- PLAYER_KILLS_PLAYER (player, targetPlayer): triggered whenever a player kills another player.
- PLAYER_KILLS_CREATURE (player): triggered whenever a player kills a mob.
- DEATH (targetPlayer): triggered whenever a player dies.
- GAMEMODE (targetPlayer, gamemode): triggered whenever a player's game mode is changed.
- LOCALE (targetPlayer, locale): triggered whenever a player's language settings are changed.
- XP_CHANGE (targetPlayer, xp, totalXp): triggered whenever a player's experience changes naturally.
- FLIGHT (targetPlayer, status): triggered whenever a player toggles their flying state.
Values in parentheses are placeholders.
Variables are temporary fields which can be altered when an event is triggered. Valid types are:
- count: a whole number. Can be positive or negative.
- boolean: true/false.
Channels are the mean of communication where information will be exchanged with other backend servers or the proxy.
You can use placeholders when sending or receiving a plugin message from a specific channel. Valid placeholders are:
- Pre-defined variables (variables.yml)
player
targetPlayer
mirlo exposes a simple API via the Mirlo.get()
method.
You can check our guide on using mirlo-api.
- Events API and config is taken from Sonar.