Skip to content

CloudburstMC/Nukkit

Repository files navigation

nukkit

License: GPL v3 Build Status Discord

Introduction

Nukkit is nuclear-powered server software for Minecraft: Pocket Edition. It has a few key advantages over other server software:

  • Written in Java, Nukkit is faster and more stable.
  • Having a friendly structure, it's easy to contribute to Nukkit's development and rewrite plugins from other platforms into Nukkit plugins.

Nukkit is under improvement yet, we welcome contributions.

Links

Contributing

Please read the CONTRIBUTING guide before submitting any issue. Issues with insufficient information or in the wrong format will be closed and will not be reviewed.

Build JAR file

  • git clone https://github.com/CloudburstMC/Nukkit
  • cd Nukkit
  • git submodule update --init
  • ./gradlew shadowJar

The compiled JAR can be found in the target/ directory.

Running

Simply run java -jar nukkit-1.0-SNAPSHOT.jar.

Plugin API

Information on Nukkit's API can be found at the wiki.

Docker

Running Nukkit in Docker (17.05+ or higher).

Build image from the source,

docker build -t nukkit .

Run once to generate the nukkit-data volume, default settings, and choose language,

docker run -it -p 19132:19132/udp -v nukkit-data:/data nukkit

Docker Compose

Use docker-compose to start server on port 19132 and with nukkit-data volume,

docker-compose up -d

Kubernetes & Helm

Validate the chart:

helm lint charts/nukkit

Dry run and print out rendered YAML:

helm install --dry-run --debug nukkit charts/nukkit

Install the chart:

helm install nukkit charts/nukkit

Or, with some different values:

helm install nukkit \
  --set image.tag="arm64" \
  --set service.type="LoadBalancer" \
    charts/nukkit

Or, the same but with a custom values from a file:

helm install nukkit \
  -f helm-values.local.yaml \
    charts/nukkit

Upgrade the chart:

helm upgrade nukkit charts/nukkit

Testing after deployment:

helm test nukkit

Completely remove the chart:

helm uninstall nukkit