Skip to content

v3.2.9

Choose a tag to compare

@underpostnet underpostnet released this 15 May 00:42
· 35 commits to main since this release

Changelog v3.2.9

2026-05-14

client-core

  • Enhance Modal component to support dynamic tooltip positioning and menu collapse behavior (4c01f4011)
  • Add support for pulling pre-built client bundles and skipping full builds during deployment (7f86db25a)
  • Refactor Docs and Modal components to centralize submenu item rendering and improve code organization (5fdd051e9)
  • Enhance modal and docs components to improve submenu behavior and animations (ebf257c38)
  • Defer service worker registration to improve initial load performance in PwaWorker (88b52b8fc)
  • Refactor filter clearing logic in DefaultManagement to use runIsolated for better control over grid/query listeners (325f6bd66)
  • Fix LoadFileActionsRenderer and LoadFolderActionsRenderer to use instance methods for GUI management (9e6507a0c)
  • Fix disable functions to use instance method for visibility checks (7f5701c8d)

cli-run

  • Enhance promote method to support TLS configuration for blue/green deployments (a31185676)
  • Add CRI-O installation and configuration methods for kubeadm clusters (44743552e)

cli-cluster

  • Enhance nat-iptables.sh for comprehensive Kubernetes firewall configuration and service exposure (9087a946a)

cli-dns

  • Add MAC address retrieval option to CLI and implement corresponding method in DNS class (52b319467)

engine

  • Update Node.js version to 24.15.0 in setup scripts and documentation (e05a472ca)

scripts

  • Enable firewalld and configure persistent IP forwarding in nat-iptables.sh (845a09791)

cli-fs

  • Enhance UnderpostFileStorage and UnderpostRepository with additional options and methods for improved Git operations (a812d4e66)

server-valkey

  • Enhance Valkey connection handling with reconnecting status and improved retry strategy (50b26c215)

bin-build

  • Remove unnecessary copy docs md in cyberia build repo workdlow (50a5399f6)

package

  • Update dependencies for @protobufjs packages and fast-uri (829026a8c)
  • Add peer dependency flag to multiple packages in package-lock.json (c2a7870eb)

docs

  • Refactor entryPoints in typedoc configuration files for improved readability and consistency (fe77bcf3f)

engine-cyberia

  • Update README path in typedoc configuration to point to ARCHITECTURE.md (74ee0e45e)
  • Add cyberia-docs path to build and file scripts for documentation inclusion (851e126bf)
  • Remove unique constraint from code field in CyberiaQuestSchema (b39aa3a7b)
  • Rewrite and centralize cyberia docs source (00e40986a)
  • Remove legacy cyberia docs (a5546128a)
  • Refactor Cyberia schemas and update quest/action definitions for clarity and consistency (cd7313206)
  • Add source map coordinates to CyberiaQuest schema and update action catalog metadata, and remove lefacy seed runners in cyberia CLI (b39958485)
  • Refactor CyberiaActionSchema by removing grantQuestCode field and update description in STATUS_ICONS for clarity (221a8f072)
  • Add seeding commands for Cyberia actions and quests, update schemas and default data structures (70cd5f17d)
  • Refactor Cyberia schemas to enhance action and quest structures, replacing itemId with more descriptive fields and adding new properties for better data management (8736f2bac)
  • Refactor Cyberia dialogue handling to use 'code' instead of 'itemId' for dialogue retrieval and update related schemas and data structures (d8d50325e)
  • Update CyberiaActionSchema to correct action types and add storage payload structure (88b68cb68)
  • Add Cyberia action and quest default data structures with schemas (8171b6b43)
  • Implement Cyberia Quest and Progress APIs with controllers, services, models, and routers (ba3c7bcb0)

github-actions

  • Remove run metadata worflow in engine-core sync deploy (84d684d4b)
  • Increase timeout for sync command in engine lampp workflow (949d693b5)
  • Remove ssh-deploy sync-engine-test command from release deployment workflow (0e6cf3af4)

clien-core

  • Optimize sessionOut and guest login process to skip unnecessary network calls (b16a21fe3)

cli-db

  • Add export success tracking and enforce backup retention in UnderpostDB (678ed675f)

api-cyberia

  • Remove CyberiaAchievement API controller, service, and router files to streamline codebase (f5f31700f)

runtime-cyberia-client

  • Refactor cyberia-client Dockerfile to streamline package installations and improve build process (66edc28c1)

server-data-query

  • Refactor DataQuery to use class syntax and static methods for improved structure and clarity (b27221124)

engine-core

  • Fix rename AppointmentFormHealthcare to AppointmentFormHealthCare for consistency (02839072b)

cli-release

  • Update workflows to reflect new underpost image versions (f5e18de0c)

New release v:3.2.8 (2026-05-01)

bin-build

  • Update build.js to replace jsdoc references with typedoc for documentation generation (198f69d43)
  • Update cyberia custom folder (b03ad6dca)

docker-image

  • Add Node.js installation to Dockerfiles for cyberia-client and WordPress (c06748453)
  • Update Dockerfiles to enhance system package installation and cleanup (13506d7b3)
  • Remove conditional repository check from CI workflow files and add CI workflow copying logic in run.js (0d9f1520c)
  • Rename template-deploy-image method to docker-image and update workflow file reference (75eb4b932)

cli-run

  • Enhance image pulling logic to skip local images and check for existing images in the cluster (c3f33ed74)
  • Refactor deployment manifest generation to improve clarity and structure; update Dockerfile paths and instance handling (c99a67d95)
  • Fix image pulling logic to prevent unnecessary Docker Hub requests for local images (88556c528)
  • Add push-bundle and pull-bundle methods for zip file handling and deployment (e82379907)
  • Add pull-rocky-image method to pull Rocky Linux image via Podman (59f7e6245)

cli-ssh

bin-file

  • Add guest.service.js to the list of files in the workflow configuration (760a196a9)

dockerfile

  • Remove non-root user creation and unnecessary comments from Dockerfiles (494194da2)

package

  • Add missing workbox-cacheable-response package (0dd5cbe4f)
  • Remove legacy peer dependencies from package-lock.json (60b4c70f0)

docs

  • Update README.md intro (9672ca542)
  • Fix iframe handling in Docs component to maintain parent scroll position and synchronize layout on navigation (032bd1a81)
  • Migrate from JSDoc to TypeDoc for documentation generation (596bd8d46)

runtime

  • Add Node.js installation and verification steps to Dockerfiles for cyberia-client, cyberia-server, express, and lampp (58b2c2a51)
  • Refactor Dockerfiles to improve package installation clarity; update comments and streamline system package installations (a64cf8881)

cli-release

  • Update image versions in conf.instances.json files during release process (3af315b92)
  • Update Docker image version tags in release process to reflect new versioning scheme (07a943f30)

github-actions

  • Add CI workflows for cyberia-client, cyberia-server, express, lampp, and wp; update deployment scripts for new image versions (1d6d64d73)
  • Refactor deployment commands to simplify sync and remove redundant npm installations (9cce90390)
  • Update deployment configurations, service ports, and proxy settings for development environments (07efd0975)
  • Update container images and simplify base command in CLI sync function (e5d22868d)
  • Fix deployment command to remove redundant sync flag in engine-cyberia workflow (f4d959738)
  • Fix sync command in CI workflows to remove hardcoded image version for engine core and cyberia deployments (1d6aa177b)
  • Update deployment commands in CI workflows to remove hardcoded image versions and enhance command execution (5af414cc1)
  • Refactor deployment commands to comment out npm installations and adjust secret command execution based on environment options (0a72d037e)

engine-cyberia

  • Add cyberia-server and cyberia-client to build and file copy paths (124582559)
  • Enhance Cyberia instance configuration handling by ensuring updatedAt is set during import and resolving missing config references with instanceCode lookup (5b12e7f48)
  • Update MongoDB findOneAndUpdate options to use 'returnDocument: after' for consistency (90abee1ef)
  • Add randomization feature for stat inputs in ObjectLayerEngineModal (b29f361a6)
  • Add item IDs management and dropdown functionality in InstanceEngineCyberia (417c82cf4)
  • Add direction preview functionality to ObjectLayerEngineModal (5ef3c4489)
  • Add uniform opacity feature to ObjectLayerEngineModal (c8830efb3)
  • Refactor canvas behavior handling and add mosaic types in ObjectLayerEngineModal (08b9ea4b2)
  • Implement distortion types and functionality in ObjectLayerEngineModal (dbe9edc31)
  • Refactor item and entity type handling in Cyberia components to utilize shared constants and improve dropdown functionality (67b528675)
  • Fix frame metadata assignment in AtlasSpriteSheetGenerator to correctly set frame index (d17b30366)
  • Add frame_duration property to AtlasSpriteSheet model and update related services for frame duration handling (5ce0eef0f)
  • Remove is_stateless property from ObjectLayerRenderFrames model and related components for simplification (f924f1f4f)
  • Add ColorPaletteElement and integrate it into MapEngineCyberia and ObjectLayerEngineModal for enhanced color selection (0403c362c)
  • Enhance resource entity handling by adding dropItemIds and updating schemas for extraction logic (72ccee238)
  • Add clone logic object layer modal engine (b03c41b60)
  • Update entity status documentation and add 'resource-extracted' status icon (7f1be1e3d)
  • Update skill logicEventId for atlas_pistol_mk2 and add projectile skill for hatchet (1c1f36bf8)
  • Refactor skill configuration to use structured skills with detailed attributes (5cb12ba46)
  • Add resource semantic descriptors and shape generation for collectible resources (a22c63b73)
  • Add versioning to instance response using SHA-256 hash of updatedAt timestamps (ea2598386)
  • Add parseRgba function to handle CSS rgba() color strings and update toEntityMsg to include RGBA components (25aeb9572)
  • Refactor toInstanceConfig function for improved color merging logic and enhanced handling of entity defaults (23adaab83)
  • Implement Base Cyberia Achievement API with CRUD operations and service integration (67faa4911)

client-sw

  • Enhance service worker to distinguish between server downtime and offline status for improved error handling (c32233e95)

client-core

  • Implement cache management and reset functionality in PWA worker and service worker (6864157e7)
  • Add resolveBrowserImportPath function and improve import rewriting logic (ad796f1da)
  • Refactor client build process to dynamically handle service files (ec0ffb6e8)
  • Refactor Auth and Guest Services for Improved Token Management (650ec6b61)
  • Refactor management components to use instance methods instead of static RenderTable (67382a9d5)
  • Fix LoadingAnimation to correctly reference img tokens and simplify onload/onerror handlers in ObjectLayerManagement (051bb65dc)
  • Refactor Modal, Panel, PublicProfile, SearchBox, and ObjectLayerEngineModal components to use class syntax and static properties for improved structure and maintainability (3e514e579)
  • Remove JoyStick component and its associated functionality from the codebase (e08173436)
  • Add Modal layout synchronization and streamline Docs component by removing unused Responsive references (2fa05c3b9)
  • Refactor Responsive event handlers in Docs and Modal (2a2e0c90e)
  • Update routing logic to use registered routes in getProxyPath and register routes in PwaWorker initialization (c70544559)
  • Refactor routing structure by consolidating route definitions into dedicated Router files for Cryptokoyn, CyberiaPortal, Default, Dogmadual, Healthcare, Itemledger, Nexodev, and Underpost components. Removed legacy Routes files and updated imports accordingly. This change enhances code organization and maintainability. (68d6accdb)
  • FIx LoadingAnimation methods to use correct token storage for bar and spinner components (3884039c3)
  • Update default configuration to replace 'MenuDefault' with 'AppShellDefault' for improved clarity (c0eae3962)
  • Refactor event handling to use new event system across components for improved responsiveness and maintainability (d3c33f71f)
  • Refactor authentication components to use EventBus for login, logout, and signup events (119104765)
  • Refactor rendering methods to use 'instance' instead of 'Render' in various components and services for consistency and clarity (4b9424f6d)
  • Fix to use const for event listener objects in Css, Router, and Valkey modules (35b3987d5)
  • Refactor to ES6 class static methods (6f5625594)
  • Refactor entry point files to streamline initialization and improve structure (97d833c20)
  • Rename Menu to AppShell components with menu and routing functionality (503aca7d9)
  • Remove inline styles from RichText component (8256212be)
  • Add 'add-component' command to deploy script for dynamic component management (ac166e3ca)

server-build

  • Refactor client build process to enhance resource pre-caching logic and prioritize critical paths (6566b9583)
  • Enhance resource pre-caching logic by filtering out unnecessary files in client build process (9543fdb3a)

conf

  • Udate package.json for server entry point and script adjustments (df84b5af2)
  • Rename 'ClientEvent' to 'ClientEvents' for consistency in configuration (bddd3daa0)

cli-client

  • Add checks for replica context in repository and configuration handling (a8d925ad3)
  • Add checks for replica context in repository and configuration handling (c42462968)
  • Add --merge-zip option and implement mergeClientBuildZip function for combining split ZIP parts (15408be66)

engine-core

  • Refactor DefaultManagement and ObjectLayerManagement to use instance properties instead of static properties for eGui and tokens (2d7da8169)
  • Add cecinasmarcelina client assets (045fe5add)
  • Add cecinasmarcelina base client (d67924b1a)

bin-deploy

  • Refactor 'add-component' command to support optional parameters and improve error handling for component addition (3d5103d11)

engine

  • Update deployment configurations and update service ports (e0a78d38b)
  • Update moduleResolution in jsconfig to use 'bundler' (307f5e106)

cli-fs

  • Enhance zip file handling in deployment process to check for existence of bundles and parts (0bda824f2)
  • Enhance mergeClientBuildZip function to clean stale part files and improve part file handling (963720fab)
  • Enhance pull method to support force option and improve zip file handling (d6f5fa3f4)
  • Add --omit-unzip option to pull command to retain downloaded zip files (a5cf84b11)
  • Refactor recursive removal logic in UnderpostFileStorage to improve path handling and logging (f890ae6a8)
  • Implement recursive removal of tracked storage keys and enhance logging for associated paths (5cb5d7172)

cli-start

  • Enhance deployment options by adding --skip-full-build flag and updating deployment commands to support skipping full client bundle builds. (62594bd32)

client-build

  • Add unzip functionality for client build zip files and enhance deployment commands (3e8216ae6)
  • Add support for splitting generated zip files into specified sizes (9a5d46efc)
  • Exclude .git directory from file copy operations in client build process (ad99de0ac)
  • Remove deprecated HTML website templates handling from client build process (72e5462d0)

cli-deploy

  • Update configMap method to use dynamic cronDeployId for secret creation (f4e21e57b)
  • Add 'clone-server' command to replicate server configurations between deployments (d0f28a43c)
  • Add 'add-server-client' command to streamline client configuration cloning (2471506ec)
  • Add 'clone-client' command to duplicate client configurations and assets (ae61478ca)

cli-run-instance

  • Enhance deployment functionality by adding debug port support and updating documentation for configuration parameters (8af8c3eae)

cli-cyberia

  • Enhance --drop option to clarify its functionality and improve item deletion logic in import process (800803cce)
  • Add --conf option to export/import for processing configuration files only (43ee7fab5)
  • Enhance IPFS export process with resource type inference and backup payload handling (ad07f788f)
  • Add CyberiaDialogue support for export and import processes (786c806fb)
  • Enhance IPFS client and export processes with new functionalities (d174dc80d)
  • Enhance IPFS export process to infer resourceType from mfsPath and ObjectLayer references (41eee660c)
  • Enhance IPFS export and import processes to infer resourceType from mfsPath for legacy records, ensuring data integrity and preventing export errors. (c78547777)
  • Enhance deletion logic in Cyberia CLI to handle additional metadata for AtlasSpriteSheet, ObjectLayer, and Ipfs entries (abafcd65b)

cyberia-cli

  • Add default creation logic for CyberiaInstanceConf during export process (67aaea452)
  • Add CyberiaInstanceConf handling for export and import processes in CLI (febc2eb1a)

cyberia-map-engine

  • Refactor thumbnail handling in cloneMap to prioritize fresh object-layer capture and update UI text for clarity (1cbb98a61)
  • Add functionality to rename Object Layer ItemIds for filtered entities (532116d8b)

cyberia-semantic-engine

  • Fix direction handling in semantic layer generator by correcting left/right template mirroring (494882cef)

client-cyberia-conf

  • Update ENTITY_TYPE_DEFAULTS to replace deprecated item IDs and add new entries (f89a4186a)

hardhat

  • Update hardhat to version 3.4.1 in package.json (d2dff4b3a)

client-cyberia-map

  • Implement entity history management with undo/redo functionality in MapEngineCyberia (2dba89547)

client-cyberia-instance

  • Refactor instance persistence logic to improve notification handling and streamline save functionality (45a6a3a32)

client-cyberia-map-engine

  • Implement entity filtering and randomization features in MapEngineCyberia (70224f290)

api-cyberia-instance

  • Refactor portal connection logic and procedural entity generation (e670d387d)

client

  • Refactor MenuCecinasmarcelina styles for improved layout and responsiveness (037acd2ce)
  • Enhance cecinasmarcelina configuration and improve menu styles with new hover effects and responsive design (1e26c5bb9)
  • Update contact information in Cecinasmarcelina index (8239df42e)

gitub-actions

  • Update theme color and enhance service configurations for dd-core and dd-test deployments (d03c4baf5)

CYBERIA Network Object Layer Engine

CYBERIA

Network Object Layers

Stackable Rendering Layers as a Unified Tokenized Reality

Version

Cyberia CLI

Path: bin/cyberia.js


Overview

The Cyberia CLI (cyberia) is an extension of the Underpost CLI specifically for the Cyberia MMORPG ecosystem. Underpost is the end-to-end bare-metal infrastructure platform for general-purpose applications; cyberia extends it with tooling for the game's content pipeline, economy, and MMO engine toolchain. Unrecognized commands are transparently passed through to underpost for infrastructure operations.

The CLI manages:

  • Object Layer (ol) — import, generate, and manage game item definitions and sprite atlases.
  • Instance (instance) — export/import/seed game instance data (maps, entities, configs).
  • Chain (chain) — Hyperledger Besu deployment and ERC-1155 ObjectLayerToken lifecycle.
  • Run-Workflow (run-workflow) — execute named operational scripts (seed defaults, build manifests).

Global Usage

node bin/cyberia.js <command> [subcommand] [options]
# or if installed globally:
cyberia <command> [subcommand] [options]

cyberia ol — Object Layer Management

Manages the Object Layer content pipeline: import PNG assets, generate procedural layers, build atlas sprite sheets, and push to IPFS/MongoDB.

cyberia ol [item-id] [options]

Options

Option Description
--import Import specific item-id(s) (comma-separated) from the PNG asset directory into MongoDB + IPFS
--import-types [types] Batch import by type (e.g. skin,floor) or all
--generate Generate procedural layers for a semantic item-id (see Semantic Registry below)
--count <n> Shape element count multiplier for --generate (default: 3)
--seed <seed> Deterministic seed string for --generate (e.g. fx-42)
--frame-index <n> Starting frame index for --generate (default: 0)
--frame-count <n> Number of frames to generate for --generate (default: 1)
--density <0..1> Shape density factor for --generate (default: 0.5)
--to-atlas-sprite-sheet [dim] Convert ObjectLayer frames to a consolidated atlas PNG
--show-atlas-sprite-sheet Display the atlas PNG for the given item-id
--show-frame [dir_frame] View a single frame (e.g. 08_0; default: 08_0)
--drop Drop existing data before importing
--client-public With --drop: also remove static client asset folders
--git-clean With --drop: run clean on the cyberia asset directory
--dev Force development env (uses .env.development for localhost IPFS)
--env-path <path> Path to .env file (e.g. ./engine-private/conf/dd-cyberia/.env.development)
--mongo-host <host> MongoDB host override
--storage-file-path <path> Storage filter JSON path override

Examples

# Import a single item from PNG source
cyberia ol hatchet --import --env-path ./engine-private/conf/dd-cyberia/.env.development

# Import all items of type 'skin' and 'floor'
cyberia ol --import-types skin,floor

# Import all types
cyberia ol --import-types all

# Generate a procedural floor tile (desert biome, seed fx-42)
cyberia ol floor-desert --generate --seed fx-42

# Generate 4 frames of a procedural floor with custom count and density
cyberia ol floor-grass --generate --frame-count 4 --count 5 --density 0.7

# Generate a character skin
cyberia ol skin-dark-001 --generate --seed my-seed

# View a specific frame of an item
cyberia ol hatchet --show-frame 08_0

# Rebuild atlas sprite sheet for an item
cyberia ol hatchet --to-atlas-sprite-sheet

# Drop and re-import a single item
cyberia ol hatchet --drop --import

Semantic Item-ID Registry

The --generate flag uses item-id prefixes to look up a procedural descriptor from the semantic registry.

Floor Prefixes

Prefix Biome Description
floor-desert Desert Sandy, arid tile with warm yellow/brown palette
floor-grass Grass Meadow tile with green/earth tones
floor-water Water Ocean/lake tile with blue/teal palette
floor-stone Stone Rock/cobble tile with grey palette
floor-lava Lava Magma tile with red/orange palette

Skin Prefixes

Prefix Description
skin-random Fully random skin tone and hair
skin-dark Dark skin tones
skin-light Light / pale skin tones
skin-vivid Vivid / exotic hair colours (blue, red, green…)
skin-natural Natural hair colours (brown, blond, grey…)
skin-shaved Shaved / bald head — no hair

Resource Prefixes

Resource prefixes follow the pattern resource-{biome}-{shape}:

Shape Family Description
petal Parabolic arc shapes — coloured petals
stone Hard, angular mineral shapes
polygon Crystal/geometric faceted shapes
thread Thin, wispy Bézier lines

Biomes: desert, grass, water, stone, lava

Full matrix (20 prefixes):

resource-desert-petal    resource-grass-petal    resource-water-petal
resource-desert-stone    resource-grass-stone    resource-water-stone
resource-desert-polygon  resource-grass-polygon  resource-water-polygon
resource-desert-thread   resource-grass-thread   resource-water-thread

resource-stone-petal     resource-lava-petal
resource-stone-stone     resource-lava-stone
resource-stone-polygon   resource-lava-polygon
resource-stone-thread    resource-lava-thread

cyberia instance — Instance Management

Manages game instance documents (maps, entities, actions, quests, skill config) in MongoDB.

cyberia instance [instance-code] [options]

Options

Option Description
--export [path] Export instance and all related documents to a backup directory
--import [path] Import instance documents from a backup directory (upsert, preserves UUIDs)
--conf With --export/--import: only process instance and instance-conf documents (skip maps, entities, ObjectLayers)
--drop Drop all documents associated with the instance code
--env-path <path> Path to .env file
--mongo-host <host> MongoDB host override
--dev Force development environment

Examples

# Export instance to backup
cyberia instance cyberia-main --export ./backups/cyberia-main

# Import instance from backup
cyberia instance cyberia-main --import ./backups/cyberia-main

# Drop instance data
cyberia instance cyberia-main --drop

cyberia chain — Blockchain Lifecycle

Full lifecycle management for the Hyperledger Besu network and ObjectLayerToken ERC-1155 contract.

Network Commands

cyberia chain deploy

Deploy a new Hyperledger Besu IBFT2 network to Kubernetes:

cyberia chain deploy [options]
Option Default Description
--validators <n> 4 Number of IBFT2 validators
--chain-id <id> 777771 EVM chain ID
--block-period <s> 5 IBFT2 block period in seconds
--epoch-length <n> 30000 IBFT2 epoch length
--besu-image <img> hyperledger/besu:24.12.1 Besu container image
--node-port-rpc <port> 30545 Kubernetes NodePort for JSON-RPC
--node-port-ws <port> 30546 Kubernetes NodePort for WebSocket
--namespace <ns> besu Kubernetes namespace
--pull-image Pull Besu images before deploying
--skip-generate Use existing manifests/besu/ as-is
--skip-wait Skip waiting for validators to be Running

cyberia chain remove

Remove the Besu network from Kubernetes:

cyberia chain remove [--namespace besu] [--clean-keys] [--clean-manifests]

cyberia chain generate-manifests

Generate Kubernetes manifests without deploying:

cyberia chain generate-manifests [options]  # same options as deploy

Contract Commands

cyberia chain compile

Compile the Solidity contracts:

cyberia chain compile

cyberia chain deploy-contract

Deploy ObjectLayerToken to a Besu network (mints 10M CKY to the coinbase address):

cyberia chain deploy-contract --network besu-k8s
Option Default Description
--network <name> besu-k8s Hardhat network name (besu-ibft2, besu-qbft, besu-k8s)

cyberia chain test

Run the Hardhat contract test suite:

cyberia chain test

Key Management

cyberia chain key-gen

Generate a new secp256k1 Ethereum key pair for the coinbase deployer account:

cyberia chain key-gen
# Output: address + private key + key file written to engine-private/

cyberia chain set-coinbase

Set the active coinbase key used for contract deployment and minting:

cyberia chain set-coinbase --private-key 0xYOUR_KEY
cyberia chain set-coinbase --from-file ./engine-private/eth-networks/besu/<address>.key.json

Token Commands

cyberia chain register

Register a single Object Layer item on-chain:

cyberia chain register <item-id> [options]
Option Default Description
--from-db Resolve canonical IPFS CID from MongoDB (recommended)
--metadata-cid <cid> "" Manual CID override (ignored when --from-db is set)
--supply <n> 1 Initial token supply (1 = NFT, >1 = semi-fungible)
--network <name> besu-k8s Hardhat network name
--env-path <path> ./.env Path to .env file
--mongo-host <host> MongoDB host override
# Register unique NFT item (non-fungible)
cyberia chain register legendary-hatchet --from-db --supply 1

# Register stackable resource (semi-fungible)
cyberia chain register gold-ore --from-db --supply 1000000

cyberia chain batch-register

Register multiple items in a single batch transaction:

cyberia chain batch-register --from-db --items '[{"itemId":"wood","supply":500000},{"itemId":"stone","supply":500000}]'

cyberia chain mint

Mint additional tokens for an existing token ID:

cyberia chain mint --token-id 0 --to 0xABCD...1234 --amount 1000000000000000000000
cyberia chain mint --token-id <tokenId> --to <address> --amount <uint256>

cyberia chain balance

Query the token balance of an address:

cyberia chain balance --address 0xABCD...1234 --token-id 0

cyberia chain transfer

Transfer tokens between addresses:

cyberia chain transfer --from 0x... --to 0x... --token-id 0 --amount 1000

cyberia chain burn

Burn tokens from an address:

cyberia chain burn --token-id 0 --amount 500 --address 0x...

cyberia chain status

Query chain and contract status:

cyberia chain status [--network besu-k8s]
# Outputs: chain ID, block number, CKY total supply, deployer address, pause state

cyberia chain pause / cyberia chain unpause

Emergency transfer freeze / resume (owner only):

cyberia chain pause   [--network besu-k8s]
cyberia chain unpause [--network besu-k8s]

cyberia run-workflow — Operational Scripts

Pre-built operational workflows for seeding and maintenance:

Subcommand Description
import-default-items Import the canonical default item set (DefaultCyberiaItems) into MongoDB + IPFS, then seed skill config and dialogues
seed-skill-config Upsert DefaultSkillConfig into CyberiaInstanceConf for the target instance
seed-dialogues Upsert DefaultCyberiaDialogues (NPC dialogue lines) into the cyberia-dialogue collection
generate-semantic-examples Generate procedural examples for skin prefixes (skin-*); floor and resource generation is available but commented out by default
build-manifest Build Kubernetes Deployment + Service YAML manifests for mmo-client and mmo-server instances (kubeadm + kind variants)
cyberia run-workflow import-default-items --env-path ./engine-private/conf/dd-cyberia/.env.development
cyberia run-workflow seed-skill-config --env-path ./engine-private/conf/dd-cyberia/.env.development
cyberia run-workflow build-manifest

Environment Variables

The CLI respects the following environment variables (typically loaded from an --env-path file):

Variable Description
DEFAULT_DEPLOY_ID Engine deployment ID — resolves to engine-private/conf/{id}/
DEFAULT_DEPLOY_HOST Deploy host (used to index the conf object)
DEFAULT_DEPLOY_PATH Deploy path (used to index the conf object)
MONGODB_URI MongoDB connection string (loaded from conf if not set directly)
IPFS_API_URL IPFS API URL for pinning (e.g. http://localhost:5001)