From e45db19c97a95c91493890b3d093c9b43c77b279 Mon Sep 17 00:00:00 2001 From: RENaa_FD <92320175+lRENyaaa@users.noreply.github.com> Date: Mon, 6 May 2024 15:37:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0floodgate=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=95=99=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/手机玩家支持/Geyser/安装.md | 122 +++++++++++++++++++++++++++---- 1 file changed, 106 insertions(+), 16 deletions(-) diff --git a/docs/手机玩家支持/Geyser/安装.md b/docs/手机玩家支持/Geyser/安装.md index b0e6907b90..db07938d29 100644 --- a/docs/手机玩家支持/Geyser/安装.md +++ b/docs/手机玩家支持/Geyser/安装.md @@ -50,7 +50,7 @@ Standalone版本 可以作为一个独立的代理端启动 :::danger -在本教程未提及前, 请不要随意更改任何配置项 +作为一个新手, 在本教程未提及前, 请不要随意更改任何配置项 ::: @@ -94,7 +94,7 @@ remote: **`port`**: 请和目标服务器对外开放的端口一致 **`auth-type`**: 有offline, online和floodgate模式,offline和online分别对应离线和正版, 你目标服务器用的什么就选什么, floodgate会在后续教程中解释 -# 其他项 +### 其他项 再往下翻你会注意到不少其他乱七八糟的项 这里挑几个重点 @@ -115,26 +115,116 @@ above-bedrock-nether-building: false **`show-cooldown`**: 由于基岩版没有战斗冷却, 此功能会模拟一个冷却提示器, 你可以设置为title(小标题), actionbar(物品栏上方的标题) 或 false(关闭) **`show-coordinates`**: 是否向玩家显示坐标 **`above-bedrock-nether-building`**: 开启后你将被允许在下届高度127以上建造, 缺点是整个下界中雾的颜色不再可变, 将一直是红色 - -## 进一步兼容 -**此部分还未完工!咕咕咕!** -### Floodagte -为进一步兼容, 你需要安装 [Floodgate](https://geysermc.org/download#floodgate) -[什么是Floodgate?有什么用?](https://docs.superiormc.cn/v/geyser-wiki/floodgate-wiki/zhu-ye) -```yaml -# Floodgate 在基岩用户名前面添加前缀以避免冲突 -# 但是,某些冲突可能会导致某些插件出现问题,因此可以使用以下属性配置此前缀 -# 建议使用不包含字母数字的前缀,以避免出现重复用户名的可能性。 -username-prefix: "." -``` +## Floodagte +为进一步兼容, 你需要安装 [floodgate](https://geysermc.org/download#floodgate) +floodgate可作为一个插件安装到Spigot及其分支的核心上或BungeeCord, Velocity之类的代理上 +群组服/独立版Geyser 的floodgate安装需要进行一些额外步骤, 请跟随教程完成 -:::danger +:::warning -设置前缀后最好不要更改 +纯模组端无法使用floodgate, 不要考虑 ::: +floodgate是一个允许 **Minecraft 基岩版** 帐号加入 **Minecraft Java版** 正版服务器而无需其**正版账号**的混合模式插件 + +但**不止于此** + +它还允许: +* 让Java版玩家看到基岩版玩家的皮肤 +* 向基岩版玩家发送BE Form UI (基岩版独有的一种菜单格式) +* 允许基岩版玩家与Java版玩家进行账号数据间的连接 +* 提供一个通用的API, 使更多插件可以兼容基岩版玩家 +* 以基岩版XUID作为UUID储存数据, 使在基岩版玩家改名后不丢失数据 + +所以就算**非正版服务器**, 也有**必要**安装此插件来获取更强大的兼容性 + +### 基础配置 +:::warning + +由于floodgate在设计时并未考虑离线服务器 +接下来的教程中将告诉你如何进行调整以更好的适配离线服 + +::: + +:::warning + +若你在使用独立版Geyser或群组服, 请翻到下方跟随对应教程完成安装 + +::: + +安装floodgate后, 打开配置文件, 注意到以下项 + +```yaml +username-prefix: "." +``` + +这是floodgate为了区分基岩版玩家和Java版玩家, 而在基岩版玩家名称前添加的前缀 + +为什么? + +因为在安装floodgate后, 基岩版玩家的UUID将会和Java版玩家有很大不同 +若是遇到重名, 则会出现一个ID拥有两个完全不同的UUID, 这可能会发生一些无法预知的错误 +而使用"."前缀是因为Java正版玩家名中不可使用"." + +**但是** +这在离线服中,有几个问题: +* 离线服玩家名是可以任意修改的, 所以Java玩家一样可以使用相同前缀进入服务器 +* 部分登录插件会禁止诸如带有"."玩家名的玩家进入服务器, 这会导致基岩版玩家无法进入服务器 + +接下来我们来解决这些问题 + +要解决第一个问题, 由于离线服务器玩家可以使用任何名称进入服务器, 我们可以选择禁止所有使用基岩版玩家名前缀的Java玩家进入服务器 + +**此部分未完工, 咕咕咕!** + +在第一个问题解决后, 我们可以使用任意前缀作为基岩版玩家的区分 +于是将前缀修改为诸如"BE_"这类的合法字符即可解决第二个问题 + +```yaml +username-prefix: "BE_" +``` + +### 独立版Geyser配置 +首先, 按照基础配置在目标服务器安装floodgate +然后注意到floodgate配置文件夹下, 理应会生成一个叫key.pem的文件 +将其复制到独立版Geyser配置文件夹下 + +然后来到Geyser配置文件 + +找到Remote项中的 **`auth-type`**, 并将其改为 **`floodgate`** +```yaml +remote: + auth-type: floodgate +``` +若Geyser已开启, 则重启Geyser即可完成配置 + +### 群组服配置 +首先, 在群组端安装floodgate, 并按照基础配置完成安装 +:::warning + +不要将子服中的floodgate配置直接复制到群组服, 会缺少某个重要项 + +::: + +接下来来到群组服的floodgate配置 +找到**`send-floodgate-data`**这一项, 将其修改为true +```yaml +send-floodgate-data: true +``` + +这样子服就可以接收到来自群组服的基岩版玩家数据了 +请注意在开启此项后, 若子服不安装floodgate则基岩版玩家则无法进入子服 +但是此项很重要, 若不开启, 则在子服中floodgate不起效果 + +接下来, 在子服一一安装floodgate并确保和群组服的floodgate配置一致 +然后注意到群组端floodgate配置文件夹下, 理应会生成一个叫key.pem的文件 +用群组服的key.pem将子服中的key.pem覆盖, 确保key.pem完全相同 + +即可完成群组端配置 + +## 结尾 恭喜你,配置完毕!!,开始和你的好友一起玩吧 \ No newline at end of file