QQ资源网-专注分享互联网优质资源,让我们生活更精彩!

首 页

栏目分类:
  • QQ游戏攻略
  • QQ游戏动态
  • 手机游戏
  • 英雄联盟
  • 穿越火线
  • 地下城与勇士
  • 当前位置:QQ资源网QQ游戏QQ游戏攻略

    饥荒(Don't Starve)TGP版开服搭建服务器教程

    时间:2016-11-14 分类:QQ游戏攻略 人气: 658 编辑:Admin_qqzy

    饥荒(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("通知内容")

    会在所有服务器广播通知

    关键词:饥荒 饥荒TGP版 饥荒开服

    关于本站 | 网站帮助 | 广告合作 | 网站声明 | 网站地图

    Copyright 2013-2023 QQZYWANG.com 〖QQ资源网〗 版权所有 蜀ICP备14006635号-1 | 川公网安备 51013102000013号

    声明: 本站非腾讯QQ官方网站 所有软件和文章来自互联网 如有异议请与本站联系 本站为非赢利性网站 不接受任何赞助和广告