配置需求:
Steam账号内必须拥有Don't Starve Together,拥有DST即可建立多个独立服务器(Dedicated Server)。
独立服务器没有使用DST游戏内建立服务器的路由穿透技术,服务器必须为游戏客户端开放一个合适的端口,服务器默认通信方式:UDP协议,端口号:10999。
建立一个稳定的独立服务器必须确保系统满足以下要求:
网络上传速度:8KB/玩家/秒。如果按照独立服务器最大人数为6人来换算,网络上传速度必须达到50KB/秒或以上才能让6个玩家同时进行游戏,当然网络上传带宽越大越好,较差的网络通信会导致连接独立服务器的玩家动作卡顿以及卡屏。
内存:大约65MB/玩家。如果按照独立服务器最大人数为6人来换算,可用内存大小必须达到500MB或以上才能让6个玩家同时进行游戏。
CPU:官方网站没有明确说明。
游戏运行库:VCRedist_2008(x86),DST游戏根目录文件夹内有,对着DST右键->属性->本地文件->浏览本地文件
20-建服准备工作——获取令牌
如果要建立一个向公众开放的独立服务器,则必须要获得服务器令牌,这样做的目的是能够让开发者关停违反了服务条款的服务器。
根据以下步骤获得令牌:
注意:所有符号及标点全部使用半角模式输入。
运行Don't Starve Together。
点击Play !。
按~(数字键1左边的按键)开启控制台输入指令,再按一次关闭控制台,若还有控制台文字信息显示在屏幕上按CTRL+L关闭。
如下图在控制台内输入指令:TheNet:GenerateServerToken()
如下图在Documents\Klei\DoNotStarveTogether下已经生成了server_tokentxt文件。
21-建服准备工作——修改配置文件
211-配置文件路径
如下图settingsini位于C:\Users\你的用户名\Documents\Klei\DoNotStarveTogether路径下。
212-注意:因为DST不支持Unicode,以下内容请全部使用英文。
若以下内容settingsini内没有可自行加上,也可不加,服务器出现任何问题后果自负。
[network]网络配置
default_server_name = 这里填服务器名。
default_server_description = 描述一下你的服务器(可不填)。
server_port = 10999,服务器通信端口,最好不要改动,对端口映射及网络类型熟悉的人员可自行更改。
server_password = 这里填服务器密码,如果要对公众开放则不填,如果想和妹纸或基友单独干羞羞的事自行填写密码。
max_players =[1-64]最大玩家数1到64,根据计算机性能和网络负载能力填写,默认6。
pvp = true [ true | false ]是否开启PVP(玩家可以互相攻击)。
game_mode = [ endless,survival,wilderness ]游戏模式三个里面选一个填。
override_dns = [填写DNS服务器]覆盖DNS设置,如果log in很慢的情况下,可以改成8888,8888。
enable_vote_kick = [ true | false ]是否允许投票踢人,默认true。
enable_snapshots = [ true | false ]是否允许服务器回退到一个之前的状态(等同于回档,可用来防止烧家的熊孩子),开发者称这项功能在一些服务器上会导致问题的发生,默认false。
enable_autosaver = [ true | false ]是否开启自动保存功能,默认开启,新的一天开始服务器会自动保存。
tick_rate = [ 10 | 15 | 30 | 60 ]类似于FPS,这个值越高客户端动作越流畅,这取决于服务器的网络带宽和CPU,默认30。
connection_timeout = [填写毫秒数,1秒=1000毫秒],中断与没有响应的客户端的等待时间,默认8000。
server_save_slot = [1-5]服务器加载哪一个存档,默认1。
pause_when_empty = [ true | false ]服务器空闲时是否自动暂停,当有玩家进入时继续,最好用于有密码的私人服务器,默认false。
[account]账号配置
dedicated_lan_server = false [ true | false ]是否只允许局域网游戏,默认关闭。
22-建服准备工作——端口映射
221-注意:服务器开启无法正常运行(游戏右边列表没有自己的服务器,其他玩家无法加入自己的服务器)再尝试以下步骤:
222-确定网络类型
ADSL拨号上网
有路由器(市面上路由器种类太多,不单独作某一型号路由器说明,方法大同小异。):进入路由器设置页面,找到端口映射功能,添加需要映射的端口:协议选UDP,端口号填10999。
无路由器:打开控制面板->系统和安全->windows防火墙->高级设置->入站规则右键新建规则->勾选端口->勾选UDP,特定本地端口:填10999。
FTTH光纤入户
光猫有端口映射功能:在光猫内设置端口映射,方法上文已经提及,自行查阅。
光猫没有端口映射功能:此方法适合有一定技术水平及动手能力的人员( *** 作不当可能导致网络中断及家庭固话无法拨打和接通),将光猫更改为桥接模式,使用路由器拨号上网,在路由器内设置端口映射,方法上文已经提及,自行查阅。
有超级管理员密码
223-确定是否拥有独立公网IP
测试是否拥有独立公网IP>
30-开启服务器——测试是否成功运行服务器
根据以下步骤来开启服务器:
打开DST Dedicated Server。
打开Don't Starve Together。
点击Play,稍等片刻。
Server-Type服务器类型筛选选择Dedicated Server。
若自己的服务器出现在右边列表中并且显示Dedicated Server,说明服务器成功运行(并且邀请其他玩家测试是否能够进入自己的服务器)如下图第一个服务器。
31-开启服务器——局域网服务器
局域网服务器只能使用指定范围端口10998到11018。
在配置文件settingsini内[account]下添加dedicated_lan_server = true即可被局域网内其他终端发现。
32-开启服务器——运行多个服务器
首先确保计算机硬件和网络带宽是否强大到能够同时运行多个服务器。
创建新的服务器路径:
在服务器的启动选项内输入-conf_dir <文件夹名>
新的文件夹会存储在Documents\Klei下,此时就可以开启一个新的服务器。
40-服务器管理——控制台指令
401-根据以下步骤获取管理员权限:
生成令牌的用户会自动获得管理员权限。
拥有管理员权限的用户能够从服务器内踢出其他用户或者封禁其他用户,也能执行LUA脚本。
如果想授予其他用户管理员权限,需要在Documents\Klei\DoNotStarveTogether\save\下新建一个名为adminlist的txt文件。
服务器关闭状态下在新建的adminlist文件里添加User ID(格式为KU_),每行只能填写一个User ID,保存后关闭文件,开启服务器后所添加的用户即拥有了管理员权限。
目前有3种方法能够获取USER ID
玩家在游戏内通过Klei官方查询网站查询,Play->Host server->Account info。
服主通过查询服务端获得USER ID
玩家在游戏内通过Backspace键(←)在屏幕右下角查询自身USER ID
402-管理员指令
按~(数字键1左边的按键)开启控制台后再按CTRL切换到Remote模式输入指令,再按一次~键关闭控制台,若还有控制台文字信息显示在屏幕上按CTRL+L关闭。
c_reset(true)true:删除当前世界的存档并且新建一个全新的世界,false:重新加载当前世界。
c_shutdown(true)true:保存并且关闭服务器,false:不保存直接关闭服务器。
c_spawn(“prefab name”)在鼠标所指的位置刷出物品。
c_give(“item name”)在物品栏内刷出物品。
403-服务器指令
使用以下指令会覆盖settingsini的配置内容。
-port [1024-65535]强制服务器使用特定的端口。
-tick [15-60]强制服务器使用特定的tickrate(类似于FPS)。
-players [1-64]强制更改服务器的最大玩家数量。
-lan强制更改服务器为局域网服务器,只有在同一网络下的玩家才能加入。
-conf_dir DoNotStarveServerDirectory强制服务器读取备用目录的数据和设定。
41-服务器管理——自定义世界
目前有2种方法可以自定义世界(更改生物群落数量,季节长短等)。
通过Lua文件自定义世界(无法覆盖当前世界选项,只对创建新世界有效)
如果server_save_slot对应的存档为空,则会自动创建新世界。
首先在Documents\Klei\DoNotStarveTogether下新建一个名为worldgenoverride后缀为lua的文件
使用记事本打开,并根据以下提供网址内的代码修改,请注意查看网址中的各行options语句所提供的选项。
[notepadcc]
通过客户端自定义世界
打开DST客户端,点击Play!后,确保Save Slot有空位可用,点击HOST SERVER创建好自定义世界后记住保存在哪一个Save Slot位,Save Slot位共有5个,分别对应1,2,3,4,5。
打开settingsini文件,将server_save_slot = 填写数字(1,2,3,4,5)修改为之前创建好的自定义世界所对应的Save Slot位,保存后关闭。
42-服务器管理——MOD管理
421-开启MOD,官方提供了2个方法启用服务器Mod
首先将SteamLibrary\SteamApps\common\Don't Starve Together Beta\mods路径下的文件全部复制到SteamLibrary\SteamApps\common\Don't Starve Together Dedicated Server\mods路径下
修改dedicated_server_mods_setuplua文件
ServerModSetup("此处填写Mod的创意工坊ID")
这种方法默认不启用MOD,需要通过以下2种方法来启用MOD。
修改modsettingslua文件
这种方法要保证客户端也有服务器的Mod,所以不推荐。
modsettingslua文件位于SteamLibrary\SteamApps\common\Don't Starve Together Dedicated Server\mods路径下。
在文件内添加ForceEnableMod("workshop-")则强制启用Mod,Mod ID可以在mods文件夹下找到,将需要启用Mod ID分别用ForceEnableMod("")语句填入modsettingslua文件并保存。
新建modoverrideslua文件(推荐)
在Documents\Klei\DoNotStarveTogether下新建一个名为modoverrides后缀为lua的文件,使用记事本(任何编辑器即可)打开。
输入以下语句,图中MOD ID仅供参考,请根据实际安装MOD填写。(请使用半角或者纯英文输入法):
开启服务器,进入游戏,进入自己的服务器后查看Mod是否成功启用。
4-如何让其他玩家查看服务器已经启用的Mods
用记事本打开位于DST Dedicated Server路径下各个MOD的modinfolua文件和modoverridelua文件如下图。
修改文件中字段client_only_mod = true:服务器View Mods里不显示此Mod;false:服务器View Mods里显示此Mod
修改文件中字段all_clients_require_mod = true:客户端都必须拥有此Mod才能加入游戏;false:客户端没有此Mod也能加入游戏。
这个问题是游戏BUG造成的。遇到这种情况的话,首先玩家需要重启一下游戏,看看问题是否能够解决,如果不能解决的话,就只能卸载游戏重新安装了,一般这样问题就会解决了。
原因1:没有使用专用服务器。
专用服务器把服务端跟客户端给分开了,在一定程序上解决了卡的问题,当然,这跟原因2也有关系。
原因2:游戏没有多核优化。
老司机都知道的,饥荒只跑一个核心,无论服务器还是客户端,都只能跑一个核,据我个人观测,4核的cpu基本上最高只能达到25%,负载超过25%,主机就变红。
我感觉,把原因说完基本上也就 很清晰了。
原因3:mod过多。
自带的mod大小达到300M之多,所以大量是mod是导致服务器内存不足的关键之一。这里猜测主要是人物mod导致,因为人物mod包的大小是最大的。
原因4:资源太多。
服务器会不断刷新人物周围的物品,当人物周围的物品种类与数量越多时,那么服务器当然就越卡啦。1、首先下载完成后打开其中的“饥荒专服启动器”,存档根目录就是专服存档位置,存档名是存档文件名称,以上两者均已默认填好,如有特殊要求可以更改。
2、其次在本地文件中找到bin:右键查看bin的属性,即可找到bin的位置。
3、最后然后再把这一串东西复制到服务器目录即可打开本地文件。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)