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.rhkb.cn/news/239386.html

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

相关文章

【hcie-cloud】【21】容器详解【容器网络说明、容器存储说明、容器镜像说明、dockerfile详述、缩略词】【下】

文章目录 容器介绍,容器工作机制、容器常用命令说明容器网络容器网络简介容器常用网络类型 - Bridge容器常用网络类型 - Host容器常用网络类型 - None其他容器网络类型【Macvlan、Overlay、IPvlan】容器网络相关配置 容器存储容器中应用数据的存储容器持久化存储配置…

IaC基础设施即代码:Terraform 通过后端使用 alicloud的OSS 实现资源管理

目录 一、实验 1.环境 2.Windows创建Terraform后端项目 3.Windows实例化Terraform后端项目 3.Windows给Terraform项目添加alicloud阿里云OSS (实现代码与资源分离) 4.Windows给Terraform项目添加封装的模块 5.Terraform通过后端使用 alicloud阿里…

java数据结构与算法刷题-----LeetCode96. 不同的二叉搜索树

java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846 很多人觉得动态规划很难,但它就是固定套路而已。其实动态规划只…

OceanBase 4.2特性解读:Show Trace全链路跟踪,助力快速问题定位与精准诊断

在分布式数据库环境下,慢 SQL 诊断是运维人员面临的一大挑战。在无法及时发现问题根本原因的情况下,可能会严重影响用户体验,甚至会导致业务服务不可用。相对于单机数据库,分布式数据库系统涉及多个节点、多组件的协同工作&#x…

推荐VSCODE插件:为`package.json`添加注释信息

众所周知,JSON文件是不支持注释的,除了JSON5/JSONC之外,我们在开发项目特别是前端项目时,大量会用到JSON文件,特别是在编写package.json中的scripts时,由于缺少注释,当有大量的命令脚本时,就有了…

【Docker】在容器中管理数据数据卷挂载以及宿主机目录挂载

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是平顶山大师,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的博客专栏《【Docker】在容器中管理数据》。&#x1f3af…

Halcon提取亚像素轮廓edges_sub_pix算子

Halcon提取亚像素轮廓edges_sub_pix算子 最常用的提取亚像素轮廓的算子是edges_sub_pix算子,该算子同样提供了大量的提取方法,只需要在Filter 参数中设置方法的名字,就可以完成边缘的提取。该算子的输入是灰度图像,输出是XLD轮廓…

1491. 去掉最低工资和最高工资后的工资平均值

1491. 去掉最低工资和最高工资后的工资平均值 class Solution {public double average(int[] salary) {Arrays.sort(salary);salary[0] 0;for(int i 1;i < salary.length - 1;i){salary[0] salary[i];}return salary[0] * 1.0 / (salary.length - 2);} }

【C++】vector的使用及模拟实现

目录 一、vector的介绍及使用1.1 介绍vector1.2 vector的使用1.2.1 构造1.2.2 遍历访问1.2.3 容量空间1.2.4 增删查改 二、vector的模拟实现2.1 成员变量2.2 迭代器相关函数2.3 构造-析构-赋值重载2.3.1 无参构造2.3.2 有参构造12.3.3 有参构造22.3.4 拷贝构造2.3.5 赋值重载2.…

Docker部署Jira、Confluence、Bitbucket、Bamboo、Crowd,Atlassian全家桶

文章目录 省流&#xff1a;注意&#xff1a;解决方案&#xff1a; 1.docker-compose文件2.其他服务都正常启动&#xff0c;唯独Bitbucket不行。日志错误刚启动时候重启后查询分析原因再针对第一点排查看样子是安装的bitbucket和系统环境有冲突问题&#xff1f; 结论&#xff1a…

Ovtio不同版本下载

关注 M r . m a t e r i a l , \color{Violet} \rm Mr.material\ , Mr.material , 更 \color{red}{更} 更 多 \color{blue}{多} 多 精 \color{orange}{精} 精 彩 \color{green}{彩} 彩&#xff01; 主要专栏内容包括&#xff1a; †《LAMMPS小技巧》&#xff1a; ‾ \textbf…

VTK开发调试环境下载(VTK开发环境一步到位直接开发,无需自己配置编译 VS2017+Qt5.12.10+VTK)

一、无与伦比的优势 直接下载代码就可以调试的VTK代码仓库。 二、资源制作原理 这个资源根据VTK源码 编译出动态库文件 pdb lib dll 文件&#xff08; x64 debug &#xff09; 并将这两者同时放在一个代码仓库里&#xff0c;下载就能用。 三、使用方法&#xff08;vtk-so…

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

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

Mantle: A Programmable Metadata Load Balancer for the Ceph File System——论文泛读

SC 2015 Paper 元数据论文阅读汇总 问题 优化Ceph的元数据局部性和负载平衡。 现有方法 提高元数据服务性能的最常见技术是在专用的元数据服务器&#xff08;MDS&#xff09;节点之间平衡负载 [16, 25, 26, 21, 28]。常见的方法是鼓励独立增长并减少通信&#xff0c;使用诸…

使用 Picocli 开发 Java 命令行,5 分钟上手

大家好&#xff0c;我是鱼皮&#xff0c;对不会前端的同学来说&#xff0c;开发 命令行工具 是一种不错的展示系统功能的方式。在 Java 中开发命令行工具也很简单&#xff0c;使用框架&#xff0c;几分钟就能学会啦~ Picocli 入门 Picocli 是 Java 中个人认为功能最完善、最简单…

NAS入门(学习笔记)

文章目录 AutoMLNAS初期NAS当前NAS框架One-Shot NAS权重共享策略 Zero-Shot NASZen-NASNASWOTEPENAS 参考资料 AutoML 深度学习使特征学习自动化 AutoML 使深度学习自动化 自动化机器学习 (automated machine learning) 是一种自动化的数据驱动方法, 并做出一系列决策。 按…

【Docker】网络模式➕自定义网络

&#x1f973;&#x1f973;Welcome 的Huihuis Code World ! !&#x1f973;&#x1f973; 接下来看看由辉辉所写的关于Docker的相关操作吧 目录 &#x1f973;&#x1f973;Welcome 的Huihuis Code World ! !&#x1f973;&#x1f973; 一.Docker网络模式的介绍 二. 网桥模…

Server/PC 稳定性测试(Windows)

Server/PC 稳定性测试 1. CPU - 中央处理器1.1 CPU稳定性1.2 CPU温度 2. Memory - 内存2.1 内存性能 3. DISK - 硬盘3.1 HDD - 机械硬盘机械硬盘转速详解监测工具 3.2 SSD - 固态硬盘监测工具 4. 使用时长cpu能用多久&#xff1f;主板能用多久&#xff1f;内存能用多久&#xf…

博后期间各种计划

博后期间各种计划&#xff1a; &#xff08;1&#xff09;国家自然科学基金&#xff08;青年项目&#xff09;、&#xff08;2&#xff09;博士后创新人才支持计划&#xff08;23年新改革&#xff1a;28w*2生活补助经费8w科研启动经费&#xff1b;每年资助400多人&#xff1b;…

Ansible-剧本与变量

对于运维小伙伴来讲&#xff0c;Ansible并不陌生&#xff0c;配置简单&#xff0c;上手容易&#xff0c;只要掌握几个基本的模块就可以解决好多运维中重复的事&#xff0c;但是对于处理更为高级的功能和更大、更复杂的项目时&#xff0c;管理和维护Ansible Playbook或高效使用将…