Minecraft servers network management system disguised as a Discord bot.
The bot is tightly integrated with polychat2 which is a Forge/Bukkit server-side Minecraft mod needed for the incoming messages to be understood and handled correctly.
To view all the commands, simply type !help
in a server that has the bot, once it is running.
The bot integrates with Minecraft servers, providing the ability to view online servers and information about them (IP, name, amount of online players), as well as the ability for staff to perform administrative tasks such as restarting the servers and executing commands on them from Discord.
The bot automatically detects applications for the Member role posted to the #member-apps Discord channel and allows Staff to manage them (approve/reject), notifying the players of the outcome.
The bot synchronises Discord moderation with Minecraft moderation, allowing for bans/warns to be issued on Discord and on all Minecraft servers simultanously.
Tags system which allows moderators to add tags which are available via a command. Useful for adding answers to FAQs etc.
Comamnds that make it easier for Staff to diagnose problems so that they do not have to SSH in, for simple tasks such as checking the available SSD space on the dedicated server (a common issue).
- Issues
- Mutes
The bot has two deployment methods:
- Docker
- Native (directly on the host machine)
-
Set up polychat2. Instructions for how to do so can be found in its Quickstart tutorial. IMPORTANT: ONLY SET UP THE CLIENTS, SERVER IS NOT NEEDED AND WILL INTERFERE WITH
Mmcc.Bot
IF USED. -
Clone this repository. From now on the root of the cloned repository will be refered to as
./
-
Initialise the submodules by running
git submodule update --init --recursive
in./
.
-
Install Docker.
-
Go to
./env
. If the folder does not exist, create it. Create a file calledmariadb.env
, with the following contents:
MARIADB_ROOT_PASSWORD=placeholder
MARIADB_DATABASE=placeholder
MARIADB_USER=placeholder
MARIADB_PASSWORD=placeholder
Replace the placeholder with whatever values you want.
If you prefer setting environment variables in a different way, you can see all the available options docker has in the docker-compose manual.
-
Go to
.src/Mmcc.Bot
. Locate the file calledappsettings.default.json
and rename it toappsettings.json
. Open it and fill it in. IMPORTANT: In theMySql
section keep the IP set todb
and port to3306
. -
Run
docker compose up
in./
.
-
Install .NET 6 SDK
-
Install Entity Framework Core Tools
-
Install MariaDB or MySQL and start it. We strongly recommend MariaDB.
-
Create an empty database for the bot.
-
Create a user for the bot with all the necessary permissions (creating/deleting tables, read/write to the tables) in that database.
-
Go to
.src/Mmcc.Bot
. Locate the file calledappsettings.default.json
and rename it toappsettings.json
. Open it and fill it in. Remember to change the IP in theMySql
section tolocalhost
. -
Duplicate the file and name the duplicate
appsettings.Development.json
. -
Open a terminal tab/window in the
./src/Mmcc.Bot.Database
directory and rundotnet ef database update
. This will apply all the necessary database migrations to the database you have specified inappsettings.Development.json
. -
Open a terminal tab/window in
./
. Rundotnet publish ./src/Mmcc.Bot/Mmcc.Bot.csproj -c Release -o ./out
. -
Start the bot by opening a terminal window/tab in
./out
and runningdotnet Mmcc.Bot.dll
.