商店
nanos world 商店是你与 nanos world 社区分享游戏模式、包和资产包的地方!

关于商店
商店中发布的所有内容都称为资源:包(脚本、游戏模式、地图、加载屏幕和 C 模块)或资产包。任何人都可以浏览、下载、评价和收藏资源,并且它们与游戏内资源库和服务器 CLI 100% 集成。
你可以按类别、标签、语言和评分筛选商店,按热门程度、下载量等排序,或通过网站顶部的搜索栏搜索任何内容。
资源页面
每个资源都有自己的页面,包含截图和视频、描述、评价以及带有更新日志的完整版本列表。在那里你可以下载最新版本、收藏、查看其背后的团队以及举报。

发布资源
资源始终属于一个团队,因此在发布之前请创建一个团队(或加入一个团队)。拥有 developer 身份组或更高身份组的每位成员都可以管理团队的资源。
创建资源
要从网站创建新资源,请前往账户 → 包(或账户 → 资产包),然后按 new package(或 new asset pack)按钮。一个简短的向导将询问你的团队、资源名称和类型。

资源名称是其唯一标识符(用于 Config.toml、需求项和资源库),因此它必须与你的包或资产包文件夹名称匹配:小写,仅包含字母、数字和 -。
你也可以在游戏内创建资源,请参阅资源库中的创建商店资源。
管理资源
你可以管理的每个资源在其页面上都有一个 manage 按钮,点击后会打开其管理页面(https://nanos-world.com/store/packages/\<name>/manage 或 https://nanos-world.com/store/assets/\<name>/manage):
- 仪表板:统计信息(下载量、浏览量、收藏数、评分和已用存储空间)以及资源上架前所需一切内容的清单,还有发布或取消发布它的按钮
- 资源详情:标题、摘要、描述、标签、语言和链接
- 媒体:主图片、截图和视频
- 版本:上传、发布和管理版本(见下文)
- 历史记录:对资源所做的每一次更改,以及由谁更改
- 危险区:将资源转移到另一个团队,或删除它

上传版本
资源的每个版本都是其文件夹(包含 Package.toml 或 Assets.toml 的文件夹)的 .zip 压缩包。版本号从该 .toml 文件中读取,因此在上传新版本之前请先提升版本号(遵循语义化版本)。
有几种方式可以上传新版本:
- 网站:在管理页面的版本部分,将
.zip文件拖放到上传区域 - 资源库:在游戏内,请参阅管理资源版本
- CLI:在你的服务器上运行
upload package \<name>或upload assets \<name>,请参阅 CLI - GitHub Actions:在每个新标签上自动上传,请参阅自动化 GitHub 发布

校验和发布
上传后,每个版本都会经过自动校验器,它会检查文件并从 .toml 中读取版本号、需求项和其他设置。在它运行时,版本显示为 pending,然后显示为 approved(或 declined,并附带原因)。
已批准的版本尚不公开:使用 edit changelog 添加更新日志,然后按 release,使其在商店、资源库中以及供服务器下载时对所有人可用。
访问令牌
访问令牌(也称为个人访问令牌,或 PAT)用于在网站之外验证你的账户。它被服务器 CLI、--auto_download 在获取你拥有的资源时、GitHub Action 以及任何调用 API 的脚本使用。
它拥有与你账户相同的权限来下载和上传你团队的资源,因此请保密。
生成新令牌
要生成新令牌,请前往账户 → 访问令牌,然后按 create token 按钮。

你可以为令牌命名(以便稍后识别)并设置过期日期(留空表示永不过期的令牌)。

创建后,请复制令牌并将其保存到安全的地方:它只显示一次,之后你将无法再次看到它。如果你丢失了它(或泄露了),请从列表中删除它并创建一个新的。
在服务器中使用令牌
将你的令牌粘贴到服务器 Config.toml 的 token 字段中,或在命令行中使用 --token 传递它,你就已通过身份验证,可以运行 CLI 命令了!
[general]
token = "<your-token>"
将令牌与 API 一起使用
同一个令牌可用于验证对 nanos world API(https://api.nanos-world.com)的请求。在 Authorization 标头中发送它,并以 Token 为前缀:
curl -H "Authorization: Token <your-token>" https://api.nanos-world.com/user/me
完整的端点列表在 API 参考中。
自动化 GitHub 发布
此工作流由社区维护。有关更多详细信息,请访问开源 GitHub 仓库。
如果你的包在 GitHub 上,你可以使用社区创建的 nanos world 商店发布 Action 自动上传新版本!它处理版本检查、压缩和上传到商店。
该 Action 目前仅支持包。资产包必须通过网站、资源库或 CLI 上传。
设置 GitHub Action
1. 将你的令牌添加为密钥
- 按照 生成新令牌 部分中的说明创建令牌
- 转到你的仓库 Settings → Secrets and variables → Actions
- 单击 New repository secret
- 名称:
NANOS_STORE_TOKEN - 密钥:你在第 1 步中生成的令牌
- 单击 Add secret
切勿将令牌直接粘贴到工作流文件中:任何有权访问该仓库的人都可以使用它。
2. 创建工作流文件
在你的仓库中创建 .github/workflows/publish.yml 文件,内容如下:
name: 发布到 nanos world 商店
on:
# 在推送版本标签(例如 v1.0.1)时运行
push:
tags:
- 'v*'
# 允许从 Actions 标签页手动运行它
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
name: 发布包
steps:
- uses: actions/checkout@v4
- uses: nanos-world/store-action@v1
with:
NANOS_PERSONAL_ACCESS_TOKEN: ${{ secrets.NANOS_STORE_TOKEN }}
NANOS_PACKAGE_NAME: 'your-package-name' # 替换为你的包名称
如果你的包不在仓库根目录下,请将 PACKAGE_PATH 设置为其文件夹。
发布新版本
更新 Package.toml 中的版本
[meta]
version = "1.0.1" # 与前一版本相比的增量
提交、标签并推送
git add Package.toml
git commit -m "Bump version to 1.0.1"
git tag v1.0.1
git push origin main --tags
当你推送标签时,该 Action 将上传新版本!校验器批准后,添加更新日志并按 release(在网站上或资源库中)使其对所有人可用,请参阅校验和发布。
得益于 workflow_dispatch 事件,你也可以从仓库的 Actions 标签页手动触发工作流。
该 Action 从你的 Package.toml 中读取版本,并将其与商店中的最新版本进行比较。你的本地版本必须大于商店版本,上传才能成功。
仓库中有多个包
如果你的仓库中有多个包,请为每个包添加一个步骤,将 PACKAGE_PATH 指向其文件夹,将 NANOS_PACKAGE_NAME 指向其名称:
- uses: nanos-world/store-action@v1
with:
NANOS_PERSONAL_ACCESS_TOKEN: ${{ secrets.NANOS_STORE_TOKEN }}
NANOS_PACKAGE_NAME: 'my-first-package'
PACKAGE_PATH: 'path/to/my-first-package'
- uses: nanos-world/store-action@v1
with:
NANOS_PERSONAL_ACCESS_TOKEN: ${{ secrets.NANOS_STORE_TOKEN }}
NANOS_PACKAGE_NAME: 'my-second-package'
PACKAGE_PATH: 'path/to/my-second-package'
有关更多配置选项和疑难解答,请访问 Action 仓库。