Skip to content

Publish the player progression guide

This server-owner page publishes the public-safe snapshot produced from the plugin's effective configuration. It does not upload YAML. Players use the separate progression and unlocks page.

The snapshot format is versioned in the v1 schema. The page, plugin endpoint, static export, stateless links, and hosted profiles use this same schema.

Create a current snapshot

Grant a trusted administrator mcprogression.admin.guide, then run:

/mcpadmin guide export

The plugin writes plugins/McProgression/player-guide.json. The snapshot follows the configuration active after first-install preset selection, shipped-default merging, and preservation of existing gameplay YAML. Raw command rewards and owner-only configuration are omitted from its public view. Keep the file private until you've reviewed its server name, preset, rewards, and revision.

Publish a stable page

Upload the JSON snapshot below to create a public profile on the official Pages site. The page will have a stable URL. Save the edit token in your password manager: it is shown only once. Anyone can read the profile; the token is required to replace or delete it.

The site exposes public reads at GET /player-guides/{id} and uses the Pages Function in functions/player-guides/[[id]].js for POST /player-guides, PUT /player-guides/{id}, and DELETE /player-guides/{id}. The D1 migration is migrations/0001_player_guides.sql. Before deploying this repository to Cloudflare Pages, create a D1 database, put its database ID in wrangler.toml, bind it as PLAYER_GUIDES, and apply the migration. Profiles are public and remain until deleted or replaced. The database stores only sanitized snapshot JSON and a hash of the edit token.

Choose player-guide.json exported by the plugin.

Host a static player page

For a page on your own web host, use the static bundle script from a checkout of the repository:

tools/package-player-guide.sh plugins/McProgression/player-guide.json ./public-player-guide

Copy the output directory to your web root and proxy a friendly path to it if desired. The bundle includes its own read-only UI and player-guide.json. Re-run the export and package steps after changing progression configuration. The visible generated time and revision help players and moderators spot older copies.

Optional plugin listener

The plugin can serve its current page and snapshot directly. It is disabled by default and binds only to 127.0.0.1:8765 when enabled. Configure player-guide.http.enabled, host, and port in config.yml, restart Paper, then proxy /, /assets/*, and /player-guide.json from a TLS-terminating web server. Keep the listener on loopback when the proxy shares the host. The endpoint is read-only and supports GET only.

Review public visibility

The public snapshot includes ranks, full combined requirements, player-relevant XP activities, configured rewards, dimensions, and a revision timestamp. Command reward bodies and owner-only settings are removed. Loot, trades, commands, and other plugins may provide alternate item routes, so the page does not promise that a listed gate controls every way to obtain or use an item.