Skip to content

HauntedMC/ProxyFeatures

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

404 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ProxyFeatures

CI Lint CI Tests and Coverage Latest Release Java 25 License

A modular feature framework and reusable API for your entire Velocity network.

Quick Start

  1. Place ProxyFeatures.jar in your Velocity plugins/ directory.
  2. Install dependencies: dataregistry and dataprovider.
  3. Start the proxy once to generate defaults.
  4. Enable the features you want in config.yml.
  5. Restart and go live.

Requirements

  • Java 25
  • Velocity 4.1.0-SNAPSHOT
  • DataRegistry 1.13.4 for DataRegistry-backed features
  • DataProvider 3.1.8 for persistent features

Build From Source

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 the package source repositories are private), then run:

./mvnw -B -ntp verify

Output jar: proxyfeatures-platform-velocity/target/ProxyFeatures.jar

Run the real Velocity acceptance gate (Docker required) with:

./mvnw -B -ntp -Pplatform-acceptance verify

It boots the packaged ProxyFeatures jar with the bundled DataProvider and DataRegistry releases, then checks their public runtime integration and clean shutdown. Set PLATFORM_ACCEPTANCE_KEEP_WORK_DIRECTORY=true to retain logs.

Published Modules

  • proxyfeatures-api: reusable commands, configuration, cache, localization, packet, and text contracts.
  • proxyfeatures-contracts: small cross-platform persistence and wire-message contracts shared with ServerFeatures.
  • proxyfeatures: the installable Velocity plugin; its jar keeps the historical ProxyFeatures.jar name.

The testkit is reactor-internal and is not part of the supported production API. Maven consumers should depend on the smallest public artifact they need, with provided scope when the Velocity plugin supplies it at runtime.

<dependency>
  <groupId>nl.hauntedmc.proxyfeatures</groupId>
  <artifactId>proxyfeatures-api</artifactId>
  <version>3.0.0</version>
  <scope>provided</scope>
</dependency>

Repository Layout

  • proxyfeatures-api: public, reusable integration surface.
  • proxyfeatures-contracts: shared sanction, player persistence, and cross-platform messaging model.
  • proxyfeatures-testkit: common test infrastructure.
  • proxyfeatures-platform-velocity: feature framework, feature implementations, and distributable jar.
  • proxyfeatures-platform-acceptance: API-only consumer and real Velocity boot gate.

Learn More

Community

Releases

Packages

Used by

Contributors

Languages