Merge branch 'main' of github.com:postyizhan/NitWikit

This commit is contained in:
postyizhan 2024-06-08 23:50:20 +08:00
commit 8d190924f4
2 changed files with 64 additions and 60 deletions

View File

@ -18,13 +18,15 @@ Geyser有以下版本类型:
其中:
Spigot版本 可以作为插件安装在以Spigot及其分叉(如Paper)为核心的服务端上
BungeecordVelocity和ViaProxy版本 可以作为插件安装在这些代理端上
Fabric和NeoForge版本 可以作为模组安装在这些模组端上
Standalone版本 可以作为一个独立的代理端启动
## 挑选版本
在安装前你需要找到合适的Geyser版本
你可以参考下图:
在安装前你需要找到合适的Geyser版本你可以参考下图:
![version](_image/VersionChoose.png)
@ -40,12 +42,12 @@ Standalone版本 可以作为一个独立的代理端启动
### 其他版本
作为插件或模组安装到对应文件夹即可
### 独立版
独立版作为一个单独的服务端
你可以参考 [此处](/docs/正式开服/开启服务端.md) 的开启方法
独立版作为一个单独的服务端,你可以参考 [此处](/docs/正式开服/开启服务端.md) 的开启方法
## 配置
找到配置文件夹下的config.yml
(什么,你连配置文件夹都找不到? 那你真是连笨蛋都不如配置文件在对应版本Geyser名称的文件夹下一般开启服务器后都会生成)
:::danger
@ -54,13 +56,11 @@ Standalone版本 可以作为一个独立的代理端启动
:::
第一眼你可能会被全是英文的配置文件镇住
别急,善用翻译来理解配置文件中的注释
**在完成本教程的基础配置配置后,若需进阶,请参考 [此处](https://docs.superiormc.cn/v/geyser-wiki/user-guide/li-jie-pei-zhi) 的配置参考**
第一眼你可能会被全是英文的配置文件镇住,别急,善用翻译来理解配置文件中的注释,**在完成本教程的基础配置配置后,若需进阶,请参考 [此处](https://docs.superiormc.cn/v/geyser-wiki/user-guide/li-jie-pei-zhi) 的配置参考**
接下来回到配置映入你眼帘的应该是bedrock和remote两个大项
bedrock所代表的是你所开放的端口也是基岩版玩家看到的那个
remote是连接的目标服务器若不使用独立版此选项无效请不要随意更改
接下来回到配置映入你眼帘的应该是bedrock和remote两个大项:
bedrock所代表的是你所开放的端口也是基岩版玩家看到的那个remote是连接的目标服务器若不使用独立版此选项无效请不要随意更改
```yaml
bedrock:
@ -85,13 +85,18 @@ remote:
```
### Bedrock项
**`port`**: 其代表你向基岩版玩家所开放的端口在设置端口时请不要低于10000
**`motd1`** 和 **`motd2`**: 其代表向基岩版玩家所显示的MOTD可根据你的喜好配置仅支持最基础的颜色符号
**`server-name`**: 基岩版所看到的服务器名称,在暂停菜单和设置中可见
### Remote项
**若不使用独立版请忽略!**
**`address`**: 其代表目标服务器的地址若目标服务器和Geyser处于同一服务器下请不要更改
**`port`**: 请和目标服务器对外开放的端口一致
**`auth-type`**: 有offlineonline和floodgate模式offline和online分别对应离线和正版你目标服务器用的什么就选什么floodgate会在后续教程中解释
### 其他项
@ -112,23 +117,26 @@ above-bedrock-nether-building: false
```
**`passthrough-motd`**: 把Java版本的MOTD发送给基岩版
**`passthrough-player-counts`**: 将玩家数量和最大玩家数量发给基岩玩家
**`show-cooldown`**: 由于基岩版没有战斗冷却此功能会模拟一个冷却提示器你可以设置为title(小标题)actionbar(物品栏上方的标题) 或 false(关闭)
**`show-coordinates`**: 是否向玩家显示坐标
**`above-bedrock-nether-building`**: 开启后你将被允许在下届高度127以上建造缺点是整个下界中雾的颜色不再可变将一直是红色
:::warning
若你在使用模组端Geyser那接下来的教程就和你无关了(包括进阶)因为模组端geyser根本不能实现这些功能
:::
## Floodagte
为进一步兼容,你需要安装 [floodgate](https://geysermc.org/download#floodgate)
floodgate可作为一个插件安装到Spigot及其分支的核心上或BungeeCordVelocity之类的代理上
群组服/独立版Geyser 的Floodgate安装需要进行一些额外步骤请跟随教程完成
:::warning
纯模组端无法使用Floodgate不要考虑
:::
Floodgate是一个允许 **Minecraft 基岩版** 帐号加入 **Minecraft Java版** 正版服务器而无需其**正版账号**的混合模式插件
但**不止于此**
@ -142,13 +150,13 @@ Floodgate是一个允许 **Minecraft 基岩版** 帐号加入 **Minecraft Java
所以就算**非正版服务器**,也有**必要**安装此插件来获取更强大的兼容性
此外Floodgate有个小缺点在安装之后你无法直接使基岩版玩家和Java版玩家数据互通
这将在进阶教程中给出两个可行的解决办法
此外Floodgate有个小缺点在安装之后你无法直接使基岩版玩家和Java版玩家数据互通这将在进阶教程中给出两个可行的解决办法
### 基础配置
:::warning
由于Floodgate在设计时并未考虑离线服务器
接下来的教程中将告诉你如何进行调整以更好的适配离线服
:::
@ -169,9 +177,7 @@ username-prefix: "."
为什么?
因为在安装Floodgate后基岩版玩家的UUID将会和Java版玩家有很大不同
若是遇到重名则会出现一个ID拥有两个完全不同的UUID这可能会发生一些无法预知的错误
而使用"."前缀是因为Java正版玩家名中不可使用"."
因为在安装Floodgate后基岩版玩家的UUID将会和Java版玩家有很大不同若是遇到重名则会出现一个ID拥有两个完全不同的UUID这可能会发生一些无法预知的错误而使用"."前缀是因为Java正版玩家名中不可使用"."
**但是**
这在离线服中,有几个问题:
@ -192,13 +198,12 @@ username-prefix: "BE_"
```
### 独立版Geyser配置
首先按照基础配置在目标服务器安装Floodgate
然后注意到Floodgate配置文件夹下理应会生成一个叫key.pem的文件
将其复制到独立版Geyser配置文件夹下
首先按照基础配置在目标服务器安装Floodgate然后注意到Floodgate配置文件夹下理应会生成一个叫key.pem的文件将其复制到独立版Geyser配置文件夹下
然后来到Geyser配置文件
找到Remote项中的 **`auth-type`**,并将其改为 **`floodgate`**
```yaml
remote:
auth-type: floodgate
@ -207,25 +212,22 @@ auth-type: floodgate
### 群组服配置
首先在群组端安装Floodgate并按照基础配置完成安装
:::warning
不要将子服中的Floodgate配置直接复制到群组服会缺少某个重要项
:::
接下来来到群组服的Floodgate配置
找到 **`send-floodgate-data`** 这一项将其修改为true
接下来来到群组服的Floodgate配置,找到 **`send-floodgate-data`** 这一项将其修改为true
```yaml
send-floodgate-data: true
```
这样子服就可以接收到来自群组服的基岩版玩家数据了
请注意在开启此项后若子服不安装Floodgate则基岩版玩家则无法进入子服
但是此项很重要若不开启则在子服中Floodgate不起效果
这样子服就可以接收到来自群组服的基岩版玩家数据了请注意在开启此项后若子服不安装Floodgate则基岩版玩家则无法进入子服但是此项很重要若不开启则在子服中Floodgate不起效果
接下来在子服一一安装Floodgate并确保和群组服的Floodgate配置一致
然后注意到群组端Floodgate配置文件夹下理应会生成一个叫key.pem的文件
用群组服的key.pem将子服中的key.pem覆盖确保key.pem完全相同
接下来在子服一一安装Floodgate并确保和群组服的Floodgate配置一致然后注意到群组端Floodgate配置文件夹下理应会生成一个叫key.pem的文件用群组服的key.pem将子服中的key.pem覆盖确保key.pem完全相同
即可完成群组端配置

View File

@ -21,51 +21,53 @@ sidebar_label: 领地 - Residence
:::
一个具有13年以上悠久开发历史的老牌领地插件
一个具有13年以上悠久开发历史的老牌领地插件
最初由bekvon维护后由Zrips团队接手维护并将其变更为“开源付费”的插件
## 免费下载
你仍可以从SpigotMC或Zrips官网中找到Residence最新版本免费下载的链接
你仍可以从SpigotMC或Zrips官网中找到Residence最新版本免费下载的链接
## 前置
Residence 需要 CMIlib 作为前置插件
下载:
* [SpigotMC](https://www.spigotmc.org/resources/cmilib.87610/)
Residence 需要 CMIlib 作为前置插件
下载:
* [SpigotMC](https://www.spigotmc.org/resources/cmilib.87610/)
* [Zrips官网](https://www.zrips.net/cmilib/)
## 优点与缺点
首先,在说明优缺点前,提前说明一件事: 这个插件的缺点远大于优点,若无必要建议考虑其他插件
首先,在说明优缺点前,提前说明一件事: 这个插件的缺点远大于优点,若无必要建议考虑其他插件
### 缺点
先说缺点
作为一个老牌的领地插件,其拥有悠久的历史
当然,其代码也是,但这对于代码质量来说并不是一件好事
**参差不齐的代码格式、凌乱的逻辑、十几年来从未重构过的代码**等
这使得该插件所隐藏的潜在问题或漏洞相当多,例如在后续会提到的负数刷钱漏洞
先说缺点
Residence在开发之初使用Ant作为其构建系统而不是现在常见的Maven和Gradle
Ant构建系统的相关构建信息存储在build.xml之中
在Zrips团队接手后也并似乎在明面上未改变其构建系统**但是他们删除了build.xml**
这使得直接构建Residence变得困难尤其是一个软依赖了不知道多少冷门插件的屎山
这也是为什么Residence会被人称作“**假开源**”
我们并不清楚Zrips团队删除构建信息的动机在哪里但是可以从相关issues了解到的是
在他们删除build.xml前build.xml就已不能正常完成构建Residence的任务了
不过也有人试图为Residence添加Maven构建文件使其能更轻松的被构建和维护
你可以在 [此处](https://github.com/RenYuan-MC/Residence-Maven) 找到带有Maven构建文件pom.xml的仓库
作为一个老牌的领地插件,其拥有悠久的历史,当然,其代码也是,但这对于代码质量来说并不是一件好事,这导致了**参差不齐的代码格式、凌乱的逻辑、十几年来从未重构过的代码**等
这使得该插件所隐藏的潜在问题或漏洞相当多,例如在后续会提到的负数刷钱漏洞
Residence在开发之初使用Ant作为其构建系统而不是现在常见的Maven和GradleAnt构建系统的相关构建信息存储在build.xml之中在Zrips团队接手后也并似乎在明面上未改变其构建系统**但是他们删除了build.xml**这使得直接构建Residence变得困难尤其是一个软依赖了不知道多少冷门插件的屎山
这也是为什么Residence会被人称作“**假开源**”
我们并不清楚Zrips团队删除构建信息的动机在哪里但是可以从相关issues了解到的是在他们删除build.xml前build.xml就已不能正常完成构建Residence的任务了不过也有人试图为Residence添加Maven构建文件使其能更轻松的被构建和维护
你可以在 [此处](https://github.com/RenYuan-MC/Residence-Maven) 找到带有Maven构建文件pom.xml的仓库
### 优点
作为一个老牌插件,其知名度较高,由于大量服务器的使用
使得很多玩家对Resience的了解较多
在他们看来Residence相较其他插件的逻辑是更简单更易于上手的
且作为一个老牌插件,其插件的支持较多,出现插件之间互相不兼容的可能性更少
作为一个老牌插件其知名度较高由于大量服务器的使用使得很多玩家对Resience的了解较多
在他们看来Residence相较其他插件的逻辑是更简单更易于上手的
且作为一个老牌插件,其插件的支持较多,出现插件之间互相不兼容的可能性更少
## 漏洞
作为一个老插件,其被发现的漏洞数不胜数
当然,你可以禁用所有不常用的功能来避免潜在漏洞发生
作为一个老插件,其被发现的漏洞数不胜数
当然,你可以禁用所有不常用的功能来避免潜在漏洞发生
这里只介绍一个最近的、影响较大的漏洞
### 负数刷钱漏洞