Skip to content

Permissions

Bazaar reads permissions through the standard me.lucko.fabric.api.permissions.v0.Permissions API, so any Fabric permissions provider works (LuckPerms, ForgeConfigAPIPort’s built-in, etc.).

NodeGatesDefault
bazaar.gts.browseOpening /gts and the GTS GUI.everyone
bazaar.gts.sell/gts sell and cancelling own GTS listings.everyone
bazaar.gts.buyBuying BIN GTS listings and placing bids.everyone
bazaar.gts.buyorderCreating and cancelling GTS buy orders.everyone
bazaar.ah.browseOpening /ah (the default channel).everyone
bazaar.ah.sell/ah sell.everyone

Every channel declares a base permission node in channels.conf. Two subnodes are derived from it:

  • <base>.browse – open the channel’s browse GUI and view listings.
  • <base>.sell – list items in the channel.

Example: the shipped premium channel has permission: "bazaar.ah.premium", so you need:

  • bazaar.ah.premium.browse to run /premium
  • bazaar.ah.premium.sell to list an item in it

Use these nodes to build tiers: bazaar.ah.premium.browse on everyone but bazaar.ah.premium.sell only on a ranked group, for example.

NodeGates
bazaar.adminAll /bazaar admin subcommands and admin-only endpoints on the web dashboard.

If you don’t set this node explicitly it falls back to Minecraft’s op level 2 (/op <player>).

Login uses /bazaar link to produce a one-time code. The dashboard then:

  1. Issues a JWT signed with web.jwtSecret from config.conf.
  2. Reads the player’s permissions every request to decide which pages and actions are available.

The admin panel on the dashboard checks bazaar.admin exactly the same way the in-game commands do.

  • Keep bazaar.gts.* and bazaar.ah.* on everyone; they’re how players interact with the mod at all.
  • Gate premium channels through <base>.sell if you want only staff or ranked players to list there.
  • Give bazaar.admin only to staff. Admin commands and dashboard pages are destructive.
  • There is no separate “view admin panel” permission. Anyone with bazaar.admin sees every admin feature.