Skip to content

scrayosnet/janus

Repository files navigation

The official Logo of Janus

A visual badge for the latest release A visual badge for the version A visual badge for the code quality A visual badge for the coverage A visual badge for the license

Janus is a Minecraft SHARD1 world updater and migration tool that can be used to convert files in the SHARD (Shard Highly Augmented Region Data) format between different Minecraft versions and can be run as a job within Kubernetes.

The name "Janus" is derived from the Roman god of beginnings, gates, transitions, time, duality, doorways, passages, frames and endings (source). That alludes to the idea of Janus looking into the future and past and this software being able to migrate from past versions to future versions.

Motivation

The SHARD format was developed to allow for blazing-fast loading and easy modifications of Minecraft worlds. It was designed to act as both world and schematic without any modifications and therefore has unique characteristics. To further speed up loading of worlds, no migration is performed ad-hoc.

Janus is the responsible software for migrating SHARD files across different Minecraft and SHARD schema versions. It is built with scaling and clusters in mind and can be used as a command line tool for easy conversions. Having a separate software for the migration simplifies the implementation on the runtime platforms. Updates can be properly logged and are therefore reproducible. This is especially convenient, as the SHARD format is read-only and conversion would otherwise happen each time, the instance is restarted.

Major Features

  • Migrate SHARD files from one Minecraft version to another by modifying as little as possible.
  • Save time on ad-hoc conversions by updating all SHARDs in advance.
  • Perform dry-runs to see which changes are required between versions.
  • Run Janus as a job within Kubernetes to update the files automatically.
  • Hook up different data sources for retrieval and storage of SHARD files.

Getting started

Once this project is ready, information about how to run Janus will be published here. Stay tuned!

Reporting Security Issues

To report a security issue for this project, please note our Security Policy.

Code of Conduct

Participation in this project comes under the Contributor Covenant Code of Conduct.

How to contribute

Thanks for considering contributing to this project! In order to submit a Pull Request, please read our contributing guide. This project is in active development, and we're always happy to receive new contributions!

License

This project is developed and distributed under the MIT License. See this explanation for a rundown on what that means.

Footnotes

  1. The SHARD format was developed by ScrayosNET and will be released at a later point in time. It was inspired by the SLIME format of Hypixel and the Sponge Schematic format.