# 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.