EnchantedPaper is in public alpha. Most features work for most players most of the time, however things can occasionally break.
1.21+ MultiPaper fork that enables a server admin to scale a single world across multiple servers. Multiple EnchantedPaper servers run the same world and use an EnchantedPaper-Master to coordinate with each other and store server data. While the EnchantedPaper-Master is usually run as a standalone server, it can also be run as a BungeeCord or Velocity plugin, which has some benefits including being able to send players to the least busy server when they join.
Requirements:
- You need
git
installed, with a configured user name and email. On windows you need to run from git bash. - You need
jdk
17+ installed to compile (andjre
17+ to run)
Build instructions:
- Patch paper with:
./gradlew applyPatches
- Build the EnchantedPaper jars with:
./gradlew shadowjar createReobfPaperclipJar
- Get the EnchantedPaper jar from
build/libs
- Get the EnchantedPaper-Master jar from
EnchantedPaper-Master/build/libs
Publish to your local maven repository with: ./gradlew publishToMavenLocal
Note for mac users: The latest macOS version includes an incompatible version of
diff and you'll need to install a compatible one. Use brew install diffutils
to install it, and then reopen the terminal window.
If diff --version
returns the following, it is incompatible and will not work:
Apple diff (based on FreeBSD diff)
All code is licensed under GPLv3 excluding EnchantedPaper-Master which is licensed under MIT.
EnchantedPaper builts upon MultiPaper.
EnchantedPaper includes optimisations from both Airplane and Pufferfish.
EnchantedPaper uses PaperMC's paperweight framework found here.