当前位置: 首页 > news >正文

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作为基础配置。

配置项最低配置推荐配置
CPU4 核4 核
内存6GB8GB
硬盘20GB40GB
带宽5Mbps10Mbps
系统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

管理命令

客户端连接步骤

  1. 在 Steam 上启动 Wurm Unlimited 客户端
  2. 主菜单选择Multiple PlayersJoin Server
  3. 点击Direct Join,输入服务器 IP 和端口3724
  4. 创建角色后开始游戏

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 数据库是长期运营的核心习惯,千万不要忽视。

http://www.zskr.cn/news/1341102.html

相关文章:

  • 2026哪家公司可以做GEO获客/AI搜索排名提升?九颐数科等三家服务商能力拆解与选择框架 - 广州矩阵架构科技公司
  • Flux1-dev完整教程:24GB以下显存用户的终极AI解决方案
  • GitHub社区徽章系统技术深度解析:基于GraphQL的事件管理架构实现原理
  • JetBrains IDE 试用重置终极指南:ide-eval-resetter 完整教程
  • YimMenu完全指南:5大核心功能让你安全畅玩GTA5在线模式
  • 读《AI时代成为行业精英的融合型学习法》
  • 企业落地 AI Agent,第一批最容易跑通的 10 个低风险场景
  • 如何在企业中构建真正有效的AI Agent?从理论到落地,基于300+企业Agent交付经验的实战指南
  • DicomObjects COM -Release Date: 2026-05-18
  • Web基础(六):Mybatis
  • ChatGPT-Web-Midjourney-Proxy的GPTs功能详解:打造专属AI助手的终极指南
  • 0602光刻机 第六篇:EUV超精密光学系统(S级 长期死磕突破)超精密反射镜技术壁垒
  • BetterCodable快速入门指南:5分钟学会属性包装器的强大功能
  • Squash架构深度剖析:从Plank到Debug Attachment的完整实现
  • 5分钟上手Learn X by doing Y:初学者快速入门教程
  • Swift OpenAPI Generator事件流处理:构建实时双向通信的Swift应用终极指南
  • weather_landscape编码原理深度解析:24小时天气数据的视觉化艺术
  • 创业团队如何通过统一API管理多个AI项目的模型调用
  • Plexdrive开发者指南:如何贡献代码与扩展功能
  • CANN/asc-devkit:SIMT bfloat16x2 floor函数
  • CANN/asc-devkit SIMT bfloat16数学函数
  • RustSec平台注册表揭秘:跨平台开发的7个最佳安全实践
  • snnTorch性能优化:10个技巧让你的SNN训练速度提升300%
  • 终极指南:如何在普通电脑上运行BitNet 1-bit大语言模型
  • UDEV Gothic技术实现深度剖析:字体合成、字形优化与元数据处理
  • SPlisHSPlasH粘度模拟技术详解:从标准方法到最新算法
  • 【卷卷观察】Google I/O 2026 炸场:AI 不再跟你聊天了,它开始替你干活了
  • gibMacOS终极指南:三步完成macOS组件下载与系统部署
  • 终极歌词神器:5分钟学会用LDDC为你的音乐库添加完美歌词
  • BDE最佳实践:避免常见陷阱的20个专业建议 [特殊字符]