kether教学 & 修复构建 Warnings & 优化部分基岩版文档语句 (#158)

* trm语法提示插件

* kether教学

* 修复构建

* 修复构建

* 修复构建

* 修复构建

* [Postyizhan 分支] 修复构建 Warnings & 优化部分基岩版文档语句 (#159)

* 补上上次忘记的链接

* 错字修复

* 这俩怎么不打勾

* 修复构建 Warnings & 优化部分基岩版文档语句

---------

Co-authored-by: postyizhan <185839426@qq.com>

---------

Co-authored-by: “postyizhan” <“185839426@qq.com”>
Co-authored-by: 梦涵LOVE <2193438288@qq.com>
This commit is contained in:
驿站 2024-07-30 13:40:13 +08:00 committed by GitHub
parent bdd77d3e43
commit 7b676759eb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
40 changed files with 580 additions and 47 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 291 KiB

After

Width:  |  Height:  |  Size: 282 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 294 KiB

After

Width:  |  Height:  |  Size: 453 KiB

View File

@ -61,13 +61,13 @@ import TabItem from '@theme/TabItem';
## 寿终正寝の加载器
<Tabs queryString="plugins-loader">
<TabItem value="liteloader" label="LiteLoader">
| 插件加载器 | 别名LLLLv2LXL[详情点我](#litexloader-合并至-liteloader2022--2--12-日) |
| 插件加载器 | 别名LLLLv2[详情点我](#litexloader-合并至-liteloader2022年2月12日) |
| --- | --- |
| 名称 | [LiteLoaderBDS](https://github.com/LiteLDev/LiteLoaderBDSv2/) |
| 作者 | [LiteLDev](https://github.com/LiteLDev) |
| 介绍 | LiteLoaderBDSv2 是一款专为 BDS 编写的插件加载器旨在弥补官方行为包开发接口的不足。LiteLoaderBDSv2 支持多种编程语言编写插件,并保证了插件开发与维护的便利性 |
| 推荐与否 | 非常不推荐 |
| 理由 | 插件生态无可厚非,没人会否定它的巅峰时代,可惜岁月不饶人啊...如果你服务器愿意在此版本区间便罢了,因为不好找插件了 |
| 理由 | 插件生态无可厚非,没人会否定它的巅峰时代,可惜岁月不饶人啊...如果你服务器愿意在此版本区间便罢了,因为不好找插件了[详情点我](#liteloader-宣布停更2023年10月份) |
| 下载 | [GitHub 下载](https://github.com/LiteLDev/LeviLamina/releases) |
| 支持的 MC 版本 | 1.16.210-1.20.31.01(已存档)[^Archived] |
</TabItem>
@ -78,7 +78,7 @@ import TabItem from '@theme/TabItem';
| 作者 | [LiteDev](https://github.com/LiteLDev) |
| 介绍 | LiteXLoader 是一款专为 LiteLoader 编写的拓展类插件加载器,旨在弥补 LiteLoader 可开发语言的不足。LiteXLoader 支持多种编程语言编写插件,并保证了插件开发与维护的便利性,例如拓展支持 Node-Js、Python、Qucik-Js 的开发 |
| 推荐与否 | 非常不推荐 |
| 理由 | 后续合并到 LiteLoader 中。[详情点我](#litexloader-合并至-liteloader2022--2--12-日) |
| 理由 | 后续合并到 LiteLoader 中。[详情点我](#litexloader-合并至-liteloader2022年2月12日) |
| 下载 | [Github 下载](https://github.com/EndstoneMC/endstone/releases) |
| 支持的 MC 版本 | 1.20.71 - 1.21.2(已存档)[^Archived] |
</TabItem>
@ -86,7 +86,7 @@ import TabItem from '@theme/TabItem';
## 相关历史
### PDB 事件
### PDB 事件2024年6月6日
此文段部分引用自 B站 Dofes 与 MRUIAW 的合作视频,稍作了修改。
[Mojang删除了对基岩版最重要的东西...](https://www.bilibili.com/video/BV1GS421o7Dz/)
@ -112,7 +112,7 @@ import TabItem from '@theme/TabItem';
不过,[EndStone](./plugins-loader-choose.md?plugins-loader=endstone#热门加载器) 的出现貌似给基岩版服务端带来了希望。
### LiteLoader 宣布停更2023 10 月份)
### LiteLoader 宣布停更2023年10月份
LiteLoaderBDS 最初是基于 BedrockX 开发的,在 2.0 版本进行了完全重写。它一直处于存档状态,是以前最流行的 BDS 插件加载器之一。最后的版本是 2.16.2,发布于 2023 年 10 月 9 日,支持 BDS 1.20.32 版本。
一代骄子难道就此陨落了?
@ -122,7 +122,7 @@ LiteLoaderBDS 最初是基于 BedrockX 开发的,在 2.0 版本进行了完全
所以并不是 LiteDev 扔下史山跑路了(这是官方原话自嘲),而是着手重构 LiteLoader预计在未来发布 LiteLoaderBDSV3即 LeviLamina。
### LiteXLoader 合并至 LiteLoader2022 2 12 日)
### LiteXLoader 合并至 LiteLoader2022年2月12日
LiteXLoader 于 2022 年 2 月 12 日 合并至 LiteLoader 项目LXL成为LL的一个子模块。 LiteLoaderBDS将继续更新作为C++、Go、Js、Lua和其他语言的通用加载器。所有以前的LXL插件将继续在新的LL版本下正常运行所有现有的API将保持不变。

View File

@ -18,7 +18,7 @@ sidebar_position: 1
**建议阅读**
- [TODO](#插件) - TODO...
- [TODO](#) - TODO...
import DocCardList from '@theme/DocCardList';

View File

@ -6,7 +6,7 @@ sidebar_position: 2
# Velocity
[点此跳转到官方英文文档](https//docs.papermc.io/velocity)
[点此跳转到官方英文文档](https://docs.papermc.io/velocity)
# 关于 Velocity 的介绍
@ -88,7 +88,7 @@ Can't connect to server lobby This server requires you to connect with Veloci
一句话, Mod 太多太大导致连接时间延长了。你可以减少服务器的 Mod 数量或者在 Velocity 配置文件中设置 `read-timeout` 的值,同时在你的 Forge 子服的启动参数中添加 `-Dfml.readTimeout` 参数来提高阈值。比如,你想设置你的 readTimeout 时间到 120 秒
那么你可以设置:
`read-timeout = 120000` (单位:毫秒)
`read-timeout = 120000` (单位:毫秒)
`-Dfml.readTimeout=120` (单位:秒)
@ -98,7 +98,7 @@ Can't connect to server lobby This server requires you to connect with Veloci
不行,至少现在不行,你只能在 `velocity.toml` 中设置一个单一的转发模式
关于各个不同的转发模式,可以看到这里 [搭建](docs-java\advance\cross-server\build-up\Velocity\build-up.md##子服配置)
关于各个不同的转发模式,可以看到这里 [搭建](./build-up.md#子服配置)
有大佬提出了关于这个问题的 [PR](https://github.com/PaperMC/Velocity/pull/1357)

View File

@ -11,11 +11,11 @@ sidebar_position: 1
## HuskChat
同 [Velocity 一侧的讲解](velocity.md#HuskChat)
同 [Velocity 一侧的讲解](velocity.md#huskchat)
## Sonar
同 [Velocity 一侧的讲解](velocity.md#Sonar)
同 [Velocity 一侧的讲解](velocity.md#sonar)
## AuthMeBungee

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -0,0 +1,184 @@
---
title: 基础
sidebar_position: 2
---
# 动作
> 动作,又称语句
我们先了解几个简单的语句
## 输出文本tell
> https://kether.tabooproject.org/list.html#Tell
![](_images/vul-tell.png)
:::note
非调试(/vul evel是不会看到这个的
![](_images/result.png)
也就是说你的玩家在用你写好的配置时是不会看到这个信息的
:::
然而,他不能搞颜色
![](_images/vul-tell_noColor.png)
## 彩色color Text
> https://kether.tabooproject.org/list.html#Color_Text
![](_images/vul-color.png)
我们可以用 color 动作搞颜色
这里要用 `" "` 把要打印的信息包裹起来
否则他会把这个当成变量,具体的会在后面讲到
:::note
值得一提的是Invero插件会自动翻译tell中的颜色内联papi
:::
## 语句的连用
![](_images/vul-tell_color.png)
我们同时使用了 tell 和 color 两个语句,打印了带颜色的信息给玩家看
## 语句的返回值
![](_images/vul-color.png)
在使用 `/vul evel` 时,语句的返回值会在 `< > Result:` 显示
于是我们可以知道执行顺序为color -> tell
那么如果我们把 `tell` 的返回值打印呢
![](_images/vul-tell_color.png)
![](_images/痴呆.jpg)
## \{action\}\{token\}和Literal
查阅 https://kether.tabooproject.org/list.html 我们可以发现
它给出的示例中经常出现 `{action}``{token}`
比如 `Tell` 动作的:
![](_images/web-tell.png)
用我浅显的理解:
- `{action}` 这里要写一个语句
- `{token}` 写固定不变的内容
所以在 [语句的连用](#语句的连用) 那里,我们可以在 `tell` 后面接一个 `color` 动作
那么问题来了,为什么在 [Tell](#输出文本tell) 那里可以接一句话此处写了个1
![](_images/vul-tell.png)
因为在这个示例中kether找不到名为 `1` 的动作,所以用了 `Literal` 动作将他转为字符串
> https://kether.tabooproject.org/list.html#Literal
它给出的使用方式:`literal {token} | {token}`
两种使用方式,特别是后一种,你随便写点啥,只要不是已有的动作,它最后就会被转为字符串
## 变量PlaceholderAPI
> https://kether.tabooproject.org/list.html#PlaceholderAPI
使用一个papi变量
![](_images/vul-papi.png)
```
papi {action} | placeholder {action}
```
papi是简写
## inline和join
![](_images/vul-tell_papiNoInline.png)
假如你用的那个插件不会给你自动翻译语句中的papi阁下又当如何应对
> https://kether.tabooproject.org/list.html#Inline
`内联inline` 语句!在一段文本中插入 kether
用法为:
```
inline "阿巴阿巴{{你要用的kether}}qwq"
```
比如上面的案例中,可以这样做
```
/vul eval tell inline "我叫{{papi %player_name%}},我今年{{papi %player_level%}}级了"
```
![](_images/vul-tell_papiWithInline.png)
> https://kether.tabooproject.org/list.html#Join
`join` 则是可以把多个语句拼接在一起,很多时候 `inline``join` 可以互相替代
用法为:
```
join [ 语句1 语句2 语句3 更多语句 ]
```
语句之间要空格
在上面的案例中,可以这样做
```
/vul eval tell join [ "我叫" papi %player_name% ",我今年" papi %player_level% "级了" ]
```
![](_images/vul-tell_papiWithJoin.png)
## 玩家名称
### Name
> https://kether.tabooproject.org/list.html#Name
```
player [(display|list) ] name
```
### Sender
> 该语句没有在官方文档中给出
> 它的作用是获取脚本执行者的名字。跟 player name 作用类似,它也能用来获取玩家的名字,并且都没有参数。
> 除此之外当控制台作为脚本执行者时它还能获取控制台的名字console只不过这并没有什么用而已。
> 但它的优点在于不依赖玩家执行,相对来说会比 player name 更安全保守一些。
> 摘自 https://www.yuque.com/sacredcraft/kether/action-start#su0PY
### papi %player_name%
你已经见过了
### 使用案例
```
/vul eval tell inline "我叫{{player name}}!我叫{{sender}}!!我真的叫{{papi %player_name%}}"
```
![](_images/vul-tell_name.png)

View File

@ -0,0 +1,251 @@
---
title: 逻辑判断
sidebar_position: 3
---
# 逻辑判断
## 布尔值boolean
它只有两个取值,即 **真true** 和 **假false**
或者说,**是true** 和 **否false**
## 权限判断Permission
> https://kether.tabooproject.org/list.html#Permission
判断玩家是否拥有某权限,如果是,则返回 **true** ,否,则返回 **false**
![](_images/vul-perm.png)
我是op所以我拥有此权限返回了 true
同 [PlaceholderAPI](basic.md#变量placeholderapi) 一样,**Permission** 也有一个简写 **perm**
## 判断为否Not
上面是判断拥有此权限,那么我如何判断不拥有此权限呢?
![](_images/vul-permNot_1.png)
![](_images/正经笑.jpg)
咳咳,开玩笑的,驿站怎么可能用过这么傻逼的写法呢
![](_images/冒汗.jpg)
> https://kether.tabooproject.org/list.html#Not
> 判断动作的返回值是否为否,即否定动作的结果。
![](_images/vul-permNot_2.png)
因为我拥有此权限,所以 prem 判断是 true
接着因为 not最后的结果是 false
prem -> not
## 判断Check
> https://kether.tabooproject.org/list.html#Check
```
check 动作1 {symbol} 动作2
```
判断 动作1 与 动作2 的关系
具体判断关系由中间的符号参数 Symbol 决定
1. 等于(==、is指两个值字面意思上相同。
2. 不等于(!=、not指两个值字面意思上不同。
3. 相似等于(=?、is?):指两个值字面意思上忽略大小写的条件下相同。
4. 绝对等于(=!、is!):指两个值内存路径上相同。
5. 大于(>、gt指第一个值大于第二个值。
6. 大于等于(>=):指第一个值大于或等于第二个值。
7. 小于(\<、lt指第一个值小于第二个值。
8. 小于等于(\<=):指第一个值小于或等于第二个值。
9. 右含左in左侧 action A 的返回值是否属于右侧 action B 返回值的内容之一
10. 左含右has左侧 action A 是否含有右侧 action B 内容
![](_images/vul-check.png)
## 分支判断if esle
> https://kether.tabooproject.org/list.html#If_&_Else
### 单分支
```
/vul eval if 条件 then 执行的动作
```
条件判断为 **true** 则执行 then 后面的动作
注:这里的条件也是指动作,即 动作的返回值为 **true** 则执行 then 后面的动作
![](_images/if_1.png)
上面只是执行单个动作,那么,如何让他判断 **true** 后执行多行动作?
```
if 条件 then {
语句1
语句2
语句3
}
```
### 双分支
```
/vul eval if 条件 then true执行的动作 else false执行的动作
```
- 条件为 true 执行 then 后面的动作
- 条件为 false 执行 else 后面的动作
执行多行动作
```
if 条件 then {
语句1
语句2
} else {
语句3
语句4
}
```
### 多分支
if动作的连续使用
```
/vul evel if 条件1 then 动作1 else if 条件2 then 动作2 else if 条件3 then 动作3
```
多行语句
```
if 条件1 then {
动作1
动作2
} else if 条件2 then {
动作3
动作4
} else if 条件3 then {
动作5
动作6
}
```
## 多分支Case & When
> https://kether.tabooproject.org/list.html#Case_&_When
#### 单动作
```
if check player name == postyizhan then tell "是驿站!"
else if check player name == lilingfeng then tell "是驿站的黑奴"
else if check player name == MC_jiaolong then tell "这也是黑奴"
else tell"这谁啊"
```
上面的改成 Case & When 就是
```
case player name [
when postyizhan -> tell "是驿站!"
when lilingfeng -> tell "是驿站的黑奴"
when MC_jiaolong -> tell "这也是黑奴"
else tell "这谁啊"
]
```
#### 多动作
当然他也可以写多行动作
```
case player name [
when postyizhan -> {
tell "是驿站!"
tell "驿站请和我结婚"
}
when lilingfeng -> tell "是驿站的黑奴"
when MC_jiaolong -> tell "这也是黑奴"
else tell "这谁啊"
]
```
#### 逻辑判断
他还可以进行逻辑判断!
单动作和多动作放一起展示了
```
case 1 [
when < 10 -> {
tell "这个数比10小"
}
when > 10 -> log "这个数比10大"
else log "一样大"
]
```
## 多条件判断
### 全部满足All
> https://kether.tabooproject.org/list.html#All
> 判断动作列表的所有返回值是否均为是。
```
all [ 动作1 动作2 动作3 更多 ]
```
例如:
```
/vul eval if all [ perm vulpecula.command not perm luckperms.editor ] then tell 通过 else 不通过
```
玩家拥有权限 vulpecula.command 没有权限 luckperms.editor 则通过,否则不通过
![](_images/if_2.png)
### 一个满足Any
> https://kether.tabooproject.org/list.html#Any
> 判断动作列表的所有返回值是否含有是。
```
any [ 动作1 动作2 动作3 更多 ]
```
例如:
```
/vul eval if any [ perm vulpecula.command not perm luckperms.editor ] then tell 通过 else 不通过
```
*玩家拥有权限 vulpecula.command* 和 *没有权限 luckperms.editor* 满足其中一个或多个就通过
![](_images/if_3.png)
### 妙妙写法
```
all [ 条件1 条件2 ]
any [ 条件1 条件2]
### 等价于
all [
条件1
条件2
]
any [
条件1
条件2
]
```

View File

@ -1,6 +1,6 @@
---
title: 数学运算
sidebar_position: 2
sidebar_position: 5
---
# 数学运算
@ -36,27 +36,25 @@ math / [ 6 2 ]
math 1 + 3 * 5 / 6 - 2
```
当然也可以用上一节学到的变量来运算
```
/vul eval set a to 1 set b to 2 math &a - &b
```
![](_images/math_1.png)
## calc
详细请查看https://github.com/TabooLib/taboolib/blob/master/module/module-kether/src/main/kotlin/taboolib/module/kether/action/transform/ActionJexl3.kt
- 加法a + b
- 减法a - b
- 乘法a * b
- 除法a / b
- 幂运算(我测试不能使用):幂运算使用 `**` 符号,例如,计算 2 的 3 次方2 ** 3 。
- 开方我测试不能使用JEX 支持开方操作,例如,计算 9 的平方根sqrt(9) 。
- 取整(我测试不能使用):
- 取整操作可以使用 floor()、ceil() 或 round() 函数。
- floor(x):向下取整,返回不大于 x 的最大整数。
- ceil(x):向上取整,返回不小于 x 的最小整数。
- round(x):四舍五入,返回最接近 x 的整数。
- 取余:取余操作使用 % 符号。例如,计算 10 除以 3 的余数10 % 3。
当然也可以使用括号:
![](_images/括号.png)
![](_images/括号.png)

View File

@ -13,5 +13,3 @@ kether 并不是一个插件,而是使用 Taboolib 框架开发的插件(如
kether语句表https://kether.tabooproject.org/list.html
vscode插件-kether动作补全https://github.com/LiteCat0905/Kether-snippet
vscode插件-TrMenu v3语法提示https://marketplace.visualstudio.com/items?itemName=hhhhhy.trmenu-helper

View File

@ -0,0 +1,46 @@
---
title: 准备
sidebar_position: 1
---
# 安装教学插件
在本篇教程中,我将使用 [Vulpecula](https://www.yuque.com/lanscarlos/vulpecula-wiki-v2)
你可以点击 [此处](https://github.com/Lanscarlos/Vulpecula) 跳转到 GitHub ,从 Actions 中下载
或者加入他的 QQ交流群 759705478 从群文件下载
:::info
我们不学习此插件的更多使用方式
你只需要知道他可以 `/vul eval` 来执行 kether 和用他来注册命令
![](_images/vul-tell.png)
:::
:::info
**别的插件执行kether**
好吧如果你已经安装了其他可以用命令调试kether的插件......
**TrMenu v3**
> trm action 玩家ID 要执行的语句
**Invero**
> i dev runKether 要执行的语句
**chemdah**
> chs invoke tell 1
**其他插件**
> and more......
:::

View File

@ -0,0 +1,54 @@
---
title: 数据相关
sidebar_position: 4
---
# 数据相关
## 数据类型
<details>
<summary>点击展开</summary>
资料来自 https://www.runoob.com/java/java-basic-datatypes.html
## int
最小值是 -2,147,483,648-2^31
最大值是 2,147,483,6472^31 - 1
## long
最小值是 -9,223,372,036,854,775,808-2^63
最大值是 9,223,372,036,854,775,8072^63 -1
## float
float 数据类型是单精度、32位、符合IEEE 754标准的浮点数
float 在储存大型浮点数组的时候可节省内存空间;
## double
double 数据类型是双精度、64 位、符合 IEEE 754 标准的浮点数;
浮点数的默认类型为 double 类型;
## boolean
boolean数据类型表示一位的信息
只有两个取值true 和 false
这种类型只作为一种标志来记录 true/false 情况;
</details>
## 类型转换Type
> https://kether.tabooproject.org/list.html#Type
## 变量Variable
以后再写awa

View File

@ -702,7 +702,7 @@ tick-inactive-villagers: true
nearestlivingentitysensor: 40
```
> 当 [Pufferfish's DAB](#dabenabled) 启用时,不建议修改该项任何默认值。
> 当 [Pufferfish's DAB](#dab) 启用时,不建议修改该项任何默认值。
`acquirepoi`是村民最频繁的行为, 因此它的间隔已经大大增加了。 如果村民有寻路问题,请减少此项。

View File

@ -11,23 +11,23 @@ sidebar_position: 1
在此之前,请一定查看 [优化误区](optimized-plugin.md),停止此类无效"优化",然后根据下面的步骤进行操作。
# 第一步 - Java 优化
## 第一步 - Java 优化
为什么选择 Java 优化作为第一步 - 几乎任何情况下,服务器都会因为合适的 Java 受益,
仅仅需要你下载一个小小的 Java 安装程序,或者更改 JVM 参数(大白话来说就是开服参数)。
## 选择合适的 Java
### 选择合适的 Java
参考[ Java 下载及安装](https://yizhan.wiki/NitWikit/preparation/choose-and-download-and-install-java/)安装合适的 Java
## JVM 参数优化
### JVM 参数优化
可以在 [JVM 参数生成器](https://startmc.jakaco.xyz/)生成适合你服务器的基本 JVM 参数,然后复制并保存到你的启动脚本里,然后重启就完成了
别急,还有一些更高阶的参数。[JVM 优化](./jvm/jvm.md)
# 第二步 - 预生成
## 第二步 - 预生成
什么是预生成 - 预生成就是让服务器在玩家进入之前,预先生成区块对应方块、结构等。
@ -39,7 +39,7 @@ sidebar_position: 1
预生成时应该注意,默认情况 1.20 原版 1w x 1w 的地图需要 4-5 GB 硬盘。应根据硬盘大小选择世界的预生成大小。
# 第三步 - 更换核心
## 第三步 - 更换核心
在插件和配置层面能进行的优化其实不多(受限于 API 还有服务端核心),所以最好的方法是更换服务器核心。
@ -54,31 +54,31 @@ sidebar_position: 1
此处只是作为最基础的核心选择推荐,完整版请查看[核心选择](/docs-java/start/server-core-choose.md)
## Paper - 追求极致稳定 _推荐度 ★★★★☆_
### Paper - 追求极致稳定 _推荐度 ★★★★☆_
如果是第一次开服,或者追求稳定,请使用 Paper 。任何时候想更换其他核心可以随时更换如 Purpur / Leaf 等核心。
## Purpur - 稳定性与性能最佳选择 _推荐度 ★★★★★_
### Purpur - 稳定性与性能最佳选择 _推荐度 ★★★★★_
如果你并不是追求更极致的性能Purpur 你最好的选择只需要替换掉核心就可以Purpur 兼容全部插件!!
## Leaf - 极致性能 _推荐度 ★★★★☆_
### Leaf - 极致性能 _推荐度 ★★★★☆_
前往 Leaf 的 GitHub Action 下载最新核心,然后替换!!Leaf 兼容你的绝大部分插件(已知仅有一个不兼容,但在插件的分支解决)
## Folia - 硬件利用率超高的高性能,但兼容性较差 _推荐度 ★★★☆☆_
### Folia - 硬件利用率超高的高性能,但兼容性较差 _推荐度 ★★★☆☆_
如果你的服务器对插件的需求不大,或者你的插件已全部兼容 Folia ,那你就可以选择切换到这个核心,你的 tps 有绝对巨大的提升(甚至超过了 Leaf )
</details>
# 第四步 - 调整服务端配置
## 第四步 - 调整服务端配置
目前Bilibili 上面的配置都是很老的,不推荐使用
文档里的 [调服务端配置](go.md) 比较新,非常推荐
# 第五步 - 更换硬件
## 第五步 - 更换硬件
**不要无脑换硬件!** 首先要知道自己的硬件瓶颈在哪里。如果 CPU 负荷过高,建议先排除 CPU 异常占用,再看 CPU 总体占用情况。一般来说服务器卡顿换 CPU 是最有效的,单核性能和 MC 服务器 TPS 几乎呈线性相关,但是换 CPU 几乎就相当于要换一台机器,迁移对于新手来说并不是易事。
@ -92,13 +92,13 @@ sidebar_position: 1
:::
# 第六步 - 更换操作系统
## 第六步 - 更换操作系统
无论在性能还是稳定性, Linux 都比 Windows 更适合用于开服,对于 Linux 根据自己的使用经验选择即可,如果没有使用经验可以先使用 Ubuntu 等主流系统。
如果想要了解更多请前往进阶 [Linux 开服教程](https://yizhan.wiki/NitWikit/Sundry/Advance/Linux)
# 第七步 - 性能分析
## 第七步 - 性能分析
**“马克思主义活的灵魂在于对具体问题作具体分析。” - 列宁**

View File

@ -160,7 +160,7 @@ https://mineplugin.org/Multiverse-Core#%E4%BD%A0%E8%83%BD%E8%AE%A9%E6%AF%8F%E4%B
**安装papi的 Multiverse 扩展**
[点击此处](../Front-Plugin/PlaceHolderAPI/CommonUsage.md#multiverse-core)
[点击此处](../Front-Plugin/PlaceHolderAPI/CommonUsage.md#multiverse)
**设置别名**

View File

@ -34,6 +34,8 @@ sidebar_position: 4
`GitHub推荐社区维护` https://github.com/Dreeam-qwq/TrMenu
`vscode插件-trm语法提示` https://marketplace.visualstudio.com/items?itemName=hhhhhy.trmenu-helper
:::
交流群325014486

View File

@ -20,7 +20,7 @@ sidebar_position: 4
:::
# 支持的范围
## 支持的范围
插件版本的 via 支持以下版本进入服务器
@ -48,20 +48,20 @@ ViaRewind:1.7-1.8(进入高版本服务器)
你没看错ViaProxy 可以让 1.20.4 客户端进入 Classic 版本的服务器(后者大概发布于十年前),也可以让一个 JAVA 版玩家进入基岩版服务器,或者基岩版玩家进入 JAVA 版服务器!!!
# 笨蛋脚本
## 笨蛋脚本
[下载](https://github.com/lilingfengdev/NitWiki-Script/releases/download/windows-latest/via-setup.exe),为你自动配置 Via
# FAQ
## FAQ
## 用高版本进入低版本服务器,可用高版本的物品吗?
### 用高版本进入低版本服务器,可用高版本的物品吗?
会用材质差不多的低版本物品替换显示,但享受不到大部分高版本物品功能
## 我装了跨版本却还是显示版本不支持
### 我装了跨版本却还是显示版本不支持
该更新你的 Via 了Via 更新很频繁
## 低版本显示不了高版本的材质怎么办?
### 低版本显示不了高版本的材质怎么办?
原版插件不支持,但是可以通过手段绕过后面会讲(仅支持 1.16+