spacetimedb-cli

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

SpacetimeDB CLI

SpacetimeDB CLI

Use this skill when the user needs help with the
spacetime
CLI tool - initializing projects, building modules, publishing databases, querying data, managing servers, or troubleshooting CLI issues.
当用户需要使用
spacetime
CLI工具的帮助时,可使用本技能——包括项目初始化、模块构建、数据库发布、数据查询、服务器管理或CLI问题排查。

Quick Reference

快速参考

Project Initialization & Development

项目初始化与开发

bash
undefined
bash
undefined

Initialize new project

初始化新项目

spacetime init my-project --lang rust|csharp|typescript|cpp spacetime init my-project --template <template-id>
spacetime init my-project --lang rust|csharp|typescript|cpp spacetime init my-project --template <template-id>

Build module

构建模块

spacetime build # release build spacetime build --debug # faster iteration, slower runtime
spacetime build # 发布版本构建 spacetime build --debug # 迭代速度更快,运行时性能稍慢

Dev mode (auto-rebuild, auto-publish, generates bindings)

开发模式(自动重建、自动发布、生成绑定)

spacetime dev spacetime dev --client-lang typescript --module-bindings-path ./client/src/module_bindings
spacetime dev spacetime dev --client-lang typescript --module-bindings-path ./client/src/module_bindings

Generate client bindings

生成客户端绑定

spacetime generate --lang typescript|csharp|rust|unrealcpp --out-dir ./bindings --module-path ./server
undefined
spacetime generate --lang typescript|csharp|rust|unrealcpp --out-dir ./bindings --module-path ./server
undefined

Publishing & Deployment

发布与部署

bash
undefined
bash
undefined

Publish to Maincloud (default)

发布到Maincloud(默认)

spacetime publish my-database --yes
spacetime publish my-database --yes

Publish to local server

发布到本地服务器

spacetime publish my-database --server local --yes
spacetime publish my-database --server local --yes

Clear database and republish

清空数据库并重新发布

spacetime publish my-database --clear-database --yes
undefined
spacetime publish my-database --clear-database --yes
undefined

Database Interaction

数据库交互

bash
undefined
bash
undefined

SQL queries

SQL查询

spacetime sql my-database "SELECT * FROM users" spacetime sql my-database --interactive # REPL mode
spacetime sql my-database "SELECT * FROM users" spacetime sql my-database --interactive # 交互式模式(REPL)

Call reducers

调用reducer

spacetime call my-database my_reducer '{"arg1": "value", "arg2": 123}'
spacetime call my-database my_reducer '{"arg1": "value", "arg2": 123}'

Subscribe to changes

订阅数据变更

spacetime subscribe my-database "SELECT * FROM users" --num-updates 10
spacetime subscribe my-database "SELECT * FROM users" --num-updates 10

View logs

查看日志

spacetime logs my-database -f # follow logs spacetime logs my-database -n 100 # up to 100 log lines
spacetime logs my-database -f # 实时跟踪日志 spacetime logs my-database -n 100 # 查看最近100条日志

Describe schema

描述 schema

spacetime describe my-database --json spacetime describe my-database table users --json spacetime describe my-database reducer my_reducer --json
undefined
spacetime describe my-database --json spacetime describe my-database table users --json spacetime describe my-database reducer my_reducer --json
undefined

Database Management

数据库管理

bash
undefined
bash
undefined

List databases

列出数据库

spacetime list
spacetime list

Delete database

删除数据库

spacetime delete my-database
spacetime delete my-database

Rename database

重命名数据库

spacetime rename <database-identity> --to new-name
undefined
spacetime rename <database-identity> --to new-name
undefined

Server Management

服务器管理

bash
undefined
bash
undefined

List configured servers

列出已配置的服务器

spacetime server list
spacetime server list

Add server

添加服务器

spacetime server add local --url http://localhost:3000 --default spacetime server add myserver --url https://my-spacetime.example.com
spacetime server add local --url http://localhost:3000 --default spacetime server add myserver --url https://my-spacetime.example.com

Set default server

设置默认服务器

spacetime server set-default local
spacetime server set-default local

Test connectivity

测试连通性

spacetime server ping local
spacetime server ping local

Start local instance

启动本地实例

spacetime start
spacetime start

Clear local data

清空本地数据

spacetime server clear
undefined
spacetime server clear
undefined

Authentication

身份验证

bash
undefined
bash
undefined

Login (opens browser)

登录(打开浏览器)

spacetime login
spacetime login

Login with token

使用令牌登录

spacetime login --token <token>
spacetime login --token <token>

Show login status

查看登录状态

spacetime login show
spacetime login show

Logout

登出

spacetime logout
undefined
spacetime logout
undefined

Default Servers

默认服务器

NameURLDescription
maincloud
https://maincloud.spacetimedb.com
Production cloud (default)
local
http://127.0.0.1:3000
Local development server
名称URL描述
maincloud
https://maincloud.spacetimedb.com
生产环境云服务(默认)
local
http://127.0.0.1:3000
本地开发服务器

Common Workflows

常见工作流

New Project Setup

新项目搭建

bash
undefined
bash
undefined

1. Login

1. 登录

spacetime login
spacetime login

2. Create project

2. 创建项目

spacetime init my-game --lang rust cd my-game
spacetime init my-game --lang rust cd my-game

3. Start dev mode (auto-rebuilds and publishes)

3. 启动开发模式(自动重建并发布)

spacetime dev
undefined
spacetime dev
undefined

Local Development

本地开发

bash
undefined
bash
undefined

Start local server (in separate terminal)

启动本地服务器(在单独终端中运行)

spacetime start
spacetime start

Publish to local

发布到本地

spacetime publish my-db --server local --clear-database --yes
spacetime publish my-db --server local --clear-database --yes

Query local database

查询本地数据库

spacetime sql my-db --server local "SELECT * FROM players"
undefined
spacetime sql my-db --server local "SELECT * FROM players"
undefined

Generate Client Bindings

生成客户端绑定

bash
undefined
bash
undefined

After building module

模块构建完成后

spacetime build spacetime generate --lang typescript --out-dir ./client/src/bindings --module-path .
spacetime build spacetime generate --lang typescript --out-dir ./client/src/bindings --module-path .

Or use dev mode which auto-generates

或使用自动生成绑定的开发模式

spacetime dev --client-lang typescript --module-bindings-path ./client/src/bindings
undefined
spacetime dev --client-lang typescript --module-bindings-path ./client/src/bindings
undefined

Common Flags

常用参数

FlagShortDescription
--server
-s
Target server (nickname, hostname, or URL)
--yes
-y
Non-interactive mode (skip confirmations)
--anonymous
Use anonymous identity
--module-path
-p
Path to module project
参数简写描述
--server
-s
目标服务器(别名、主机名或URL)
--yes
-y
非交互式模式(跳过确认提示)
--anonymous
使用匿名身份
--module-path
-p
模块项目路径

Troubleshooting

问题排查

"Not logged in"

"未登录"

bash
spacetime login
bash
spacetime login

Or use --anonymous for public operations

或针对公开操作使用--anonymous参数

undefined
undefined

"Server not responding"

"服务器无响应"

bash
spacetime server ping <server>
bash
spacetime server ping <server>

For local: ensure spacetime start is running

本地服务器:确保spacetime start正在运行

undefined
undefined

"Schema conflict"

"Schema冲突"

bash
undefined
bash
undefined

Clear data and republish

清空数据并重新发布

spacetime publish my-db --clear-database --yes
undefined
spacetime publish my-db --clear-database --yes
undefined

"Build failed"

"构建失败"

bash
undefined
bash
undefined

Check Rust/C# toolchain

检查Rust/C#工具链

rustup show
rustup show

For Rust modules, ensure wasm32-unknown-unknown target

对于Rust模块,确保已安装wasm32-unknown-unknown目标

rustup target add wasm32-unknown-unknown
undefined
rustup target add wasm32-unknown-unknown
undefined

Module Languages

模块支持语言

Server-side (modules): Rust, C#, TypeScript, C++ Client SDKs: TypeScript, C#, Rust, Python, Unreal Engine CLI
generate
targets:
TypeScript, C#, Rust, Unreal C++
服务端(模块): Rust, C#, TypeScript, C++ 客户端SDK: TypeScript, C#, Rust, Python, Unreal Engine CLI
generate
目标:
TypeScript, C#, Rust, Unreal C++

Notes

注意事项

  • Many commands are marked UNSTABLE and may change
  • Default server is
    maincloud
    unless configured otherwise
  • Use
    --yes
    flag in scripts to avoid interactive prompts
  • Dev mode watches files and auto-rebuilds on changes
  • 许多命令标记为UNSTABLE,可能会发生变更
  • 默认服务器为
    maincloud
    ,除非另行配置
  • 在脚本中使用
    --yes
    参数以避免交互式提示
  • 开发模式会监听文件变更并自动重建