【免费下载链接】ReSkate
ReSkate 的 Linux 专用服务器是一个原生 x86_64 无头(headless)服务器程序:不需要安装游戏、不需要 Steam 客户端、更不需要 Wine,就能独立运行一个与 Windows 版ReSkateServer.exe协议完全一致的多人大厅,并且内置自动更新功能。本文带你用 3 步,在一台干净的 64 位 Linux 机器上完成从源码构建到 systemd 常驻部署的全过程。
为什么选择原生 Linux 服务器?
相比在 Windows 虚拟机里跑ReSkateServer.exe,原生构建有几个明显优势:
| 特性 | 说明 |
|---|---|
| 🖥️ 零游戏依赖 | 服务器上无需安装 skate. 游戏本体和 Steam |
| 📦 自动更新 | 启动时及每 30 分钟检查一次最新 release,空闲时自动安装新版本 |
| 🔒 免开端口 | 玩家通过 Steam 中继网络接入,默认无需任何端口映射 |
| ⚙️ 常驻运行 | 官方提供 systemd 单元文件,开机自启 + 崩溃自动拉起 |
| ✅ 可自测 | 支持可移植的 CTest 回归测试(10 项服务器相关用例) |
完整细节见官方文档 Server/README-linux.md,配置项与全部控制台命令见 Server/README.txt。
环境准备:安装服务器依赖
任何主流 64 位发行版均可(官方测试过 Arch/CachyOS,Ubuntu 22.04+ 应可用)。依赖很简单:
cmake >= 3.24、g++ >= 12(C++20)libssl-dev(OpenSSL 加密互操作)curl和tar:服务器靠curl拉取全局封禁列表(api.reskate.dev)和自己的更新包,靠tar解包
# Arch / CachyOS sudo pacman -S base-devel cmake openssl # Ubuntu / Debian sudo apt install build-essential cmake libssl-dev另外,服务器二进制旁边需要两个 Valve 专有库文件:libsteam_api.so(Steamworks SDK)和steamclient.so(SteamCMD)。官方发布包已内置它们;源码构建时用仓库自带的脚本一键获取(见下一步)。
第一步:克隆代码并构建 ReSkateServer
git clone https://gitcode.com/gh_mirrors/re/ReSkate cd ReSkate cmake --preset linux-x64 cmake --build --preset linux-release -j$(nproc)构建产物是build/linux/ReSkateServer(ELF 可执行文件,预设定义见 CMakePresets.json,Linux 预设仅构建专用服务器,不会编译 Windows 客户端)。
想验证构建正确,可以顺手跑一遍可移植测试:
cmake --preset linux-x64 -DDINGOSDK_BUILD_MULTIPLAYER_TESTS=ON cmake --build --preset linux-release -j$(nproc) ctest --test-dir build/linux --output-on-failure # 预期 10 项全部通过第二步:初始化配置 ReSkateServer.json
把ReSkateServer放入独立目录(例如/opt/reskate-server),然后运行一次:
./setup-linux-server-libs.sh # 自动拉取 Steam .so 库放到二进制旁边 ./ReSkateServer # 首次运行会生成 ReSkateServer.json首次运行会写出ReSkateServer.json,至少修改以下两项后重启:
name:服务器在浏览器里显示的名称- 管理员:在服务器窗口里执行
role <你的 SteamID64> admin
可选配置:
world-layers.json:统一所有人的时间/世界图层。可在 Windows 上用ReSkateServer.exe --export-world-layers导出后拷贝过来;没有它时每位玩家保持自己的图层设置- 端口:默认走 Steam 中继,无需开放任何端口;如需浏览器显示 ping、加速入服,可映射 UDP
27015-27016(对应port/query_port) - 自定义地图:把地图 mod 文件夹拷入服务器旁的
Mods/即可按名称加载
注意:玩家与服务器必须使用相同版本的 ReSkate,这正是自动更新存在的意义。
第三步:systemd 常驻部署 + 自动更新
仓库自带服务单元 contrib/reskate-server.service,安装只需三行:
sudo cp contrib/reskate-server.service /etc/systemd/system/ sudo systemctl daemon-reload sudo systemctl enable --now reskate-server该单元以reskate用户运行、崩溃后 5 秒自动重启。日志用journalctl -u reskate-server -f查看,服务器自身也会把每行追加写入二进制旁的ReSkateServer.log。
自动更新机制
- 服务器在启动时和每半小时向 release 仓库请求最新版;发现新版本后,等到没有玩家在线时安装,并在同一进程中无缝接管,systemd 完全无感
- 下载经 HTTPS + SHA-256 校验(
launcher.json固定了 tarball 哈希),解包用tar - tarball 只替换服务器自身文件;你自己的
ReSkateServer.json、Mods/和日志都会保留 - 因此运行用户必须对服务器目录有写权限:
sudo chown -R reskate: /opt/reskate-server - 想立刻更新:在控制台输入
update;想关闭:配置里设"auto_update": false或加--no-update启动 - 1.1.3 及更早的 release 没有 Linux 更新条目,需要手动替换一次文件
进阶:Pterodactyl 面板一键部署 🐉
如果你用的是 Pterodactyl / Pelican 面板,可以直接导入官方 egg:contrib/pterodactyl/egg-reskate-server.json。它会从最新 release 下载安装服务器(含 SHA-256 校验),保留面板分配的端口和steam_token,之后靠服务器自带的自动更新维持版本。建议分配 256 MB 内存 + 300 MB 磁盘。使用说明见 contrib/pterodactyl/README.md。
常见问题 FAQ
Q:启动时报Cannot load .../libsteam_api.so?说明 Steam 库缺失或没放在二进制旁边。运行./setup-linux-server-libs.sh(或--server-dir DIR指定目录)即可自动修复,脚本见 contrib/setup-linux-server-libs.sh。
Q:没有 curl 会怎样?服务器会在日志中明确提示:此时它只执行自己的封禁列表、不再自动更新,其余功能正常。
Q:更新后需要重启服务吗?不需要。新版本接管原进程继续运行,systemd 保持的仍是同一个服务实例。
关键文件速查
| 文件 | 用途 |
|---|---|
| Server/README-linux.md | Linux 服务器完整文档(构建/运行/更新) |
| Server/README.txt | 全部配置项与控制台命令 |
| contrib/reskate-server.service | systemd 服务单元 |
| contrib/setup-linux-server-libs.sh | Steam 库一键安装脚本 |
| contrib/pterodactyl/egg-reskate-server.json | Pterodactyl 部署 egg |
| CMakePresets.json | linux-x64/linux-release构建预设 |
照做完三步,你的 Linux 机器上就有一个免 Wine、免游戏、自动跟进最新版、开机自启的 ReSkate 专用服务器了——剩下的就是邀请朋友进服滑板 🛹
【免费下载链接】ReSkate
相关推荐
one-page-website-html-css-project项目结构全解析:从HTML布局到JavaScript交互
one page website html css project项目结构全解析:从HTML布局到JavaScript交互 one page website h
如何用 Obsidian Dataview 插件 3 步把笔记变成可查询的数据表
如何用 Obsidian Dataview 插件 3 步把笔记变成可查询的数据表 Obsidian Dataview 是一款为 Obsidian 笔记软件设计的
前端知识管理数据分析LaMa图像修复:用AI魔法轻松移除照片中的不想要元素
LaMa图像修复:用AI魔法轻松移除照片中的不想要元素 你是否曾为照片中多余的电线杆、不想要的人物或旧照片上的划痕而烦恼?传统图像编辑工具需要复杂的操作技巧,而
人工智能计算机视觉深度学习图像处理
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考