我是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: |
我是第一行
我是第二行
效果如下:
这个知识告诉我们什么什么呢?原生永远比不过框架(插件)的。