- 查看: 2K
- 回复: 1
群组服是什么?
这里假设我们有3个服务器
第1个是生存服,ip是1.1.1.1:33346
第2个是小游戏服,ip是1.1.1.1:33347
第3个是rpg服,ip是1.1.1.1:33348
如果没有群组服,玩家的进服步骤如下:
玩家想要游玩生存服,他在ip框内输入1.1.1.1:33346,然后进服注册登录开始游玩
之后,玩家又想要游玩小游戏服来放松,他退出服务器,又在服务器地址栏里输入了1.1.1.1:33347,然后进服登录开始游玩
过了一会儿,服主在小游戏服里通知玩家小游戏服要进行维护,叫各位玩家到其他服务器去
玩家又退出服务器,在多人游戏里找到生存服并开始了游玩
聪明的你可以看出,玩家在切换不同服务器时需要退出服务器然后再去选服
那么,有没有什么办法,能够让玩家不退出服务器的同时切换服务器呢?
答案就是群组服
这是没有BC,玩家连接服务器的简图

有句古话说得好,没有什么是加一层中间层不能解决的
聪明的你一定想到了我们可以在玩家客户端和生存服之间加一个服务器

加入的这个服务器 便叫做BC端
BC端相当于一个小服务器,他可以把玩家的流量转发给其他服务器
这样,玩家在切换服务器时,只需要告诉BC端我要玩哪个服务器 BC端就会把玩家导向那个服务器
这个过程非常地丝滑,甚至能让玩家意识不到自己已经切换了服务器
现在,你已经知道了BC服是什么,请跟着下面的步骤试着开一个BC端出来吧
现在主流的跨服端有3种,他们分别是
bungeecord 蹦极 (BC)——最早的代理端,但是问题比较多
walerfall 瀑布 (WF)——已停止维护,不要使用
velocity 速度 (VC) ——由经验丰富的paperMC团队开发,在BC的基础上进行了优化,性能更好
这里我只推荐开VC端
(开群组之前请保证你有java环境,这点不多说)
(消歧义:因为在waterfall被制作出来之前,市面上只有bungeecord这一种群组服,所以现在经常可以看见一人把“群组”称为“BC端”“蹦极服务器”)
(生存服,RPG服,小游戏服一律被称为子服)
首先,点击这里前往velocity的下载网站

点击downloads
然后,把下载的文件放到一个文件夹里
在文件夹里新建一个txt文件,内容如下
@echo off
java -Xms1G -Xmx1G -XX:+UseG1GC -XX:G1HeapRegionSize=4M -XX:+UnlockExperimentalVMOptions -XX:+ParallelRefProcEnabled -XX:+AlwaysPreTouch -XX:MaxInlineLevel=15 -jar velocity.jar
pause
之后把文件后缀改成bat,双击运行
运行后关闭窗口
你会看见文件夹里多了一些文件

我们直接打开配置后缀是toml的文件(这里只讲重要的,如果需要全文请去nitwikit查看)
这个bind指的是vc服务器上绑定的端口,比如说我想让玩家通过25566端口进服我就填"0.0.0.0:25566"
另外前面的那串0不用管 那是留给一个服有多个公网ip的用的(一般用不上)

motd:应该在服务器列表显示什么?

上面这个是限制人数为多少(实际上起不了限制作用)
下面这个是是否开启正版验证(开了只有正版能进)

如果玩家开了代理(如VPN),是否阻止玩家进服(不用管,没多大用)

因为玩家进服是通过BC服进的,所以像“smp服”“rpg服”这些子服是看不见玩家的真实IP的只能看见BC服的IP
通过调整这一选项,可以让bc端把ip传给子服
none:什么也不做,不把IP传给子服
legacy:以bungeecord兼容格式来转发玩家的IP&UUID 子服版本是1.12及以下的选这个
bungeecord:以 BungeeGuard 插件支持的格式转发玩家 IP&UUID,子服版本是1.12及以下且没有防火墙的选这个
modern:使用Velocity 的原生转发,在登录的过程中转发IP&UUID子服版本是1.13及以上的选这个

如果你开的子服里面有模组服的我建议你直接无脑开启

重点
这里是配置子服链接地址的地方
一般格式是
[子服名称] = "子服IP:子服端口"
比如,我的大厅服务器是lobby,他的IP是localhost:25570
就这样写 lobby = “localhost:25570”
tips:localhost的翻译是本地托管,和127.0.0.1差不多,指向的是本地服务器,如果你的BC端和其他子服在同一个服务器就选这个

# 当玩家登录或从服务器被踢出时,我们应该尝试让他进入哪个服务器?
字面意思,你想让玩家进入BC服后去哪个服务器就填哪个

配置完后我们就可以启动BC服看效果了
如果你不想让玩家直接连接子服可以去子服的服务器目录中找到spigot.yml,
在settings中把bungeecord: false改为bungeecord: true

最后,如果你想找到更多关于BC服的信息,可以去nitwikit查找(点击前往)
这里假设我们有3个服务器
第1个是生存服,ip是1.1.1.1:33346
第2个是小游戏服,ip是1.1.1.1:33347
第3个是rpg服,ip是1.1.1.1:33348
如果没有群组服,玩家的进服步骤如下:
玩家想要游玩生存服,他在ip框内输入1.1.1.1:33346,然后进服注册登录开始游玩
之后,玩家又想要游玩小游戏服来放松,他退出服务器,又在服务器地址栏里输入了1.1.1.1:33347,然后进服登录开始游玩
过了一会儿,服主在小游戏服里通知玩家小游戏服要进行维护,叫各位玩家到其他服务器去
玩家又退出服务器,在多人游戏里找到生存服并开始了游玩
聪明的你可以看出,玩家在切换不同服务器时需要退出服务器然后再去选服
那么,有没有什么办法,能够让玩家不退出服务器的同时切换服务器呢?
答案就是群组服
这是没有BC,玩家连接服务器的简图

有句古话说得好,没有什么是加一层中间层不能解决的
聪明的你一定想到了我们可以在玩家客户端和生存服之间加一个服务器

加入的这个服务器 便叫做BC端
BC端相当于一个小服务器,他可以把玩家的流量转发给其他服务器
这样,玩家在切换服务器时,只需要告诉BC端我要玩哪个服务器 BC端就会把玩家导向那个服务器
这个过程非常地丝滑,甚至能让玩家意识不到自己已经切换了服务器
现在,你已经知道了BC服是什么,请跟着下面的步骤试着开一个BC端出来吧
开BC端
现在主流的跨服端有3种,他们分别是
bungeecord 蹦极 (BC)——最早的代理端,但是问题比较多
walerfall 瀑布 (WF)——已停止维护,不要使用
velocity 速度 (VC) ——由经验丰富的paperMC团队开发,在BC的基础上进行了优化,性能更好
这里我只推荐开VC端
(开群组之前请保证你有java环境,这点不多说)
(消歧义:因为在waterfall被制作出来之前,市面上只有bungeecord这一种群组服,所以现在经常可以看见一人把“群组”称为“BC端”“蹦极服务器”)
(生存服,RPG服,小游戏服一律被称为子服)
首先,点击这里前往velocity的下载网站

点击downloads
然后,把下载的文件放到一个文件夹里
在文件夹里新建一个txt文件,内容如下
@echo off
java -Xms1G -Xmx1G -XX:+UseG1GC -XX:G1HeapRegionSize=4M -XX:+UnlockExperimentalVMOptions -XX:+ParallelRefProcEnabled -XX:+AlwaysPreTouch -XX:MaxInlineLevel=15 -jar velocity.jar
pause
之后把文件后缀改成bat,双击运行
运行后关闭窗口
你会看见文件夹里多了一些文件

我们直接打开配置后缀是toml的文件(这里只讲重要的,如果需要全文请去nitwikit查看)
这个bind指的是vc服务器上绑定的端口,比如说我想让玩家通过25566端口进服我就填"0.0.0.0:25566"
另外前面的那串0不用管 那是留给一个服有多个公网ip的用的(一般用不上)

motd:应该在服务器列表显示什么?

上面这个是限制人数为多少(实际上起不了限制作用)
下面这个是是否开启正版验证(开了只有正版能进)

如果玩家开了代理(如VPN),是否阻止玩家进服(不用管,没多大用)

因为玩家进服是通过BC服进的,所以像“smp服”“rpg服”这些子服是看不见玩家的真实IP的只能看见BC服的IP
通过调整这一选项,可以让bc端把ip传给子服
none:什么也不做,不把IP传给子服
legacy:以bungeecord兼容格式来转发玩家的IP&UUID 子服版本是1.12及以下的选这个
bungeecord:以 BungeeGuard 插件支持的格式转发玩家 IP&UUID,子服版本是1.12及以下且没有防火墙的选这个
modern:使用Velocity 的原生转发,在登录的过程中转发IP&UUID子服版本是1.13及以上的选这个

如果你开的子服里面有模组服的我建议你直接无脑开启

重点
这里是配置子服链接地址的地方
一般格式是
[子服名称] = "子服IP:子服端口"
比如,我的大厅服务器是lobby,他的IP是localhost:25570
就这样写 lobby = “localhost:25570”
tips:localhost的翻译是本地托管,和127.0.0.1差不多,指向的是本地服务器,如果你的BC端和其他子服在同一个服务器就选这个

# 当玩家登录或从服务器被踢出时,我们应该尝试让他进入哪个服务器?
字面意思,你想让玩家进入BC服后去哪个服务器就填哪个

配置完后我们就可以启动BC服看效果了
如果你不想让玩家直接连接子服可以去子服的服务器目录中找到spigot.yml,
在settings中把bungeecord: false改为bungeecord: true

最后,如果你想找到更多关于BC服的信息,可以去nitwikit查找(点击前往)
最后编辑: