引言
本项目旨在通过 Docker 技术,帮助用户在 Linux 系统中快速搭建并管理 Vintage Story 专用服务器(Dedicated Server)。Vintage Story 是一款以生存和探索为核心的沙盒游戏,其专用服务器支持多人联机,通过容器化部署,您可以轻松实现服务器的搭建、配置、备份和扩展,而无需担心环境依赖问题。
项目特点
- 快速部署:通过 Docker 镜像,一键完成 Vintage Story 专用服务器的搭建。
- 环境隔离:Docker 容器确保服务器运行环境与主机隔离,避免冲突。
- 易于管理:支持容器自启动、定期备份和配置文件热更新。
- 跨平台兼容:基于 Docker 的部署方式,支持多种 Linux 发行版。
适用场景
- 个人或团队搭建 Vintage Story 专用服务器,支持多人联机。
- 快速测试和开发 Vintage Story 游戏模组。
- 学习 Docker 和容器化技术的实践项目。
快速开始
按照一下几个步骤操作即可完成服务器的部署:
克隆项目到本地
git clone https://github.com/SJRnhqh/Build-a-Vintage-Story-Dedicated-Server-on-Linux-via-Docker.git
cd Build-a-Vintage-Story-Dedicated-Server-on-Linux-via-Docker
构建 Docker 镜像
docker build -t vintage-story-server .
创建数据文件夹并挂载
在主机上创建 /var/vintagestory/data
文件夹,用于挂载容器中的所有服务器数据(包括日志、世界存档、配置文件等):
sudo mkdir -p /var/vintagestory/data
sudo chmod -R 777 /var/vintagestory/data
自定义服务器内容(可选)
添加模组:将模组文件(.dll
或 .zip
)放入 /var/vintagestory/data/Mods
文件夹。
mkdir -p /var/vintagestory/data/Mods
cp /path/to/your/mod.zip /var/vintagestory/data/Mods/
添加存档:将存档文件夹放入 /var/vintagestory/data/Saves
文件夹。
mkdir -p /var/vintagestory/data/Saves
cp -r /path/to/your/save /var/vintagestory/data/Saves/
修改服务器配置:编辑 /var/vintagestory/data/serverconfig.json
文件,自定义服务器设置和世界生成参数。
nano /var/vintagestory/data/serverconfig.json
运行 Docker 容器
使用以下命令运行容器,并将主机上的 /var/vintagestory/data
挂载到容器中的 /var/vintagestory/data
。同时,使用 --restart=always
参数确保容器在意外停止或系统重启后自动启动:
docker run -d \
--name vintage-story-server \
-p 42420:42420 \
-v /var/vintagestory/data:/var/vintagestory/data \
--restart=always \
vintage-story-server
使用 start.sh
脚本
本项目已包含一个 start.sh
脚本,用于备份存档、删除旧备份并启动服务器。请根据自身情况修改脚本内容(例如容器名称、存档路径等),然后运行脚本:
# 修改脚本内容(如果需要)
nano start.sh
# 运行脚本
chmod +x start.sh
./start.sh
设置 crontab 任务(可选)
如果需要服务器在系统重启时自动启动,可以将 start.sh
脚本添加到 crontab
中:
(crontab -l 2>/dev/null; echo "@reboot $(pwd)/start.sh") | crontab -
注意:确保 start.sh
脚本路径正确,并根据需要调整脚本内容。
如果是支持.NET7的Linux发行版,可以直接参考官方教程╮(╯▽╰)╭