Skip to Content
FluxStore is currently invite-only. Some sections of this documentation are still being written and expanded.
OrdersCommand Delivery

Command Delivery

When a customer completes a purchase, FluxStore queues the package’s commands and delivers them to your Minecraft servers over WebSocket. If the target server is offline or a command requires the player to be online and they aren’t, the command stays queued until the conditions are met.

Command lifecycle

Each command goes through up to five statuses:

StatusWhat it means
PendingQueued. Waiting for the server to come online (or, for player-required commands, for the player to log in)
DeliveredSent over WebSocket. The server acknowledged receipt but the command hasn’t actually been run yet
Awaiting playerThe server is online but the player isn’t. The command runs the moment they log in
CompletedSuccessfully executed on the server
FailedDelivery or execution failed — the command will not be retried automatically

The order detail page shows the current status of every command in the order, with timestamps for each transition.

Command types

A single order can fire commands at several different points in its lifetime. Each command on the package carries a type that determines when it runs:

TypeWhen it runs
InitialOn the original purchase. Every order has these
RenewalOn each successful subscription renewal (subscription packages only)
ExpiryWhen a timed package’s duration ends, or when a subscription is cancelled and the paid period ends
RefundWhen you refund the order. Use this to take back what was delivered
ChargebackWhen a chargeback is opened against the order. Same idea as Refund but typically harsher (e.g. also ban)

Configure these per-package under the package’s command editor — see Packages: Delivery Commands. Initial and Renewal are required for their package type; the others are optional but strongly recommended for cleanup.

Managing commands

Open an order from Dashboard > Orders to manage its commands individually:

  • Resend queues a failed or completed command for re-execution. The command’s status flips back to Pending and it goes out on the next delivery cycle.
  • Edit lets you modify the command text of a Pending command before delivery. Once Delivered or beyond, the text is locked — Resend instead.
  • Cancel removes a Pending command from the queue so it won’t be sent.

Bulk resend

If commands failed during a server outage, you can resend them in batches instead of one by one. From Dashboard > Orders, use the date filter to find the affected orders, then use the per-order Resend control. (A truly bulk control isn’t exposed today; if you have a wide outage to recover from, contact support.)

Global commands

Global commands run on every connected server rather than one specific one. Useful for things like network-wide announcements, or running a permission grant on every server in your BungeeCord/Velocity network at once.

Set up global commands from Dashboard > Global Commands. They run alongside package commands, not instead of them.

Variables

Commands support placeholders that get replaced with order values at execution time. See Packages: Variables for the full list ({player}, {uuid}, {transaction_id}, {price}, {quantity}, etc.).

Examples

give {player} diamond 64 lp user {player} parent set vip say {player} just purchased VIP for ${price}!

Troubleshooting

Commands stuck on Pending. The server is offline. Check your plugin’s WebSocket connection in your server’s console.

Commands stuck on Awaiting player. The player isn’t online. They’ll run automatically the moment the player logs in. Some commands (rank grants, etc.) require the player to be online; others don’t. Configure which is which on the command itself.

Command went straight to Failed. Open the command to see the error returned by your Minecraft server. Most common causes: a typo in the command, a permission issue with the FluxStore plugin’s executor user, or a referenced plugin (LuckPerms, Essentials) not being installed.

Commands hit Failed across many orders at once. This is usually a server-side problem (Minecraft server crashed, plugin disabled, permission revoked). Fix the underlying issue, then Resend the failed commands.

Next Steps