/LinearPaper

A fork of Paper that implements the Linear region file format for Minecraft.

Primary LanguageShellMIT LicenseMIT

LinearPaper

A fork of Paper which adds support for the experimental Linear region file format to the dedicated server.

Caution

Starting with Minecraft 1.20.6, we are based on Paper, instead of Purpur. All Linear configuration options have been migrated to config/linear.yml, the format is pretty much almost the same as before. You need to manually update your configuration.

Configuration

All configuration regarding anything Linear-related is stored in config/linear.yml. You must restart your server for any edits to be applied, reloading is not supported and may even break your server.

Global Configuration

linear:
  flush-frequency: 10
  flush-max-threads: 1

Per-world Configuration

format: ANVIL # Change this to "LINEAR" to use the Linear region format.
  linear:
    compression-level: 1

Plugin compatibility

Important

Generally, all plugins that run on Paper should run on LinearPaper exactly the same, but if the plugin needs to access the region files directly by reading the .mca region files, it isn't going to be able to do so and may cause errors and unexpected behaviour. Plugin developers need to manually update their plugins to support Linear.

Compiling

  1. Clone LinearPaper

git clone https://github.com/StupidCraft/LinearPaper.git
  1. Change directory to LinearPaper

cd LinearPaper
  1. Apply Patches

./gradlew applyPatches
  1. Create Paperclip Jar

./gradlew createMojmapPaperclipJar

You will find a compiled Paperclip Jar file in build/libs/.

Credits

  • Xymb - Created the Linear region file format.
  • Kaiiju - Linear-related patches have been borrowed from this repository.