执行节点命令
管理节点的状态、启动和更新。
以安装时的账号和权限运行,诊断需使用实际服务账号的权限。下面的 gamex 表示节点可执行文件:如果命令未加入 PATH,请在解压目录将其替换为 Linux/macOS 的 ./gamex 或 Windows PowerShell 的 .\gamex.exe。Linux 系统服务可能需要加 sudo;macOS 用户服务不要加。
| 目的 | 命令 |
|---|---|
| 查看服务与连接状态 | gamex daemon status |
| 检查 Docker 连接 | gamex daemon doctor |
| 启动或停止服务 | gamex daemon start / gamex daemon stop |
| 开启或关闭自启动 | gamex startup enable / gamex startup disable |
| 查看版本和完整用法 | gamex version / gamex --help |
首次安装使用面板生成的命令,见接入节点。
status 输出 JSON,包含服务是否安装、是否运行及是否开启自启动,本机管理接口可访问时还包含节点状态。服务运行不代表已经连上面板,Docker 可用也不代表某个游戏服务就绪。
使用自定义配置安装时,诊断命令需指定相同文件:
gamex daemon status --config /path/to/config.yaml
gamex daemon doctor --config /path/to/config.yamldoctor 检查当前配置下可访问的 Docker 引擎,不负责安装或修复 Docker。工作区服务和端口问题见常见问题。
配置和数据位置
| 系统 | 默认位置 |
|---|---|
| Linux | 配置和身份:/etc/gamex-daemon/;状态:/var/lib/gamex-daemon/ |
| macOS | ~/Library/Application Support/GameX/ 下的 config.yaml、identity/、state/ |
| Windows | %ProgramData%\GameX\ 下的 config.yaml、identity\、state\ |
面板连接地址保存在 config.yaml 的 panel_url。备份时一并保存配置、身份和状态;自定义安装路径以实际配置为准,容器部署备份对应数据卷。
下载发行包
从 节点发行版 选择与面板匹配的版本,再下载对应系统和架构的发行包,解压到新目录。以下示例使用 1.2.0。
文件名见接入节点,可执行文件位于 gamex-v1.2.0-PLATFORM-ARCH-unsigned/。
可选:校验下载文件
将同一 Release 的 SHA256SUMS 下载到发行包目录,校验成功后再解压。
Linux / macOS
PLATFORM=linux
ARCH=amd64
ARCHIVE="gamex-v1.2.0-${PLATFORM}-${ARCH}-unsigned.tar.gz"
(
set -e
awk -v file="$ARCHIVE" '$2 == file { print }' SHA256SUMS > selected.sha256
test "$(wc -l < selected.sha256)" -eq 1
if command -v sha256sum >/dev/null; then
sha256sum --check selected.sha256
else
shasum -a 256 --check selected.sha256
fi
)macOS 将 PLATFORM 改为 darwin,ARM 主机将 ARCH 改为 arm64。
Windows
在 PowerShell 中执行:
$ErrorActionPreference = 'Stop'
$arch = 'amd64'
$archive = "gamex-v1.2.0-windows-$arch-unsigned.zip"
$lines = @(Get-Content SHA256SUMS | Where-Object { ($_ -split '\s+')[1] -eq $archive })
if ($lines.Count -ne 1) { throw 'Missing or duplicate checksum' }
$expected = ($lines[0] -split '\s+')[0]
if ($expected -notmatch '^[0-9a-fA-F]{64}$' -or (Get-FileHash $archive -Algorithm SHA256).Hash -ne $expected) {
throw 'Checksum mismatch'
}ARM 主机将 $arch 改为 arm64。
验证发行来源
下载同名 .sigstore.json,安装 cosign。 在发行包目录执行:
cosign verify-blob --bundle gamex-v1.2.0-linux-amd64-unsigned.tar.gz.sigstore.json --certificate-identity-regexp '^https://github\.com/gamex-sh/gamex-daemon/\.github/workflows/release\.yml@refs/heads/release/v1\.2\.0$' --certificate-oidc-issuer https://token.actions.githubusercontent.com gamex-v1.2.0-linux-amd64-unsigned.tar.gz将文件名替换为实际包名,PowerShell 使用单行命令。
更新与卸载
- 更新:先检查兼容性并备份,再下载目标版本, 使用新可执行文件运行
./gamex daemon update,保留配置和身份。 - 卸载:运行
gamex daemon uninstall并确认,移除服务与可执行文件,保留配置、身份和状态。 - 清除本地数据:卸载时添加
--purge,会删除配置、身份和状态。
卸载保留 Docker 容器、镜像、卷和游戏服务器数据,这些资源需单独管理。