LightKeeper / Open-source Minecraft plugin testing

These guides describe the current master build. Select a release in the API Reference for released APIs.

FAQ

Common setup and troubleshooting questions.

Use these answers to diagnose provisioning issues, cache behavior, and integration-test output paths.

How do I run tests directly from my IDE?

Prepare the owning module once with mvn lightkeeper:prepare-server@prepare-server -Dlightkeeper.ide=true, then use its JUnit gutter button. See IDE setup for refresh, persistence, and troubleshooting.

Where are integration-test logs?

See Failsafe output and summaries under:

lightkeeper-integration-tests/target/failsafe-reports/

Does mvn clean verify always re-download servers?

No. clean wipes module target directories, but LightKeeper reuses jar/base-server caches under the configured cache roots (by default under your Maven local repository).

Can I supply a custom world folder?

Yes. Configure a world with sourceType=folder and a local sourcePath.

Can I add extra plugins and config files?

Yes. Add plugins from local jars or Maven coordinates, and use configOverlayPath to copy a complete config tree into the prepared server.

Can LightKeeper remove server folders after successful tests?

Yes. Use lightkeeper:cleanup-server and set deleteTargetServerOnSuccess=true. It checks failsafe summaries and only cleans on success.

How can I run the same tests on Paper and Spigot?

Configure two plugin executions and two Failsafe executions with different runtime manifest/system property values. The module lightkeeper-integration-tests demonstrates this.

Still stuck? Open an issue with your Maven command, platform, Java version, and relevant report files.