A very simple implementation of Minestom, which can be used as a template to develop your own server. The project structure allows you to create a separate API, which can be released apart from the actual server.
This template can also be run as a server. You can either build from source or download the latest release.
- JDK:
Java 21
- Minecraft-Version:
1.20.4
- Gradle:
8.10
stop
-Command to stop the server (Permission:command.stop
)version
-Command to show current server version- Asynchronous writing of log-files
- ColorCode support in the Console
- Proxy support (BungeeCord, Waterfall, Velocity)
- Structure to publish separate API
- YAML configuration file (
server_config.yml
)
If the API should be published via maven-publish
, then you have to configure the build.gradle.
Links to the most interesting files
A big thanks to these dudes!
- Project Cepi, author of Sabre
- KlainStom, author of microstom
- ZakShearman, author of Operadora
- Minestom wiki
- Minestom javadocs
If you want to contribute, pull requests are always welcome!
This is the default configuration when the server gets started for the first time:
server:
# The host address of the server
host: 0.0.0.0
# The listening port of the server
port: 25568
# Toggle online-mode (mojang authentication) of the server
online-mode: true
# Toggle difficulty (options: PEACEFUL, EASY, NORMAL, HARD)
difficulty: NORMAL
proxy:
# Toggle proxy-mode (options: NONE, BUNGEECORD, VELOCITY)
proxy-mode: NONE
# Set your velocity-secret (Do not share that!)
velocity-secret: ''
packets:
# Set the rate-limit of packets/second for the clients (0 disables rate-limit)
rate-limit: 450
# Set the max-size of packets from the clients (maximum is 2097151 bytes)
max-size: 2097151
# Set the compression-threshold of packets (0 disables compression)
compression-threshold: ''
view-distance:
# Set the view-distance of chunks (range between 2 and 32)
chunks: 10
# Set the view-distance of entities (range between 2 and 32)
entities: 10
Note: The configuration cannot be reloaded after the start. A restart must be performed for changes to be applied.