quick start - yumi-furry/AstralGame-cli GitHub Wiki

快速开始

本文介绍如何在 Debian/Ubuntu 无头服务器上部署 Astral Game P2P Server(astral-server),并注册为 systemd 服务后台运行,让服务器重启后自动恢复房间。

部署目录结构

部署后所有运行期文件统一放在 /opt/astral-server/:

/opt/astral-server/       # 部署后统一目录
├── astral-server         # 可执行文件
├── config.toml           # 配置文件(Web 端口、账号密码等)
├── servers.json          # 服务器列表数据(自动生成)
└── Email/                # 邮件模板(首次运行自动生成,可自由编辑)
    ├── room_notification.html   # HTML 模板
    └── room_notification.txt    # 纯文本模板

其他运行期数据(avatar.bin 头像、ws_key 等)同样落在可执行文件同目录,符合"单目录即可维护整套服务"的部署约定。

方式一:直接上传已编译版本(推荐)

如果有编译好的二进制文件,直接上传即可使用,无需安装 Rust 工具链。

1. 上传文件

# 将 astral-server 二进制和 config.toml 传到服务器
scp astral-server user@your-server:/tmp/
scp config.toml user@your-server:/tmp/

2. 安装到统一目录

# 创建目录
sudo mkdir -p /opt/astral-server

# 复制文件
sudo cp /tmp/astral-server /opt/astral-server/
sudo cp /tmp/config.toml /opt/astral-server/

# 设置权限
sudo chmod 755 /opt/astral-server/astral-server
sudo chown -R root:root /opt/astral-server

3. 直接运行(前台测试)

cd /opt/astral-server
sudo ./astral-server run

浏览器访问 http://服务器IP:端口 即可打开 Web 管理端(端口默认 8080,见 配置参考)。

4. 注册为系统服务(后台运行)

将以下内容保存为 /etc/systemd/system/astral-server.service:

[Unit]
Description=Astral Game P2P Server
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
WorkingDirectory=/opt/astral-server
ExecStart=/opt/astral-server/astral-server run
Restart=on-failure
RestartSec=5
TimeoutStopSec=15
LimitNOFILE=1048576
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_RAW CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_RAW CAP_NET_BIND_SERVICE

[Install]
WantedBy=multi-user.target

5. 服务管理命令

# 启动
sudo systemctl start astral-server

# 停止
sudo systemctl stop astral-server

# 重启
sudo systemctl restart astral-server

# 查看状态
sudo systemctl status astral-server

# 开机自启
sudo systemctl enable astral-server

# 取消开机自启
sudo systemctl disable astral-server

# 实时日志
sudo journalctl -u astral-server -f

方式二:使用 .deb 安装包(可选)

仓库提供 deploy/build-deb.sh 打包脚本,可生成符合 FHS 布局的 .deb 包:

# 使用已编译好的 target/x86_64-unknown-linux-gnu/release/astral-server
bash deploy/build-deb.sh

# 交叉编译 ARM(可选)
bash deploy/build-deb.sh arm64 aarch64-unknown-linux-gnu

包内默认安装到 /usr/bin/astral-server、/etc/astral-server/config.toml 与 systemd 单元文件;升级时通过 conffiles 保留用户已修改的配置。

从源码编译

如果你需要自行编译,参见 从源码编译。

相关页面