Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

448 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ProxyFeatures

CI Lint CI Tests and Coverage Release Java 25 License

A modular Velocity feature runtime with a reload-safe, dependency-free integration API.

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: dependency-free root API, capability contracts, immutable DTOs, feature catalog, and extensions.
  • proxyfeatures-toolkit: shared runtime implementation support for config, cache, localization, HTTP, and text.
  • proxyfeatures-contracts: seven cross-platform wire-message contracts shared with ServerFeatures.
  • proxyfeatures: the installable Velocity plugin, packaged as ProxyFeatures.jar.

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.3.0</version>
  <scope>provided</scope>
</dependency>

Repository Layout

  • proxyfeatures-api: public, reusable integration surface.
  • proxyfeatures-toolkit: reusable implementation support used by the Velocity runtime.
  • proxyfeatures-contracts: cross-platform wire messages only.
  • 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