Windows环境搭建WeGame饥荒专用服务器(详细版)

news/2025/2/18 21:54:56/

Windows环境搭建WeGame饥荒专用服务器

  • 前言
  • 饥荒专用服务器
  • 获取cluster_token令牌
  • 注册许可证书
    • 文件配置
    • 路径配置
    • 根目录
      • cluster.ini文件配置
    • 地面服务器(Master)
      • 地面server.ini文件配置
    • 洞穴服务器(Caves)
      • 洞穴server.ini配置
    • 模组的添加与删减
      • 启用模组
    • 自定义地形配置
      • leveldataoverride.lua地形文件具体配置
  • 总结

前言

网上关于饥荒服务器的搭建教程一大堆,但是翻了翻发现基本都是Linux/Ubuntu自搭steam服务器,WeGame的教程寥寥无几。估计大佬们都去steam了。这里将自己的搭建流程分享一哈~~
查看简略版更改服务器模组和存档可参阅覆盖法更改饥荒服务器配置(懒人专用)
官方指南(应该是官方,资料挺老的了):
Guides/Don’t Starve Together Dedicated Servers
指南是搭建steam服务器的,不是Wegame,但是配置参数一致,包含Lunix和Windows两种环境搭建服务器(部分配置已过时,如更新后配置文件由setting.ini更名为cluster.ini)。
有英语基础的可以直接查看。
没英语基础的浏览器翻译一波也可以。
当然中文版的也有(大佬貌似也没更新了):
饥荒服务器世界设置生成
饥荒联机版服务端MOD及更多设置

饥荒专用服务器

在WeGame商店搜索饥荒联机版专用服务器即可免费获取和下载,不需要购买饥荒游戏权限。如果搭云服的话可以用小号搭建服务器,大号在自己电脑上登录玩游戏。
在这里插入图片描述

获取cluster_token令牌

开服需要获取Klei官方的验证令牌,打开饥荒联机版,点击开始游戏后在左下角有数据和账号按钮,点击数据将直接打开本地存档目录。
要获取令牌文件依次点击账户→游戏→饥荒联机版的游戏服务器→添加新服务器(输入集群名,即服务器名称)→服务器配置(貌似该页面只支持修改最大玩家数,其他的没法修改)→下载设置
这里下载的设置是一个压缩包,里面包含最简单的服务器配置,所有配置都是默认的,后面会讲怎么进行修改。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
不想下载的也可直接将服务器票据复制下来,新建一个cluster_token.txt文件并保存即可,该文件用于验证Klei服务器,没有的话无法开启服务器。
此外,令牌也可在游戏内生成(需要具有管理员权限),方法:进入游戏,打开控制台,键入指令:TheNet:GenerateClusterToken(),此命令将以名称cluster_token.txt生成集群令牌。
该文件位于:/文档/Klei/DoNotStarveTogether/cluster_token.txt

注册许可证书

在WeGame选择饥荒联机版专用服务器界面,点击注册许可证书按钮(需要使用有饥荒联机版游戏权限的账号注册),选择证书有效期并设置密码,点注册后会在WeGameApps\rail_apps\饥荒联机版专用服务器(2000039)\bin目录下生成一个certificate.txt证书文件,该文件不限制设备,如果想用没有游戏权限的小号开云服只需要将这个文件复制到云服设备的相同目录下即可。
不知道安装路径的直接右键饥荒联机版专用服务器,在弹出的选项框中点击目录即可打开安装目录。
在这里插入图片描述
在这里插入图片描述

文件配置

按上述步骤下载的配置文件包含开服所需的最基本的配置,所下载的文件里面包含一个地面文件夹(Master),一个服务器配置文件(cluster.ini),和令牌(cluster_token.txt)。

路径配置

(如果有安装过饥荒联机版则不用进行,这些路径和文件会自动生成)
在我的文档新建一个Klei文件夹,Klei文件夹内新建DoNotStarveTogetherRail文件夹。
可以将下载的MyDediServer复制到刚刚创建的文件夹下,路径为:\文档\Klei\DoNotStarveTogetherRail,之后启动饥荒联机版专用服务器,在服务器配置列表选择MyDediServer,输入注册许可证书时设置的证书密码,点击启用洞穴将自动生成洞穴文件夹,开启的服务器将包含洞穴。单击启动即可开启专用服务器。等待跳出的命令行窗口提示Registering master server in China lobby则表示服务器搭建成功,已经在大厅成功注册服务器了,此时你可以去大厅搜索自己的服务器了,名称为你获取令牌时设置的服务器名称。
在这里插入图片描述

根目录

存档(MyDediServer)根目录包含地面文件(Master)、洞穴文件(Cave)、服务器配置文件(cluster.ini)和令牌文件(cluster_token.txt)。如果没有这些文件请自行创建。

cluster.ini文件配置

可使用任意高级文本编辑器,如Sublime Text、Notepad、vs code(Visual Studio Code)、EditPlus等,只要支持ini语言编码即可。保存前需将语言模式调整成ini(一般程序会自动检测语言)。如果出现配置文件没问题但是服务器属性不对的问题(比如修改最大玩家数位8,开服后发现配置未应用,服务器人数为默认的6或者64),一般都是编码的问题,换高级编辑器重新保存一遍即可。
下面为cluster.ini的文件配置(括号和注释记得删掉),需要注意的是修改配置文件时不能使用Windows自带的文本编辑器,否则不能正常识别,编码不同。
以下为具体参数,部分参数有默认值,非必须,可酌情添加和修改:

[GAMEPLAY]
game_mode = endless(游戏模式:endless 无尽 | survival 生存 | wilderness荒野)
max_players = 6(最大玩家数:1-64)
pvp = false(是否开启玩家对战(true为开启,false为关闭,下同))
pause_when_empty = true(是否无人时暂停时间:true | false)
connection_timeout =6000 (服务器在删除无响应客户端之前应等待的时间,单位/毫秒,默认为8000)
enable_autosaver =true (是否自动存档,开启后将会在每天的开始创建一个快照,在服务器重新启动后自动恢复,服务器只会在白天的开始保存,建议不要在晚上关闭服务器,或者打开控制台手动保存后再关闭,否则一天白干~~ 值:true | false)
enable_vote_kick =false (是否允许投票踢人:true | false)[NETWORK]
lan_only_cluster = false(是否只允许本地局域网加入:true | false)
offline_cluster = false(是否离线游戏)
cluster_intention = cooperative(游戏风格:cooperative 合作 | social 社会 | competitive 竞争 | madness 疯狂)
cluster_password = 123(服务器密码,留空为不设置密码)
cluster_description =(服务器简介,对自己服务器的描述)
cluster_name = 长期档,寻一起玩的小伙伴~~(创建的服务器房间名称)
cluster_language = zhr(客户端语言)[MISC]
console_enabled = true(是否允许控制台)[SHARD]
shard_enabled = true(是否开启地下分支,即洞穴)
bind_ip = 127.0.0.1(地下服务器地址,设为0.0.0.0时可以配置地下服务器为任意一个网络服务器,配置具体IP地址可允许特定网络服务器接入。此处的127.0.0.1为环回测试地址,指向本身,如果地面和洞穴服务器都在一台电脑上,建议使用环回地址,范围为127.0.0.0-127.255.255.255,原则上除广播地址(.0)和网络地址外(.255)都可使用)
master_ip = 127.0.0.1(地上服务器IP)
master_port = 10888(地上服务器通信端口)
cluster_key = defaultPass(簇密钥  地上地下服务器通信密钥)

地面服务器(Master)

Master内的文件为地面服务器的配置,如果不开模组,不配做地形的话只需要有一个server.ini文件即可,其他文件会自动生成。
自动生成的文件包括:
backcup文件夹:包含之前保存的快照信息,用于回档
save文件夹:包含存档信息,需要移动存档时替换该文件即可(如果有开模组和更改地形配置的话其他文件也需要进行相应更改)
server_log.txt 服务器日志文件,包含日志信息,用于服务器启动失败时排错
server_chat_log.txt 聊天日志,包含服务器内所有玩家的聊天记录
如果需要开启Mod和更改地形,需要配置如下文件:
leveldataoverride.lua 地形文件,包含地形参数
modoverrides.lua 模组文件,包含引用的模组和模组配置

地面server.ini文件配置

同样,注释记得删除~~

[NETWORK]
server_port = 10999  服务器间通信端口,默认11000[SHARD]
is_master = true  是否为主服务器[STEAM]
master_server_port = 27018	steam服务端口
authentication_port = 8768[ACCOUNT]
encode_user_path = true

洞穴服务器(Caves)

和地面服务器一致,只是地形不同。不开洞穴时不需要配置该文件夹,里面默认包含:server.ini和modoverrides.lua两个文件。
如需配置模组,增加modoverrides.lua文件。

洞穴server.ini配置

[NETWORK]
server_port = 10998 服务器间通信端口,默认11001[SHARD]
is_master = false 是否为主服务器
name = Caves  上方为false时需配置该项,值为Caves
id = 2512972626 洞穴id,不同世界id不能相同[STEAM]
master_server_port = 27018
authentication_port = 8768[ACCOUNT]
encode_user_path = true

模组的添加与删减

饥荒服务器通过读取modoverrides.lua文件获取模组参数,决定开启的模组和模组的参数值。所启用的模组必须先下载到专用服务器的mods文件夹下,路径为WeGameApps\rail_apps\饥荒联机版专用服务器(2000039)\mods,否则无法启用。找不到的直接右键饥荒联机版专用服务器→目录即可打开安装目录,将模组文件复制到mods文件夹内即可。

启用模组

通过配置modoverrides.lua可启用模组,模组ID可在模组详情页查看。
配置格式为:

return{
["workshop-模组ID"]={
configuration_options={
模组具体参数配置
},
enabled=true | false(启用(true)或者关闭模组(false))
}
}

configuration_options配置可在所下载的模组内的modinfo.lua内查看具体参数,如果文件内无configuration_options选项则表明该模组只能启用或者关闭,不支持详细配置。注意,每个配置需要用逗号隔开。
以下为具体例子:
启用模组ID为workshop-100010002、workshop-100010019的模组,并对 amount_of_numbers等参数进行配置,default表示使用默认配置。

return {["workshop-100010002"]={configuration_options={amount_of_numbers="default",display_mode="waving",dmg_only="on",show_decimal_points="no" },enabled=true },["workshop-100010019"]={configuration_options={ M_CeShi=false, M_GongSu=false, M_XueLiang=false },enabled=true }}

自定义地形配置

饥荒服务器通过读取leveldataoverride.lua文件获取地形参数,决定生物种群和资源数量。可通过配置该文件更改地形和生物种群数量。

leveldataoverride.lua地形文件具体配置

以下为具体配置(注释记得删~~):

return {override_enabled = true,	是否允许覆盖unprepared = { --食物--值:"never", "rare", "default", "often", "always"--依次是无,稀有,默认,较多,大量banana = "default",--香蕉berrybush = "default",--浆果丛cactus = "default",--仙人掌carrot = "default",--胡萝卜lichen = "default",--苔藓mushroom = "default",--蘑菇},
misc = { --杂项season_start = "default", -- "default", "winter", "spring", "summer", "autumn or spring", "winter or summer", "random"--开始季节,依次为默认,冬,春,夏,春或秋,冬或夏,随机autumn = "default", -- "noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random"--秋天长度,依次是无,极短,短,默认,长,极长,随机winter = "default", -- "noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random"--冬天长度spring = "default", -- "noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random"--春天长度summer = "default", -- "noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random"--夏天长度boons = "default", -- "never", "rare", "default", "often", "always"--恩惠branching = "default", -- "never", "least", "default", "most"--地图分支cavelight = "default", -- "veryslow", "slow", "default", "fast", "veryfast"--洞穴光照,依次是很慢,慢,默认,快,很快day = "default", -- "default", "longday", "longdusk", "longnight", "noday", "nodusk", "nonight", "onlyday", "onlydusk", "onlynight"--昼夜长短,依次是默认,长/无/仅有白天/夜晚earthquakes = "default", -- "never", "rare", "default", "often", "always"--地震频率frograin = "default", -- "never", "rare", "default", "often", "always"--青蛙雨lightning = "default", -- "never", "rare", "default", "often", "always"--闪电loop = "default", -- "never", "default", "always"--环状地形regrowth = "default", -- "veryslow", "slow", "default", "fast", "veryfast"--再生速度start_location = "default", -- "caves", "default", "plus", "darkness"--起始位置task_set = "default", -- "classic", "default", "cave_default"--生物群落touchstone = "default", -- "never", "rare", "default", "often", "always"--复活台weather = "default", -- "never", "rare", "default", "often", "always"--天气wildfires = "default", -- "never", "rare", "default", "often", "always"--野火(自燃频率)world_size = "default", -- "small", "medium", "default", "huge"--地图大小,依次为小、中、默认、巨大},animals = { --动物-- "never", "rare", "default", "often", "always"alternatehunt = "default",--足迹angrybees = "default",--杀人蜂巢穴beefalo = "default",--牛beefaloheat = "default",--红屁股牛bees = "default",--蜜蜂巢穴birds = "default",--鸟bunnymen = "default",--兔人butterfly = "default",--蝴蝶buzzard = "default",--秃鹫catcoon = "default",--浣猫frogs = "default",--青蛙hunt = "default",--大象lightninggoat = "default",--电羊moles = "default",--鼹鼠monkey = "default",--猴子penguins = "default",--企鹅perd = "default",--火鸡pigs = "default",--猪人rabbits = "default",--兔子rocky = "default",--石虾slurper = "default",--啜食者slurtles = "default",--蜗牛tallbirds = "default",--高鸟},monsters = { --怪物-- "never", "rare", "default", "often", "always"bats = "default",--蝙蝠bearger = "default",--秋bosschess = "default",--齿轮马deciduousmonster = "default",--树精deerclops = "default",--巨鹿dragonfly = "default",--龙蝇fissure = "default",--裂缝goosemoose = "default",--春bosshoundmound = "default",--猎犬丘hounds = "default",--猎狗krampus = "default",--小偷liefs = "default",--树人lureplants = "default",--食人花merm = "default",--鱼人spiders = "default",--蜘蛛tentacles = "default",--触手walrus = "default",--海象巢穴worms = "default",--蠕虫},resources = { --资源-- "never", "rare", "default", "often", "always"fern = "default",--蕨类植物flint = "default",--燧石flower_cave = "default",--荧光花flowers = "default",--花grass = "default",--干草marshbush = "default",--尖刺灌木meteorshowers = "default",--陨石meteorspawner = "default",--陨石坑mushtree = "default",--蘑菇树reeds = "default",--芦苇rock = "default",--岩石rock_ice = "default",--冰块sapling = "default",--小树枝trees = "default",--树tumbleweed = "default",--风滚草wormlights = "default",--发光浆果},}

总结

对所有文件的位置进行一个归纳:
文档\Klei\DoNotStarveTogetherRail\MyDediServer\cluster_token.txt
文档\Klei\DoNotStarveTogetherRail\MyDediServer\cluster.ini
文档\Klei\DoNotStarveTogetherRail\MyDediServer\Master\server.ini
文档\Klei\DoNotStarveTogetherRail\MyDediServer\Master\modoverrides.lua
有这四个文件即可开启专服,其他文件都会自动生成,如果需要开启洞穴,请接着配置Caves文件夹,Caves为洞穴文件,路径与地面文件夹一致。


http://www.ppmy.cn/news/830314.html

相关文章

使用Linux系统IO多路复用中eopll创建基于TCP通信协议的多人聊天室

一.1.搭建好TCP的通信模型 2.创建红黑树根节点 3.将套接字事件添加到红黑树中,使其被监听 4.当套接字事件发生,表示有客户端连接,将连接事件加入到红黑树节点当中 5.每当连接事件发生时,表示客户端发送信息到服务器 6.每当有事件准…

wegame登录cf显示服务器人数已满,WeGame

《火源 晶石战争》使用次世代引擎打造的横版MOBA游戏,《火源》原班人马倾力打造,追求极致的画面和流畅的操作手感 先锋测试全天开放正在火热进行中,请大家加入我们官方讨论群646998824,参与到我们的游戏设计来 [史诗级游戏 《火源…

wegame显示连接服务器失败,wegame登陆失败提示错误码2怎么办?wegame错误码:2解决方案...

登陆wegame时错误码:2应当如何解决呢?如果无法登入wegame,而又卡在登入界面,其实问题并不复杂,大部分都是因为自身的网络协议所导致的无法登入,下面由我带给大家wegame错误码2的解决方案,需要的…

wegame登录验证图片刷新不出来解决方法

最近不知道是腾讯的服务器出问题还是wegame,lol软件出了问题,我遇到的bug还挺多的 首先: wegame登录验证图片刷新不出来 每次点刷新都刷新不了,后来发现每次验证时Navid Experience就会启动,我就进火绒禁止navid所有服务项启动权限…

lol更新显示正在连接服务器,wegame更新游戏显示正在连接服务器

wegame更新失败怎么办 解决方法详细介绍那一刻,忽然觉得自己如此渺小,却又如此安全,在憧憬的城市结束掉做了很久的梦,睁开眼,又看到了五颜六色的明天。 原因:其实这是wegame下载器的一个BUG问题,最简单的方法就是重新启动或者我们直接在无法更新游戏的官网下载最新补丁即…

lol用wegame更新完之后服务器维护,lol使用wegame提示文件被占用更新失败解决方法...

适逢今天游戏新版本更新,但不知道系统这个是什么意思啊,进度条直接卡在了85.06%的位置,这个情况已经遇见过好多次了,直接提示自己文件被占用,这什么情况啊,还想着进游戏继续匹配来着呢。 给到一些解决的方法…

微端更新慢、甚至不更新是怎么回事?

昨天有个小伙伴来联系我说他的服务器微端莫名其妙不更新了,让我帮他检查处理一下,这个可难到我了,于是我求助了我们的技术小哥,经过一系列的排查,解决了这个小问题,我也学习了好多知识,今天我就…

WEGAME更新游戏显示连接服务器失败,wegame游戏无法更新怎么办 更新失败解决办法...

WeGame是腾讯的一个游戏平台,越来越多玩家玩游戏选择用WeGame,但是最近时不时有玩家反映,用WeGame平台更新不了游戏,玩不了游戏表示很气愤。各位朋友稍安勿躁,小编特地带来了关于WeGame游戏无法更新怎么办的处理教程。…