Skip to content

Repository files navigation

@dcl/opscli

Operations command line tool.

Commands

Validate deployment consistency

Check the active deployment by pointer on every catalyst, verify convergence across catalysts, and check asset bundle status via the asset bundle registry.

npx @dcl/opscli pointer-consistency --pointer "0,0"
npx @dcl/opscli pointer-consistency --pointer "0,0" --env zone
npx @dcl/opscli pointer-consistency --cid "bafkrei..."
  • --pointer Scene pointer coordinate (e.g. "0,0")
  • --cid Entity ID to resolve the pointer from (alternative to --pointer)
  • --env Environment: org (default), today, or zone
  • --registry Which registry to read: unity (default) or abgen — see asset bundle registries

Check world asset bundle status

Check asset bundle conversion status for all scenes in a world. Fetches scenes from the worlds-content-server, queries the asset bundle registry, and reports entity ID match, global status, and per-platform versions.

npx @dcl/opscli world-ab-status --world "dalkia.dcl.eth"
npx @dcl/opscli world-ab-status --world "dalkia.dcl.eth" --env zone
npx @dcl/opscli world-ab-status --world "dalkia.dcl.eth" --registry abgen
  • --world World name (e.g. "dalkia.dcl.eth")
  • --env Environment: org (default), today, or zone
  • --registry Which registry to read: unity (default) or abgen — see asset bundle registries

Check the conversion queue

Report how many jobs are pending per platform queue, and optionally where given entities sit in them.

npx @dcl/opscli ab-queue-status
npx @dcl/opscli ab-queue-status --env zone --registry abgen
npx @dcl/opscli ab-queue-status --cid "bafkrei..." --cid "bafkrei..."
  • --env Environment: org (default), today, or zone
  • --registry Which registry's queue to read: unity (default) or abgen
  • --cid Entity ID to locate in each queue; repeatable. Positions are 1-indexed — the next entity to convert is #1

Asset bundle registries

The Unity converters and the abgen generator publish to two separate registries:

Registry Base URL Environments
unity (default) https://asset-bundle-registry.decentraland.<env> org, today, zone
abgen https://asset-bundle-registry-abgen.decentraland.<env> org, zone

--registry abgen on today is rejected: abgen has no queue there and the hostname does not resolve.

The two count bundle versions in separate series — abgen is in the v1000s while the Unity converters are in the v40s — so an abgen v1003 is not "newer" than a Unity v49.

Both registries still return a webgl platform key, empty or years stale. It is decommissioned and the status commands do not report it.

Schedule asset bundle conversion

npx @dcl/opscli queue-ab-conversion \
  --pointer "0,0" \
  --pointer="110,10" \
  --cid "110,10" \
  --token <ACCESS_TOKEN> \
  [--platform mac] \
  [--platform windows] \
  [--ab-server https://ab-admin.decentraland.org] \
  [--content-server https://peer.decentraland.org/content]

Note: WebGL has been decommissioned and is no longer a valid platform target. Valid platforms are windows, mac and abgen. If no platform is specified, it runs for the default platforms (windows, mac). More than one can be specified at a time.

abgen is not an OS: it routes the job to the abgen generator (the Rust asset-bundle pipeline), which converts every platform it supports in a single job. It is opt-in only — never included by default — and requires the target environment's ab-admin to have the abgen queue configured (currently org and zone; today has no abgen and returns a 400). --prioritize is accepted but abgen has a single queue with no priority lane, and --animation/--doISS are Unity-only and ignored by abgen.

For dev, use --ab-server https://ab-admin.decentraland.zone.

Schedule asset bundle conversion of all worlds

npx @dcl/opscli queue-ab-conversion-snapshot \
  --snapshot worlds \
  [--platform mac] \
  [--platform windows] \
  --token <ACCESS_TOKEN> \
  [--ab-server https://ab-admin.decentraland.org]

Schedule asset bundle conversion of a specific world by name

npx @dcl/opscli queue-ab-conversion-snapshot \
  --snapshot worlds \
  [--platform mac] \
  [--platform windows] \
  --token <ACCESS_TOKEN> \
  [--ab-server https://ab-admin.decentraland.org]
  [--world-name <world-name.dcl.eth>]

Schedule asset bundle conversion from custom about

npx @dcl/opscli queue-ab-conversion-about \
  --token <ACCESS_TOKEN> \
  [--platform mac] \
  [--platform windows] \
  --about-url https://sdk-team-cdn.decentraland.org/ipfs/goerli-plaza-main/about \
  [--ab-server https://ab-admin.decentraland.org]

Check the status of conversion

npx @dcl/opscli check-ab-conversion \
  --pointer "0,0" \
  --pointer "110,10" \
  [--cid "bafy....."]

query-rollout

Usage:

$ npx @dcl/opscli query-rollout --domain play.decentraland.zone --rolloutName _site

Current rollouts for domain "play.decentraland.zone" for this request
  ┌─────────────────────┬────────────┬─────────────────────────┬───────────────────────────────────┐
  │       (index)       │ percentage │         prefix          │              version              │
  ├─────────────────────┼────────────┼─────────────────────────┼───────────────────────────────────┤
  │        _site        │    100     │ '@dcl/explorer-website' │ '0.0.1-1133229304.commit-901ee9a' │
  │     @dcl/kernel     │    100     │      '@dcl/kernel'      │ '1.0.0-1133249286.commit-a9ca05e' │
  │ @dcl/unity-renderer │    100     │  '@dcl/unity-renderer'  │            '1.0.10553'            │
  └─────────────────────┴────────────┴─────────────────────────┴───────────────────────────────────┘
Raw data for rollout "_site" for domain "play.decentraland.zone"
  ┌─────────┬────────────┬───────────────────────────────────┐
  │ (index) │ percentage │              version              │
  ├─────────┼────────────┼───────────────────────────────────┤
  │    0    │    100     │ '0.0.1-1133229304.commit-901ee9a' │
  │    1    │    100     │ '0.0.1-1129066963.commit-a6c2178' │
  │    2    │    100     │ '0.0.1-1125482159.commit-645a9e8' │
  │    3    │    100     │ '0.0.1-1124920935.commit-57e48a2' │
  │    4    │    100     │ '0.0.1-1121248349.commit-0568cf7' │
  │    5    │    100     │ '0.0.1-1120296389.commit-cd95321' │
  │    6    │    100     │ '0.0.1-1120045215.commit-7d17a4e' │
  │    7    │    100     │ '0.0.1-1117962007.commit-cd75435' │
  │    8    │    100     │ '0.0.1-1117258971.commit-bee96ab' │
  │    9    │    100     │ '0.0.1-1114103774.commit-cfe9ba9' │
  │   10    │    100     │ '0.0.1-1114086203.commit-cc86da6' │
  │   11    │    100     │ '0.0.1-1105802712.commit-80b54a0' │
  │   12    │    100     │ '0.0.1-1105772932.commit-ff46bfb' │
  │   13    │    100     │ '0.0.1-1105284880.commit-32d26de' │
  │   14    │    100     │ '0.0.1-1094578839.commit-e8461eb' │
  │   15    │    100     │ '0.0.1-1092142520.commit-746716e' │
  │   16    │    100     │ '0.0.1-1091984380.commit-77a1383' │
  └─────────┴────────────┴───────────────────────────────────┘

download-entity

Downloads a specific entity from a content server, as specified in https://adr.decentraland.org/adr/ADR-79

It creates an extra file named .metadata including the deployment metadata. Which in some cases (wearables) is not present as a file in the deployed entity.

In the specified folder, it will create one

$ npx @dcl/opscli download-entity \
  --content-server https://play.decentraland.org/content \
  --pointer=0,0 \
  --pointer=urn:decentraland:off-chain:base-avatars:brown_pants \
  --out ~/Downloads

deploy-entity

Deploys an entity to a content server

  • --pointer Pointers of the entities, can be used many times, e.g. --pointer=0,0 --pointer=0,1
  • --entity-type Entity type
  • --private-key or PRIVATE_KEY env var
  • --dry do everything except publishing the entity
  • --folder to deploy, root level paths starting with . will be ignored, i.e. for .git folder. the .metadata file is required to create the entity
$ npx @dcl/opscli deploy-entity \
  --dry \
  --content-server https://peer.decentraland.org/content \
  --entity-type wearable \
  --folder=urn:decentraland:off-chain:base-avatars:brown_pants \
  --pointer=urn:decentraland:off-chain:base-avatars:brown_pants \
  --private-key=bde921a4a4abc644cced18f632aed0b3d34b1b36bc16fd97721ade1b7178cfff

query-rollout

Usage:

$ npx @dcl/opscli query-rollout --domain play.decentraland.zone --rolloutName _site

Current rollouts for domain "play.decentraland.zone" for this request
  ┌─────────────────────┬────────────┬─────────────────────────┬───────────────────────────────────┐
  │       (index)       │ percentage │         prefix          │              version              │
  ├─────────────────────┼────────────┼─────────────────────────┼───────────────────────────────────┤
  │        _site        │    100     │ '@dcl/explorer-website' │ '0.0.1-1133229304.commit-901ee9a' │
  │     @dcl/kernel     │    100     │      '@dcl/kernel'      │ '1.0.0-1133249286.commit-a9ca05e' │
  │ @dcl/unity-renderer │    100     │  '@dcl/unity-renderer'  │            '1.0.10553'            │
  └─────────────────────┴────────────┴─────────────────────────┴───────────────────────────────────┘
Raw data for rollout "_site" for domain "play.decentraland.zone"
  ┌─────────┬────────────┬───────────────────────────────────┐
  │ (index) │ percentage │              version              │
  ├─────────┼────────────┼───────────────────────────────────┤
  │    0    │    100     │ '0.0.1-1133229304.commit-901ee9a' │
  │    1    │    100     │ '0.0.1-1129066963.commit-a6c2178' │
  │    2    │    100     │ '0.0.1-1125482159.commit-645a9e8' │
  │    3    │    100     │ '0.0.1-1124920935.commit-57e48a2' │
  │    4    │    100     │ '0.0.1-1121248349.commit-0568cf7' │
  │    5    │    100     │ '0.0.1-1120296389.commit-cd95321' │
  │    6    │    100     │ '0.0.1-1120045215.commit-7d17a4e' │
  │    7    │    100     │ '0.0.1-1117962007.commit-cd75435' │
  │    8    │    100     │ '0.0.1-1117258971.commit-bee96ab' │
  │    9    │    100     │ '0.0.1-1114103774.commit-cfe9ba9' │
  │   10    │    100     │ '0.0.1-1114086203.commit-cc86da6' │
  │   11    │    100     │ '0.0.1-1105802712.commit-80b54a0' │
  │   12    │    100     │ '0.0.1-1105772932.commit-ff46bfb' │
  │   13    │    100     │ '0.0.1-1105284880.commit-32d26de' │
  │   14    │    100     │ '0.0.1-1094578839.commit-e8461eb' │
  │   15    │    100     │ '0.0.1-1092142520.commit-746716e' │
  │   16    │    100     │ '0.0.1-1091984380.commit-77a1383' │
  └─────────┴────────────┴───────────────────────────────────┘

About

Public ops command line to interact with Decentraland nodes

Resources

Code of conduct

Contributing

Stars

1 star

Watchers

4 watching

Forks

Used by

Contributors

Languages