One modular feature framework for your Paper server.
- Place
ServerFeatures.jarin your Paperplugins/directory. - Install optional dependencies required by the features you plan to run.
- Start the server once to generate runtime config files.
- Enable the features you want in
plugins/ServerFeatures/config.yml. - Use
/serverfeatures listand/serverfeatures info <feature>to verify state.
- Java 25
- Paper
26.2.build.65-beta - Feature-dependent optional plugins:
DataRegistry1.12.0DataProvider3.1.0packeteventsPlaceholderAPI- other integrations (for example Vault, LuckPerms, WorldGuard) only when using related features
Add GitHub Packages credentials for Maven server id github in ~/.m2/settings.xml:
<settings>
<servers>
<server>
<id>github</id>
<username>YOUR_GITHUB_USERNAME</username>
<password>YOUR_TOKEN</password>
</server>
</servers>
</settings>Use a token with read:packages (and repo if package source repositories are private), then run:
./mvnw -B -ntp verifyOutput jar: target/ServerFeatures.jar
Run the real Paper acceptance gate (Docker required) with:
./mvnw -B -ntp -Pplatform-acceptance verifyIt boots the packaged ServerFeatures jar with DataProvider and DataRegistry, verifies their public runtime integration,
and requires a clean shutdown. Set PLATFORM_ACCEPTANCE_KEEP_WORK_DIRECTORY=true to retain logs.