Astral Realms Documentation Help

Installation

There is a single artifact: a Velocity proxy plugin. AstralPack has no Paper-side jar.

1. Pre-flight

  • A Velocity proxy running AstralCore. astralcore is a hard @Dependency on AstralPackBootstrap, so Velocity refuses to load AstralPack without it.

  • Every backend server that should receive a pack must be registered in AstralCore's ServerService with a non-null group (MinecraftServer#group). That group string is what packs.<key>.groups matches against, exactly and case-sensitively.

  • The pack ZIP URLs must be reachable from the proxy host — the SHA-1 is computed proxy-side by downloading the archive — as well as from clients.

2. Install

Drop AstralPack-1.0-SNAPSHOT.jar into the proxy's plugins/ directory and restart the proxy.

Build coordinates, for reference:

Item

Value

Artifact

com.astralrealms:pack:1.0-SNAPSHOT

Java

25

velocity-api

3.4.0-SNAPSHOT (provided)

core-velocity

1.0-SNAPSHOT (provided)

acf-velocity

0.5.2-SNAPSHOT (provided)

Packaging

maven-shade-plugin, final name AstralPack-1.0-SNAPSHOT

3. First run

AstralCore's VelocityConfigurationManager copies the bundled config.yml into the plugin's data directory if it is not already there, then loads it into MainConfiguration. On startup the proxy logs AstralPack is initializing... and then AstralPack has been initialized!.

Each pack's hash is then computed asynchronously. Watch the console for Failed to compute resource pack hash errors — a pack that logs one is never added to computedPacks and will never be served. See Overview — Computing packs.

4. Verify

Run /pack update <id>. It re-computes the pack's hash and pushes it to everyone, which is a clean way to confirm the URL is reachable from the proxy and the ZIP is valid.

5. Permissions

Grant staff pack.command, plus pack.command.update and pack.command.reload as needed. Ordinary players need no permission at all — packs are applied automatically during the configuration phase, not by a command. See the permission summary.

Shutdown

AstralPack#onDisable is empty.

Last modified: 03 September 2026