Wurm Unlimited 专用服务器搭建教程
Wurm Unlimited 专用服务器搭建教程
Wurm Unlimited 是一款极具深度的沙盒 MMO 游戏,脱胎于经典网页游戏 Wurm Online,由 Code Club AB 开发并于 Steam 平台发售。与大多数沙盒游戏不同,Wurm Unlimited 拥有令人叹为观止的细粒度系统:玩家可以用铲子真实改变地形高度图、挖掘矿洞、铺设道路,拥有超过 100 个可提升的技能,精密的制作链涵盖冶金、烹饪、制陶、农业、建筑等多个领域,还有复杂的政治经济体系。购买游戏后可以自由架设私有服务器,朋友们无需月费订阅即可共同探索这片广阔的中世纪大陆。由于游戏基于 Java 开发,服务端的内存配置尤为关键。
服务器配置建议
Wurm Unlimited 服务端运行在 JVM 上,地形模拟、技能计算和 AI 行为会持续占用 CPU 资源;初始地图生成时内存峰值可超过 4GB,稳定运行期间约占 3~5GB,操作系统和 JVM 开销合计需要4 核 8GB作为基础配置。
| 配置项 | 最低配置 | 推荐配置 |
|---|---|---|
| CPU | 4 核 | 4 核 |
| 内存 | 6GB | 8GB |
| 硬盘 | 20GB | 40GB |
| 带宽 | 5Mbps | 10Mbps |
| 系统 | Ubuntu 22.04 LTS(64位) | Ubuntu 22.04 LTS(64位) |
推荐使用雨云服务器 rainyun-com部署,注册填码2026off领 5 折。4 核 8GB 机型可稳定运行 Wurm Unlimited 服务端,支持 10~20 名玩家同时在线探索这片手工打造的中世纪世界,Java + 世界模拟的性能需求完全得到满足。
安装依赖
安装 Java 11+
Wurm Unlimited 服务端需要 Java 11 或更高版本:
sudoaptupdate&&sudoaptupgrade-y# 安装 OpenJDK 11(推荐版本)sudoaptinstall-yopenjdk-11-jre-headless# 验证安装java-version# 预期输出:openjdk version "11.x.x" ...# 如需 Java 17(更高性能)# sudo apt install -y openjdk-17-jre-headless安装 SteamCMD 依赖
sudodpkg --add-architecture i386sudoaptupdatesudoaptinstall-ylib32gcc-s1 lib32stdc++6curlwgetufw# 创建专用运行用户sudouseradd-m-s/bin/bash steamsudomkdir-p/home/steam/serverssudochownsteam:steam /home/steam/servers安装 SteamCMD:
sudosu- steammkdir~/steamcmd&&cd~/steamcmdwgethttps://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gztar-xzfsteamcmd_linux.tar.gz ./steamcmd.sh +quit下载服务端
Wurm Unlimited 的服务端通过 SteamCMD 下载(App ID:366220)。注意:你需要拥有这款游戏的 Steam 账号才能下载(不支持 anonymous 匿名登录):
sudosu- steamcd~/steamcmd# 使用你的 Steam 账号登录下载(替换 your_steam_username)./steamcmd.sh\+force_install_dir /home/steam/servers/wurm-unlimited\+login your_steam_username\+app_update366220validate\+quit下载完成后(约 2~4GB)确认关键文件:
ls/home/steam/servers/wurm-unlimited/# 应包含:server.jar WurmServer.bat lib/ nativelib/ 等文件ls/home/steam/servers/wurm-unlimited/server.jar配置文件
server.properties
Wurm Unlimited 的主配置文件,控制服务器基本属性:
nano/home/steam/servers/wurm-unlimited/server.properties配置内容示例:
# 服务器名称(在服务器列表中显示) servername=我的 Wurm Unlimited 服务器 # 服务器描述 serverdescription=欢迎探索我们的中世纪大陆! # 最大玩家数 maxplayers=20 # 服务器连接密码(留空为公开服务器) serverpassword= # 是否公开显示在服务器列表(true/false) advertise=true # GM 管理员密码(游戏内 GM 命令需要) gmpassword=your_gm_password_here # 是否是 Epic 模式(Epic 模式与标准模式存档不互通) Epic=false # 是否开启 PvP PvP=false # 游戏端口(TCP) gameport=3724 # Steam 查询端口 queryport=27015 # RMI 内部管理端口 rmiport=7220 rmiregistryport=7221 # 世界地图大小(512/1024/2048/4096,单位:格) mapsize=1024 # 默认生成点坐标(中心点) spawnx=512 spawny=512 # 最高技能上限(100 = 标准,无上限设置为 0) skillgainrate=1.0 # 是否开启夜间(false = 永昼) nightvisualeffects=true世界设置(地图生成参数)
首次启动前,可通过命令行参数控制地图生成:
# 世界类型参数(在启动命令中附加)# --map-size 1024 地图大小(512/1024/2048)# --no-map-gen 跳过地图生成(使用已有地图)启动服务
创建启动脚本:
nano/home/steam/servers/wurm-unlimited/start.sh#!/bin/bashSERVER_DIR="/home/steam/servers/wurm-unlimited"LOG_DIR="$SERVER_DIR/logs"mkdir-p"$LOG_DIR"cd"$SERVER_DIR"# JVM 参数:# -Xms1g 初始堆内存 1GB# -Xmx4g 最大堆内存 4GB(根据机器内存调整,建议不超过总内存的 60%)java\-Xms1g\-Xmx4g\-XX:+UseG1GC\-XX:MaxGCPauseMillis=200\-XX:+ParallelRefProcEnabled\-Djava.awt.headless=true\-jarserver.jar\2>&1|tee"$LOG_DIR/server-$(date+%Y%m%d-%H%M%S).log"chmod+x /home/steam/servers/wurm-unlimited/start.sh测试启动(首次启动会生成地图,耐心等待 5~10 分钟):
sudosu- steam /home/steam/servers/wurm-unlimited/start.sh配置 systemd 服务
exit# 退出 steam 用户sudonano/etc/systemd/system/wurm-unlimited.service[Unit] Description=Wurm Unlimited Dedicated Server After=network.target Wants=network-online.target [Service] Type=simple User=steam Group=steam WorkingDirectory=/home/steam/servers/wurm-unlimited ExecStart=/usr/bin/java \ -Xms1g \ -Xmx4g \ -XX:+UseG1GC \ -XX:MaxGCPauseMillis=200 \ -XX:+ParallelRefProcEnabled \ -Djava.awt.headless=true \ -jar /home/steam/servers/wurm-unlimited/server.jar # 首次地图生成较慢,超时时间设长 TimeoutStartSec=600 # 崩溃后 30 秒重启(Java 服务器重启较慢) Restart=on-failure RestartSec=30 StandardOutput=journal StandardError=journal SyslogIdentifier=wurm-unlimited # 内存限制 MemoryMax=6G [Install] WantedBy=multi-user.target启用并启动:
sudosystemctl daemon-reloadsudosystemctlenablewurm-unlimitedsudosystemctl start wurm-unlimited# 检查状态(首次启动需要等待地图生成)sudosystemctl status wurm-unlimited# 实时查看日志(首次启动请耐心等待)sudojournalctl-uwurm-unlimited-f防火墙配置
Wurm Unlimited 使用3724 TCP(游戏通信)和27015 TCP(Steam):
# 允许 SSHsudoufw allowssh# 开放游戏主端口(TCP)sudoufw allow3724/tcp comment"Wurm Unlimited Game Port"# 开放 Steam 查询端口sudoufw allow27015/tcp comment"Wurm Unlimited Steam"# 如果使用 RMI 管理(同局域网内管理)# sudo ufw allow 7220/tcp comment "Wurm RMI"# sudo ufw allow 7221/tcp comment "Wurm RMI Registry"# 启用防火墙sudoufwenable# 查看规则sudoufw status verbose预期输出:
Status: active To Action From -- ------ ---- 22/tcp ALLOW IN Anywhere 3724/tcp ALLOW IN Anywhere 27015/tcp ALLOW IN Anywhere管理命令
客户端连接步骤
- 在 Steam 上启动 Wurm Unlimited 客户端
- 主菜单选择Multiple Players→Join Server
- 点击Direct Join,输入服务器 IP 和端口
3724 - 创建角色后开始游戏
GM 管理员操作
在游戏内聊天框或 GM 控制台使用以下命令:
| 命令 | 说明 |
|---|---|
#GM <密码> | 激活 GM 权限 |
#kick <玩家名> | 踢出玩家 |
#ban <玩家名> <时长> | 封禁玩家 |
#tele <x> <y> | 传送到坐标 |
#giveskill <技能> <值> | 设置技能等级 |
#sethealth <值> | 设置生命值 |
#time | 显示游戏内时间 |
#save | 强制保存游戏数据 |
世界设置与调整
通过修改server.properties可以调整多项游戏参数,修改后重启服务生效:
# 常见调整项# skillgainrate=3.0 技能提升速度(默认 1.0,调高可加速成长)# combatrating=1.0 战斗评级倍率# actiontimer=2.0 动作计时器倍率(越小动作越快)数据备份
# Wurm 数据目录(地图、玩家数据、技能)ls/home/steam/servers/wurm-unlimited/# 备份脚本(停服后执行保证数据一致性)sudosystemctl stop wurm-unlimitedtar-czf/home/steam/backups/wurm-$(date+%Y%m%d-%H%M%S).tar.gz\/home/steam/servers/wurm-unlimited/sqlite/sudosystemctl start wurm-unlimited# 定时备份(每天凌晨 3 点)(crontab-l2>/dev/null;echo"0 3 * * * tar -czf /home/steam/backups/wurm-\$(date+\%Y\%m\%d).tar.gz /home/steam/servers/wurm-unlimited/sqlite/")|sudocrontab-usteam -服务端更新
sudosystemctl stop wurm-unlimitedsudo-usteam /home/steam/steamcmd/steamcmd.sh\+force_install_dir /home/steam/servers/wurm-unlimited\+login your_steam_username\+app_update366220validate\+quitsudosystemctl start wurm-unlimited总结
Wurm Unlimited 是迄今为止深度最高的沙盒 MMO 之一,其极度细粒度的世界模拟和技能系统对服务器提出了明确的 Java 内存需求。4 核 8GB 机型是流畅运行的基本保障,通过合理配置 JVM 堆内存(-Xms1g -Xmx4g)和 G1GC 垃圾回收器,可以有效控制延迟抖动。定期备份 SQLite 数据库是长期运营的核心习惯,千万不要忽视。
