# 快速开始 本文介绍如何在 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. 上传文件 ```bash # 将 astral-server 二进制和 config.toml 传到服务器 scp astral-server user@your-server:/tmp/ scp config.toml user@your-server:/tmp/ ``` ### 2. 安装到统一目录 ```bash # 创建目录 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. 直接运行(前台测试) ```bash cd /opt/astral-server sudo ./astral-server run ``` 浏览器访问 `http://服务器IP:端口` 即可打开 Web 管理端(端口默认 `8080`,见 [配置参考](configuration.md))。 ### 4. 注册为系统服务(后台运行) 将以下内容保存为 `/etc/systemd/system/astral-server.service`: ```ini [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. 服务管理命令 ```bash # 启动 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` 包: ```bash # 使用已编译好的 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` 保留用户已修改的配置。 ## 从源码编译 如果你需要自行编译,参见 [从源码编译](build-from-source.md)。 ## 相关页面 - [配置参考](configuration.md) - [命令行接口 CLI](cli-commands.md) - [从源码编译](build-from-source.md)