Files
minecraft-account-manager/plugins/velocity/README.md
T
dmg 71856bb869
CI / validate (push) Successful in 5m45s
Release / release (push) Successful in 7m21s
feat(admission): add group VPN exceptions
2026-08-02 10:16:16 -04:00

35 lines
1.6 KiB
Markdown

# Velocity admission plugin
The plugin checks every online-mode Java login against the account-manager API. It fails closed: unavailable, unauthorized, stale, replayed, malformed, unknown-account, group-disabled, and group-policy VPN/proxy/Tor requests are denied. After a player completes proxy login, the plugin sends best-effort `PostLoginEvent` telemetry used for confirmed-connection activity metrics; reporting failure is logged without disconnecting the player.
## Download or build
Versioned JARs are attached to public releases at `https://git.garvis.dev/dmg/minecraft-account-manager/releases`.
To build a development JAR locally:
```bash
cd plugins/velocity
./gradlew clean test shadowJar
```
To embed a release version in both the plugin metadata and filename:
```bash
./gradlew clean test shadowJar -PreleaseVersion=1.0.0
```
Copy `build/libs/minecraft-account-manager-velocity-VERSION.jar` to Velocity's `plugins/` directory and start Velocity once to create `plugins/minecraft-account-manager/config.properties`.
## Provision a credential
From the repository root, with `DATABASE_URL` configured:
```bash
npm run plugin:create-credential --workspace @minecraft-account-manager/database -- velocity-main
```
Copy the displayed token into the plugin's `api-token`. Configure the HTTPS account-manager URL and ensure `server-id` matches. Restrict access to the plugin configuration because it contains the bearer token, then restart Velocity.
The proxy must run in online mode. Unknown players, disabled groups, and disallowed VPN/proxy/Tor connections receive their operator-configured API message. API failures receive the plugin's local registration fallback.