
pepecitron/vintagestory-serverVintage Story Server Docker镜像是一款用于快速部署和管理Vintage Story游戏服务器的容器化解决方案。Vintage Story是一款沙盒生存类游戏,该镜像允许用户通过环境变量自定义服务器核心参数和世界生成规则,支持数据持久化存储,并提供灵活的版本控制,适用于个人或小型社区搭建游戏服务器。
该镜像通过以下卷实现数据持久化:
/data/server-file:存储服务器配置文件、世界数据、日志及所有运行时文件。建议将此目录挂载到宿主机目录,确保数据持久化。42420:Vintage Story服务器默认通信端口,用于玩家连接,需映射到宿主机端口。| 变量名 | 描述 | 取值范围 | 默认值 |
|---|---|---|---|
| SERVER_BRANCH | 服务器分支名称 | stable|unstable | stable |
| SERVER_VERSION | 服务器版本号(如不指定,默认使用分支最新版本) | 具体版本号(如"1.18.0") | 无 |
| SERVER_PORT | 服务器监听端口 | 整数 | 42420 |
| SERVER_NAME | 服务器公共显示名称 | 字符串 | 无 |
| SERVER_DESCRIPTION | 服务器公共描述信息 | 字符串 | 无 |
| SERVER_MOTD | 玩家加入时显示的欢迎消息({0}自动替换为玩家昵称) | 字符串 | 无 |
| SERVER_MAX_CLIENTS | 最大允许在线玩家数 | 整数 | 无 |
| SERVER_PASS_TIME_WHEN_EMPTY | 无玩家时是否继续流逝游戏时间 | true|false | false |
| SERVER_PASSWORD | 服务器连接密码(如无需密码可省略) | 字符串 | 无 |
| SERVER_WHITELIST | 是否启用白名单(仅允许白名单玩家连接) | true|false | 无 |
| SERVER_PUBLIC | 是否在公共服务器列表中显示 | true|false | 无 |
| SERVER_SERVER_LANGUAGE | 服务器消息语言(如"en"、"zh-CN") | 语言代码 | 无 |
| SERVER_PVP | 是否允许玩家间战斗(PvP) | true|false | true |
| SERVER_FIRE_SPREAD | 是否允许火势自然蔓延 | true|false | true |
| SERVER_WORLD_SEED | 世界生成种子(影响地形、资源分布等) | 字符串或整数 | 随机 |
| SERVER_DIE_ABOVE_MEMORY_USAGE | 服务器内存使用上限(MB),达到时自动关闭(90%时每60秒警告) | 整数 | 50000 |
| SERVER_MAX_CLIENTS_IN_QUEUE | 服务器满员时允许的排队玩家数(需>0启用) | 整数 | 无 |
| SERVER_LOGIN_FLOOD_PROTECTION | 是否自动封禁异常连接IP(临时封禁,重启后清除) | true|false | false |
| SERVER_MAP_SIZE_X | 地图X轴尺寸 | 整数 | *** |
| SERVER_MAP_SIZE_Y | 地图Y轴尺寸(高度) | 整数 | 256 |
| SERVER_MAP_SIZE_Z | 地图Z轴尺寸 | 整数 | *** |
| 变量名 | 描述 | 取值范围 | 默认值 |
|---|---|---|---|
| WORLDCONFIG_GAMEMODE | 游戏模式 | survival|creative | survival |
| WORLDCONFIG_STARTING_CLIMATE | 初始出生点气候 | hot|warm|temperate|cool|icy | temperate |
| WORLDCONFIG_SPAWN_RADIUS | 出生点保护半径(玩家初始活动范围) | ***, 5000, 2500, 1000, 500, 250, 100, 50, 25, 0 | 50 |
| WORLDCONFIG_GAMEMODE | 游戏模式 | survival|creative | survival |
| WORLDCONFIG_DEATH_PUNISHMENT | 死亡惩罚模式 | drop(掉落物品)|keep(保留物品) | drop |
| WORLDCONFIG_CREATURE_HOSTILITY | 生物敌意程度 | aggressive(主动***)|passive(被动)|off(无生物) | aggressive |
| WORLDCONFIG_WORLD_SEED | 世界种子(与SERVER_WORLD_SEED作用相同,优先级一致) | 字符串或整数 | 随机 |
| WORLDCONFIG_LANDCOVER | 土地覆盖率(影响地形植被密度) | 0-1(含小数,如0.5表示50%覆盖率) | 1 |
| WORLDCONFIG_PVP | 世界PvP开关(覆盖SERVER_PVP配置) | true|false | true |
注:世界配置变量包含超过50项详细参数(如资源生成率、气候系统、生物强度等),完整列表可参考镜像环境变量定义,上述为常用示例。
| 变量名 | 描述 | 取值范围 | 默认值 |
|---|---|---|---|
| UID | 运行服务器的用户ID | 整数 | 1000 |
| GID | 运行服务器的用户组ID | 整数 | 1000 |
bashdocker run -d \ --name vsserver \ -p 42420:42420 \ -v /path/on/host:/data/server-file \ -e SERVER_NAME="My Vintage Server" \ -e SERVER_MAX_CLIENTS=8 \ -e SERVER_PUBLIC=false \ -e WORLDCONFIG_GAMEMODE=survival \ -e WORLDCONFIG_STARTING_CLIMATE=temperate \ pepecitron/vintagestory-server
yamlversion: "3.8" services: vintage-story: container_name: vsserver image: pepecitron/vintagestory-server restart: unless-stopped # 自动重启(非手动停止时) stdin_open: true # 允许控制台交互 tty: true # 分配伪终端 ports: - "42420:42420" # 端口映射 volumes: - ./server-data:/data/server-file # 数据持久化目录 environment: # 服务器基础配置 - SERVER_BRANCH=stable - SERVER_NAME="Community Server" - SERVER_DESCRIPTION="A friendly server for Vintage Story players" - SERVER_MAX_CLIENTS=15 - SERVER_PORT=42420 - SERVER_PASSWORD=MyServer123 # 连接密码 # 世界配置 - WORLDCONFIG_GAMEMODE=survival - WORLDCONFIG_WORLD_SEED=Vintage2024 - WORLDCONFIG_CREATURE_HOSTILITY=aggressive - WORLDCONFIG_LANDCOVER=0.75 # 75%土地覆盖率 # 系统用户 - UID=1000 - GID=1000
如需与服务器控制台交互(如执行命令、查看日志),需确保容器已配置stdin_open: true和tty: true(如上述Compose示例)。通过以下命令连接:
bashdocker attach vsserver
断开控制台连接时,使用组合键
Control-p + Control-q(避免直接关闭终端导致服务器停止)。

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务