MC使用Waterfall 跨服

前言

想弄一个跨服,目前这篇文章是边测试边写的,两个子服都是在同一个机器上运行的

如果两个子服在不同的网络,跨服的延迟就会比较高

  • 两个子服 s1 和 s2  都是使用folia核心 
  • 版本1.20.1
  • s1 端口: 25565
  • s2 端口 : 25566

1.下载 Waterfall 

Waterfall Downloads | PaperMC

2.启动两个子服

/usr/local/java17/bin/java -jar server.jar nogui
/usr/local/java17/bin/java -jar server.jar nogui

3.启动 Waterfall 

第一次启动服务端时会下载额外的模块(位于 modules 文件夹内),下载完成后服务端便会启动。

/usr/local/java17/bin/java -Dfile.encoding=UTF-8 -Xms512M -Xmx1024M -jar waterfall-1.20-562.jar 

看到这一行表示启动成功了

[03:55:33 INFO]: Listening on /0.0.0.0:25577

4.配置 Waterfall 

enforce_secure_profile: false
listeners:
- query_port: 25577motd: '&1Another Bungee server'tab_list: GLOBAL_PINGquery_enabled: falseproxy_protocol: falseforced_hosts:pvp.md-5.net: pvpping_passthrough: falsepriorities:- s1- s2bind_local_address: truehost: 0.0.0.0:25577max_players: 1tab_size: 60force_default_server: false
remote_ping_cache: -1
network_compression_threshold: 256
permissions:default:- bungeecord.command.server- bungeecord.command.listadmin:- bungeecord.command.alert- bungeecord.command.end- bungeecord.command.ip- bungeecord.command.reload- bungeecord.command.kick
log_pings: true
connection_throttle_limit: 3
server_connect_timeout: 5000
timeout: 30000
player_limit: -1
prevent_proxy_connections: false
ip_forward: false
groups:md_5:- admin
remote_ping_timeout: 5000
connection_throttle: 4000
log_commands: false
stats: 4981b3ee-08b3-45b8-b337-2dcd607df4c6
online_mode: false
forge_support: true
disabled_commands:
- disabledcommandhere
servers:s1:motd: '&1Just another Waterfall - Forced Host'address: localhost:25565restricted: falses2:motd: '&1Just another Waterfall - Forced Host'address: localhost:25566restricted: false


在最后的server 中 配置了两个服务器 s1 和s2 

motd可以自己改

这里注意如果服务器是离线服,记得在 Waterfall  也关闭正版验证

下面是配置的解释

forge_support 代表是否启用对 Forge 的支持,默认值为true,即启用。启用后会为 Forge 客户端提供支持(尽管兼容性并不是很好,编者注)。

player_limit 代表整个 BungeeCord 实例能够接受的最大玩家数量,默认值为-1,即不限数量。调整为正整数即启用最大玩家数量限制。

premission 和 groups 由 BungeeCord 提供的简易权限管理设置。前者用以配置权限组内置的权限,default表示默认权限组;后者用以配置玩家所在的权限组。(这里的权限是指 BungeeCord 内置及其插件声明的权限,与下游服务器的权限完全无关,切勿混淆。正如 CraftBukkit 提供的 permission.yml 一样,这套简易的权限管理配置同样不受到欢迎,且难以配置。这里推荐安装 Luckperms 作为 BungeeCord 的权限组管理插件,编者注)。

log_commands 代表是否在控制台记录玩家输入的指令(同样,仅记录 BungeeCord 指令,与下游服务器无关,编者注)。默认值为false,即不记录。

log_pings 代表是否在控制台记录玩家客户端向 BungeeCord 发起 ping 请求的记录(这种记录一般是玩家尝试刷新服务器MOTD信息时出现的)。默认值为true,即记录。

online_mode 代表是否开启正版验证,开启正版验证时, BungeeCord 将仅接受经过 Mojang 正版验证服务器验证通过的玩家加入服务器,反之任何玩家都可进入服务器。默认值为true,即开启正版验证。(请注意,如果开启正版验证,那么请务必将所有下游服务器的正版验证关闭,否则玩家将无法连接至下游服务器(BungeeCord 将负责向下游服务器传递玩家的正版数据,如 UUID 等),编者注)。

ip_forward 代表是否启用 IP 追踪,默认值为 false,即不开启。开启后 BungeeCord 将会向下游服务端传递玩家的真实IP。如果不开启本项,那么下游服务端接收到的玩家 IP 将永远为 BungeeCord 服务端所在的 IP 地址。要想开启此项,您必须使用支持 ip_forward功能的服务端,并启用其配置中的设置(具体设置方法见下)。如果仅启用了此项而不配置下游服务端的是设置,那么玩家将无法连接到下游服务器。强烈建议所有人都启用此项以免出现某些 IP 问题

listeners表示监听器设置,一个监听器对应一个监听端口,不同的监听端口可以允许不同的玩家加入设定的不同的服务器,且设置相互独立。一个 BungeeCord 实例可以设置多个监听器。BungeeCord 的默认配置文件只提供了一个监听器,如需添加多个监听器请自行按照 YAML 语法在listeners下重复添加。

listeners.query_enabled 代表是否开启 UDP 查询,开启后可籍由 UDP 协议监听该监听器的状态。默认值为false,即关闭查询。

listeners.query_port 代表查询端口,默认值为25577

listeners.motd 代表当仅有一个默认服务器时,服务器将会显示给玩家的Motd。当listeners.ping_passthrough被开启时,此项无效。如果希望使用双行Motd,那么可以使用以下的格式(servers.[xxx].motd同):

motd: |第一行MOTD第二行MOTD

listeners.tab_list 代表连接到服务器的玩家的 TAB 列表所显示的内容格式。他可以有三个值,分别是GLOBAL_PING(默认值),GLOBALSERVER。当设置为第一种时, TAB 列表会显示所有连接到本 BungeeCord 实例的玩家和他们的 PING 值;当设置为第二种时,同上一种大致相同,但玩家的 PING 值不会更新;当设置为第三种时,只会显示玩家所在的下游服务器的玩家列表。

listeners.proxy_protocol 代表是否开启对 HAProxy 的支持,默认值为false,即关闭。开启后,BungeCord 将支持接收上游 HAProxy 籍由 ProxyProtocolV3 协议发送的玩家真实 IP,如不开启此项但在上游使用了 HAProxy 服务端,那么 BungeeCord 接收到的玩家 IP 地址将衡为 HAProxy 的所在地址。如果您不理解此项在说什么,请不要随意开启本项。

listeners.forced_hosts 代表端口转发设置,默认值为一个仅包含一个键为pvp.md-5.net,值为pvp的 Map (即pvp.md-5.net: pvp)。这意味着所有通过pvp.md-5.net域名连接到 BungeeCord 的玩家将不会再被连接到默认下游服务器(对于默认下游服务器的配置请见listeners.priorities项),而将会被重定向至服务器名为pvp的服务器(关于服务器名的配置请见servers项)。这要求您预先将名为pvp.md-5.net的子域先解析至 BungeeCord 所在的地址。

listeners.ping_passthrough是否开启 ping 穿透,默认值为false,即不开启。开启后,BungeeCord 将直接传递默认下游服务器的 ping(如motd,在线玩家数)信息到客户端,而不是显示 BungeeCord 设置的此类信息。

listeners.priorities 优先级设置,默认值为一个仅有lobby 服务器的列表,可以按照格式依次向下添加多个已在servers项中配置的服务器名,优先级由上到下逐级递减)。这代表玩家连接到 BungeeCord 后将会被转发到的服务器的顺序:第一个是首选服务器,如果因为某些原因使玩家无法连接到该服务器(如服务器已关闭,版本与玩家客户端版本不匹配),那么将尝试将玩家转发到下一个服务器,以此类推。如果所有服务器都无法连接,那么玩家将会收到一个服务器当前不可用的提示。(此项不一定必须全部对应servers内的下游服务端名称,如果您有一个登录服,那么此处应当只填写您的登录服名称,这样当您的登录服离线时,玩家将不能进入服务器,而不是绕过登录服的登录系统前往其他下游服务器)

listeners.bind_local_address 代表是否显式显示 BungeeCord 正在监听的 IP 地址,默认值为true。除非的服务器拥有多个 IP 地址,否则这并没有什么实际用处。如果没有特殊需求,最好不要改变此项。

listeners.host 代表该监听器监听的 IP 地址和端口,默认值为0.0.0.0:25577,即监听来自所有 IP 地址的来自25577端口的连接。0.0.0.0代表监听所有 IP 地址,如果您将其设置为非0.0.0.0的 IP 地址,则代表只监听来自于该 IP 地址的连接。一般情况下,您只需要修改25577为希望玩家连接的端口号,或保持不变。

listeners.max_players 代表玩家客户端将会显示的最大玩家数,默认值为1。此项只作为装饰,并未真实的最大玩家数设置,即使将此项设置为0,玩家仍可以进入服务器。要想设置真正的最大玩家数,请见player_limit项。 listeners.tab_size 代表将会显示在 TAB 列表上的最大玩家数量,默认值为60.

listeners.force_default_server 代表当每次玩家进入服务器时,是否强制将玩家发送到默认服务器中,默认值为false,即关闭。设置为false则代表玩家进入服务器时将会发送到玩家上一次下线时的服务器。如果您有一个登录服,亦或者使用了一个由单个大厅服务器管理的登录插件,请务必将此处设置为true以免玩家下次登录时直接绕过登录系统。此项与listeners.forced_hosts相冲突,如果您希望使用后者提供的重定向功能,那么请将此项设置为false

prevent_proxy_connections 代表是否向 Mojang 发送玩家 IP 数据以阻止 使用了代理的玩家进入服务器。默认值为false,即不开启

connection_throttle 和 connection_throttle_limit 为 BungeeCord 自带的简易反压测策略,他们分别代表断开时间和断开次数,默认值分别为40003。这意味着单个 IP 一旦在 4000 毫秒内连接了 BungeeCord 3 次,那么它必须等待 4000 毫秒后才能再次连接。

servers 代表下游服务端设置,只有在此处设置过的下游服务器才可被连接。它包括一个名为lobby的默认下游服务端,您可以按照这种格式继续向下添加更多的下游服务器。(如果修改了lobby的名称,请千万不要忘记修改上方listeners.priorities的优先级设置以免因不存在一个名为lobby的下游服务端而无法连接。其中:

  • server.[XXX]代表服务器名称,可为任意值,但必须是唯一的;
  • server.[xxx].motd代表当有多个默认服务器时,被匹配到可以连接的首选服务器将会显示给玩家的Motd。同样当listeners.ping_passthrough被开启时,此项无效。如果希望使用双行Motd,请参见上方listeners.motd的注释。
  • server.[xxx].address代表目标下游服务器的 IP 地址和端口,请填写 BungeeCord 所在的网络环境能够连接到的地址(包括本地地址和内网地址),无需保证玩家可以连接。
  • server.[xxx].restricted 代表权限控制,默认值为false。当设置为true时,只有拥有bungeecord.server.[xxx]权限时,玩家才能进入此服务器。

5.验证

在PCL2启动mc,多人游戏 - 添加服务器 输入你服务器ip:25577

进入后输入

/server s1 或者 /server s2

进入s1 或者 s2 服务器

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/627854.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Hello 2024补题

Wallet Exchange(Problem - A - Codeforces) 题目大意:A,B做游戏,它们的钱包里各有a,b个硬币,轮到它们操作时,它们可以扔掉自己或者对手钱包里的硬币,谁不能操作谁输,问…

Kafka的安装、管理和配置

Kafka的安装、管理和配置 1.Kafka安装 官网: https://kafka.apache.org/downloads 下载安装包,我这里下载的是https://archive.apache.org/dist/kafka/3.3.1/kafka_2.13-3.3.1.tgz Kafka是Java生态圈下的一员,用Scala编写,运行在Java虚拟机上&#xf…

【大数据】Flink 详解(九):SQL 篇 Ⅱ

《Flink 详解》系列(已完结),共包含以下 10 10 10 篇文章: 【大数据】Flink 详解(一):基础篇【大数据】Flink 详解(二):核心篇 Ⅰ【大数据】Flink 详解&…

Flutter之配置环境创建第一个项目

随着时代发展,使用Flutter开发的项目越来越多,于是踏上了Flutter开发之路。 作为一个Android开发人员,也只能被卷到与时俱进,下面一起创建一个Flutter项目吧。 一、Android开发,电脑上已经具备了的条件: …

msyql 异常,别干着急,70%的问题都在这里!

性能测试中,数据库的性能问题,可能会占到 70%,所以讲性能测试,数据库是一个非常非常重要的知识。但是,最近在讲 MySQL 数据库的时候,却遇到了一个尴尬。 前言 之前的小伙伴是需要手动安装 MySQL 数据库的&…

pc-lint plus和keil 调用库文件策略的不同

同样一个源文件(如"stm32h7xx.h"),keil会先从用户路径找文件,pc-lint会先从keil安装路径找源文件 1、问题 在使用pc-lint检测工程时碰到了一个问题 C:\Users\86151\AppData\Local\Arm\Packs\Keil\STM32H7xx_DFP\2.4.…

武理多媒体信息共享平台的架构设计与实现

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

Vue-23、Vue过滤器

1、效果 2、过滤器实现 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>过滤器</title><script type"text/javascript" src"https://cdn.jsdelivr.net/npm/vue2/dist/vue.…

Linux C语言开发(二)C语言数据类型

目录 一.C语言概述 1.1 什么是C语言 1.2 C语言与Linux 1.3 C语言的特点 二.数据类型 2.1数据类型的分类 2.2整型 2.3 字符型 2.4 浮点型 2.5 枚举类型 2.6 数组类型 2.7 结构体类型 2.8 联合体类型 2.9 指针类型 2.10 空类型 2.11 static静态类型 2.12 extern…

HCIP -- 第六天作业

要求&#xff1a; 实现&#xff1a; 3路由策略干涉选路&#xff1a;[R3]ip ip-prefix c permit 13.1.1.0 24 抓住13网段 [R3]route-policy c permit node 10 创建路由策略为C 序号为10 [R3-route-policy]if-match ip-prefix c 匹配路由策略c [R3-route-policy]apply cost-type…

第七讲_css浮动

css浮动 1. 设置浮动2. 浮动的特点3. 浮动的影响4. 解决浮动的影响4.1 解决父元素高度塌陷的问题4.2 解决对兄弟元素影响问题 1. 设置浮动 浮动是通过float属性设置&#xff0c;float取值范围&#xff1a; none&#xff1a;不浮动&#xff0c;默认值。left&#xff1a;向左浮…

猫咪全罐喂养一个月多少钱?适合给猫咪全罐喂养的猫罐头推荐

不少铲屎官为了防止猫咪挑食和营养吸收不均衡&#xff0c;打算给猫咪进行全罐喂养&#xff0c;但是又担心全罐喂养花费太多钱了。猫咪全罐喂养一个月多少钱&#xff1f;别担心&#xff0c;咱们打工人的养猫攻略&#xff0c;花小钱办大事&#xff01;追求高性价比的猫罐头才是王…

推荐几款常用测试数据自动生成工具(适用自动化测试、性能测试)

一、前言 在软件测试中&#xff0c;测试数据是测试用例的基础&#xff0c;对测试结果的准确性和全面性有着至关重要的影响。因此&#xff0c;在进行软件测试时&#xff0c;需要生成测试数据以满足测试场景和要求。本文将介绍如何利用测试数据生成工具来快速生成大量的测试数据。…

一键完成爬虫之Cookie获取:利用浏览器模拟一个cookie出来、面对反爬虫、加密的cookie的应对方法

一键完成爬虫之Cookie获取&#xff1a;利用浏览器模拟一个cookie出来、面对反爬虫、加密的cookie的应对方法 本文提供一个快速取得cookie的办法&#xff0c;用来应对一些网站的的反爬虫和cookie失效等情况本接口是收费的&#xff08;1分钱1次调用&#xff0c;不愿付费自行折腾…

如何为 SEO 进行关键字研究

什么是关键词研究&#xff1f; 关键字研究是查找和分析理想网站访问者输入搜索引擎的关键字的过程。这使您能够在内容策略中定位最有效的关键字。 关键字是人们用来在搜索引擎中查找信息或产品的单词或短语。例如&#xff0c;如果您想为您的小狗购买食物&#xff0c;您可以在…

【DevOps-08-4】Jenkins实现自定义镜像并推送到Harbor

一、简要描述 打开Jenkins管理后台,进入项目详情在构建->增加构建步骤->执行shell添加编写构建执行shell脚本更改Springboot java项目源码版本,并提交到Gitlab登录到Gitlab管理后台,新建一个v3.0的tag到Jenkins管理后台,对项目执行构建构建记录详情,查看构建日志在宿…

浏览器网页内嵌Qt-C++音视频播放器的实现,支持软硬解码,支持音频,支持录像截图,支持多路播放等,提供源码工程下载

一.前言 在浏览器中实现播放RTSP实时视频流&#xff0c;⼤体上有如下⼏个⽅案&#xff1a; ⽅案一&#xff1a;浏览器插件⽅案 ActiveX、NPAPI、PPAPI ActiveX插件适用于IE浏览器&#xff0c;NPAPI与PPAPI插件适用于谷歌浏览器&#xff0c;不过这些插件都已经不被浏览器所支持…

PulsarServerException

orq.apache .pulsar .broker .PulsarServerException:the broker do not have external listener 这个异常通常表示Pulsar Broker没有为外部客户端配置外部监听器。在Pulsar中&#xff0c;外部监听器用于与Pulsar集群之外的客户端进行通信&#xff0c;例如在公共网络上的生产者…

【设计模式-06】Observer观察者模式

简要说明 事件处理模型 场景示例&#xff1a;小朋友睡醒了哭&#xff0c;饿&#xff01; 一、v1版本(披着面向对象的外衣的面向过程) /*** description: 观察者模式-v1版本(披着面向对象的外衣的面向过程)* author: flygo* time: 2022/7/18 16:57*/ public class ObserverMain…

软件测试要学习的基础知识——白盒测试

白盒测试是通过检查软件内部的逻辑结构&#xff0c;对软件中的逻辑路径进行覆盖测试&#xff0c;以确定实际运行状态与预期状态是否一致。 白盒测试又被称为&#xff1a; 透明盒测试 结构化测试 逻辑驱动测试 基于代码的测试 白盒测试的常用技术分类 一、静态分析&#x…