第二章 - 搭建并配置BungeeCord

我是MuffinCoder,可以叫我Joxes,一名普通的服主。

该书目录 该书目录

上一章节了解了BC的性质和工作原理,现在来实践一下。在做好BC跨服之前,你需要具备以下的知识点:

  • 基本了解配置语法
  • 有一定的英语基础(不然你会很难看懂)(有翻译也可以)
  • 知道BC端如何运作(上一章节讲过了)
  • 准备好了子服务器 (废话)

相信大部分有经验的服主都具备并了解上面的知识点,因为大部分不是很难才能达成,现在我们来设计一下自己的服务器构造,我的配备大概是这样的:

  • BC服务端
    └大厅服务器
    └生存服务器
    └创造服务器
    └空岛服务器

准备好你构造好的服务器包,并放在一个文件夹内,并且创建一个文件夹,名字随意,反正是放BC服务端的。然后我们访问BC的Bug项目构造网站(https://ci.md-5.net/job/BungeeCord/),然后这个网站看起来是这个样子滴:

现在我来一一讲解这个网站的下载步骤及用法(会的靠边站):

这是BC端的版本列表,一般推荐最新版。在我浏览的时候,BC端可使用的服务器MC版本范围是1.12-1.8,而1.8以下的版本则使用过期的BC版本,因为最新的BC端不支持1.8以下的服务器版本,所以需要下载BC的过期支援版本。

这是支援版本的列表,用于最新BC端不能支持的MC版本,格式是# + 列表代号=MC版本号,例如用于支援1.7.10版本的BC端代号是#1119,所以我们在版本列表里的输入框中输入#1119,就能找到版本地址。

这是最新版本的BC下载链接,每次更新一个新BC版本时,这链接就会更换成最新版本BC的下载链接,如果确认你的服务器版本在不需要BC特殊支援的版本范围内,就可以直接点击下载,一般只需要BungeeCord.jar这个文件就可以了,其他的文件是命令模块,BC在安装时会自动把它们安装上。

我们把最新版本下载到我们的BC文件夹当中,然后我们建立一个open.bat的bat文件,这个大家都知道,然后我们用记事本打开它,写入代码:

@echo off
    "这里填写你的Java路径" -Xmx512M -Xincgc -jar BungeeCord.jar
pause

注意:要填写对你的Java路径,否则会提示找不到路径!

现在咱们开启这个小BAT文件,把BC进行安装,直到安装窗口上出现:

[信息] Listening on /0.0.0.0:25577

然后咱们看看咱们的BC服务端文件夹,它的结构看起来如下:

BC的基本结构看起来就是这样了,我们打开config.yml配置文件,文件全体如下(配有注释):

forge_support: false
# forgeMOD支持,如果你的服务器中有MOD服务器,请打开这个选项
player_limit: -1
# 玩家真实限制,它将限制整个服务器的玩家人数,-1为不限
permissions:
  default:
  - bungeecord.command.server
  - bungeecord.command.list
  admin:
  - bungeecord.command.alert
  - bungeecord.command.end
  - bungeecord.command.ip
  - bungeecord.command.reload
# BC服务器权限组
timeout: 30000
# 当玩家在BC中无响应多长时间,BC才会将他踢出去,在这里一秒等于1000,30000=30秒
log_commands: false
online_mode: true
# 正版验证,如果是盗版服请关闭,否则会调用API进行验证
disabled_commands:
- disabledcommandhere
# 这里是服务器禁止的指令,例如我填- help服务器就会禁用/help指令
servers:
  lobby:
    motd: '&1Just another BungeeCord - Forced Host'
    # 服务器标语
    address: localhost:25565
    # 服务器地址
    restricted: false
# 这是子服务器的列表,在下面我会讲解
listeners:
- query_port: 25577
  # 监听查询端口,端口不能和host项的相同。
  motd: '&1Another Bungee server'
  # BC的标语,支持彩色
  tab_list: GLOBAL_PING
  query_enabled: false
  # 是否开启监听查询
  proxy_protocol: false
  forced_hosts:
    pvp.md-5.net: pvp
  ping_passthrough: false
  priorities:
  - lobby
  # 优先服务器列表,就是上节课所讲的“面试区”(登录服务器)或者大厅服务器
  bind_local_address: true
  host: 0.0.0.0:25577
  # BC的IP地址,开启后访问它就能进入BC服务器。
  max_players: 1
  # 服务器显示的最大人数,如要设置真实的人数请找到player_limit选项填写
  tab_size: 60
  force_default_server: false
ip_forward: false
# 一定要打开,否则会被拒绝
network_compression_threshold: 256
groups:
  md_5:
  - admin
# BC op设置,这也是漏洞之一,待会修改
connection_throttle: 4000
# 连接间隔,当玩家退出后多就能加入,在这里一秒等于1000,4000=4秒
stats: c86020bc-ddf6-467e-84d9-90974afcf90e
# 机器码,请不要修改,修改之后就会duang的没用
prevent_proxy_connections: false

先来讲一下BC的服务器配置,请看到这一部分:

servers:
  lobby:
    motd: '&1Just another BungeeCord - Forced Host'
    address: localhost:25565
    restricted: false

它的格式大概是这样的:

servers:
  服务器名称:
    motd: '服务器标语'
    address: 服务器地址:服务器端口
    restricted: false

知道YML语法的服主都知道怎么添加吧,就像下面这样,复制上面的部分再粘贴谁都会,经过配置,我们把我们的服务器构造添加上去:

server:
  大厅:
    motd: '&1Just another BungeeCord - Forced Host'
    address: localhost:21000
    restricted: false
  生存:
    motd: '&1Just another BungeeCord - Forced Host'
    address: localhost:22000
    restricted: false
  创造:
    motd: '&1Just another BungeeCord - Forced Host'
    address: localhost:23000
    restricted: false
  空岛:
    motd: '&1Just another BungeeCord - Forced Host'
    address: localhost:24000
    restricted: false

值得一提的是,即使我们BC端设置好了,允许玩家,但子服务器端不接受这个玩家有什么用?所以我们还要设置我们的子服务器,让它允许BC接入,并让BC设置它。BC由于是Spigot团队做的,所以如果你是水龙头端(spigot端),那就打开你的spigot.yml,这东西能在根目录找到,用notepad++打开,往下翻,找到这个选项:

bungeecord: false

这玩意儿就是开启BC接入口了,把它的值改成true,就能接受BC发过来的玩家IP,并进行传送链接啦!

到这儿配置就完成了,先把你的服务器一一打开,然后点击我们BC服务端文件夹里面的开启,没有报错并且出现监听成功提示就表示好了,现在我们访问一下我们的BC端的地址,就可以让BC把你给接入你的大厅服务器了。地址是BC端config.yml中的host项,如果你没有改动这个设置的话,默认是0.0.0.0:25577。日常【添加服务器】》【填写IP】》【查看结果】,当然直联也可以,看你的习惯,一般出现motd就可以啦!

小知识 - 你知道吗


YMAL中的换行-管道符

YMAL中换行是非常蛋疼的,BUNGEECORD中,换行极其蛋疼,不过有了管道符,这个就轻而易举了,举个栗子:

motd: '我是第一行  我是第二行'

是不是非常蛋疼?网络上都说换行得用空格把它挤到下一行当中,既不好控制方位,更不美观和修改,所以我们服主就得认识这个冷门的符号,语法修改后如下:

motd: |
  我是第一行
  我是第二行

效果如下:

这个知识告诉我们什么什么呢?原生永远比不过框架(插件)的。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容