Skip to content

Commands Reference

Every Link Cable command sits behind one root: /linkcable. The full surface is split into:

  • backup — the backup management suite. Used in normal admin operation.
  • migrate — one-shot data migrations from other sync mods. Used during transitions.
  • dev — diagnostic and stress-test commands. Only registered in development environments.

All commands require the linkcable.command.admin permission node. With no permissions plugin installed, the fallback is operator level 2.


linkcable.command.admin

With LuckPerms:

/lp group admin permission set linkcable.command.admin true

The dev commands are gated additionally by the development-environment check. They’re not available on production builds regardless of permission level.


The backup management suite. See Backups for the operational guide.

CommandArgumentsEffect
backup create <player> [reason]<player>: any known player (autocomplete includes offline players); [reason]: free-form text, defaults to manualTake a full snapshot.
backup list <player><player>List every backup for the player, newest first. Each row is clickable for inspect.
backup browse <player><player>Open an in-game GUI showing the player’s backups with party/PC navigation.
backup inspect <backupId><backupId>: autocompletes against known backup idsPrint full detail (lane sizes, timestamps, reason).
backup party <backupId><backupId>Open a GUI showing the party in this backup.
backup pc <backupId><backupId>Open a GUI showing the PC contents in this backup.
backup restore <player> <backupId><player>, <backupId>Restore the backup. Offline-only. Pre-restore backup taken automatically.
backup delete <backupId><backupId>Hard-delete the backup.
backup export <backupId> <path><backupId>, <path>: filesystem pathExport the backup to a self-contained archive.
backup import <path><path>Import a previously-exported archive as a new backup.
  • <player> autocomplete includes offline players whose UUIDs have been seen on the network.
  • <backupId> autocomplete pulls from currently-stored backups. The full id is rarely necessary — the first few characters narrow it.
  • backup create and backup list produce clickable chat output. Click a backup id to inspect; click a player chip to open the browser.
  • backup inspect outputs as plain chat lines (no clickable elements).
  • backup party and backup pc open ConfigGUI-backed browsers and require the executor to be a player (not the console).

Currently, migrate has one target: ultrasync. See UltraSync Migration for the operational guide.

CommandArgumentsEffect
migrate ultrasync <mongoUri|active> [limit]<mongoUri|active>: full Mongo URI in quotes, or active to reuse the configured Mongo deployment; [limit]: optional integer cap on how many records to processBulk import UltraSync player records into Link Cable’s player-core lane.
  • Online players are skipped.
  • Players in non-OFFLINE runtime states are skipped.
  • Per-player work is serialized behind the same distributed lock used by live sync.
  • Pre-migration backups are taken automatically for any player who already has a Link Cable snapshot.
  • Only the player-core lane is touched. UltraSync’s source data populates inventory, ender chest, health, food level, saturation, XP, and game mode; if UltraSync had trinkets data, it’s mapped into the Accessories mod’s Fabric Attachment API slot. Cobblemon lanes (party, PC, general, Pokedex) and the per-player Molang lane are preserved.
  • The database is fixed to UltraSync and the collection to users — override only by editing the ultraSyncMongoDatabase and ultraSyncMongoCollection fields in config.json.

The command echoes a single completion line back to the actor:

UltraSync migration finished: scanned=N migrated=N skipped=N

Or, if any record failed:

UltraSync migration finished with failures: scanned=N migrated=N skipped=N failed=N

Each per-player failure prints as a separate red failure line below (up to 10 per run). Re-running the command is safe — already-migrated, online, locked, or no-op-merge players are skipped on subsequent passes.


The dev commands are diagnostic and stress-test tools. They’re only registered when running in a development environment — they aren’t available on production servers regardless of permission level.

These are documented for completeness. Use them on a staging network to reproduce issues; do not rely on them as production tooling.

CommandEffect
dev state <player>Prints a single line with state, owner, epoch, snapshot version, last flushed version and timestamp, the server that flushed, network presence, and canonical/cached snapshot versions for the player.
dev auditCompares the executing player’s current state (party, PC, box names/wallpapers, inventory, armor, offhand, ender chest, selected slot, food, XP, game mode, test attachment, counts) against an expected baseline captured earlier with mutate-player. Reports Audit OK or Audit FAILED with the specific mismatches.
dev player-auditAlias for dev audit.
dev pasture-auditLists the tethered Pokémon in the executing player’s active pasture link and verifies each tether’s Pokémon UUID exists in the player’s PC.
CommandEffect
dev transfer <targetServer>Force a transfer of the executing player to the named server, bypassing some normal proxy paths. Useful when proxy-side transfer commands aren’t behaving as expected on a dev network.
CommandEffect
dev bounce <serverA> <serverB> <hops> <delayTicks>Move the executing player back and forth between two servers without state mutation.
dev mutate-bounce <serverA> <serverB> <hops> <delayTicks>Same, but mutate state between hops to verify owner-epoch fencing under churn.

These reproduce real network flows on a staging environment. Run them before promoting a config change to production.

CommandEffect
dev crash <delayTicks>Schedule a crash on this backend after the given tick delay. Used to verify that crash recovery (stale-owner release, snapshot durability) works under realistic timing.

Don’t run this on a server with anyone else online.

CommandEffect
dev mutate-player <step>Apply a known mutation pattern to the executing player’s state. Used inside bounce tests to introduce verifiable state changes.
dev set-test-attachment <value>Write an integer test attachment onto the executing player.
dev get-test-attachmentPrint the player’s current test attachment value.

Test attachments are a debugging hook for verifying that custom Cobblemon-side player attachments survive transfers. They aren’t used in production sync.


Every Link Cable command sends its result back through the chat surface to the executing source. Successful commands send success chat (visible to the source); failures send failure chat (red).

For commands that produce structured output (backup list, backup inspect, audits), the output is one line per item, in the order produced by the command. Long lists scroll past the chat history limit — use the in-game GUIs (backup browse, etc.) for interactive navigation.

For commands that affect player state (backup restore, migrate ultrasync, dev mutate-bounce), the operation log lines also appear in the server console with [Link Cable] prefixes, regardless of who initiated the command.