Skip to content

A fast, lightweight Minecraft server written in Kotlin

License

Notifications You must be signed in to change notification settings

MarcinAman/Krypton

 
 

Repository files navigation

License: MIT Build Status Discord

Krypton

Krypton is a Minecraft server implementation, written purely from scratch in Kotlin.

It is currently a W.I.P, so if you find any bugs, feel free to make an issue about them

Usage

We now have a Jenkins CI server! You can find it at https://ci.kryptonmc.org

You can download the latest JAR file from here and run it with java -jar Krypton-VERSION.jar. If you have any questions, feel free to ask in our Discord server.

Or, if you prefer, you can clone the repository with git clone https://github.com/KryptonMC/Krypton.git and build from source with gradle shadowJar if you wish to run the server.

WARNING: Krypton is far from production ready. DO NOT USE ON PRODUCTION SERVERS! WILL CONTAIN BUGS! You have been warned.

API

As of version 0.11, Krypton now has an API. It is heavily in development, so expect to find bugs, but it is at least semi-functional.

You can depend on it like this:

  • Gradle Kotlin DSL:
repositories {
    mavenCentral()
    maven("https://libraries.minecraft.net")
    maven("https://repo.bristermitten.me/repository/maven-public/")
}

dependencies {
    compileOnly("org.kryptonmc:krypton-api:LATEST")
}
  • Gradle Groovy DSL:
repositories {
    mavenCentral()
    maven { url 'https://libraries.minecraft.net' } // for Brigadier
    maven { url 'https://repo.bristermitten.me/repository/maven-public/' }
}

dependencies {
    compileOnly 'org.kryptonmc:krypton-api:LATEST'
}
  • Maven:
<repositories>
    <!-- For Brigadier -->
    <repository>
        <id>minecraft</id>
        <url>https://libraries.minecraft.net</url>
    </repository>
    <repository>
        <id>bristermitten</id>
        <url>https://repo.bristermitten.me/repository/maven-public/</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>org.kryptonmc</groupId>
        <artifactId>krypton-api</artifactId>
        <version>LATEST</version>
    </dependency>
</dependencies>

The documentation for both the API and the server can now be found here.

Example usage:

class MyPlugin(context: PluginContext) : Plugin(context) {

    init {
        registerCommand(MyCommand()) // example command registration
    }

    override fun initialize() {
        // do some other things
    }
}

If you have any questions about the usage of the API, feel free to join our Discord server!

Or if you have an idea on how I could improve the API, feel free to open an issue.

Contributing

Krypton is open-source for a reason. You are more than welcome to contribute, and we even encourage it. This project wouldn't be possible without contributions.

If you're interested, I highly recommend reading the contribution guide to learn how to get started, and know the best practices.

Credits

About

A fast, lightweight Minecraft server written in Kotlin

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 99.3%
  • Other 0.7%