I have made a mini game server for Minecraft from scratch with a java library called Minestom.
Features include
- Supports Minecraft Java version 26.2
- Different minigames
- A system which automaticly manages all game instances
- A queue system
- A party system
- A ban system
- An automatic bad word block list banner when players use words they really should not
(must be configure over properties file)
- An automatic bad word block list banner when players use words they really should not
- A report system
- A permission system
- Persistant reports/bans/permissions accross server restarts with sqlite database
- Configuration over properties file ooooor … by modifieng source code ;)
- Multible commands acting as a ‘frontend’ to all the systems some require specific
permissions to execute - A main program to connect everything
- Velocity support
- In game build tool to modify maps on the go
- Additional abilities that may be usefull
- fly in survival mode
- hide from other players
- change gamemode
- help command
- Visual ranks for players
- A console prompt that can be used to execute comands from console side
- NPC’s instead of commands in lobby
- Prebuild maps to play on
for people who can’t test it normally, because the requirements are a bit messed up because it is multiplayer on a paid game
please read my README.md file in my repo & watch [this broad video] (https://foxors.de/files/ministomVideo.mp4)
the most difficult things where
Things i had to first figure out because Minestom has some methods without any javadoc nor comments in source code 
Another thing that was a bit frustrating was that i tried to make my own workflow with my own runner. However it did not go great and now you have to build docker images yourself, but do not worry i have made a compose and DockerFile all ready, which both worked for me.
Learned a bit
A great thing was that i learned a lot about Java in this project and i think it really helped me with my exam in university (our prof still makes corrections).
PS: You may see the ai notice on this project. It points to a not finished part of this project which is not part of this build, just so you know :)
Hope you enjoy!
- 14 devlogs
- 103h

. What i did is that i have a docker directory now bundled into each build zip which contains all files needed to create a Dockerfile + a bash file to download required files from other projects like velocity proxy. + A compose file which works more or less out of the box.
. What funny was that i forgot to disable my cape when i configured them with my account appearance data. They actually still have them on but i turned them invisible.