Skip to content

KlainStom/microstom

Repository files navigation

microstom

standard-readme compliant GitHub GitHub Repo stars GitHub forks GitHub release (latest SemVer) GitHub all releases

Microstom is a minimal minecraft server with Minestom as its core.

Microstom seeks to be a minimal implementation of a Minestom server. So it should not include any feature that could have been implemented in an extension. Every piece of content has to be added as extension, (almost) nothing is there by default.

Table of Contents

Install

You could either just download a release or you compile the server yourself using the following commands under Linux

git clone https://github.com/KlainStom/microstom.git
cd microstom
./gradlew build

The server jar will be located at build/libs/Microstom-<VERSION>.jar.

Note that for compiling you need to use a JDK 17.

Usage

To run the server you need to have a Java 17 runtime installed. Use the following command to start the server for the first time.

java -jar Microstom-<VERSION>.jar

This generates a start.sh script and a settings file with these default values:

{
  "SERVER_IP": "localhost",
  "SERVER_PORT": 25565,
  "MODE": "OFFLINE", // may be OFFLINE, ONLINE, BUNGEECORD or VELOCITY
  "VELOCITY_SECRET": "",
  "TPS": null, // default 20
  "CHUNK_VIEW_DISTANCE": null, // default 8
  "ENTITY_VIEW_DISTANCE": null, // default 5
  "TERMINAL_DISABLED": false // default false
}

You have to restart the server for changes in there to take effect.

Note that this server only supports 1.19.2 clients on version 6.0.0, 1.18.2 clients on version 5.0.0 and 1.18/1.18.1 on version 4.0.0. To allow other/multiple versions to connect you need to use a proxy with plugins like ViaVersion.

Restarting

Restarting the server calls the ./start.sh script. The generated script will restart the server with no way to access the console. So keep in mind that you will need an extension providing remote access or use tmux/screen in the start.sh to access the console.

API

This server itself does not add some API. But it features Minestom's API so you can use it from within extensions.

Maintainers

@offby0point5

Contributing

PRs accepted.

Small note: If editing the README, please conform to the standard-readme specification.

License

This project is licensed under the MIT License.