Automated tooling for starting and configuring a (local) Minecraft server under Windows with a custom set of gamerules and commands. Designed for Stiftung jugend und medien workshops.
- Automatic server startup with Java configuration
- Automatic gamerule configuration and success validation from
jume_gamerule.properties - Custom command execution from
jume_custom_commands.txt - RCON-based configuration using mcrcon
- Error handling with user-friendly error messages
- Requirements: Ensure that all requirements are present (see Requirements)
- Configure: Specify the gamerules and commands you want to apply at startup in the provided configuration files.
- Start the server: Run
Start.bat - Wait for configuration: The script automatically waits for the server to start, then applies gamerules and custom commands
- Verify success: Look for
[Rcon] jume Tooling: Everything is ready to go!in the server console or check the log file (jume_startup_log_*)
jume_gamerule.properties: Define gamerules inrule=valueformat (one per line,#for comments)jume_custom_commands.txt: Add custom server commands (one per line, without leading/,#for comments)
- Java JDK 21 (path configured in
Start.bat) - Python 3 (for configuration script)
- [Minecraft Server JAR[(https://www.minecraft.net/de-de/download/server) (e.g.,
minecraft_server.1.21.10.jar)- Rename it to
server.jar
- Rename it to
- mcrcon.exe must be located at the location specified in
MC_RCON_LOCATIONinjume_configure_server.py(default:helpers/mcrcon.exe)- Download: https://github.com/Tiiffi/mcrcon/releases/tag/v0.7.2 (windows-x86-64)
- You can use our helper script
jume_download_mcrcon.batto download it
It is assumed that the minecraft server .jar is called server.jar, if you want another name to be called you can change it in Start.bat.
The following settings must be present in server.properties:
enable-rcon=true
rcon.password=verySecurePasswordThatYouShouldntChange
This is already configured in the server.properties in this repository.
Note: The RCON password must match RCON_PASSWORD in jume_configure_server.py (default: verySecurePasswordThatYouShouldntChange).
Note: Minecraft changed its gamerule naming scheme from camelCase to snake_case with the release of 1.21.11.
E.g.: keepInventory is now keep_inventory.
You can have both versions configured in your jume_gamerule.properties, the wrongly-formatted ones will produce a warning in the output, but won't influence the success of other gamrules.
- 1.21.10
- 1.21.11 (requires
snake_caseformatting)
Since Minecraft 1.21.10, PvP is no longer a setting in the server.properties instead it's a game rule.
PvP is prohibited in our workshops so we had to find a way to reliably disable it, every time a new world is set up.
This is why we developed this tooling for our internal use. During development, we decided to expand the scope from "just disabling pvp" to a wider, more general approach.
Since we're pretty happy and confident with our solution we decided to open source it and make it available for other institutions as well.
- The initial version of this readme was AI generated based on the projects files.
- Some standard documentation of the python code was AI generated.
- All AI-generated code and text was audited by the authors.
- All other usages of AI are clearly disclosed as such in the related files.