QQ资源网-专注分享互联网优质资源,让我们生活更精彩!
饥荒(Don't Starve)TGP版开服搭建服务器教程
准备工作
首先要先下载服务器搭建工具,在TGP上面,点击游戏饥荒联机版,看到联机大厅选项卡,找到搭建服务器的按钮,进入服务器搭建工具的页面,获取并下载安装饥荒联机版专用服务器。
下载安装完成之后需要注册服务器证书,进入饥荒联机版专用服务器页面,点击注册证书
选择时效并设置证书密码,点击注册
注册完成以后,复制证书,并在服务器搭建工具的bin目录下新建记事本certificate.txt,
将证书黏贴进记事本并保存
进入饥荒联机游戏界面,点击账户界面,生成你的服务器票据(注意生成票据的账户在进入游戏以后会是管理员)
复制你需要的服务器令牌,在桌面新建记事本cluster_token.txt,打开黏贴并保存
至此,必要步骤基本完成。
小tips:由于TGP不支持多端登录,所以运行服务器的账户如果在别的电脑上,将会无法进行游戏,那么需要另外一个账户来运行服务器,注意运行服务器的账户不需要购买饥荒联机!
具体:在已经安装了服务器搭建工具的电脑上使用非游戏账户(或者新注册一个)登录TGP,选中搭建工具页面,点击开始游戏。
这时候会提示“您未拥有本游戏权限,请先购买后体验”,并弹出商店页面,点击免费获取即可(有时候会提示错误和商店维护,多试几次)
之后就可以用这个账户运行服务器了
搭建操作步骤
下面介绍比较简单的服务器搭建教程,需要注意的地方是替换cluster_token.txt的步骤一定要在复制副本文件夹之前。
首先打开饥荒联机客户端,新建你的世界,看好新建世界在存档行列中的位置(从上到下),创建服务器,创建完成之后退出游戏
然后到存档位置:我的文档\Klei\DoNotStarveTogetherRail
部分存档异常的用户存档会在:C:\Users\你的用户名\AppData\Local\Klei\DoNotStarveTogetherRail
找到存档文件夹Cluster_X,X是你创建世界时在存档行列中的位置
重命名文件的Cluster_X为MasterSever,进入文件夹,把准备工作中桌面新建的cluster_token.txt复制到文件夹中,替换原有的文件
复制MasterSever文件夹并黏贴,重命名副本为CaveSever
进入CaveSever文件夹,删除Master文件夹,并重命名Cave文件夹为Master
设置步骤基本完成,运行服务器搭建工具,输入证书密码,先后运行MasterSever和CaveSever,等待连接成功。
注意:OnUpdatePurchaseStateComplete和LOAD BE的时候会有点慢,需要等待
设置完成之后会是这样子
现在可以在大厅上面搜到服务器了,可以加入游戏了。
Tips:关闭服务器时应该先运行:c_save()
然后再关闭服务器:c_shutdown()
如果需要装置模组,请看进阶教程的模组安装与使用。
MOD安装使用及调试
进阶之后的教程为全平台通用,除了模组设置其他的不建议新手看
Tips:设置中需要用到中文的内容需要用Notepad++转换到UTF-8无BOM格式编码来进行编辑
模组的安装与使用
我估计很多人会要用到模组,所以这个部分会写的详细一点,以便帮助新手
简易的确认并调试你需要的模组:
1、进入客户端创建世界时开启你需要的模组,并调成你需要的配置。
2、找到你的存档文件夹,进入Master文件夹,找到已经调试好的模组设置文件modoverrides.lua
3。复制调试好的modoverrides.lua到你的服务器存档Master文件夹中,替换原有的文件(洞穴服务器一样)
4、打开调试好的modoverrides.lua,使用ctrl+F搜索功能,搜索workshop-来获取你的模组ID(例如:workshop-100010002 workshop-100010003)
5、打开服务器架设工具的安装目录,进入mods文件夹,用记事本打开dedicated_server_mods_setup.lua,删除里面所有内容
6、设置自己的模组文件,在dedicated_server_mods_setup.lua设置,例如我需要步骤4的两个举例模组,则输入:
ServerModSetup("workshop-1000100002")
ServerModSetup("workshop-1000100003")
7、保存并关闭,设置完毕,可以启动服务器了
8、未加密版解决方案:把设置好的modoverrides.lua替换服务器存档里面的,然后把自己客户端的mods文件夹里的模组全复制到服务器架设工具的mods里面(要求登入的用户都要有一样的mod才行)
进阶内容:模组设置在存档文件中的modoverrides.lua进行调试,需要根据模组的设置来调整数据,一般玩家不需要了解
世界配置
这个最简单的就是在客户端里面设置好,然后复制出来扔到服务器的存档文件里面就行,把地面世界的leveldataoverride.lua扔里面就会生成地面世界,洞穴的leveldataoverride.lua扔里面就会生成洞穴世界。
PC间的服务器远程搭建
一台电脑同时搭建主世界和洞穴可能会导致严重的卡顿,还有非常差的体验。
那么,可不可以两台电脑,一个搭建主世界,一个搭建洞穴呢?
答案是可以的,就是有点麻烦。
服务器存档中有俩个设置文件,一个叫做cluster.ini,另一个叫做server.ini
世界分成2种,一种是主世界,也就是入口世界,只能有一个。一种是从世界,可以有很多个。
那么下面我把主世界的cluster.ini叫做M_ cluster.ini,从世界的叫做S_cluster.ini,server.ini文件同理。
cluster.ini的设置
[GAMEPLAY]
game_mode = endless
游戏模式
具体有3种,无尽=endless,生存=survival,荒野=wilderness
max_players = 6
服务器最大人数设置
pvp = false
PVP模式
开启=true,关闭=false
pause_when_empty = true
服务器没人时世界时间暂停
开启=true,关闭=false
[NETWORK]
lan_only_cluster = false
局域网模式
只有局域网的玩家能够连接到服务器,开启=true,关闭=false
cluster_intention = madness
游戏风格
分为四种,交际=social,合作=cooperative,竞技=competitive,疯狂=madness
cluster_description =
服务器描述
cluster_name = 子恒的实验服
服务器名字
offline_cluster = false
离线模式
开启=true,关闭=false
cluster_password =
服务器密码
进入服务器是需要输入的密码
[MISC]
console_enabled = true
控制台开启
开启=true,关闭=false,建议开启,很多时候服务器调试需要控制台,只有管理员能使用
服务器设置管理员:在cluster.ini所在的地方,新建adminlist.txt,打开添加管理员账户ID,每个管理员ID占一行(例:KU_********(在线)/OU_12345678901234567(离线)),重启服务器就可以了。
[SHARD]
多元世界模式
多地图必须
shard_enabled = true
多元世界模式
开启=true,关闭=false
bind_ip = 0.0.0.0
这个只需要在M_cluster.ini中或者M_server.ini中设置,主世界和从世界在同一个设备上面时设置为127.0.0.1,世界在不同的设备上面运行,需要设置成0.0.0.0
master_ip=127.0.0.1
主世界的IP地址
同设备连接不需要特别设置,用于从世界连接主世界的IP地址,需要输入主世界的IP地址,如果在同一个局域网下也可以使用内网IP使得不同设备上面的世界可以连接。
master_port = 11000
主世界接入点
必须在M_cluster.ini和S_cluster.ini中同时存在,master port为独立的主世界接入点,和M_server.ini中的server_port不是一个概念,本质上任何世界的server.ini的server_port都不应该与这个port重合
cluster_key =abcd
配对密匙,主世界和从世界连接时的配对密匙,无论是M_cluster.ini还是S_cluster.ini中,配对密匙都必须一致
这里主要的就是SHARD的设置必须配对,然后不同机器上面的世界就可以连接到一起了。
Server.ini的设置
[NETWORK]
server_port = 10999
世界的接入点
理论上所有的需要连接到一起的server_port都不允许重复,需要多机架设的服务器也不允许server_port和M_cluster.ini中的master_port重合
[SHARD]
is_master = true
主世界判断
设置为主世界=true, 设置为从世界=false,在M_server.ini中设置为true,在S_server.ini中设置为false
name = Caves
世界的名字
id = 3727637494
世界的在连接时使用的id,自己设置可以在多世界拓展时会很方便,比如id=2,没有设置的话在世界生成时会随机生成一个id
多世界拓展与服务器命令
既然能够搭建两个世界,那么能不能搭建多个世界呢?
答案是可以的,主世界只能一个,但是从世界理论上可以有无数个,不过世界间会有信息传递,所以能连接多少个世界在一起,取决于你的上行下行速度。
这里我举一个例子好了,比如我有3个世界想连在一起,主世界id=1,从世界2的id=2,从世界3的id=3
基于klei的代码,世界之间的传送口(包括落水洞_石头堵住,落水洞_打开,洞穴出口,朋友传送门)自动配对连接,主世界总是会连接到最新的从世界里面,也由于klei的代码,这样的设置会有一个缺陷,就是世界间的传送口如果要配对必须要传送口id一样,不然就无法配对。
落水洞_石头堵住='cave_entrance'落水洞_打开='cave_entrance_open'洞穴出口='cave_exit'朋友传送门='migration_portal'
传送口生成命令:c_spawn("cave_entrance")
注:世界默认会生成10个传送口,所以当你生成新的传送口的时候比然是第11个(注意:删除的传送口是不可重置的,删除以后就没有了,再生成新的只会继续叠上去,比如我把世界的传送口都删了,再生成一个新的,仍然是11号传送口而不是1号)
怎么设置呢?
比如我想设置3个世界互通,id分别是1,2,3,这样,进入主世界id=1,找到最近的洞穴,使用命令:
c_gonext('cave_entrance')
或者'cave_entrance_open'或者'cave_exit'(记得启动遥控器,ctrl为开关)
站在传送口旁边,来设置传送口通向哪个世界:
c_find('cave_entrance').components.worldmigrator:SetDestinationWorld("2",true)
括号中的值,第一个为要通向的世界id;
括号中的值,第二个位是否保留,如果没填默认不保留,则每次服务器重启会连到最新连入的世界,保留=true
Tips:这个设置无论从世界是否在线都可以设置
传送到某个世界的传送口(只有你要去的世界的传送口指向你在的世界的时候,这个命令才会把你带到传送口,否则的话会直接传到出生点):c_migrateto(worldId,portalId)
设置完以后服务器日志会告诉你这是第几个传送口:
Validating portal[8] 2[8](inactive)
然后如果另外的世界同一个id的口也设置了世界指向,比如id=2的世界我也在传送口8设置了指向,就可以互通配对了。
关于传送口配对的问题,我画一幅图来解释
如图所示,我把1世界的1,2,3号传送口都指向2世界,把2世界的1,2,3传送口指向1世界,这个时候就互通了,从1世界1传送口进去会从2世界1传送口出来。按照这样的设置,我依然可以吧1世界7传送口指向2世界,但是因为没有相互指向的同id传送口,所以从1世界7号传送口进入会从2世界出生点出来。
所以我建议可以创建新的传送口,使得传送口id能对的上的世界互相指向,不能对的上的或者多余的删除就可以了。也可以留着以后备用。
服务器命令
Tips:必须在遥控器开启的情况下才能使用
提出或者ban一个玩家:
TheNet:Kick(userid)
TheNet:Ban(userid)
你可能需要使用c_listallplayer()来获取玩家的ID:
获得列表:
[userid](账户ID)玩家名字
[userid](账户ID)玩家名字
[userid](账户ID)玩家名字
使用userid来踢出或者ban玩家
暂时封禁一个玩家
TheNet:BanForTime(userid,time_in_seconds)
括号第二个数值为秒,比如暂时封禁5分钟,则输入300
重启世界
c_reset()
重置全部世界
c_regenerateworld()
这个命令会重置所以和主世界连接了的从世界
重置目前的世界
c_regenerateshard()
这个命令只会重置运行命令的世界,其他世界不会重置
保存
c_save()
服务器进行存档
关闭服务器
c_shutdown()
关闭服务器的命令,只执行单个服务器
回滚
c_rollback(count)
回到之前的存档,count=1回到上一次保存,count=2回到上2次保存
服务器默认一天保存一次
允许/不允许新的玩家加入
TheNet:SetAllowIncomingConnections( true /false )
允许=true,不允许=false,设置不允许的话,未加入的玩家无法加入服务器
服务器通知
c_announce("通知内容")
会在所有服务器广播通知
关于本站 | 网站帮助 | 广告合作 | 网站声明 | 网站地图
Copyright 2013-2023 QQZYWANG.com 〖QQ资源网〗 版权所有 蜀ICP备14006635号-1 | 川公网安备 51013102000013号
声明: 本站非腾讯QQ官方网站 所有软件和文章来自互联网 如有异议请与本站联系 本站为非赢利性网站 不接受任何赞助和广告