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 保留用户已修改的配置。
从源码编译
如果你需要自行编译,参见 从源码编译。