前言网上找到的使用内网穿透教程实际使用起来延迟较高,游戏体验不好。本文采用端口转发方法,在家庭网络环境下搭建0成本,低延迟
前置条件Windows系统
steam下载饥荒联机版和Don’t Starve Together Dedicated Server
需要能够访问路由器管理页面
下载SteamCMDSteamCMD下载地址
选择Windows
点击下载
在D盘中创建一个新文件夹,命名为steamcmd(或者其他名字),将下载的zip文件中的steamcmd.exe解压到该位置,最后steamcmd.exe的路径应该是D:\steamcmd\steamcmd.exe
登录科雷账号获取服务器配置科雷登录页面
使用steam登录(可能需要加速器)
登录后在上面导航栏找到“游戏”
找到饥荒联机版板块,点击”《饥荒:联机版》的游戏服务器“
输入服务器名称后点击”添加新服务器“,我这里输入的服务器名称是”test”,注意这里的服务器名称不是游戏中能搜索到的名称
添加后”服务器“板块里会出现刚刚添加的服务器,点击配置服务器
看情况调整配置(后续也可调整,这里的服务器名称是游戏中能搜索到的名称),然后点击下载设置
然后将下载的MyDediServer.zip中的内容解压到文档\Klei\DoNotStarveTogether目录下,如果你的系统是英文的,文档文件夹应该叫做Documents,可以在文件资源管理器的侧边栏中快速找到
解压后你的MyDediServer文件夹的路径应该是"\\文档\Klei\DoNotStarveTogether\MyDediServer",这是你的服务器文件夹名称,如果你创建的服务器比较多,可以修改MyDediServer文件夹的名称,这里我不做修改
修改世界预设和添加模组世界预设涉及刚才解压的MyDediServer文件夹下的Master和Caves(Master代表主世界,Caves代表洞穴)两个文件夹下的worldgenoverride.lua文件
添加模组需要在MyDediServer文件夹下的Master和Caves两个文件夹下分别增加modoverrides.lua
方法1这里通过在游戏内创建本地游戏获取两个leveldataoverride.lua文件(包含世界预设)和两个modoverrides.lua文件
打开饥荒联机版创建游戏,”设置界面“不需要修改,保持默认即可,不会用到这部分
这里我将世界预设的每个界面都更改1到两个配置
添加你需要的服务器模组,这里只添加了Global Positions;然后调整模组配置,这里保持默认
然后生成世界,到选人界面退出
在\\文档\Klei\DoNotStarveTogether(也就是MyDediServer所在目录)中找到一个全是数字的文件夹,这里面有我们的本地存档
这个文件夹中会有名称为Cluster_加一个数字的文件夹,其中数字最大的就是我们刚刚创建的本地存档,我这里是Cluster_1
把我们新建的本地存档文件夹Cluster_1中Master文件夹的leveldataoverride.lua中的overrides的大括号中的内容复制下来,粘贴到\\MyDediServer\Master\worldgenoverride.lua中的overrides的大括号中
粘贴后你的\\MyDediServer\Master\worldgenoverride.lua应该类似:
同样把Cluster_1中Caves文件夹的leveldataoverride.lua中的overrides的大括号中的内容复制下来,粘贴到\\MyDediServer\Caves\worldgenoverride.lua中的overrides的大括号中
把Cluster_1中Master文件夹中的modoverrides.lua文件复制到MyDediServer中Master文件夹(没有模组不需要复制)
把Cluster_1中Caves文件夹中的modoverrides.lua文件复制到MyDediServer中Caves文件夹(没有模组不需要复制)
最终\\MyDediServer\Master和\\MyDediServer\Caves文件夹都需要包含worldgenoverride.lua文件和modoverrides.lua文件(无模组不需要后者)
你的MyDediServer文件夹下的文件结构应该是这样的:
然后我们需要告诉服务器下载我们需要的模组
在Steam库中勾选“工具”找到”Don’t Starve Together Dedicated Server”
浏览本地文件
找到mods文件夹进入
添加dedicated_server_mods_setup.lua文件
之前复制的两个modoverrides.lua文件中的结构是类似这样的,红色方框内是模组的id,它会跟在workshop-后面,我们需要将所有添加的服务器模组id按照ServerModSetup("id")的形式添加进dedicated_server_mods_setup.lua文件中
最后你的dedicated_server_mods_setup.lua文件应该是类似这样的
方法2直接修改worldgenoverride.lua修改世界预设
参考worldgenoverride.lua Settings for March QoL Update
服务器基本配置cluster.ini和server.ini配置项详解
家庭网络配置使用端口转发而不是内网穿透
优点:
端口转发延迟更低,更稳定
成本低,端口转发是几乎所有路由器都具有的功能
缺点:
相对内网穿透来说不那么安全,但只要保持服务器最新,风险非常小确定家庭内网与外网只有一层NAT假设网线连接是最常见的外网->光猫->路由器
登录路由器管理页面,常见路由器品牌管理页面地址:
品牌地址TP-Link192.168.1.1或tplogin.cn华为/荣耀192.168.3.1小米/红米192.168.31.1腾达(Tenda)192.168.0.1找到路由器WAN口地址,一般在“上网信息”、“WAN”、“互联网”、“状态”等页面,以我家里的小米路由器为例,红色方框中的“IP地址”就是路由器的WAN口地址
如果你的IP地址属于以下的地址范围,那么家庭内网与外网可能有多层NAT:
10.0.0.0 到 10.255.255.255172.16.0.0 到 172.31.255.255192.168.0.0 到 192.168.255.255100.64.0.0 到 100.127.255.255对于前三种IP地址,造成多层NAT的原因最有可能是光猫工作在路由状态,解决方法:
得到宽带账户和密码,一般在光猫上写着,或者联系运营商也可
联系运营商将光猫修改到桥接模式
登录路由器管理页面,将上网方式改为PPPoE,并输入宽带账号和密码拨号上网
最后一种属于运行商级NAT(CGNAT),最好的解决方法是联系运营商将自家网络移出CGNAT网络,获得一个公网IP地址(动态即可)
确定设备IP地址然后需要给运行饥荒服务器的设备配置静态IP地址,如果在家庭网络环境下,即使使用DHCP,分配的IP地址一般也是不变的,不配置静态IP地址也可以
win+I打开设置,找到“网络与Internet”
我这里是通过WiFi连接的,所以找到WLAN。如果是有线连接需要找到“以太网”或者”Ethernet”
找到对应WiFi属性
下拉找到IPv4地址,记下这个地址,如果是家庭网络,那么即使使用DHCP这个IP地址一般也不会变化,后续配置静态IP可以跳过
接下来配置静态IP地址,找到”IP分配“,编辑改为手动,打开IPv4,IP地址填入之前记下的IP地址,子网掩码可以通过控制面板->网络和共享中心->点击连接的WLAN或者以太网->详细信息找到
网关就是上图的IPv4默认网关,首选DNS可以设置为上图的IPv4 DNS服务器,也可以选择其他DNS服务器
设置端口转发找到\\MyDediServer\Master\server.ini和\\MyDediServer\Caves\server.ini这两个文件,记下[NETWORK]中server_port对应的数字,一般Master\server.ini中的server_port为11000,Caves\server.ini中的server_port为11001。我的\\MyDediServer\Master\server.ini如下:
登录路由器管理页面,找到端口转发添加规则
名称随意,协议选择UDP,外部端口和内部端口保持一致,值为在server.ini中的server_port,内部IP地址为之前记下的IP地址,添加并使规则生效。如果觉得开放端口转发不安全可以在关服的时候删除端口转发规则,开服时再添加
启动新建一个txt文件,将以下内容复制进去
1
2
3
4
D:\steamcmd\steamcmd.exe +login anonymous +app_update 343050 validate +quit
cd /D "D:\steam\steamapps\common\Don't Starve Together Dedicated Server\bin64"
start dontstarve_dedicated_server_nullrenderer_x64 -console -cluster MyDediServer -shard Master
start dontstarve_dedicated_server_nullrenderer_x64 -console -cluster MyDediServer -shard Caves
第1行D:\steamcmd\steamcmd.exe替换为你的steamcmd安装的位置第2行D:\steam\steamapps\common\Don't Starve Together Dedicated Server\bin64是你的Don’t Starve Together Dedicated Server的本地地址后面加一个\bin64第3行MyDediserver修改为你的服务器文件夹名称第4行MyDediserver修改为你的服务器文件夹名称修改txt文件后缀为.bat,双击运行
第一次运行耗时可能会比较长,因为steamcmd会下载很多东西
注意事项服务器会有两个窗口,一个是主世界,一个是洞穴,关闭服务器不要直接点击×,在各自服务器窗口中输入c_shutdown()然后回车我的Windows 11 上如果配置了静态IP地址重启电脑后连接WiFi显示无网络,解决方法是改回DHCP,使用DHCP需要关注运行服务器的电脑的IP地址是否与端口转发中的IP地址相同Windows防火墙干扰,服务器程序第一次运行时,Windows Defender 防火墙很可能会弹出请求权限的窗口,允许即可注意保持Don’t Starve Together Dedicated Server为最新版本控制台命令,可以在游戏中~打开,也可以在两个服务器窗口中输入,常用控制台指令参考Dedicated Server Quick Setup Guide - Windows