This commit is contained in:
minimouse0 2024-08-13 23:27:54 +08:00
parent e25ca26cef
commit 5525be6002
82 changed files with 1464 additions and 2720 deletions

View File

@ -20,7 +20,7 @@ sidebar_position: 1
# MineBBS
国内较为知名的综合性 Minecraft 论坛。
国内较为知名的综合性 Minecraft 论坛。曾以基岩版开服内容为主MCBBS 关闭后其 Java 版相关内容丰富了许多。
<details>
<summary>点击展开</summary>
@ -80,7 +80,15 @@ sidebar_position: 1
<details>
<summary>连不上怎么办</summary>
使用魔法或者[点击此处](https://cn.bing.com/search?q=%E8%BF%9E%E4%B8%8D%E4%B8%8AGitHub%E6%80%8E%E4%B9%88%E5%8A%9E)
这是由于 GitHub 是开放的外国网站,网站上时不时会有一些不能在此讨论的内容,所以运营商会刻意地屏蔽这个网站,在很多时候都不能正常访问。具体的表现如下:[只要Github域名指向任意IP该IP的443端口就会超时3分钟](https://blog.csdn.net/weixin_43659597/article/details/118882176)。
有以下几种解决办法:
1. 魔法
2. [改hosts](https://www.cnblogs.com/eudaimonia/p/16001981.html#1034247326)
3. [Watt Toolkit](https://steampp.net/):下载安装完成后,在左侧侧边栏切换到**网络加速**,点击**平台加速(免费)**往下翻勾上GitHub然后点击**一键加速**随后就可以正常访问GitHub了
<!--[点击此处](https://cn.bing.com/search?q=%E8%BF%9E%E4%B8%8D%E4%B8%8AGitHub%E6%80%8E%E4%B9%88%E5%8A%9E)-->
</details>

View File

@ -51,9 +51,9 @@ BDS服务端文件夹
## 根目录下的一些文件
:::warning
请不要让的服务端结构与文档解说结构有任何的 **缺少**,否则可能会出现 **玄学问题**
请不要让的服务端结构与文档解说结构有任何的 **缺少**,否则可能会出现 **玄学问题**
**一致认为** 有可删之处,那么以下是 **绝对可以删** 的服务端结构(反正每次开服都会检测是否有这些文件夹,如果没有还是会创建的)
**一致认为** 有可删之处,那么以下是 **绝对可以删** 的服务端结构(反正每次开服都会检测是否有这些文件夹,如果没有还是会创建的)
<details>
<summary>点击展开</summary>
@ -119,20 +119,20 @@ BDS服务端文件夹
---
- `allowlist.json`
- 白名单文件,列出了允许进入服务器的玩家列表。
- (如果您在 `server.properties` 中开启了白名单,您就可以在该文件中添加和管理谁被允许或不被允许进入服务器)。
- (如果你在 `server.properties` 中开启了白名单,你就可以在该文件中添加和管理谁被允许或不被允许进入服务器)。
---
- `bedrock_server.exe`
- 服务端启动程序,用于启动和运行《我的世界》基岩版服务器。
- 你可以改名叫任何名字(只要以 `.exe` 结尾就行),但不建议这么做,可能会导致成为后续操作报错的因素。例如:
1. 若使用 **面板** 开服,需要在对应的 **启动路径** 中修改服务端启动程序的文件名
2. 若使用 **启用脚本** 开服,需要在脚本对应位置的 **启动命令** 中修改 **启动程序的文件名****该服务端启动程序的文件名**bedrock_server.exe
- 你可以改名叫任何名字(只要以 `.exe` 结尾就行),但不建议这么做,可能会导致成为后续操作报错的因素。例如:
1. 若使用 **面板** 开服,需要在对应的 **启动路径** 中修改服务端启动程序的文件名
2. 若使用 **启用脚本** 开服,需要在脚本对应位置的 **启动命令** 中修改 **启动程序的文件名****该服务端启动程序的文件名**bedrock_server.exe
---
- `bedrock_server.pdb`
- 程序数据库文件,通常用于调试和错误分析。
---
- `bedrock_server_how_to.html`
- 如何使用BDS服务器的官方指南虽然说“没多大用处”,但它可能包含有关配置和运行服务器的有用信息。
- 如何使用BDS服务器的官方指南虽然说“没多大用处”,但它可能包含有关配置和运行服务器的有用信息。
- 有点用,但不多
---
- `permissions.json`
@ -152,7 +152,7 @@ BDS服务端文件夹
---
至此,大部分的以 BDS 为基础的服务器核心服务端的结构已经大致呈现在眼前。
至此,大部分的以 BDS 为基础的服务器核心服务端的结构已经大致呈现在眼前。
:::tip

View File

@ -13,7 +13,7 @@ sidebar_position: 1
![:NitWikit](https://count.kjchmc.cn/get/@:NitWikit)
如果您确定您符合条件,请点击一侧的目录开始阅读文档。
如果你确定你符合条件,请点击一侧的目录开始阅读文档。
# 更多

View File

@ -16,7 +16,7 @@ sidebar_position: 2
> 目前有五类主流的选择: 纯净服又名原版服Addon 服(仅 BDS插件服小游戏服插件服的一种Addon 和 插件混合服(仅 BDS
在 Minecraft 基岩版 的服务器世界中,有多种不同的服务器类型供腐竹选择。每种类型都有其独特的特点和玩法。以下是五种主流的服务器类型,帮助根据自己服务器的需求做出选择。
在 Minecraft 基岩版 的服务器世界中,有多种不同的服务器类型供腐竹选择。每种类型都有其独特的特点和玩法。以下是五种主流的服务器类型,帮助根据自己服务器的需求做出选择。
## 1. 纯净服(又名原版服)
### 定义
@ -72,4 +72,4 @@ Addon 服 是基于官方 BDS 的服务器,通过添加官方支持的 **Addon
### 适用对象
- 希望在保持官方特性的同时,拥有更多自定义玩法的玩家。
- 有经验的腐竹,能够处理 Addon 和 插件 的兼容性问题。
选择合适的服务器类型是打造成功 Minecraft 服务器的重要步骤。根据的目标、玩家群体和技术能力,合理选择服务器类型,为玩家创造一个有趣、稳定且充满活力的游戏环境。
选择合适的服务器类型是打造成功 Minecraft 服务器的重要步骤。根据的目标、玩家群体和技术能力,合理选择服务器类型,为玩家创造一个有趣、稳定且充满活力的游戏环境。

View File

@ -53,7 +53,7 @@ Icons:
![](_images/MiniMessage/展示.png)
记住 MiniMessage 语言使用标签,也就是说所做的一切都将使用标签进行定义。
记住 MiniMessage 语言使用标签,也就是说所做的一切都将使用标签进行定义。
对于 MiniMessage ,你必须要有一个开始标签 `<yellow>`,在非严格模式下,你可以省略结束标签 `</yellow>` ,如下:

View File

@ -135,7 +135,7 @@ ia的文档教了如何使用 [Google Drive](https://itemsadder.devs.beer/v/chin
resource-pack-sha1=
```
填入资源包的sha1就行,如果不知道怎么生成,你可以前往 [在线网站](https://www.strerr.com/cn/sha1_file.html),把你文件上传然后复制生成的哈希值到这里就可以
填入资源包的sha1就行,如果不知道怎么生成,你可以前往 [在线网站](https://www.strerr.com/cn/sha1_file.html),把你文件上传然后复制生成的哈希值到这里就可以
我们以 Slimefun 为例子

View File

@ -26,7 +26,13 @@ Minecraft 服务器用到的 YAML 语法都是非常非常基础的,只要了
- 缩进的空格数不重要,只要相同层级的元素左对齐即可
- `#` 表示注释
- 冒号后面有空格
- 字符串要加单引号
- 字符串要加单引号或双引号
:::info
在不涉及转义字符 (形如 \n, \r) 时,单双引号等价。
在部分特殊情况,字符串不需要加引号,仍然建议使用引号来减小歧义。
:::
:::info

View File

@ -12,14 +12,14 @@ sidebar_position: 2
### 对象
键值对的集合。
形如 `key: value` ,也可以形如 `key1: {key1: value1, key2: value2, ...}` 。
形如 `key: value` , 也可以形如 `key1: {key1: value1, key2: value2, ...}` 。
比如这里 `key` 是键`value` 是这个键的值 `: `(冒号后有个空格)被称为 `映射标记`
比如这里 `key` 是键, `value` 是这个键的值 `: `(冒号后有个空格)被称为 `映射标记`
### 数组
`-` 开头的行表示构成一个数组,数组是一组按次序排列的值。
YAML 支持多维数组,可以使用行内表示:`key: [value1, value2, ...]` 。
YAML 支持多维数组,可以使用行内表示:`key: [value1, value2, ...]` 。
这个写法相当于:
```yaml
@ -39,7 +39,7 @@ companies:
name: company2
price: 500W
```
意思是 companies 属性是一个数组,每一个数组元素又是由 id、name、price 三个属性构成。
意思是 companies 属性是一个数组,数组中的每一个元素又由 id, name, price 三个属性构成。
### 复合结构
数组和对象可以构成复合结构,例:
@ -56,14 +56,14 @@ websites:
Perl: use.perl.org
```
转换为json为:
转换为 JSON 为:
```json
{
languages: [ 'Ruby' 'Perl' 'Python']
languages: [ 'Ruby', 'Perl', 'Python'],
websites: {
YAML: 'yaml.org',
Ruby: 'ruby-lang.org',
Python: 'python.org',
YAML: 'yaml.org',
Ruby: 'ruby-lang.org',
Python: 'python.org',
Perl: 'use.perl.org'
}
}
@ -82,26 +82,26 @@ websites:
例子:
```
boolean:
- TRUE # trueTrue 都可以。
- FALSE # falseFalse 都可以。
- TRUE # true, True 都可以。
- FALSE # false, False 都可以。
float:
- 3.14
- 6.8523015e+5 #可以使用科学计数法
- 6.8523015e+5 # 可以使用科学计数法。
int:
- 123
- 0b1010_0111_0100_1010_1110 #二进制表示
- 0b1010_0111_0100_1010_1110 # 二进制表示。
null:
nodeName: 'node'
parent: ~ #使用 ~ 表示 null 。
parent: ~ # 使用 ~ 表示 null 。
string:
- 哈哈
- 'Hello world' #可以使用双引号或者单引号包裹特殊字符
- 'Hello world' # 可以使用双引号或者单引号包裹特殊字符。
- newline
newline2 #字符串可以拆成多行,每一行会被转化成一个空格。
newline2 # 字符串可以拆成多行,每一行会被转化成一个空格。
date:
- 2018-02-17 #日期必须使用 ISO 8601 格式,即 yyyy-MM-dd 。
- 2018-02-17 # 日期必须使用 ISO 8601 格式,即 yyyy-MM-dd 。
datetime:
- 2018-02-17T15:02:31+08:00 #时间和日期之间使用 T 连接,最后使用 + 代表时区。
- 2018-02-17T15:02:31+08:00 # 时间和日期之间使用 T 连接, 最后使用 + 代表时区。
```
## 缩进
@ -147,4 +147,4 @@ options:
guide:
enable: true
check: true
```
```

View File

@ -1,5 +1,5 @@
---
title: config.yml汉化
title: config.yml
sidebar_position: 3
---
@ -70,4 +70,4 @@ connection_throttle: 4000
# 机器码请不要修改修改之后就会duang的没用
stats: c86020bc-ddf6-467e-84d9-90974afcf90e
prevent_proxy_connections: false
```
```

View File

@ -78,29 +78,29 @@ try = [
## 子服配置
Velocity 支持将玩家信息(如 IP 地址、UUID 和皮肤)转发到的服务器。Velocity 支持三种转发格式:
Velocity 支持将玩家信息(如 IP 地址、UUID 和皮肤)转发到的服务器。Velocity 支持三种转发格式:
- **Velocity Modern 转发** 现代转发是一种自定义的转发格式modern 转发),它更安全。
- **BungeeCord 转发**(也称为*传统转发*),它有更好的兼容性但安全性较低。
- **BungeeGuard**,与传统 BungeeCord 转发相同,但包含了一个密钥。它比单独的 BungeeCord 转发更好,但不如 Velocitymodern 转发理想。
只能选择这些转发格式中的一种。目前不可能“混合匹配”转发模式或同时使用所有转发格式。一般来说,如果只支持使用 Minecraft 1.13 及更新版本的客户端,请使用 Velocity Modern 转发;否则,必须使用 BungeeCord 转发。
只能选择这些转发格式中的一种。目前不可能“混合匹配”转发模式或同时使用所有转发格式。一般来说,如果只支持使用 Minecraft 1.13 及更新版本的客户端,请使用 Velocity Modern 转发;否则,必须使用 BungeeCord 转发。
### 配置现代转发Modern Forwarding
<details>
<summary>点击展开</summary>
**`modern` 转发** 是 Velocity 的原生格式,以高效的二进制格式转发所有玩家信息,并采用 MAC 代码增加安全性,使非法服务器难以绕过的 Velocity 代理。但它**仅支持 Minecraft 1.13 或更高版本**。
**`modern` 转发** 是 Velocity 的原生格式,以高效的二进制格式转发所有玩家信息,并采用 MAC 代码增加安全性,使非法服务器难以绕过的 Velocity 代理。但它**仅支持 Minecraft 1.13 或更高版本**。
#### 警告
- `modern` 转发与 **Minecraft 1.13 以下版本****ProtocolSupport 插件** 不兼容。如果使用这些,需要使用传统的 BungeeCord 兼容转发。
- `modern` 转发与 **Minecraft 1.13 以下版本****ProtocolSupport 插件** 不兼容。如果使用这些,需要使用传统的 BungeeCord 兼容转发。
#### 配置步骤
1. 在 `velocity.toml` 文件中将 `player-info-forwarding` 设置为 `modern`
2. 确保的服务器已正确配置以使用 Velocity 转发。
2. 确保的服务器已正确配置以使用 Velocity 转发。
#### 为 Paper 配置现代转发
@ -110,11 +110,11 @@ Velocity 支持将玩家信息(如 IP 地址、UUID 和皮肤)转发到您
2. 如果之前已启用 BungeeCord 转发,需在 `spigot.yml` 中将 `settings.bungeecord` 设置为 `false`
3. 在 `config/paper-global.yml` 中:
- 设置 `proxies.velocity.enabled` 为 true。
- 设置 `proxies.velocity.secret` 以匹配`forwarding.secret` 文件中的密钥。
- 设置 `proxies.velocity.online-mode``velocity.toml` 中的 `online-mode` 一致。
- 设置 `proxies.velocity.secret` 以匹配`forwarding.secret` 文件中的密钥。
- 设置 `proxies.velocity.online-mode``velocity.toml` 中的 `online-mode` 一致。
4. 编辑完成后,重新启动服务器。
**注意**:如果使用的是 Paper **1.18.2 或更低版本**,请在 `paper.yml` 文件中查找相关设置。
**注意**:如果使用的是 Paper **1.18.2 或更低版本**,请在 `paper.yml` 文件中查找相关设置。
<details>
<summary>点击展开-为Fabric/Forge配置现代转发</summary>
@ -138,7 +138,7 @@ Velocity 支持将玩家信息(如 IP 地址、UUID 和皮肤)转发到您
#### 警告
- 传统转发 **本质上是不安全的**。如果必须使用,应了解如何正确保护的服务器。
- 传统转发 **本质上是不安全的**。如果必须使用,应了解如何正确保护的服务器。
1. `legacy` 转发是 BungeeCord 启用 IP 转发时使用的玩家信息转发协议。
2. 它广泛支持且兼容性强,但 **不安全**

View File

@ -11,7 +11,7 @@ config-version = "2.7"
# 代理应该绑定到哪个端口默认情况下我们将绑定到25577端口的所有地址。
bind = "0.0.0.0:25577"
# 应该显示什么MOTD服务器消息当玩家将的服务器添加到他们的服务器列表时会显示这个。只接受MiniMessage格式。
# 应该显示什么MOTD服务器消息当玩家将的服务器添加到他们的服务器列表时会显示这个。只接受MiniMessage格式。
motd = "<#09add3>一个Velocity服务器"
# 我们应该显示多少最大玩家数Velocity不支持在线玩家数的限制。
@ -29,18 +29,18 @@ prevent-client-proxy-connections = false
# 我们应该将IP地址和其他数据转发到后端服务器吗
# 可用选项:
# - "none": 不会进行任何转发。所有玩家看起来都是从代理连接的并且将拥有离线模式的UUID。
# - "legacy": 以BungeeCord兼容格式转发玩家IP和UUID。如果运行的是Minecraft 1.12或更低版本的服务器,请使用此选项。
# - "bungeeguard": 以BungeeGuard插件支持的格式转发玩家IP和UUID。如果运行的是Minecraft 1.12或更低版本的服务器,并且无法实现网络级防火墙(在共享主机上),请使用此选项。
# - "legacy": 以BungeeCord兼容格式转发玩家IP和UUID。如果运行的是Minecraft 1.12或更低版本的服务器,请使用此选项。
# - "bungeeguard": 以BungeeGuard插件支持的格式转发玩家IP和UUID。如果运行的是Minecraft 1.12或更低版本的服务器,并且无法实现网络级防火墙(在共享主机上),请使用此选项。
# - "modern": 使用Velocity的原生转发在登录过程中转发玩家IP和UUID。仅适用于Minecraft 1.13或更高版本。
player-info-forwarding-mode = "NONE"
# 如果使用modern 或BungeeGuard IP转发请在此处配置包含唯一密钥的文件。
# 如果使用modern 或BungeeGuard IP转发请在此处配置包含唯一密钥的文件。
# 文件应该是UTF-8编码的并且不为空。
forwarding-secret-file = "forwarding.secret"
# 宣布您的服务器是否支持Forge。如果您运行一个模组服务器,我们建议开启这个。
# 宣布你的服务器是否支持Forge。如果你运行一个模组服务器,我们建议开启这个。
#
# 如果的网络持续运行一个模组包考虑使用ping-passthrough = "mods"代替,以便在服务器列表中更好地显示。
# 如果的网络持续运行一个模组包考虑使用ping-passthrough = "mods"代替,以便在服务器列表中更好地显示。
announce-forge = false
# 如果启用默认为false并且代理处于在线模式Velocity将踢出任何已在线的玩家如果尝试进行重复连接。
@ -50,7 +50,7 @@ kick-existing-players = false
# 可用选项:
# - "disabled": 不会进行任何传递。velocity.toml和server-icon.png将决定初始服务器列表ping响应。
# - "mods": 只将后端服务器的模组列表传递到响应中。
# 使用尝试列表中的第一个服务器或强制主机的模组列表。如果无法联系到后端服务器Velocity将不会显示任何模组信息。
# 使用尝试列表中的第一个服务器或强制主机的模组列表。如果无法联系到后端服务器Velocity将不会显示任何模组信息。
# - "description": 使用来自后端服务器的描述和模组列表。尝试列表中(或强制主机)响应的第一个服务器将被用于描述和模组列表。
# - "all": 使用后端服务器的响应作为代理响应。如果没有服务器可以联系将使用Velocity配置。
ping-passthrough = "DISABLED"
@ -59,7 +59,7 @@ ping-passthrough = "DISABLED"
enable-player-address-logging = true
[servers]
# 在此处配置的服务器。每个键代表服务器的名称值代表要连接到的服务器的IP地址。
# 在此处配置的服务器。每个键代表服务器的名称值代表要连接到的服务器的IP地址。
lobby = "127.0.0.1:30066"
factions = "127.0.0.1:30067"
minigames = "127.0.0.1:30068"
@ -70,7 +70,7 @@ try = [
]
[forced-hosts]
# 在此处配置的强制主机。
# 在此处配置的强制主机。
"lobby.example.com" = [
"lobby"
]
@ -97,7 +97,7 @@ connection-timeout = 5000
# 在此处指定连接的读取超时时间。默认是30秒。
read-timeout = 30000
# 启用与HAProxy的PROXY协议的兼容性。如果不知道这是干什么用的,那么就不要启用它。
# 启用与HAProxy的PROXY协议的兼容性。如果不知道这是干什么用的,那么就不要启用它。
haproxy-protocol = false
# 在代理上启用TCP快速打开支持。需要代理在Linux上运行。
@ -109,7 +109,7 @@ bungee-plugin-message-channel = true
# 显示来自客户端的ping请求到代理。
show-ping-requests = false
# 默认情况下Velocity将尝试优雅地处理用户意外失去与服务器的连接而没有明确的断开消息的情况通过尝试回退用户除了读取超时的情况。BungeeCord将断开用户连接。可以禁用此设置以使用BungeeCord的行为。
# 默认情况下Velocity将尝试优雅地处理用户意外失去与服务器的连接而没有明确的断开消息的情况通过尝试回退用户除了读取超时的情况。BungeeCord将断开用户连接。可以禁用此设置以使用BungeeCord的行为。
failover-on-unexpected-server-disconnect = true
# 向1.13+客户端声明代理命令。

View File

@ -5,7 +5,7 @@ sidebar_position: 2
# 命令
Velocity 默认在代理的核心中包含了一些命令,这些命令是基于它们对大多数用户所需的。如果您需要更多命令,您可以安装插件来添加。
Velocity 默认在代理的核心中包含了一些命令,这些命令是基于它们对大多数用户所需的。如果你需要更多命令,你可以安装插件来添加。
| 命令 | 权限 | 描述 |
|-------------------------------------------|--------------------------------------|--------------------------------------------------------------|
@ -14,7 +14,7 @@ Velocity 默认在代理的核心中包含了一些命令,这些命令是基
| `/velocity version` | `velocity.command.info` | (默认所有用户拥有),可以查看代理上运行的 Velocity 版本。 |
| `/velocity reload` | `velocity.command.reload` | 代理将从磁盘上的 `velocity.toml` 读取并重新配置自己。 |
| `/velocity dump` | `velocity.command.plugins` | 可以使用此命令获取代理的匿名详细信息转储。 |
| `/velocity heap` | `velocity.command.heap` | **警告**:此命令生成的堆转储包含有关的 Velocity 实例的详细信息,可能相当敏感。 |
| `/velocity heap` | `velocity.command.heap` | **警告**:此命令生成的堆转储包含有关的 Velocity 实例的详细信息,可能相当敏感。 |
| `/server` | `velocity.command.server` | (默认所有用户拥有),玩家可以使用此命令查看并切换到另一个服务器。 |
| `/shutdown` | 无(从控制台执行) | 此命令将优雅地关闭 Velocity 代理,所有玩家将从代理断开连接。 |
| `/glist` | `velocity.command.glist` | 如果用户具有此权限(默认无人具有),玩家可以使用此命令查看当前在代理上的玩家数量。 |

View File

@ -150,4 +150,4 @@ PAPIProxyBridge 是安装在后端和代理服务器上的库桥插件,它允
在 Spigot 1.16.5+ 上安装最新版本的插件以及 [PlaceholderAPI](https://www.spigotmc.org/resources/placeholderapi.6245/) 插件,或在 Fabric 1.19.3+ 服务器上安装 [PlaceholderAPI mod](https://placeholders.pb4.eu/),然后在 BungeeCord 或 Velocity 代理服务器上安装该插件
请注意,此插件不能替代 PlaceholderAPI。仍然需要在 Spigot/Fabric 服务器上安装 PlaceholderAPI
请注意,此插件不能替代 PlaceholderAPI。仍然需要在 Spigot/Fabric 服务器上安装 PlaceholderAPI

View File

@ -178,7 +178,7 @@ _其实只安装在跨服端就行了子服没必要装你实在要装也
:::
从 Minecraft 1.19.1 开始Mojang 实现了一个[新的聊天系统](https://zh.minecraft.wiki/w/Java%E7%89%881.19.1#%E5%B8%B8%E8%A7%84)该系统使用每个玩家拥有的签名密钥。Velocity 尚不完全支持取消或修改这种类型的消息和命令,因此您可以安装 SignedVelocity 插件, 这将允许将消息或命令传输到您的服务器,在服务器上收到消息或命令后, 将应用在 Velocity 中计算的结果。 —— Velocity 官方文档
从 Minecraft 1.19.1 开始Mojang 实现了一个[新的聊天系统](https://zh.minecraft.wiki/w/Java%E7%89%881.19.1#%E5%B8%B8%E8%A7%84)该系统使用每个玩家拥有的签名密钥。Velocity 尚不完全支持取消或修改这种类型的消息和命令,因此你可以安装 SignedVelocity 插件, 这将允许将消息或命令传输到你的服务器,在服务器上收到消息或命令后, 将应用在 Velocity 中计算的结果。 —— Velocity 官方文档
_此外由于其功能实现它也能修复因缺少个人信钥而导致无法加入服务器等问题_

View File

@ -21,6 +21,8 @@ sidebar_position: 8
在配置文件中,你可以直接复制粘贴这个符号而不用自己输入。
你也可以在按住 `Alt` 键的同时,**小键盘** **按顺序** 输入 `167` 以输出 `§` 符号
:::
:::tip

View File

@ -9,7 +9,7 @@ sidebar_position: 6
## inline
inline是在一段文本中插入语句实际上会创造一个新的kether环境
inline是在一段文本中插入语句实际上会创造一个新的 kether 环境
例如这个 TrMenu 例子中:
```yaml
@ -34,3 +34,13 @@ inline是在一段文本中插入语句实际上会创造一个新的kether
## join
join 是拼接多个语句,不会像 inline 那样创造新的环境所以没有上述特性join 里的语句会使用原 kether 环境
## 行内复合文本
> https://plugins.ptms.ink/function/components/basic
TabooLib Components 行内复合文本
像 [MiniMessage](../MiniMessage.md) 一样的东西?
Invero 最新版已经不支持 MiniMessage 而是使用行内复合文本了

View File

@ -1,7 +1,7 @@
---
title: kether 教程
slug: /Advance/kether
sidebar_position: 11
sidebar_position: 12
---
# 概览

View File

@ -29,18 +29,18 @@ sidebar_position: 1
**TrMenu v3**
> trm action 玩家ID 要执行的语句
> /trm action 玩家ID 要执行的语句
**Invero**
> i dev runKether 要执行的语句
> /i dev runKether 要执行的语句
**chemdah**
> chs invoke tell 1
> /chs invoke tell 1
**其他插件**
> and more......
> /and more......
:::

View File

@ -10,38 +10,7 @@ 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>
@ -49,9 +18,140 @@ boolean数据类型表示一位的信息
> https://kether.tabooproject.org/list.html#Type
```
type {token} | type {type} {action}
```
![](_images/type_1.png)
### 自动类型转换
TODO
## 变量Variable
以后再写awa
在这里想一个非常巧妙的比喻
思考ing...
## kether
此处讲解 kether 自己的变量,此变量特点是 kether 环境摧毁就消失
比如TrMenu 关闭菜单Vulpecula 的命令执行完成
### 基础
#### 设置
> https://kether.tabooproject.org/list.html#Variable_Set
```
set {token} {token} | set {token} to {action}
```
注意上面的语法,前者只能输入固定内容,后者可以把动作的返回值传入变量
![](_images/var_1.png)
接着我们获取下这个变量
#### 获取
> https://kether.tabooproject.org/list.html#Variable_Get
```
get {token} | &{token}
```
![](_images/var_2.png)
啪!空的!
我擦嘞,这是咋回事?
还记得我说过的吗
> 此变量特点是 kether 环境摧毁就消失
是的,当你执行完 `/vul eval set yizhan to 114514` 之后kether环境已经被摧毁了所以这个变量就消失了
正确做法:
```
/vul eval set yizhan to 114514 tell get yizhan
```
![](_images/var_3.png)
成功得到了变量里的内容!
对于获取变量,我们有个更简单的办法 `&{token}`
![](_images/var_4.png)
看到这里,你就应该知道,为什么前面讲 [彩色color Text](basic.md#彩色color-text) 动作的时候会说
> 这里要用 `" "` 把要打印的信息包裹起来
> 否则他会把这个当成变量,具体的会在后面讲到
### array
#### 基础
> https://kether.tabooproject.org/list.html#Array
这也是一个动作,作用是
> 将动作列表的所有返回值作为集合返回。
语法:
```
array [ 动作1 动作2 动作3 更多 ]
```
我们搓一个出来玩玩
![](_images/var_5.png)
在这个集合中,数据被英文 `,` 分割开来,我们称为 **元素**
比如在上面共有三个元素:`HelloWord!` `postyizhan` `0.0`
接下来,我们把数组存进变量里
```
set yizhan to array [ HelloWord! player name 0.0 ]
```
#### 获取指定元素
如果我们只需要获取某数组中其中一个元素的值该怎么办?
我们给每个元素都标上号,然后获取指定号数的就好啦!`&变量名[标号]`
![](_images/var_6.png)
注意!标号是从 **0** 开始的
#### element
> https://kether.tabooproject.org/list.html#Element
> 将动作的返回值作为列表获取指定元素。
除了上面的 `&变量名[标号]`
我们还有一种办法获取到指定元素的值,那就是 `element` 动作
![](_images/var_7.png)
## TrMenu
## Invero
## Chemdah
## Vulpecula
## 案例

View File

@ -1,9 +1,9 @@
---
title: 登录方式选择
title: 登录方式
sidebar_position: 7
---
# 服务器登录方式的选择
# 登录方式
在开启服务器之前,选择合适的登录方式至关重要。这不仅关系到玩家们的 **生命财产安全**,还涉及到服务器的管理和稳定性。因此,请在选择时务必 **慎重** 考虑!
@ -26,14 +26,14 @@ sidebar_position: 7
正版登录是绝大多数服务端默认设置的登录方式,仅允许 Minecraft Java 正版 用户加入游戏,使用 Mojang 的身份认证服务器来验证玩家身份和分配游戏档案数据。
#### 优点:
**优点:**
* 数据包通讯全程加密,确保游戏数据安全。
* 服务端默认配置,无需额外配置。
* 身份验证服务值得信赖。
* 支持自定义角色皮肤以及更改角色名字。
#### 缺点:
**缺点:**
* 身份验证服务器位于国外,可能因网络问题导致会话验证失败。
* 需要购买正版游戏,限制了一部分玩家。
@ -53,11 +53,11 @@ Authlib-Injector 仅作为工具,它本身不提供认证服务。你需要找
**不能确保以上列出的所有服务提供商绝对安全可靠,请注意甄别**
:::
#### 优点:
**优点:**
* 继承了正版登录的部分优点。
* 服务商可自行选择。
#### 缺点:
**缺点:**
* 需要使用受支持的启动器。
* 配置和登录相对复杂,有一定的接受和学习成本。
* 部分玩家可能不接受非正版的外置登录。
@ -83,10 +83,10 @@ Authlib-Injector 仅作为工具,它本身不提供认证服务。你需要找
恶意用户可以利用这一点进行假人压测、干扰或盗号行为。
:::
#### 优点:
**优点:**
* 离线可玩
#### 缺点:
**缺点:**
* 安全性低。
* 需要防范注册机器人。
* 需要防止假人压测。
@ -146,4 +146,4 @@ Floodgate 是一个允许使用 Minecraft 基岩版的游戏绕过 `通用外置
相比于 `正版登录和离线(内置)登录共存` 以及 `Floodgate正版登录和基岩版Xbox登录共存`他们两个通常都拥有专用的账号管理系统来防止玩家身份混淆和相关问题。然而Yggdrasil 本身就是一个独立的账号管理系统,多外置之间通常无法直接通信和同步信息。因此在多外置系统共存的环境下,如果不设计一个完善的身份管理系统,极有可能出现上述后果,从而引发严重的安全和信任问题。
好在UUID碰撞概率相当的低普通服主或管理员只需要考虑重名问题就好了是吧。
好在UUID碰撞概率相当的低普通服主或管理员只需要考虑重名问题就好了是吧。

View File

@ -13,7 +13,7 @@ sidebar_position: 1
![:NitWikit](https://count.kjchmc.cn/get/@:NitWikit)
如果您确定您符合条件,请点击一侧的目录开始阅读文档。
如果你确定你符合条件,请点击一侧的目录开始阅读文档。
# 更多

View File

@ -84,7 +84,13 @@ SpigotMC 应该是目前 Minecraft 开服圈最大的插件网站了,最大的
<details>
<summary>连不上怎么办</summary>
使用魔法或者[点击此处](https://cn.bing.com/search?q=%E8%BF%9E%E4%B8%8D%E4%B8%8AGitHub%E6%80%8E%E4%B9%88%E5%8A%9E)
这是由于 GitHub 是开放的外国网站,网站上时不时会有一些不能在此讨论的内容,所以运营商会刻意地屏蔽这个网站,在很多时候都不能正常访问。具体的表现如下:[只要Github域名指向任意IP该IP的443端口就会超时3分钟](https://blog.csdn.net/weixin_43659597/article/details/118882176)。
有以下几种解决办法:
1. 魔法
2. [改hosts](https://www.cnblogs.com/eudaimonia/p/16001981.html#1034247326)
3. [Watt Toolkit](https://steampp.net/):下载安装完成后,在左侧侧边栏切换到**网络加速**,点击**平台加速(免费)**往下翻勾上GitHub然后点击**一键加速**随后就可以正常访问GitHub了
<!--[点击此处](https://cn.bing.com/search?q=%E8%BF%9E%E4%B8%8D%E4%B8%8AGitHub%E6%80%8E%E4%B9%88%E5%8A%9E)-->
</details>
@ -109,7 +115,7 @@ GitHub 汉化插件https://github.com/maboloshi/github-chinese
# MineBBS
国内较为知名的综合性 Minecraft 论坛。
国内较为知名的综合性 Minecraft 论坛。曾以基岩版开服内容为主MCBBS 关闭后其 Java 版相关内容丰富了许多。
<details>
<summary>点击展开</summary>

View File

@ -45,11 +45,11 @@ Matrix 是由国人 RE 编写的一款反作弊插件,当年诞生是用于取
- 拥有所有检测(虽然多的检测误判挺多的)
- 可同时给 40 台机器使用
- 可对的服务器进行深度定制
- 可对的服务器进行深度定制
如果你是生存服,可以先使用试用版进行测试,如何再进行付费版本的购买
如果你是大型小游戏/大型群组服,可以购买企业版,这能让 Matrix 对的服务器进行更深度的定制
如果你是大型小游戏/大型群组服,可以购买企业版,这能让 Matrix 对的服务器进行更深度的定制
> 官网: matrix.rip

View File

@ -35,7 +35,7 @@ sidebar_position: 2
feature-seeds:
generate-random-seeds-for-all: true
```
> 这是对每个建筑使用随机种子,防止的世界种子轻易的被破解
> 这是对每个建筑使用随机种子,防止的世界种子轻易的被破解
> 如果发现你的 `spigot.yml` 中出现了类似以下的配置配置就成功了,你可以修改其中的种子。(但其实不改也完全没问题)

View File

@ -38,7 +38,7 @@ RNG 是 **随机数生成器** 的简写。
[purpur](https://purpurmc.org/) 和 [leaves](https://leavesmc.org/) 核心(包括它们的分支),可以防止玩家破解 RNG 。
可以将配置改为如下 (默认就是开启的)
可以将配置改为如下 (默认就是开启的)
`purpur.yml`
@ -54,5 +54,5 @@ RNG 是 **随机数生成器** 的简写。
use-vanilla-random: false
```
如果您使用 Gale、Leaf 等核心,您甚至无需为此担心,因为他们的 RNG 算法已经经过改良,不再是原版的 RNG 。
如果你使用 Gale、Leaf 等核心,你甚至无需为此担心,因为他们的 RNG 算法已经经过改良,不再是原版的 RNG 。

View File

@ -5,7 +5,7 @@ sidebar_position: 5
## 备份
您也不想您和您的玩家辛苦开发的世界由于一次断电,一次崩溃而毁于一旦吧? 这些情况很少发生但无法避免,经常做备份是有必要的!
你也不想你和你的玩家辛苦开发的世界由于一次断电,一次崩溃而毁于一旦吧? 这些情况很少发生但无法避免,经常做备份是有必要的!
### 备份插件
@ -95,5 +95,5 @@ Linux 使用指令 ```tar -czvf backup_date.tar.gz /[path]/``` (如果使用7zip
如 NPC 插件可能仍然会尝试在相同名字的世界中尝试生成 NPC即使他们已经不在原来的位置上。
一些服务端可能将维度拆分成单个文件夹存放至根目录,需要全部删除才能重置所有维度。
一些服务端可能将维度拆分成单个文件夹存放至根目录,需要全部删除才能重置所有维度。

View File

@ -5,7 +5,7 @@ sidebar_position: 4
# 调服务端配置
没有适用于所有服务器的设置。应该理解每个配置选项,并根据服务器的最佳参数与服务器硬件、玩家数量和服务器性质等调整参数。
没有适用于所有服务器的设置。应该理解每个配置选项,并根据服务器的最佳参数与服务器硬件、玩家数量和服务器性质等调整参数。
所以参数因服而异,随着进入游戏后期,服务器工作量会随着机器或者玩家增加而逐渐增加,
@ -95,6 +95,33 @@ spawn-limits:
```
高版本的 config/paper-world-default.yml 中将 `animals` 改为了 `creature`,将 `water-animals` 改为了 `water-creature`,可参考这份配置文件:
```yaml
spawn-limits:
monsters: 70
#怪物包括 远古守卫者、末影人、监守者、蠹虫、猪灵蛮兵、流浪者、幻术师、骷髅、潜影贝、僵尸疣猪兽、守卫者、岩浆怪、僵尸村民、僵尸猪灵、卫道士、幻翼、猪灵、史莱姆、末影龙、溺尸、掠夺者、唤魔者、僵尸、蜘蛛、尸壳、恶魂、劫掠兽、疣猪兽、洞穴蜘蛛、女巫、枯萎、末影螨、凋灵骷髅、烈焰人、巨人、爬行者、恼鬼。
creature: 10
#动物包括 猪、北极熊、狐狸、猫、僵尸马、嗅探者、熊猫、兔子、狼、牛、海龟、青蛙、悦灵、行商羊驼、驴、蜜蜂、骆驼、绵羊、蝌蚪、豹猫、鸡、哞菇、马、羊驼、流浪商人、鹦鹉、山羊、骡、骷髅马刷、炽足兽.
water-creature: 5
# 包括鱿鱼和海豚
water-ambient: 20
# 包括鳕鱼、河豚、鲑鱼、热带鱼
water-underground-creature: 5
# 包括发光鱿鱼
axolotls: 5
# 美西螈
ambient: 15
# 只包括蝙蝠建议0
```
大多数情况下,直接将所有限制降低到原来的 50% 是合理的,由于限制和实际实体数量不成线性,实际存在的实体数量大约是原来的 72%。
## 更低的实体显示距离(不推荐)
@ -146,9 +173,9 @@ entity-tracking-range:
:::
可以在末地设置更高的 `view-distance` ,这可以让鞘翅飞的更舒服而不会占用很多资源。
可以在末地设置更高的 `view-distance` ,这可以让鞘翅飞的更舒服而不会占用很多资源。
另外,应该鼓励的玩家安装 Bobby 或 Farsight 等 mod可以在本地缓存区块这不会对服务器性能造成任何影响
另外,应该鼓励的玩家安装 Bobby 或 Farsight 等 mod可以在本地缓存区块这不会对服务器性能造成任何影响
##### 手动调整
@ -308,7 +335,7 @@ chunks:
生成藏宝图的性能占用极高,如果要定位的结构位于未生成的区块中,服务器甚至可能会未响应。
只有在预生成世界并设置原版世界边界的情况下,启用此功能才是安全的。
只有在预生成世界并设置原版世界边界的情况下,启用此功能才是安全的。
`paper-world-default.yml` 中的参数,决定服务器是否生成藏宝图。
@ -493,7 +520,7 @@ ticks-per:
soft: 30
```
此项可以调整各种生物的消失范围(方块为单位)。降低这些值可以更快地清除远离玩家的生物。 应该将 soft 软距离设置为约`30`,然后将 hard 硬性距离设置的稍微大于 simulation-distance这样当玩家刚刚跑出区块时生物不会立即消失可以一并调整 [paper-world configuration] 中的`delay-chunk-unloads-by`)。 当一个生物离开了 hard 距离,该生物会立刻消失。 当一个生物处于 soft 和 hard 距离之间,该生物将有概率消失。 您的 hard 距离应该大于 soft 距离。您应该根据模拟距离调整此项:`(simulation-distance * 16) + 8`。 此项还可能造成玩家经过后,区块不卸载的情况(因为生物还没消失)。
此项可以调整各种生物的消失范围(方块为单位)。降低这些值可以更快地清除远离玩家的生物。 应该将 soft 软距离设置为约`30`,然后将 hard 硬性距离设置的稍微大于 simulation-distance这样当玩家刚刚跑出区块时生物不会立即消失可以一并调整 [paper-world configuration] 中的`delay-chunk-unloads-by`)。 当一个生物离开了 hard 距离,该生物会立刻消失。 当一个生物处于 soft 和 hard 距离之间,该生物将有概率消失。 你的 hard 距离应该大于 soft 距离。你应该根据模拟距离调整此项:`(simulation-distance * 16) + 8`。 此项还可能造成玩家经过后,区块不卸载的情况(因为生物还没消失)。
### 碰撞箱
@ -505,7 +532,7 @@ ticks-per:
推荐值: 2
```
覆盖 [spigot.yml] 中的同名项。它让决定一个实体可以同时处理多少次碰撞。`0`将导致无法推动其他实体,包括玩家。`2`应该可以处理大部分情况。 值得注意的是,这将会破坏 maxEntityCramming gamerule 也就是生物堆叠窒息。
覆盖 [spigot.yml] 中的同名项。它让决定一个实体可以同时处理多少次碰撞。`0`将导致无法推动其他实体,包括玩家。`2`应该可以处理大部分情况。 值得注意的是,这将会破坏 maxEntityCramming gamerule 也就是生物堆叠窒息。
#### fix-climbing-bypassing-cramming-rule
@ -522,7 +549,7 @@ ticks-per:
`推荐值: true`
此项将检查速率限制为伤害超时来优化窒息检查(检查生物是否在方块内以及它们是否应该受到窒息伤害)。除非是生电玩家,能够使用精确计时窒息杀死实体的时间,否则这种优化应该是不可能注意到的。
此项将检查速率限制为伤害超时来优化窒息检查(检查生物是否在方块内以及它们是否应该受到窒息伤害)。除非是生电玩家,能够使用精确计时窒息杀死实体的时间,否则这种优化应该是不可能注意到的。
### 实体 AI
@ -793,7 +820,7 @@ tick-inactive-villagers: true
推荐值: 20
```
怪物射出的箭消失的时间(以 tick 为单位)。因为玩家无法捡起这些箭,所以不妨将其设置为`20`1 秒)之类的值。
怪物射出的箭消失的时间(以 tick 为单位)。因为玩家无法捡起这些箭,所以不妨将其设置为`20`1 秒)之类的值。
#### creative-arrow-despawn-rate
@ -801,7 +828,7 @@ tick-inactive-villagers: true
推荐值: 20
```
创造模式玩家射出的箭消失的时间(以 tick 为单位)。因为玩家无法捡起这些箭,所以不妨将其设置为`20`1 秒)之类的值。
创造模式玩家射出的箭消失的时间(以 tick 为单位)。因为玩家无法捡起这些箭,所以不妨将其设置为`20`1 秒)之类的值。
### 盔甲架
@ -813,7 +840,7 @@ tick-inactive-villagers: true
推荐值: false
```
在大部分情况下,将该项设置为 `false` 是安全的。如果使用盔甲架或任何相关的插件时遇到了问题,请重新启用它。
在大部分情况下,将该项设置为 `false` 是安全的。如果使用盔甲架或任何相关的插件时遇到了问题,请重新启用它。
这将防止盔甲架被水推动或受到重力的影响。
@ -823,7 +850,7 @@ tick-inactive-villagers: true
推荐值: false
```
是否启用盔甲架碰撞。如果有很多盔甲架,并且不想它们与任何东西发生碰撞,这将有所帮助。
是否启用盔甲架碰撞。如果有很多盔甲架,并且不想它们与任何东西发生碰撞,这将有所帮助。
## 红石
@ -855,7 +882,7 @@ tick-inactive-villagers: true
仅当有插件监听 `InventoryMoveItemEvent` 时才会触发该事件。
**如果想使用侦听此事件的插件,请不要设置为 true比如保护插件**
**如果想使用侦听此事件的插件,请不要设置为 true比如保护插件**
#### hopper.ignore-occluding-blocks

View File

@ -61,4 +61,4 @@ Wisp在JVM上提供了一种用户态的线程实现。开启Wisp2后Java线
## G1ElasticHeap
G1ElasticHeap 是一种 GC 功能,用于将 Java 堆的内存返回给操作系统,以减少 Java 进程的内存占用。要启用此功能,需要通过以下选项使用 G1 GC`-XX:+G1ElasticHeap -XX:+ElasticHeapPeriodicUncommit`
G1ElasticHeap 是一种 GC 功能,用于将 Java 堆的内存返回给操作系统,以减少 Java 进程的内存占用。要启用此功能,需要通过以下选项使用 G1 GC`-XX:+G1ElasticHeap -XX:+ElasticHeapPeriodicUncommit`

View File

@ -27,9 +27,11 @@ GraalVM EE 22.3.0 修复了所有已知的 Minecraft 错误
## ZGC
```shell
-XX:+UseZGC -XX:AllocatePrefetchStyle=1 -XX:+ZGenerational
-XX:+UseZGC -XX:AllocatePrefetchStyle=1 -XX:-ZProactive
```
**不要在 GraalVM 上使用 ZGenerational**
## 正在考虑的标志
更激进的内联,在 Graal 中通过`-Dgraal.BaseTargetSpending=160`(默认为 120和 OpenJDK 中的其他一些标志。具有较大缓存的 CPU 可能会从中受益

View File

@ -22,11 +22,15 @@ flowchart TD
Java11 --> Dragonwell
Java21 --> Windows
Windows --> 内存充足
内存充足 --> GraalVMEE
内存充足 --> C[GraalVM Enterprise Edition]
Windows --> 内存不足
内存不足 --> AmazonCorretto
内存不足 --> OpenJ9
Java21 --> Linux
Linux --> 等待测试
Linux --> 内存不足
Linux --> D[内存充足]
D --> 好的兼容性
好的兼容性 -->|需要| C
好的兼容性 -->|不需要| E[Azul Zing]
```
这可能与你想的不太一样

View File

@ -34,21 +34,27 @@ C4 是 Zing 中唯一的垃圾收集器,取代了 OpenJDK 中可用的其他
添加选项`-XX:+CompactStrings`可减少内存占用,提高字符串密集型应用程序的性能,并减少花费在垃圾回收上的时间
## 更高级别的 Falcon 优化
使用选项`-XX:FalconOptimizationLevel=3`可以获得更高级别的优化,但会出现兼容性问题
## Zing System Tool
这玩意可以让你的系统更加适应Zing,可以自动优化系统配置,开启大页,但很可惜,这需要成为付费客户,等待富哥
这玩意可以让你的系统更加适应Zing,可以自动优化系统配置
[官方安装教程](https://docs.azul.com/prime/zst/installation)
使用`-XX:+UseZST` 开启
## 下载
虽然需要公司账户,但我们通过神秘手段搞到了安装包,都是JDK
(放心没毒下载源都是cdn.azul.com(Azul官方网站))
[RPM](https://cdn.azul.com/zing-zvm/ZVM24.07.0.0/zing24.07.0.0-3-jdk21.0.3.0.101-linux.x86_64.rpm)
[RPM](https://cdn.azul.com/zing-zvm/ZVM24.06.0.0/zing24.06.0.0-2-jdk21.0.3-linux.x86_64.rpm)
[TAR.GZ](https://cdn.azul.com/zing-zvm/ZVM24.07.0.0/zing24.07.0.0-3-jdk21.0.3.0.101-linux_x64.tar.gz)
[TAR.GZ](https://cdn.azul.com/zing-zvm/ZVM24.06.0.0/zing24.06.0.0-2-jdk21.0.3-linux_x64.tar.gz)
[DEB](https://cdn.azul.com/zing-zvm/ZVM24.06.0.0/zing24.06.0.0-2-jdk21.0.3-linux_amd64.deb)
[DEB](https://cdn.azul.com/zing-zvm/ZVM24.07.0.0/zing24.07.0.0-3-jdk21.0.3.0.101-linux_amd64.deb)
## 一些特殊情况

View File

@ -200,14 +200,14 @@ Paper 酱为你在 `/config/paper-world-default.yml` 中准备了爆炸优化。
* 减少生物农场内不必要的随机移动。
* 特别密集时禁用农场中生物的 AI。
* 限制区域中允许的实体数。
* 高度可配置 - 允许根据需要定制插件。
* 高度可配置 - 允许根据需要定制插件。
* 低影响 - 插件处理是异步执行的。
[下载链接](https://hangar.papermc.io/froobynooby/FarmControl)
### OkTreasures
原版 Minecraft 有一个错误,即埋藏的寻宝速度非常慢,有时会冻结的游戏。这也发生在多人游戏中,如果有人打开埋藏的宝藏搜索,服务器有时会崩溃。并且很难发现真正的错误,从 Minecraft 1.20.1 开始,这还没有修复。
原版 Minecraft 有一个错误,即埋藏的寻宝速度非常慢,有时会冻结的游戏。这也发生在多人游戏中,如果有人打开埋藏的宝藏搜索,服务器有时会崩溃。并且很难发现真正的错误,从 Minecraft 1.20.1 开始,这还没有修复。
这个插件通过用一个自定义的、更快、更简单的搜索替换原版埋藏的寻宝来修复这些类型的崩溃:它只是在合理的距离内随机选择一个海滩并将宝藏放在那里。由于这主要是异步的,因此不会导致延迟。
@ -221,7 +221,7 @@ Paper 酱为你在 `/config/paper-world-default.yml` 中准备了爆炸优化。
### EntityDetection
这个插件可以用来寻找哪些东西在拖慢服务器,使用此插件,可以快速找到包含大量怪物、动物和漏斗。
这个插件可以用来寻找哪些东西在拖慢服务器,使用此插件,可以快速找到包含大量怪物、动物和漏斗。
[下载链接](https://www.spigotmc.org/resources/entitydetection-tile-entity-support.20588/)

View File

@ -29,7 +29,7 @@ on join:
此插件为Luckperms权限管理插件提供了一个额外的情境判断
使您可以设置仅基岩版玩家的权限或仅Java版玩家的权限让您不再因为权限管理而急眼!
使你可以设置仅基岩版玩家的权限或仅Java版玩家的权限让你不再因为权限管理而急眼!
[下载](https://www.minebbs.com/threads/luck-bedrock.24169/)

View File

@ -15,7 +15,7 @@ sidebar_position: 3
## 如何修复
要在间歇泉中设置自定义头,您必须选择如何注册您的方块。最简单的方法是使用 custom-skulls.yml
要在间歇泉中设置自定义头,你必须选择如何注册你的方块。最简单的方法是使用 custom-skulls.yml
### custom-skulls.yml

View File

@ -58,7 +58,7 @@ Java版和基岩版的UUID不一致请查阅进阶教程
这代表 Geyser 服务器所开设的端口已被占用,请确保你关闭了所有占用该端口的软件,然后再试。如果这没有起作用,通常重启你的电脑即可解决该问题
* **的服务商可能没有及时打开UDP端口**
* **的服务商可能没有及时打开UDP端口**
这通常和你的主机端的端口有关。最常见的是跟Java版的常用的 TCP 协议的端口不同,你的主机很有可能没有开放基岩版所使用的 UDP 协议的端口。一个确认此问题的方法是关闭你的服务器,然后选择其他 基岩版服务端,例如 Nukkit你不一定非要用 Nukkit以检查是否是该问题导致的

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

After

Width:  |  Height:  |  Size: 61 KiB

View File

@ -15,16 +15,26 @@ sidebar_position: 3
[Pojav_IOS](Pojav_iOS.md)
:::warning
为了你的手机设备能流畅运行Java版我的世界请不要在手机上随意安装Sodium或EmbeddiumIris或Oculus或其他优化类模组非常容易掉帧出错
:::
## 二 Geyser
使基岩版客户端进入Java版服务器
使基岩版客户端进入Java版服务器的代理软件。
[点此阅读](https://yizhan.wiki/NitWikit/Java/category/geyser)关于Geyser的文档。
## 基岩版客户端下载
MineBBShttps://mc.minebbs.com
一共有以下网站可下载基岩版客户端:
原子云https://res.nullatom.com/Minecraft
- [MineBBS](https://mc.minebbs.com)
Minecraft for Windows 版本库https://www.mcappx.com
- [原子云](https://res.nullatom.com/Minecraft)
我的世界国际版下载https://mcapks.com
- [Minecraft for Windows 版本库](https://www.mcappx.com)
- [我的世界国际版下载](https://mcapks.com)

View File

@ -1,10 +1,11 @@
---
title: 概览
sidebar_position: 3
slug: /plugins/essentials
sidebar_position: 2
---
# 概览
CMI屎山插件谁愿意写谁写
TODO
TODO

View File

@ -1,6 +1,6 @@
---
title: Config 快速指南
sidebar_position: 4
sidebar_position: 2
---
# Config 快速指南

View File

@ -1,6 +1,7 @@
---
title: 概览
sidebar_position: 2
slug: /plugins/essentials
sidebar_position: 1
---
# 概览
@ -55,3 +56,9 @@ Essentials插件分为两个版本
| EssentialsX Geo | 地理 IP 查找功能. |
| EssentialsProtect | 是一个基本的世界保护, 可以设置世界规则. |
| EssentialsX XMPP | 轻量级聊天、消息和服务器日志与Jabber/XMPP服务集成. |
## MySQL 存储扩展
[Essentials MySQL Storage Extension](https://www.spigotmc.org/resources/.25673/)
一个付费插件,为 Essentials 的带来了 MySQL 支持

View File

@ -1,6 +1,6 @@
---
title: Papi支持
sidebar_position: 5
title: papi支持
sidebar_position: 4
---
:::info
@ -11,4 +11,53 @@ sidebar_position: 5
:::
执行 `/papi ecloud download Essentials` 即可。
## 安装此扩展
```
/papi ecloud download Essentials
/papi reload
```
## 变量
```
%essentials_afk%
%essentials_afk_reason%
%essentials_fly%
%essentials_geolocation%
%essentials_godmode%
%essentials_has_kit_<kitname>%
%essentials_home_<number>
%essentials_home_<number>_<w|x|y|z>%
%essentials_homes_set%
%essentials_homes_max%
%essentials_is_muted%
%essentials_is_pay_confirm%
%essentials_is_pay_enabled%
%essentials_is_teleport_enabled%
%essentials_jailed%
%essentials_jailed_time_remaining%
%essentials_kit_is_available_<kitname>%
%essentials_kit_last_use_<kitname>%
%essentials_kit_time_until_available_<kitname>%
%essentials_kit_time_until_available_raw_<kitname>%
%essentials_msg_ignore%
%essentials_muted_time_remaining%
%essentials_nickname%
%essentials_nickname_stripped%
%essentials_pm_recipient%
%essentials_safe_online%
%essentials_unique%
%essentials_vanished%
%essentials_world_date%
%essentials_world_time%
%essentials_world_time_24%
%essentials_worth%
%essentials_worth:<item>%
%essentials_baltop_balance_fixed_<rank>%
%essentials_baltop_balance_formatted_<rank>%
%essentials_baltop_balance_commas_<rank>%
%essentials_baltop_balance_<rank>%
%essentials_baltop_player_<rank>%
%essentials_baltop_rank%
%essentials_baltop_player_stripped_<num>%
```

View File

@ -29,7 +29,7 @@ sidebar_position: 3
############################################################
# OP名字的颜色代码,填写0~9或a~f其中的一个数字或字母,填写'none'来冻结该功能
# 在 1.16 中,也可以在此处使用十六进制颜色代码。 (例如,#613e1d 是棕色的)。
# 在 1.16 中,也可以在此处使用十六进制颜色代码。 (例如,#613e1d 是棕色的)。
ops-name-color: '4'
# 昵称的前缀符号,这样你能知道这不是他们真正的用户名.
@ -38,14 +38,14 @@ nickname-prefix: '~'
# 设置最大昵称长度, 昵称前缀也包括在内.
max-nick-length: 15
# 不能在昵称中使用的短语列表。 可以在此处包含正则表达式。
# 不能在昵称中使用的短语列表。 可以在此处包含正则表达式。
# 拥有essentials.nick.blacklist.bypass 的用户将能够绕过此过滤器。
nick-blacklist:
#- Notch
#- '^Dinnerbone'
# 启用此选项时,昵称长度检查将排除玩家名字的颜色代码所占字符.
# 即: "&6Notch" 占有7个字符 (而其中的两个就是颜色代码所占字符),如果设置的昵称字符超过了系统限定,请将该选项改为 true
# 即: "&6Notch" 占有7个字符 (而其中的两个就是颜色代码所占字符),如果设置的昵称字符超过了系统限定,请将该选项改为 true
ignore-colors-in-max-nick-length: false
# 启用此选项后,隐藏用户的显示名称将不会显示。 这样可以防止玩家
@ -88,7 +88,7 @@ teleport-safety: true
force-disable-teleport-safety: false
# 如果玩家在创造、冒险或上帝模式中传送到不安全的位置; 他们不会被传送到
#安全位置。 如果希望玩家一直被传送到安全位置,请将此选项设置为 true。
#安全位置。 如果希望玩家一直被传送到安全位置,请将此选项设置为 true。
force-safe-teleport-location: false
# 如果玩家骑乘,传送将失败。 玩家是否应该在被传送之前下马?
@ -241,8 +241,8 @@ mute-commands:
# - '*'
# 如果你不想使用权限系统,你可以在下面定义一个“玩家权限”列表。
# 如果使用受支持的权限系统,此列表无效。
# 如果使用的是不受支持的权限系统,只需删除此部分即可。
# 如果使用受支持的权限系统,此列表无效。
# 如果使用的是不受支持的权限系统,只需删除此部分即可。
# 白名单你希望默认给予玩家的命令和权限(其他一切都是操作)。
# 这些是没有“必需品”的权限。 部分。
#
@ -329,8 +329,8 @@ player-commands:
- xmpp
# 使用此选项强制基于op权限的权限处理程序而不管检测到已安装的权限插件。
# 如果想要自定义权限插件的基于超级权限的权限(使用通配符),这很有用。
# 如果希望通过上面的 `player-commands` 部分使用 EssentialsX 的内置权限,请将其设置为 false。
# 如果想要自定义权限插件的基于超级权限的权限(使用通配符),这很有用。
# 如果希望通过上面的 `player-commands` 部分使用 EssentialsX 的内置权限,请将其设置为 false。
# 默认为true
use-bukkit-permissions: true
@ -351,8 +351,8 @@ pastebin-createkit: false
# 如果这是真的,/createkit 会将项目存储为 NBT 否则,它将使用 Essentials 的人类可读项目格式。
# 通过使用 NBT 序列化,/createkit 可以存储具有复杂元数据的项目,例如具有自定义属性的潜影盒和武器。
# 警告:此选项仅适用于 1.15.2+ Paper 服务器,它将绕过来自其他插件(如 Magic的任何自定义序列化程序。
# 警告:在启用此选项的情况下通过 /createkit 创建工具包时,您将无法使用这些工具包项目降级您的服务器。
# 此选项仅影响 /createkit - 仍然可以使用 Essentials 的人类可读项目格式在 `kits.yml` 中手动创建套件。
# 警告:在启用此选项的情况下通过 /createkit 创建工具包时,你将无法使用这些工具包项目降级你的服务器。
# 此选项仅影响 /createkit - 仍然可以使用 Essentials 的人类可读项目格式在 `kits.yml` 中手动创建套件。
# 默认为false。 应该是说开启后kit可以存nbt的东西了
use-nbt-serialization-in-createkit: false
@ -400,7 +400,7 @@ allow-old-id-signs: false
# 标志名称列表 Essentials 不应保护。 此功能在以下情况下特别有用
# 另一个插件提供了 EssentialsX 提供的标志,但 Essentials 会覆盖。
# 例如,如果一个插件提供了一个 [kit] 标志,并且希望使用他们的而不是
# 例如,如果一个插件提供了一个 [kit] 标志,并且希望使用他们的而不是
# Essentials 的然后只需在下面添加工具包Essentials 将不会保护它。
#
# 有关更多信息,请参阅 https://github.com/drtshock/Essentials/pull/699。
@ -416,7 +416,7 @@ backup:
interval: 30
# 如果为true即使没有玩家在线备份任务也会运行。
always-run: false
# 除非在此处添加有效的备份命令或脚本,否则此功能将毫无用处。
# 除非在此处添加有效的备份命令或脚本,否则此功能将毫无用处。
# 使用 'save-all' 来简单地强制定期保存世界而无需备份。
# 下面的示例命令使用 rdiff-backup: https://rdiff-backup.net/
#command: 'rdiff-backup World1 备份/World1'
@ -500,7 +500,7 @@ sleep-ignores-vanished-player: true
# 设置玩家AFK时的列表名称。 默认情况下为 none它指定 Essentials
# 不应干扰 AFK 玩家的列表名称。 none我改成了 挂机中
# 可以使用颜色代码,使用 {USERNAME} 玩家的名称或 {PLAYER} 作为玩家的显示名称。
# 可以使用颜色代码,使用 {USERNAME} 玩家的名称或 {PLAYER} 作为玩家的显示名称。
afk-list-name: "挂机中"
# 当玩家进入或退出AFK模式时是否聊天栏通知其他玩家
@ -508,18 +508,18 @@ afk-list-name: "挂机中"
# 当此设置为 false 时只有准备挂机的玩家会收到afk通知
broadcast-afk-message: true
# 可以在此处禁用 Minecraft 的死亡消息。
# 可以在此处禁用 Minecraft 的死亡消息。
death-messages: true
# Essentials 应该如何处理拥有 Essentials.keepinv 权限的玩家
# 拥有消失诅咒附魔的物品或装备?
# 可以将其设置为“keep”保留项目、“掉落”删除项目或“delete”删除项目
# 可以将其设置为“keep”保留项目、“掉落”删除项目或“delete”删除项目
# 默认为“keep”
vanishing-items-policy: keep
# Essentials 应该如何处理拥有 Essentials.keepinv 权限的玩家
#拥有绑定诅咒附魔的物品或装备?
# 可以将其设置为“keep”保留项目、“drop”删除项目或“delete”删除项目
# 可以将其设置为“keep”保留项目、“drop”删除项目或“delete”删除项目
# 默认为“keep”
binding-items-policy: keep
@ -531,7 +531,7 @@ send-info-after-death: false
# 此外拥有essentials.silentjoin.vanish 的人将在加入时消失。
allow-silent-join-quit: false
# 可以在此处设置自定义加入和退出消息。 将此设置为“none”以使用默认的 Minecraft 消息,
# 可以在此处设置自定义加入和退出消息。 将此设置为“none”以使用默认的 Minecraft 消息,
# 或将此设置为 "" 以完全隐藏消息。
# 可用变量
@ -545,9 +545,9 @@ allow-silent-join-quit: false
custom-join-message: "&e[&a+&e]&6比驿站丑的 {USERNAME} 加入了游戏"
custom-quit-message: "&e[&c-&e]&6比驿站丑的 {USERNAME} 退出了游戏"
# 可以在此处为新玩家(和更换ID的老玩家?)设置加入提示。
# 可以在此处为新玩家(和更换ID的老玩家?)设置加入提示。
# 仅当用户之前加入并更改了用户名时才会使用此消息。
# 这将显示而不是 custom-join-message因此如果打算保持它们相似,请确保它们匹配。
# 这将显示而不是 custom-join-message因此如果打算保持它们相似,请确保它们匹配。
# 将此设置为“none”以对每个连接使用上面的“custom-join-message”。
# 可用变量
@ -565,7 +565,7 @@ custom-new-username-message: "&e[&a+&e]&6比驿站丑的新玩家 {USERNAME} 加
# 设置为 false 以保留原版消息。
use-custom-server-full-message: true
# 当玩家数量达到一定限制时,可以禁用加入和退出消息。
# 当玩家数量达到一定限制时,可以禁用加入和退出消息。
# 当玩家人数低于此数字时,将始终显示加入/退出消息。
# 将此设置为 -1 以始终显示加入和退出消息,无论玩家人数如何。
hide-join-quit-messages-above: -1
@ -638,7 +638,7 @@ last-message-reply-recipient: true
last-message-reply-recipient-timeout: 180
# 更改默认的 /reply 功能。
# 如果为true/reply 将不会检查正在回复的人是否已经消失。
# 如果为true/reply 将不会检查正在回复的人是否已经消失。
# 如果为 false玩家将无法/回复因消失而无法再看到的玩家。
last-message-reply-vanished: false
@ -663,7 +663,7 @@ world-time-permissions: false
# EssentialsX 通过使用插入符号启动命令来支持正则表达式 ^
# 例如要针对以ban而不是banip开头的命令将使用以下命令
# '^ban([^ip])( .*)?': 60 # 60 秒 /ban 冷却时间。
# 注意:如果您有一个以 ^ 开头的命令,那么您可以使用反斜杠 (\) 对其进行转义。 例如 \^命令123
# 注意:如果你有一个以 ^ 开头的命令,那么你可以使用反斜杠 (\) 对其进行转义。 例如 \^命令123
command-cooldowns:
# feed: 100 # /feed 命令有 100 秒的冷却时间
# '*': 5 # 所有命令的冷却时间为 5 秒
@ -726,7 +726,7 @@ allow-world-in-broadcastworld: true
is-water-safe: false
# usermap 是否应该在保存用户名之前尝试清理用户名?
# 如果您使用 Minecraft 中国,您应该只将其更改为 false。
# 如果你使用 Minecraft 中国,你应该只将其更改为 false。
safe-usermap-names: true
# 当命令块执行命令时Essentials 是否应该输出日志?
@ -793,7 +793,7 @@ confirm-home-overwrite: false
# 查看更多信息,请访问 http://wiki.ess3.net/wiki/Essentials_Economy
# 可以使用 /setworth 命令控制出售给服务器的物品的价值。
# 可以使用 /setworth 命令控制出售给服务器的物品的价值。
# 定义新玩家开始的平衡(应该是说默认的钱)。 默认为 0。
starting-balance: 0
@ -838,7 +838,7 @@ pay-excludes-ignore-list: false
# 余额小于或等于 $0 的用户是否应该显示在 balance-top 中。
# 设置为 false 将不会在 balance-top 中显示余额 <= 0 的人。
# 注意:重新加载配置后,还必须运行“/baltop force”才能显示
# 注意:重新加载配置后,还必须运行“/baltop force”才能显示
show-zero-baltop: true
# 货币格式,不包括符号。 有关符号配置请参阅currency-symbol-format-locale。
@ -914,14 +914,14 @@ chat:
# 默认值:'{WORLDNAME} {DISPLAYNAME}&7:&r {MESSAGE}'
# 管理员:'{WORLDNAME} &c[{GROUP}]&r {DISPLAYNAME}&7:&c {MESSAGE}'
# 如果使用组格式,请确保删除“#”以允许读取设置。
# 注意:组名区分大小写,因此您必须将它们与您的权限插件匹配。
# 如果使用组格式,请确保删除“#”以允许读取设置。
# 注意:组名区分大小写,因此你必须将它们与你的权限插件匹配。
# 可以使用权限来控制玩家是否可以在聊天消息中使用格式化代码。
# 可以使用权限来控制玩家是否可以在聊天消息中使用格式化代码。
# 有关更多信息,请参阅 https://essentialsx.net/wiki/Color-Permissions.html。
# 世界别名允许用聊天格式中的不同名称替换世界名称。
# 如果使用世界别名,请确保删除开头的“#”以允许读取设置。
# 世界别名允许用聊天格式中的不同名称替换世界名称。
# 如果使用世界别名,请确保删除开头的“#”以允许读取设置。
world-aliases:
# plots: "&dP&r"
# creative: "&eC&r"
@ -941,7 +941,7 @@ chat:
# +------------------------------------------------------+ #
############################################################
# 需要安装 EssentialsX Protect 才能使用此部分。
# 需要安装 EssentialsX Protect 才能使用此部分。
# 请参阅 https://essentialsx.net/wiki/Module-Breakdown.html 了解更多信息。
protect:
@ -1007,7 +1007,7 @@ protect:
drowned: false
# 防止哞菇被闪电击中时变色。
mooshroom: false
# 防止生成生物。 如果缺少一个生物,可以按照以下格式添加它。
# 防止生成生物。 如果缺少一个生物,可以按照以下格式添加它。
spawn:
creeper: false #阻止 爬行者 的生成
skeleton: false #阻止 骷髅 的生成
@ -1089,7 +1089,7 @@ protect:
# +------------------------------------------------------+ #
############################################################
# 需要安装 EssentialsX AntiBuild 才能使用此部分。
# 需要安装 EssentialsX AntiBuild 才能使用此部分。
# 请参阅 https://essentialsx.net/wiki/Module-Breakdown.html 和 http://wiki.ess3.net/wiki/AntiBuild 了解更多信息。
# 玩家是否可以建造:
@ -1135,7 +1135,7 @@ protect:
# +------------------------------------------------------+ #
############################################################
# 需要安装 EssentialsX Spawn 才能使此部分正常工作。
# 需要安装 EssentialsX Spawn 才能使此部分正常工作。
# 请参阅 https://essentialsx.net/wiki/Module-Breakdown.html 了解更多信息。
newbies:

View File

@ -195,7 +195,7 @@ memory 键名 using lp
### 称号系统
见 [案例 | Invero|称号系统](../../other/Menu/TrMenu.md#称号系统)
见 [案例 | Invero|称号系统](../../other/Menu/Invero.md#称号系统)
## 限时meta

View File

@ -7,8 +7,6 @@ sidebar_position: 1
:::info
`SpigotMC` https://www.spigotmc.org/resources/.111858/
`GitHub` https://github.com/TrPlugins/TrChat
`文档` https://trchat.trixey.cc

View File

@ -138,8 +138,8 @@ generator:
name: '&7日期 &6{{element *id}}号 &7漏签'
lore:
- ''
- '&8| &7可以使用&a补签卡&7进行补签'
- '&8| &7拥有的补签卡数量: &6%checkitem_amount_nbtstrings:NeigeItems..id..data=signin_card%'
- '&8| &7可以使用&a补签卡&7进行补签'
- '&8| &7拥有的补签卡数量: &6%checkitem_amount_nbtstrings:NeigeItems..id..data=signin_card%'
- ''
action: *previous_signin
# 点击签到
@ -153,7 +153,7 @@ generator:
name: '&a日期 &6{{element *id}}号 &a已签到'
lore:
- ''
- '&8&l| &7本月已签到 &a{{&player@signin_statistics_of_month}} &7天!'
- '&8&l| &7本月已签到 &a{{&player@signin_statistics_of_month}} &7天!'
- ''
# 未到达
- rule: check day in month < element *id

View File

@ -1,588 +0,0 @@
---
title: 高级教程
sidebar_position: 3
---
<!-- @format -->
# 高级教程
## skript-reflect
**skript-reflect** 是 **Skript** 的一个拓展插件,允许你反射 java 类来进行更高级的操作,它旨在将 **Java** 的功能与 **Skript** 易于使用的开发环境相结合。
有了 **skript-reflect****Skript** 几乎可以完成插件能做的任何事,不过是复杂性的问题。
为什么需要 skript-reflect
- 正确编写插件是很困难的,特别是如果你是 **Java** 的新手。 **skript-reflect** 将为您负重前行,让你专注于编写高质量的 **Skript** 脚本。
- 用 **skript-reflect** 编写的扩展可以快速测试,就像任何其他脚本一样。与需要编译和完全重新启动服务器的 **Skript** 插件不同, **skript-reflect** 脚本可以使用简单的 `sk reload`
- 在 sk 脚本中实现某些功能可能需要使用反射来访问私有方法、字段和构造函数。 **skript-reflect** 的内置反射允许你无缝访问这些私人成员。
- **Skript** 的基本特性之一是其极大的可定制性。使用 **skript-reflect** 编写的扩展使 sk 的这点更为突出,这允许你在必要时快速更改您的代码。
下面的代码块包含了一些 **skript-reflect** 基础的语法。
其作用是在有玩家使用 **EssentialsX** 的 tpa 尝试`/tpa lilingfeng`时阻止这件事
```sk
import:
net.ess3.api.events.TPARequestEvent # 导入java类
# 监听事件
on TPARequestEvent:
set {_ess_User} to event.getTarget() # 获取User对象
set {_player} to {_ess_IUser}.getBase() # 获取Player对象
# 判断玩家
if {_player} is player("lilingfeng"):
send "&clilingfeng是我的不准tpa到她那里🥵"
cancel event # 取消事件
```
下面来逐行解析
```sk
import:
net.ess3.api.events.TPARequestEvent
```
这两行代码意为导入`net.ess3.api.events`包中的`TPARequestEvent`**类**。
`import:`块必须放在脚本的最左端,前面不能有缩进。
对类的调用必须在导入完成后进行,因此我们建议你尽可能将此语句放在脚本中靠顶端的位置。
通过`import:`块导入类后, **skript-reflect** 将创建一个 **Expressions** ,允许您通过其名称轻易地引用 Java 类。
```sk
on TPARequestEvent:
```
这行代码意为注册监听`TPARequestEvent`事件,与普通 sk 里注册事件的语法没啥区别。
```sk
set {_ess_IUser} to event.getTarget() # 获取IUser对象
set {_player} to {_ess_IUser}.getBase() # 获取Player对象
```
这行代码意为调用这个事件里的`getTarget()`方法,来获取 tpa 的目标,其返回一个`IUser`。
这个`IUser`是 EssentialsX 的一个**接口**`User`类**实现**了它,可以在[essentialsx 的 javadoc](https://jd-v2.essentialsx.net/net/ess3/api/iuser)里查看。
```sk
if {_player} is player("lilingfeng"):
send "&cliliangfeng是我的不准tpa到她那里🥵"
cancel event
```
这几行和普通的 sk 语法没什么区别,作用是判断然后取消事件。
### 使用方法
如果你需要调用其他的插件或是一些 **skript** 里没有而 [Bukkit API](https://bukkit.windit.net/javadoc/) 有的 API那么会很棘手。
**skript-reflect** 很好的解决了这一点。
比如,你正在使用 **Leaves** 服务端想要用sk来改变Leaves中假人在玩家列表中显示的名字那么可以遵循以下步骤
#### 查询 Javadoc
修改假人的名字这一行为应该在假人加入服务器时进行,所以我们得监听这一事件。
我们需要找到 bot 事件到底是哪个,查询[Leaves 的 Javadoc](https://repo.leavesmc.org/javadoc/snapshots/org/leavesmc/leaves/leaves-api/1.20.6-R0.1-SNAPSHOT)
![搜索事件](_images/SearchEvent.png)
这里查询找到了`org.leavesmc.leaves.event.bot.BotEvent`事件。
看命名就知道应该会有更详细的**子类**来**继承**它,点进去看看,可以看到:
![查找子类](_images/QuerySubclasses.png)
通过看类名可以知道,`BotJoinEvent`就是我们要的事件。
看介绍发现这个事件会“Called when a fakeplayer joins a server”
接下来让我们看看这个类有哪些**方法**。
![查找方法](_images/SearchMethods.png)
可以看到,最主要的是一个`getBot()`方法,在让我们看看这个方法会返回什么。
点击超链接,可以看到这个方法会返回一个`Bot`对象。
这个`Bot`接口是继承自`Player`的,也就是说,`Player`有的方法,`Bot`都有。
再次查询 [Bukkit API](https://bukkit.windit.net/javadoc/org/bukkit/entity/Player.html) 可以找到`Player`类有的方法,如`Player#setPlayerListName()`,这正是我们需要的方法。
#### 编写程序
开始编写程序
```sk
import:
org.leavesmc.leaves.event.bot.BotJoinEvent #导入类
# 监听事件
on BotJoinEvent:
set {_bot} to event.getBot() # 获取假人
set {_bot_name} to {_bot}.getName() # 储存假人原本的名字
{_bot}.setPlayerListName("假的%{_bot_name}%") # 修改假人在tab列表里的名字
```
这一过程也可适用于其他插件,比如[zimzaza4大蛇](https://github.com/zimzaza4)的 [Skript-Floodgate-Api](https://github.com/zimzaza4/Skript-Floodgate-Api)
就是利用 **skript-reflect** 来调用 [Floodagate API](https://wiki.geysermc.org/floodgate/api/) 的。
可以查看下面的教程来详细学习 **skript-reflect** 的基础功能(对,下面这一大坨只是基础)
### skript-reflect 基础教程
:::danger
此段部分或全部抄自 **skript-reflect** [官方文档](https://tpgamesnl.gitbook.io/skript-reflect/basics)
:::
#### 导入 Java 类
##### _在解析时导入类推荐_
在大多数情况下,无需运行脚本即可知道所需类的确切限定名称。如果是这种情况,您应该使用 **skript-reflect** 的`import`块:
:::info
为避免冲突,`import`块创建的表达式仅对导入它们的脚本可用。您必须在使用它们的每个脚本中导入 Java 类。
:::
```sk
import:
java.lang.System
command /example:
trigger:
message "%System%" # java.lang.System
System.out.println("test")
```
在大多数情况下,由`import`块创建的表达式不会相互冲突,也不会与其他 **Skript** 表达式冲突。如果类的简单名称与另一个表达式(如 `with Player and String` )冲突,则必须在别名下导入该类。
```sk
import:
java.lang.String as JavaString
command /example:
trigger:
message JavaString.format("Hello %%s", sender)
```
:::info
别名必须是有效的 Java 标识符!
:::
###### 在低于 1.17 的 Minecraft 版本上导入 NMS 类
由于 **Minecraft** 1.17 以下版本的 **NMS** 包会随着每个 **Minecraft** 版本而变化,因此您应该动态生成包前缀。有关详细信息,请参阅[计算选项](https://tpgamesnl.gitbook.io/skript-reflect/advanced/computed-options#using-computed-options-for-nms-imports)。
##### _在运行时导入类_
有时,在执行脚本之前,无法确定所需的类引用。
###### 从完全限定的名称
语法:
```sk
[the] [java] class %text%
```
示例:
```sk
on script load:
set {Player} to the class "org.bukkit.entity.Player"
message "%{Player}%" # org.bukkit.entity.Player
```
###### _从对象_
语法:
```sk
[the] [java] class[es] of %objects%
%objects%'[s] [java] class[es]
```
示例:
```sk
command /example:
executable by: players
trigger:
set {Player} to player's class
message "%{Player}%" # org.bukkit.entity.Player
```
###### 在effect命令中导入
由于导入块在 effect 命令中不可用,因此您可以使用 import effect仅在 effect 命令中可用):
```sk
import <fully qualified name> [as <alias>]
```
此导入只能在以上效果命令中使用,直到您停止服务器。
##### _处理嵌套类_
有时,一个类可能嵌套在另一个类中。当引用类的完全限定名称时,嵌套类使用一个`$`而不是`.`
例如,将`org.bukkit.entity.EnderDragon.Phase`变成`org.bukkit.entity.EnderDragon$Phase`。
嵌套类通常比其周围的类具有更通用的名称,因此应在别名下导入这些名称:
```sk
import:
org.bukkit.entity.EnderDragon$Phase as EnderDragonPhase
```
导入这些类的另一种方法是只导入它们的封闭类:
```sk
import:
org.bukkit.entity.EnderDragon
on load:
set {phase} to EnderDragon.Phase.LEAVE_PORTAL
```
#### 运行 Java 代码
##### _调用方法_
语法:
```sk
%object%.<method name>(%objects%)
```
示例:
```sk
event-block.breakNaturally()
(last spawned creeper).setPowered(true)
player.giveExpLevels({_levels})
```
方法可以用作 **Effects****Expressions****Conditions** 。如果用作**Conditions**,则只要方法的返回值不是 `false` 、`null`或`0` ,这个 **Conditions** 就会通过。
###### 调用非公共方法
如果尝试调用的方法不是公共的,则可能需要在方法名称前面加上括号中的声明类。由于一个对象在多个超类中可能具有同名的非公共方法,因此必须显式指定在何处查找该方法。
语法:
```sk
{_arraylist}.[ArrayList]fastRemove(1)
```
###### 调用重载的方法
通常, **skript-reflect** 可以从运行时传递的参数中推断出要调用的正确的重载方法。如果需要使用某个方法的某种实现,可以在方法名称的末尾附加一个逗号分隔的列表,并用括号括起来。
语法:
```sk
System.out.println[Object]({_something})
Math.max[int, int](0, {_value})
```
##### _调用字段_
语法:
```sk
%object%.<descriptor>
```
###### 调用非公共字段
如果您尝试访问的字段不是公共的,则可能需要在字段名称前面加上括号中的声明类。由于一个对象在多个超类中可能具有同名的非公共字段,因此必须显式指定查找该字段的位置。
示例:
```sk
{_hashmap}.[HashMap]modCount
```
##### _调用构造函数_
语法:
```sk
[a] new %javatype%(%objects%)
```
示例:
```sk
new Location(player's world, 0, 0, 0)
```
#### 处理事件
##### 监听事件
您可以通过引用导入的类来收听任何基于 Bukkit 的事件(包括其他插件添加的事件)。例如,如果要收听 `org.bukkit.event.entity.EnderDragonChangePhaseEvent`
```sk
import:
org.bukkit.event.entity.EnderDragonChangePhaseEvent
on EnderDragonChangePhaseEvent:
# your code
```
:::warning
一些插件使用自己的事件处理系统,或者不通过 **Bukkit** 的事件执行器传递他们的事件( **Skript** 的一些内部事件就是这种情况)。
为了侦听事件,它必须扩展`org.bukkit.event.Event`并由 **Bukkit** 的事件执行器执行。
:::
您还可以使用同一处理程序侦听多个事件。这些事件不必相关,但如果尝试访问在一个事件中可用但在另一个事件中不可用的方法,则应采取适当的预防措施。例如,如果要同时侦听`org.bukkit.event.entity.ProjectileLaunchEvent`和`org.bukkit.event.entity.ProjectileHitEvent`
```sk
import:
org.bukkit.event.entity.ProjectileLaunchEvent
org.bukkit.event.entity.ProjectileHitEvent
on ProjectileLaunchEvent and ProjectileHitEvent:
# your code
```
##### 使用`event` **Expressions**
**skript-reflect** 公开一个叫做`event`的 **Expressions**,允许您使用反射访问事件值。
语法:
```sk
[the] event
```
示例:
```sk
import:
org.bukkit.event.entity.EnderDragonChangePhaseEvent
org.bukkit.entity.EnderDragon$Phase as EnderDragonPhase
on EnderDragonChangePhaseEvent:
if event.getNewPhase() is EnderDragonPhase.CIRCLING:
event.setNewPhase(EnderDragonPhase.CHARGE_PLAYER)
```
:::info
该 event 表达式也可用于正常的 Skript 事件。
:::
##### 设置优先级
可以将事件的优先级设置为控制特定事件处理程序相对于其他事件处理程序的运行时间。
示例:
```sk
import:
org.bukkit.event.entity.EnderDragonChangePhaseEvent
on EnderDragonChangePhaseEvent with priority highest:
# your code
```
可以使用`org.bukkit.event.EventPriority`中定义的任何事件优先级。优先级较低的事件处理程序在优先级较高的事件处理程序之前运行。
事件优先级:
```
lowest
low
normal
high
highest
monitor
```
##### 处理已取消的事件
默认情况下,如果事件被优先级较低的处理程序取消,则不会调用事件处理程序。可以通过指定处理程序应处理`all`事件来更改此行为。
示例:
```sk
import:
org.bukkit.event.block.BlockBreakEvent
on all BlockBreakEvent:
uncancel event
```
#### 一些 **skript-reflect** 内置的小工具
##### Collect
```sk
[%objects%]
[%objects% as %javatype%]
```
创建包含指定对象的数组。指定类型可确定生成数组的组件类型。
:::info
此语法中的括号是文字,不表示可选组。
:::
##### Spread
```sk
...%object%
```
返回单个数组、可迭代数组、迭代器或流的内容。
##### 创建数组
```sk
new %javatype%[%integer%]
```
创建给定类型和大小的数组。类型可能是原始类型,不需要导入。
:::info
此语法中的括号是文字,不表示可选组。
:::
##### 通过索引获取数组的值
```sk
%array%[%integer%]
```
表示数组的某个索引处的值。
可以读取和写入此值。
:::info
此语法中的括号是文字,不表示可选组。
:::
##### Null
```sk
null
```
**Java** 中表示 `null` 。这与 **Skript** 的`<none>`不同 .
##### Bits
```sk
[the] (bit %number%|bit(s| range) [from] %number%( to |[ ]-[ ])%number%) of %numbers%
%numbers%'[s] (bit %number%|1¦bit(s| range) [from] %number%( to |[ ]-[ ])%number%)
```
表示数字中的位的子集。
可以读取和写入此值。
##### Raw Expression
```sk
[the] raw %objects%
```
返回表达式的基础对象。
:::info
与 [Expression](https://tpgamesnl.gitbook.io/skript-reflect/advanced/custom-syntax#expression) 一起使用时,可以将其设置为一个值,这将更改该参数的输入值。这可用于将数据存储在调用触发器的变量中。
```sk
import:
ch.njol.skript.lang.Variable
effect put %objects% in %objects%:
parse:
expr-2 is an instance of Variable # to check if the second argument is a variable
continue
trigger:
set raw expr-2 to expr-1
```
:::
##### 成员
```sk
[the] (fields|methods|constructors) of %objects%
%objects%'[s] (fields|methods|constructors)
```
返回对象的字段、方法或构造函数的列表,包括其修饰符和参数。
如果需要不带修饰符或参数详细信息的字段或方法名称列表,请参阅[成员名称](https://tpgamesnl.gitbook.io/skript-reflect/basics/utilities#member-names)。
##### 成员的名字
```sk
[the] (field|method) names of %objects%
%objects%'[s] (field|method) names
```
返回对象的字段或方法的列表。
##### 是示例吗?
```sk
%objects% (is|are) [a[n]] instance[s] of %javatypes%
%objects% (is not|isn't|are not|aren't) [a[n]] instance[s] of %javatypes%
```
检查对象是否是给定 **Java** 类型的实例。
##### 类引用
```sk
%javatype%.class
```
从给定的 **Java** 类型返回对类的引用。返回`java.lang.Class`类型的对象。此表达式还支持不需要导入的基元类型。
##### 插件实例
```sk
[(an|the)] instance of [the] plugin %javatype/string%
```
返回给定插件的实例(字符串形式的名称或插件类)。
更高级的用法及详细内容请自行查阅[skript-reflect文档](https://tpgamesnl.gitbook.io/skript-reflect)

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

View File

@ -1,88 +0,0 @@
---
slug: /plugins/other/Skript
title: Skript 概览
sidebar_position: 15
---
# 概览
:::warning
本文档大量参考了其他作者的教程,目前属于 **不可读** 状态
引用的内容主要来源于
TUCAOEVER 在 mcbbs 的教程
法棍 在 CSKB 发布的 [sk 教程](https://kb.corona.studio/zhCN/skript/startup.html)
:::
Skript 是一个脚本插件,取名来自 "script"。是一个面向 Bukkit 的编程语言,缩写为 SK。
因为其语法简单而受到很多中小型服主的青睐,很多人多多少少对这块有一些了解,
但是毕竟受众人群小,很多时候也会出现想学却无从下手,有问题却无处可问的尴尬境地。
## 特点
### 简单易上手
举一个简单的例子,为了实现玩家每次进入服务器就给有 "xxx" 权限的玩家 64 钻石的功能。
使用 Java 时的代码:
```java
@EventHandler
public void onPlayerJoin(PlayerJoinEvent evt) {
Player player = evt.getPlayer(); // 玩家加入
ItemStack itemstack = new ItemStack(Material.DIAMOND, 64); // 定义钻石
if (player.hasPermission("xxx")) { // 权限判断
inventory.addItem(itemstack); // 给予钻石
player.sendMessage("欢迎你加入服务器!你获得了64枚钻石!");
}
}
```
使用 Skript 时的代码:
```
on join:
if player has permission "xxx": // 权限判断
message "欢迎你加入服务器!你获得了64枚钻石!" // 发送消息
give 64 diamond to player // 给予钻石
```
在大多数情况下, Skript 不会在意大小写、定冠词 "the",只需要符合英语语法和基本的缩进。
即使使用了错误的语法,报错时也基本会提示具体错误类型。
### 拓展插件多
使用 Skript 时如果遇到 Skript 不包含的语法,可以使用其他拓展插件如 [Skbee](https://github.com/ShaneBeee/SkBee)、[Skript-reflect](https://github.com/SkriptLang/skript-reflect) 等插件拓展。
### 性能较低
相较使用 Java 编写的插件,进行相同的操作时, Skript 的性能会略低于 Java。
但大多数情况下性能和代码本身的质量有巨大的关系。代码质量差对于性能的影响远大于使用 Skript 对性能的影响。
## 下载及安装
下载链接:
1.7.10 2.1.2 https://dev.bukkit.org/projects/skript/files/779542/download
1.8.8-1.12.2 2.2dev37c https://github.com/SkriptLang/Skript/releases/download/dev37c/Skript.jar
最新版 https://github.com/SkriptLang/Skript/releases
`Skript.jar` 以及你需要的拓展插件如 `Skbee.jar` 安装到 `/plugins` 文件夹中即可。
## 基础教程
见[“基础教程”](BasicTutorials.md)。
## 进阶教程
见[“高级教程”](AdvancedTutorials.md)。

View File

@ -8,13 +8,13 @@ sidebar_position: 5
## AxSmithing
在 1.20 中sb mojang 在锻造台上添加了一个新的 UI(也就是添加了锻造模板),如果你的 1.16-1.19 服务器运行 ViaBackwards那么 1.20+ 玩家将无法打开锻造台,同样的事情在 1.20+ 服务器和 1.16-1.19 客户端上也是如此。 该插件还使 1.7-1.15 客户端能够打开锻造台。( 可以恢复到旧的 1.16-1.19 锻造台,不需要下界升级锻造模板)
在 1.20 中sb mojang 在锻造台上添加了一个新的 UI(也就是添加了锻造模板),如果你的 1.16-1.19 服务器运行 ViaBackwards那么 1.20+ 玩家将无法打开锻造台,同样的事情在 1.20+ 服务器和 1.16-1.19 客户端上也是如此。 该插件还使 1.7-1.15 客户端能够打开锻造台。( 可以恢复到旧的 1.16-1.19 锻造台,不需要下界升级锻造模板)
[下载地址](https://github.com/ViaVersionAddons/AxSmithing)
## ViaChatFixer
在 Minecraft 1.11 中,最大消息长度已从 100 个字符增加到 256 个字符。因此,如果的服务器低于 1.11、1.11 及更高版本 玩家的聊天消息将被剪成 100 个字符。
在 Minecraft 1.11 中,最大消息长度已从 100 个字符增加到 256 个字符。因此,如果的服务器低于 1.11、1.11 及更高版本 玩家的聊天消息将被剪成 100 个字符。
此插件解决了这个问题,因此 1.11 及更高版本的玩家将能够发送长达 256 个字符的更长的聊天消息。
@ -57,13 +57,13 @@ sidebar_position: 5
## AutoViaUpdater
这个插件可以自动帮你更新Via从而帮摆脱了服务端玩家骚扰
这个插件可以自动帮你更新Via从而帮摆脱了服务端玩家骚扰
功能:
* 与 Minecraft 1.8 及更高版本兼容 Spigot/Velocity/Bungeecord包括最新版本。
* 自动从 Jenkins 下载 ViaVersion、ViaBackwards、ViaRewind 和 ViaRewind-Legacy-Support 的成功版本及其开发版本。
* config.yml允许指定要更新的 Via 以及是否使用每个插件的开发版本。
* config.yml允许指定要更新的 Via 以及是否使用每个插件的开发版本。
* /updatevias 命令强制更新检查器对所有 Viaautoviaupdater.admin 权限!
[下载地址](https://www.spigotmc.org/resources/autoviaupdater.109331/)

View File

@ -79,11 +79,9 @@ ViaVersion+ViaBackwards+ViaRewind
Bungeecord、Velocity 和各种 Minecraft 服务端均可以安装 Via。但如果你有反作弊、反假人等
对数据包大量就行操作的插件时候由于后端服务器获取的玩家版本为代理端的版本,并非玩家客户端版本,
对数据包进行大量操作的插件,后端服务器获取的玩家版本为代理端的版本,并非玩家客户端版本,
容易引起兼容性问题,特殊情况下。
**一般情况下,推荐你安装在后端服务器,安装在跨服代理上容易出问题。**
容易引起兼容性问题,请谨慎将 Via 套件安装在代理端。
### Via 的版本选择

View File

@ -12,7 +12,7 @@ Via三件套中的向下兼容前置为ViaVersion
### 你们支持 1.8 及更低版本吗?
否,如果希望向后兼容 1.8 及更低版本,请使用 ViaRewind 或 ProtocolSupport。
否,如果希望向后兼容 1.8 及更低版本,请使用 ViaRewind 或 ProtocolSupport。
### 版本低于 1.17 的客户端看不到 y=0 以下的块,这会被修复吗?
@ -44,7 +44,7 @@ fix-1_13-face-player: false
### 通过将物品栏标题转换为传统文本,修复了 1.13 及更低版本客户端看不到物品栏标题颜色或格式的问题。
如果遇到可翻译文本显示错误的问题,请禁用此功能。
如果遇到可翻译文本显示错误的问题,请禁用此功能。
fix-formatted-inventory-titles: true

View File

@ -24,7 +24,7 @@ ViaRewind 可以让超低版本1.7-1.8)客户端进入高版本服务器
#### 指定 1.8.x 客户端如何查看冷却时间指示器
可以在 "标题"、"动作条"、"BOSS 条 "和 "禁用 "之间进行选择
可以在 "标题"、"动作条"、"BOSS 条 "和 "禁用 "之间进行选择
只有在服务器上禁用了 1.9 版本的冷却时间时才会禁用
@ -34,7 +34,7 @@ cooldown-indicator: "TITLE
#### 对于 1.7.x 客户端,用生存模式取代冒险模式
如果的服务器使用 "CanDestroy" # 或 "CanPlaceOn",请启用此选项。
如果的服务器使用 "CanDestroy" # 或 "CanPlaceOn",请启用此选项。
或 "CanPlaceOn "标志的情况下启用此选项
replace-adventure: false

View File

@ -20,7 +20,7 @@ ViaVersion是Via三件套的核心无论你需不需要向上兼容都需
### hologram-patch - 默认值false (布尔值)
在 1.9 和 1.11 中,修改了全息影像的某些高度值。如果您在服务器上手动使用盔甲支架,这可能与您无关,但如果您使用全息显示器等插件,则您的盔甲支架可能看起来高于 1.9+,但也可能低于 1.11+。要解决此问题,您可以启用此选项。
在 1.9 和 1.11 中,修改了全息影像的某些高度值。如果你在服务器上手动使用盔甲支架,这可能与你无关,但如果你使用全息显示器等插件,则你的盔甲支架可能看起来高于 1.9+,但也可能低于 1.11+。要解决此问题,你可以启用此选项。
### Hologram-E - 默认值:-0.96(整数)
@ -44,7 +44,7 @@ ViaVersion是Via三件套的核心无论你需不需要向上兼容都需
### disable-1_13-auto-complete - 默认值false布尔值
1.13 有完整的TAB补全可能会触发在 Spigot 上的刷屏,可以使用此选项完全禁用它。
1.13 有完整的TAB补全可能会触发在 Spigot 上的刷屏,可以使用此选项完全禁用它。
### 1_13-tab-complete-delay - 默认值0整数
@ -114,7 +114,7 @@ ViaVersion是Via三件套的核心无论你需不需要向上兼容都需
缓存在卸载块之前会变亮,以允许后续块更新数据包,而不是在发送第一个块数据时立即取消缓存。
仅在知道自己在做什么时才禁用此功能。
仅在知道自己在做什么时才禁用此功能。
### armor-toggle-fix- 默认值true布尔值
@ -122,7 +122,7 @@ ViaVersion是Via三件套的核心无论你需不需要向上兼容都需
## 1.8 服务器上的高版本客户端选项
此选项仅适用于使用 1.8 服务器时,这些选项可以在功能已更改的未来版本中实现一致的视觉效果/游戏玩法。
此选项仅适用于使用 1.8 服务器时,这些选项可以在功能已更改的未来版本中实现一致的视觉效果/游戏玩法。
### prevent-collision - 默认值true布尔值
@ -133,21 +133,21 @@ ViaVersion是Via三件套的核心无论你需不需要向上兼容都需
大多数服务器不使用记分牌插件,在这种情况下,我们会将自己的团队发送给玩家,以防止他们与其他玩家发生冲突。
如果您使用像 ColoredTags 这样的插件,您应该将其关闭。此外,如果您在使用 Bungee 和团队时遇到问题,请考虑将其关闭。
如果你使用像 ColoredTags 这样的插件,你应该将其关闭。此外,如果你在使用 Bungee 和团队时遇到问题,请考虑将其关闭。
### suppress-metadata-errors - 默认值false布尔值
由于 1.9 及更高版本对实体数据发送方式的更改,一些插件发送的数据我们找不到 1.9 的等效数据
(通常意味着他们做错了什么!发生这种情况时,我们会告诉配置中的所有信息,
(通常意味着他们做错了什么!发生这种情况时,我们会告诉配置中的所有信息,
需要调试并找出导致这种情况的插件并联系作者(这些与称为 Datawatcher 的 NMS 类有关)。
需要调试并找出导致这种情况的插件并联系作者(这些与称为 Datawatcher 的 NMS 类有关)。
或者,可以抑制元数据错误,但这意味着生物在 1.9 到 1.8 上可能看起来不同,但大多数时候这很好。
或者,可以抑制元数据错误,但这意味着生物在 1.9 到 1.8 上可能看起来不同,但大多数时候这很好。
### shield-blocking - default true (布尔值) - 注意:在 BungeeCord 上,客户端将无法看到它们盾牌阻挡。
在 1.9 中,删除了右键单击剑时的阻挡动画。无法模拟 1.9 无法看到 1.8 的阻挡,作为替代方案,可以直观地将这些视为盾牌。
在 1.9 中,删除了右键单击剑时的阻挡动画。无法模拟 1.9 无法看到 1.8 的阻挡,作为替代方案,可以直观地将这些视为盾牌。
这些不会改变任何游戏玩法,只允许 1.9 看到客户端阻止并用剑自己执行阻止操作。禁用此功能将意味着 1.9 客户端将无法看到也无法正确阻挡。
@ -159,7 +159,7 @@ ViaVersion是Via三件套的核心无论你需不需要向上兼容都需
为了模拟玩家滴答声,我们使用 NMS 作为发送数据包的替代方案,因为发送数据包可能会导致反作弊问题。
如果您在使用 ViaVersion 时遇到 TPS 问题,建议您尝试将其设置为 false因为它可能会减少对 TPS 的影响。
如果你在使用 ViaVersion 时遇到 TPS 问题,建议你尝试将其设置为 false因为它可能会减少对 TPS 的影响。
(尽管它仍然会在那里,只是没有标记为 ViaVersion因为它是内部服务器滴答作响
@ -167,19 +167,19 @@ ViaVersion是Via三件套的核心无论你需不需要向上兼容都需
在 1.9 中bossbar 的处理方式不同,通过数据包发送,而不是使用生物。
我们是否应该自动发送正确的数据包以使 bossbar 正常工作?如果您遇到出现太多bossbar的问题可以禁用此功能。
我们是否应该自动发送正确的数据包以使 bossbar 正常工作?如果你遇到出现太多bossbar的问题可以禁用此功能。
### bossbar-anti-flicker - 默认值false布尔值
由于 bossbar 的变化,一些插件会不断更新 boss 栏上的生命值,这可能会导致闪烁,启用此选项将修复生命值。
但是,这将防止运行状况下降,除非遇到闪烁问题,否则不建议这样做。
但是,这将防止运行状况下降,除非遇到闪烁问题,否则不建议这样做。
### use-new-effect-indicator - 默认值true布尔值
在 1.9 中,在屏幕左上角引入了一个新的效果指示器。启用此选项将允许玩家在左上角看到他们的有效药水效果,
这对 1.9+ 玩家来说可能是一个优势,如果您发现这种情况,您可能希望禁用。
这对 1.9+ 玩家来说可能是一个优势,如果你发现这种情况,你可能希望禁用。
### use-new-deathmessages - 默认值false布尔值
@ -195,7 +195,7 @@ ViaVersion是Via三件套的核心无论你需不需要向上兼容都需
### replace-pistons- 默认值false布尔值
此选项也会影响 1.9/1.9.1 服务器。 在 1.10.1 中Mojang 引入了一种确保特殊区块发送数据的方法。这也引入了一个崩溃问题,这意味着当发送块 36扩展活塞特殊块它会使客户端崩溃。作为故障保护您可以启用此选项,我们将发送下面指定的替换 ID。此问题仅在您使用特殊块 36 时才会影响您
此选项也会影响 1.9/1.9.1 服务器。 在 1.10.1 中Mojang 引入了一种确保特殊区块发送数据的方法。这也引入了一个崩溃问题,这意味着当发送块 36扩展活塞特殊块它会使客户端崩溃。作为故障保护你可以启用此选项,我们将发送下面指定的替换 ID。此问题仅在你使用特殊块 36 时才会影响你
### replacement-piston-id - 默认值0整数

View File

@ -5,7 +5,7 @@ sidebar_position: 3
# 服务端结构
我们先来简单看一眼 Purpur 的文件夹结构
我们先来简单看一眼 插件端 的文件夹结构(以Purpur为例)
```c
├─assets // 储存 Minecraft 音效贴图等重要文件,不要乱动
@ -112,9 +112,9 @@ Spigot 服务器都有的配置文件。
- `whitelist.json`
白名单列表。(如果在[`server.properties`](https://minecraft-zh.gamepedia.com/Server.properties)中开启了白名单,就可以在该文件中添加和管理谁被允许或不被允许进入服务器。)
白名单列表。(如果在[`server.properties`](https://minecraft-zh.gamepedia.com/Server.properties)中开启了白名单,就可以在该文件中添加和管理谁被允许或不被允许进入服务器。)
至此,大部分的以 Bukkit 为基础的服务器核心服务端的结构已经大致呈现在眼前。
至此,大部分的以 Bukkit 为基础的服务器核心服务端的结构已经大致呈现在眼前。
:::tip

View File

@ -86,6 +86,90 @@ enable-command-block=false
将此项设置为 `true`
## 设置难度
```
difficulty=hard
```
支持以下值
* peaceful(0) - 和平
* easy(1) - 简单
* normal(2) - 普通
* hard(3) - 困难
## 出生点保护
```
spawn-protection=16
```
出生点的保护范围,在保护范围中只有OP可以破坏或者放置
设置为0可以禁用
## 允许玩家前往地狱/生成地狱世界
```
allow-nether=true
```
设置为`false`可以禁用地狱
## 默认游戏模式
```
gamemode=survival
```
支持以下模式
* 生存 - survival 或 0
* 创造 - creative 或 1
* 冒险 - adventure 或 2
* 旁观 - spectator 或 3
## 强制游戏模式
```
force-gamemode=false
```
如果设置为`true`,玩家加入后将会被强制改为默认游戏模式
## 结构生成
```
generate-structures=true
```
结构(如村庄)是否会在新区块中生成
:::note
即使设置为false地牢仍会生成
:::
## 允许玩家互相攻击
```
pvp=true
```
## 允许飞行
```
allow-flight=true
```
:::warning
最好将此值设为`true`,无论你是否需要飞行,如果你需要反飞行,请查看反作弊一章
:::
## 服务器端口
在下一章!

View File

@ -100,7 +100,7 @@ Done (6.554s)! For help type "help"
### Downloading mojang_x.x.x.jar
如果的服务器卡在:
如果的服务器卡在:
```
Downloading mojang_x.x.x.jar
@ -120,7 +120,7 @@ Downloading mojang_x.x.x.jar
:::
请确定的科学上网是可用的,不多赘述。
请确定的科学上网是可用的,不多赘述。
在命令行界面(一般情况下,一个黑 / 蓝框框)中执行这两条
@ -129,8 +129,12 @@ set http_proxy=http://127.0.0.1:7890
set https_proxy=http://127.0.0.1:7890
```
其中 `7980`的科学上网软件设置的端口,若有不同,请替换。
其中 `7980`的科学上网软件设置的端口,若有不同,请替换。
注:输入之后仅对这个命令行窗口有效,`开启新的 / 关闭它` 之后要重新输入。
> 大佬们,浏览器能用不是 cmd 能用,不然你猜我为什么写这个。
> 大佬们,浏览器能用不是 cmd 能用,不然你猜我为什么写这个。
#### 中文乱码
如果你用的是Windows,你需要在启动脚本**最前面**加上`chcp 65001`

View File

@ -47,7 +47,7 @@ Mod 服最开始就必须选好核心,也就是 Forge 还是 Fabric 的问题
此类核心的存档结构有些不同
如果是从非 Bukkit 系核心或单人存档迁移,请查看[ Leaves 的迁移文档](https://docs.leavesmc.org/zh_Hans/leaves/guides/migration)(通用所有Bukkit插件端)
如果是从非 Bukkit 系核心或单人存档迁移,请查看[ Leaves 的迁移文档](https://docs.leavesmc.org/zh_Hans/leaves/guides/migration)(通用所有Bukkit插件端)
:::

View File

@ -9,12 +9,25 @@ sidebar_position: 7
## 使用现成的内网穿透提供商
[Sakura Frp](https://www.natfrp.com/?page=panel&module=download) - 注册登录后前往 [下载页面](https://www.natfrp.com/tunnel/download) 下载 Frp 启动器。安装过程参考官方 [安装教程](https://doc.natfrp.com/launcher/usage.html) 即可。
笔者无法在这里推荐运营商,因为目前在开服方面还没有受到广泛认可的内网穿透运营商。不同的运营商收费不同,限量不同,节点也不同。上网搜索“内网穿透”就能找到大量内网穿透的运营商,但是在选购的时候非常建议多家对比,找到最适合自己使用的运营商。下面是选择过程中除了价格外尤其需要注意的地方:
1. 正规性:最好能在运营商的官网最下面看到网站备案信息,并且运营商也介绍了自己的公司名称,公司名称上网也能查得到。
2. 流量小服务器每月只能用掉几G但是大服务器每月能用掉几百G甚至几T的流量。你需要确定对流量的收费是否适合自己。如果不确定多少流量适合自己你可以先找一家运营商用一个月看看自己要花掉乐多少流量。
3. 带宽一些内网穿透运营商只会给每个服务器几M的带宽对于大型服务器完全不够用。注意一般不限流量的内网穿透运营商带宽都很低。
4. 隧道数:内网穿透每映射一个端口出去就叫一条隧道。每个服务端都可能需要占用一条隧道,你还需要一些隧道用来管理服务器等。一般新手有一个隧道就够,但是后面你可能需要远程桌面等要用到更多隧道。
5. 节点:由于内网穿透是客户端向节点发送数据后节点再向服务器发送数据,和客户端与服务器直接通信相比,数据需要在节点上绕一下,这样一来延迟到来到了客户端到节点的延迟和服务端到节点延迟的总和。
<details>
<summary>如何选择合适的节点?</summary>
根据三角形两边之和大于第三边的定理节点距离客户端或服务端越近游戏延迟就越小。然而你无法确定客户端的地理位置毕竟玩家来自大江南北。那么只有缩短节点与服务器之间的距离才能保证所有玩家的延迟都最低。例如服务器位于河北有两个节点分别位于山东枣庄和江苏宿迁有两个玩家分别位于广东和辽宁那么当选择离服务器更近的枣庄节点时假设辽宁玩家到节点为20ms广东玩家到节点为50ms服务器到节点为10ms那么辽宁玩家的游戏延迟就是20+10=30ms广东玩家的游戏延迟就是50ms+10ms=60ms。当选择离服务器更远的宿迁节点时假设辽宁玩家到节点为40ms广东玩家到节点为30ms服务器到节点为30ms那么辽宁玩家的游戏延迟就是50+30=70ms广东玩家的游戏延迟就是40+30=60ms。选择宿迁节点时虽然广东玩家的延迟不变但是辽宁玩家连接服务器时数据从更远的宿迁绕了一圈再回来延迟高了很多。因此选择运营商时优先选择拥有离自己近的节点的运营商。
</details>
6. 实名认证为了在意外事故中更好地规划责任很多内网穿透运营商都要求实名认证才能开始使用或者部分节点需要实名认证。还有一些实名认证时还要求用户必须成年年满18岁。况且实名认证服务提供方收费内网穿透运营商可能会让你自行承担费用目前价格通常在1元。所以在选择运营商时如果你未成年或者没有在线支付的能力那么在一些运营商处可能会受到限制。
## 自建 Frp
首先你得确保你有一台有公网 IP 的机器,最好是**Linux**的。
如果你的朋友愿意把他的服务器作为节点提供给你,你还需要注意配置方法包括了需要在他的服务器上进行的操作,你可能需要他交给你服务器的控制权,或者请求他的帮助。
这里假定你有一台符合条件的 Linux 服务器,并且你已经可以连上你服务器的**SSH**。
import Tabs from '@theme/Tabs';
@ -24,7 +37,7 @@ import TabItem from '@theme/TabItem';
1. 首先确保服务器所有软件包是最新的:
不同的 linux 发行版更新方法大同小异
不同的 Linux 发行版更新方法大同小异
<Tabs>
<TabItem value="debian" label="Debian/Ubuntu Linux" default>

View File

@ -1,260 +0,0 @@
---
title: 申请域名
sidebar_position: 5
---
# 申请域名
域名不但是服务器的招牌,也是老玩家重新找回的一个重要渠道,一个好的域名应该够短(太长了没人记得住)、有记忆点(最好是和 Minecraft 或玩法相关),那么准备好一点小钱钱和待选的名字开始吧。
## 什么是域名
简单来说,域名就是将计算机之间识别网络地址的 IP ,变成人类能够读懂、方便记忆的一串 **用点分隔的字符串**
例如:
* github.io
* 仿真教学.中国
* live.bilibili.com
* example.mc.12345.org
这些字符串和 IP 的对应关系被储存在 DNS 服务器上,当访问域名时候会查询 DNS 从而解析到 IP
除此之外DNS 服务器会记录不同域名所有者对于 IP 对应的修改情况,
以上的域名使用了数量不同的 `.` 将其分开,每段片段可以是中文、英语、或者数字等。
从右往左数第 n 个被 `.` 分开的片段就是 n 级域名,下表示意了例子中对应的域名级别:
:::tips
有些资料认为顶级域名后的域名为一级域名,此处以顶级、二级、三级为准。
:::
| 四级域名 | 三级域名 | 二级域名 | 顶级域名 |
| -------- | -------- | -------- | -------- |
| | | github | io |
| | | 仿真教学 | 中国 |
| | live | bilibili | com |
| example | mc | 12345 | org |
其中一级域名代表了国家cn 代表中国、用途com 代表公司)。我们主要需要考虑的是 **二级域名**
作为 Minecraft 服务器,域名不仅方便了玩家记忆和进入,也代表了服务器的玩法或名字。
因此,我们建议所有长期开放的 Minecraft 服务器都购买自己的域名。
## 寻找合适的域名提供商查询域名
以阿里云的[万网](https://domain.aliyun.com/)为例,打开网站,来到如下页面:
![](_images/申请域名/1.png)
搜索你想要的域名
![](_images/申请域名/2.png)
:::warning
此处域名价格为你输入域名的人气决定,名称越热门越贵,没有优惠最便宜首年也这个价。
有些域名首年很便宜,但第二年续费要成百上千,将鼠标悬停在价格旁边的倒三角处查看续费价格,
我们推荐.top第二年价格最低长期开服绝对推荐。
:::
## 购买域名
登录后点击域名旁边的加入清单,然后点批量注册旁边的域名清单,更改域名购买时间后,最好底下什么套餐都不要选,直接点立即购买。
![](_images/申请域名/3.png)
跳转后这个页面立即购买是点不动的,滑动到下方,点击创建信息模板来实名验证。
:::tip
此操作未成年也可以,但无论如何信息需要真实(通讯地址似乎不用太精确,填到市就能过了),请不要拿着他人的身份证假冒认证!
:::
点提交后等通过,然后回来勾选最底下的我已阅读、理解并接受《域名服务条款》。在下一个页面选择支付方式后点支付。
:::tip
购买的域名一般需要至多 24 小时才能正常解析,打开网址 `https://whois.aliyun.com/domain/ + 你的域名`,如果域名状态那里是正常状态 `ok` 就代表可以使用了。
:::
:::warning
**购买域名后,一定要记得续费!!!** 你可以定一个提醒,在域名**快过期**的时候续费,
如果你预算充足,那就直接把域名续费到比自己服务器能开的时间还要长。
如果域名过期,你的玩家将 **不再能通过他们之前输入的地址连接服务器**
导致玩家连接服务器失败的情况。而且如果你注册了好域名但没及时续费,你的域名可能被 **抢注**
这会导致你必须通过各种手段从抢注域名的人手里高价赎回域名,或者被迫更换其他域名。
:::
## 域名解析
A 记录是 DNS 中用于将域名映射到 IPv4 地址的记录(也就是我们常用的 IP 记录)。
SRV 记录,使用二级域名记录了端口的信息,使用 SRV 可以隐藏域名端口。
:::warning
文档中,假设你购买了域名 `xxx.top`,服务器在外网的端口为 `22222` ,请勿直接照抄配置。
:::
### A 记录
将域名指向一个 IPV4 地址。
人话就是把数字 IP 地址解析成英文字符的域名。
打开网址 [阿里云域名控制台](https://dc.console.aliyun.com/#/domain-list/all),找到你的域名点右边蓝色字的解析。
点击添加记录,记录类型选择 A 记录。
主机记录改为 `@` (这意味着直接使用二级域名),记录值改为服务器数字 IP 。
等待解析生效。此时,玩家可通过 `xxx.top:22222` 进入服务器了。
:::tip
1. 如果只知道域名不知道 IP 就 Win + R 输入 cmd随后输入 ping + 域名。
2. 主机记录可以改成如 `play` 等,玩家就可以通过 `play.xxx.top:22222`(但这是不是有点太长了,除非你有明确的需求必须使用这种三级域名,否则不推荐)。
:::
### CNAME 记录
将域名指向另一个域名。
假如服务商给的是解析好的域名不是 IP比如服务器的连接地址是play.simpfun.cn:xxxxx那就需要用这个来指向你自己的域名。
记录类型选 CNAME。
然后主机记录填你需要的二级域名,填写 `@` 代表直接使用二级域名,玩家连接服务器时可以不用前缀。
记录值填服务商给的域名就行了。
### SRV 记录
点击添加记录,记录类型选择 SRV 。
然后主机记录填你需要的二级域名,如你需要使用 `mc.xxx.top` 代替 `xxx.top:22222` (端口),就将主机记录改为:
`_minecraft._tcp.mc`
此处的 mc 可以改为其他,如 `play` 、`*` 等,填写 `@` 可以不用前缀。
记录值填写为:
`5 0 22222 xxx.top`
> 5 0 是固定的22222 是你的端口
点击确认,等一会,你就可以发现直接用域名可以连接上你的服务器了。
:::tip
此方法只能用于 Minecraft Java版服务器不能用于其他服务比如基岩版就不支持这种srv
所以基岩版玩家进服时必须仍然要正常填写域名和端口,即使服务器为 Java 版的互通服。
:::
### AAAA 记录
将域名指向一个 IPV6 地址。和 A 记录的不同之处是AAAA 记录专门用来指向 IPv6 地址,不能指向 IPv4 地址。同理A 记录也只能指向 IPv4 地址,不能指向 IPv6 地址这也意味着你如果要为服务器的IPv6地址也绑定一个域名你就必须要再创建一条 AAAA 记录。
按照A记录中的方法找到你的域名点右边蓝色字的解析。点击添加记录记录类型选择 AAAA 记录。
填写主机记录名,比如 playv6 。记录值改为服务器 IPv6 地址。
等待解析生效。如果记录名为 playv6 此时支持I Pv6 的玩家就可通过 `playv6.xxx.top:22222` 进入服务器了。
:::tip
因为大环境原因,很多玩家目前都无法通过 IPv6 连接到服务器所以除非你有非常明确的目的否则完全没有必要为服务器的IPv6地址配置AAAA记录。
:::
#### 为双栈网络的服务器配置同时支持 IPv4 和 IPv6 的域名
不仅可以有同时多个域名同时指向同一个 IP 地址的情况,也可以有同一个域名同时指向多个 IP 地址的情况。
你或许已经知道,很多已经支持 IPv6 的网站虽然在支持 IPv6 的情况下可以通过 IPv6 访问,
但是仅支持 IPv4 的网络也仍然可以访问。这是因为边些网站的域名**既指向了 IPv4 地址,也指向了 IPv6 地址**
它的实现原理是为同一个域名同时添加 A 记录和 AAAA 记录。要实现这个目的,你只需要:
1. 在域名注册商的后台打开服务器 IPv6 地址正使用的 AAAA 记录的编辑页面。
2. 把主机记录名改为和 A 记录一样的比如服务器的连接地址是xxx.top:22222那么AAAA记录的记录名也写 @ ,和 A 记录保持一致,然后保存。
3. 你的玩家就可以在支持IPv6的网络环境下通过 IPv6 连接到服务器了。不支持 IPv6 的玩家不受影响,他们可以继续正常地通过 IPv4 连接到服务器。
:::warning
A 记录和 AAAA 记录都与 CNAME 记录冲突,如果你的服务器 IPv4 连接地址对应的域名是 CNAME 记录你需要把那个记录改为A记录并指向服务器的 IPv4 地址,然后才能继续添加 AAAA 记录。
:::
## DDNS 服务
些网络中,即使不更换服务器, IP 地址也会发生变化。这就是动态 IP 。
而如果 IP 地址始终和同一台电脑绑定,也就是说这台电脑的 IP 地址永远不会变化,这就是静态 IP 。
如果服务器是静态 IP ,那么你就完全不用担心域名和 IP 对应不上,因为只要他不去手动更换服务器,
服务器的 IP 就不会变化,也就是说你完全知道服务器的 IP 什么时候会变化。但是动态 IP 就不一样了。
由于同一台电脑的 IP 地址随时可能改变那么即使你完全不对服务器进行任何操作服务器的IP地址也会改变
导致域名和 IP 在维护者不知情的情况下对应不上。为了能把电脑的 IP地 址的变化随时同步到 DNS 上,
需要这台电脑自己能够发现 IP 地址的变化,并且自行和 DNS 同步。
用来实现电脑发现自己 IP 地址的变动并同步到DNS的这种服务就叫 DDNS (动态域名解析服务)。
有了这个服务,电脑就能随时更新自己对应的域名对应的 IP ,这样无论自己的 IP 地址怎样变化,
那个域名都能一直指向自己。这样一来使用者也可以直接通过域名来访问那个IP地址不固定的服务器了。
我们的家用宽带几乎全都是动态 IP 。如果你申请到了公网 IPv4 ,或者你让玩家能够通过 IPv6 连接服务器,
那么你就需要把你的公网 IPv4 和 IPv6 告诉玩家。然而作为家用宽带,这些地址都是动态的。
你必须要给服务器配置 DDNS 服务,否则你就必须要频繁地重新公布连接地址或者手动更新域名解析。
DDNS 服务必须需要一个域名才能开始搭建。运行 DDNS 服务的软件目前开服圈子最常用的是[ddns-go](https://github.com/jeessy2/ddns-go)
,这个软件开箱即用,只需要简单的几步配置就可以让域名绑定在服务器上,非常方便。
由于读者可能使用各种各样的域名注册商,而且限于篇幅,本文仅提供 windows 系统上腾讯云和 ddns 配合使用的教程,
其他注册商和操作系统的配置方法大同小异,读者们灵活变通即可,有不懂的地方善用搜索引擎搜索。
1. 前往https://github.com/jeessy2/ddns-go/releases 下载最新版的 ddns-go 安装包。
2. 将安装包(就是下载的那个压缩包)解压到一个不会被自己误删除的位置(如果你不知道哪里自己不会误删除,就直接解压到文件管理器左侧的文档那个文件夹)。
3. 在 `ddns-go.exe` 所在的同级目录打开 powershell 。
4. 执行 `./ddns-go.exe`
5. 打开浏览器,访问网站 localhost:9876 ,这是 ddns-go 的管理面板
6. 提示输入帐号密码,由于这是你首次打开网站,直接点击登录。
7. DNS 服务商选择 Dnspod腾讯云
8. 进入 DNSPod 官网 dnspod.cn 。登录自己的帐号,点击帐号头像,点击 API 密钥,点击 DNSPod Token点击创建密钥先将 ID 和 Token 分别复制到 ddns-go 管理面板的DNS 服务商项中的 ID 和 Token 中,再关闭 DNSPod 控制台中弹出的窗口。
9. 往下翻,根据自己的实际情况启用 IPv4 或 IPv6 。获取方式都建议选择通过接口获取。 Domains 中填写要跟踪的解析记录,例如你想让 `mc.arsky.club` 指向这台电脑,那就在里面填写 `mc.arsky.club` 。不要只填写 mc ,要把整个域名都写上。
10. 其他配置中,勾选禁止公网访问,然后设置 ddns-go 的登录用户名和密码。下载登录后台的时候你就必须要输入这个用户名和密码才能登录了。如果实在记不住用户密码就在服务器桌面上创建个txt写里面当然不推荐这么做因为不安全除非你承认自己真的记不住。
11. 点击最下面的 Save 。
到这里域名解析就配置成功了。此时控制台翻到顶,右边应该会出现日志,如果有修改域名解析 xxx 成功!或者 IP 未改变,将等待 n 次后与 DNS 服务商进行比对,就是配置成功了。如果失败了,日志会提示错误原因。

View File

@ -1,15 +1,105 @@
---
title: 备份
slug: /database/backup
sidebar_position: 3
sidebar_position: 4
---
# 备份
## 手动备份
TODO
## 自动备份
### 使用命令行备份
TODO
### 使用 Navicat 备份
展开你想要备份的数据库,点击备份,再点击新建备份
![](_images/35.png)
然后点击备份即可开始备份
![](_images/36.png)
中间的命令行提示这一条的时候备份即已完成
![](_images/37.png)
**那我可以指定把数据库备份放在那里吗?**
当然可以!
右键你的连接,点击编辑连接
![](_images/38.png)
点击数据库,修改这里的设置位置即可让 Navicat 将你的数据库备份到你想要到的地方了
![](_images/39.png)
**如何使用备份?**
右键你想要使用的备份,然后点击还原备份
![](_images/40.png)
然后在弹出的界面中点击还原,当命令行出现这句话的时候,数据库就还原成功了
![](_images/41.png)
**对于数据量非常大的数据库,备份起来很慢,还容易出错,怎么办?**
遇到这种情况,不用慌张,我们这个时候转储 SQL 文件即可
转储 SQL 文件,能够极大降低还原备份时出错、数据缺失的问题
我们右键想要转储为 SQL 文件的数据库,点击转储 SQL 文件,点击结构和数据
![](_images/42.png)
之后我们选择一下 SQL 文件的转出位置
当命令行出现这句话的时候,即已完成转储
之后当我们需要使用备份的时候,我们再次右键那个数据库,点击运行 SQL 文件
![](_images/44.png)
然后找到你之前转储的后缀为 `.sql` 的文件,选中并确定后点击开始。当命令行出现这句话的时候,数据库就还原成功了
![](_images/45.png)
### 使用 HeidiSQL 备份
TODO
### 使用小皮工具箱备份
TODO
### 使用宝塔面板备份
TODO
### 自动备份
### 使用 Navicat 自动备份
![](_images/31.png)
点击自动运行,然后点击新建批处理作业
![](_images/32.png)
之后分别点击: 备份 - 需要备份的数据库名字 - backup 数据库名
即可添加备份任务
![](_images/33.png)
完成这些步骤后点击保存,设置完任务名称后点击设置计划任务
![](_images/34.png)
点击触发器,新建触发器,然后自行设置备份任务时间
最后保存计划任务就大功告成啦

View File

@ -1,65 +1,258 @@
---
title: 配置
slug: /database/configure
sidebar_position: 2
sidebar_position: 3
---
# 配置
## 数据库配置
1. 请一定记得关闭远程数据库访问;
### MySQL
2. 如果一定要开启远程数据库请设置复杂密码;
MySQL 的配置文件在 Windows 中,是 `my.ini` ,默认在 `C:\Program Files\MySQL\MySQL Server X.X` 文件夹中
3. 必须要先创建数据库插件才有权限创建表(这不废话吗不然插件配置文件里填什么);
而 Linux 中,是 `my.cnf` ,默认路径为 `/etc/my.cnf`
<details>
<summary>示例配置文件</summary>
```ini
[client]
port=3306
[mysql]
default-character-set=utf8
[mysqld]
port = 3306
#设置 MySQL 的端口
socket = /tmp/mysql.sock
#设置mysql的安装目录,别动
basedir=F:\\Hzq Soft\\MySql Server 51GA
#设置mysql数据库的数据的存放目录,如果你觉得原来存放数据库的地方不够用了可以迁到其他地方去
#但是要注意把原来的存放目录里面的东西迁移到那个地方去
datadir=F:\\Hzq Soft\\MySql Server 51GA\\data
#innodb_log_arch_dir 默认datadir
#innodb_log_group_home_dir 默认datadir
#设置mysql服务器的字符集,默认编码
default-character-set=utf8
#连接数的操作系统监听队列数量,如果经常出现“拒绝连接”错误可适当增加此值
back_log = 50
#不使用接听TCP / IP端口方法mysqld通过命名管道连接
#skip-networking
#最大连接数量
#有时候插件会因为这个值太小而报错,建议设置大一点,比如 65536 ,甚至有时候这都不够
max_connections = 90
#打开表的线程数量限定最大4096除非用mysqld_safe打开限制
table_open_cache = 2048
#MySql 服务接收针对每个进程最大查询包大小
max_allowed_packet = 16M
#作用于SQL查询单笔处理使用的内存缓存,如果一笔操作的二进制数据超过了限定大小,将会在磁盘上开辟空间处理,一般设为 1-2M即可默认1M
binlog_cache_size = 2M
#单个内存表的最大值限定
max_heap_table_size = 64M
#为每个线程分配的排序缓冲大小
sort_buffer_size = 8M
#join 连表操作的缓冲大小,根据实际业务来设置默认8M
join_buffer_size = 32M
#操作多少个离开连接的线程的缓存
thread_cache_size = 8
#并发线程数量默认为8可适当增加到2倍以内。如果有多个CPU可以乘 上CPU的数量。双核CPU可以乘 上当前最核数再乘 上70%-85%
thread_concurrency = 16
#专用于具体SQL的缓存如果提交的查询与几次中的某查询相同并且在query缓存中存在则直接返回缓存中的结果。
query_cache_size = 64M
#对应上一条设置,当查询的结果超过下面设置的大小时,将不会趣入到上面设置的缓存区中,避免了一个大的结果占据大量缓存。
query_cache_limit = 2M
#设置加全文检索中的最小单词长度
#ft_min_word_len = 4
#CREATE TABLE 语句的默认表类型,如果不自己指定类型,则使用下行的类型
default-storage-engine = InnoDB
#线程堆栈大小mysql说它自己用的堆栈大小不超过64K。这个值可适当设高一点在RCA的项目中都是共用同一个数据库连接的默认192K
thread_stack = 800K
#设置事务处理的级别,默认 REPEATABLE-READ一般用它就即可以下二行按顺序对应
#可读写未提交的数据,创建未提交的数据副本读写,未提交之前可读不可写,只允许串行序列招行事务。
# READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE
transaction_isolation = REPEATABLE-READ
#单一内存临时表在内存中的大小,超过此值自动转换到磁盘操作
tmp_table_size = 64M
#启动二进制日志功能,可通过它实现时间点恢复最新的备份
#log-bin=mysql-bin
#二进制日志格式,对就上一条,-建议混合格式
#binlog_format=mixed
#对应上一条,如果一个查询超过了下条设定的时间则执行上一条。
long_query_time = 2
#自定义主机ID识别符,用于主从或多服务器之间识别,为 一个 int 类型
server-id = 1
#一般用来缓存MyISAM表的主键也用于临时的磁盘表缓存主键上面多次出现临时磁盘表所以就算不用MyISAM也最好为其设置一个不小的值默认32M
key_buffer_size = 56M
#全表扫描MyISAM表时的缓存,每个线程拥有下行的大小。
read_buffer_size = 2M
#排序操作时与磁盘之间的缓存分到每个线程默认16M
read_rnd_buffer_size = 16M
#MyISAM使用特殊树形进行批量插入时的缓存如insert ... values(..)(..)(..)
bulk_insert_buffer_size = 64M
#MyISAM索引文件的最大限定
myisam_max_sort_file_size = 12G
#如果一个myisam表有一个以上的索引 MyISAM可以使用一个以上线程来排序并行它们。较耗硬件资源如果你的环境不错可以增加此值。
myisam_repair_threads = 2
#自动检查和修复无法正确关闭MyISAM表
myisam_recover
# *** INNODB Specific options ***
#开启下条将会禁用 INNODB
#skip-innodb
#一般不用设置或者说设了也没多大用InnoDB会自己与操作系统交互管理其附加内存池所使用InnoDB的存储数据的大小
innodb_additional_mem_pool_size = 16M
#innodb整体缓冲池大小,不宜过大,设为本地内存的 50%-75% 比较合适,在本机开发过程中可以设得较小一点如 64M,256M
innodb_buffer_pool_size = 256M
#InnoDB的数据存储在一个或多个数据文件组成的表空间
innodb_data_file_path = ibdata1:10M:autoextend
#用于异步IO操作的线程数量,默认为 4 ,可适当提高
innodb_file_io_threads = 8
#线程数内允许的InnoDB内核,不宜太高
innodb_thread_concurrency = 14
#InnoDB的事务日志快存行为,默认为 1为0可减轻磁盘I/0操作还有以为2
innodb_flush_log_at_trx_commit = 1
#InnoDB的用于的缓冲日志数据的大小
innodb_log_buffer_size = 16M
#日志文件可设置为25%-90%的总体缓存大小,默认 256M. 修改此项要先删除datadir\ib_logfileXXX
innodb_log_file_size = 256M
#日志组数量默认为3
innodb_log_files_in_group = 3
#InnoDB的日志文件位置。默认是MySQL的datadir
#innodb_log_group_home_dir
#InnoDB最大允许的脏页缓冲池的百分比默认90
innodb_max_dirty_pages_pct = 90
#事务死锁超时设定
innodb_lock_wait_timeout = 120
```
</details>
:::warning
绝对不要直接把示例配置文件直接复制粘贴进你的配置文件当中
否则有可能会导致数据库无法启动
正确的做法是看完注释之后根据自己的需要,自行去修改配置文件,然后重启或重载 MySQL 服务
:::
此外,还有一些十分重要的配置项,建议修改,没有的配置项可以自行在配置文件中添加
:::info
语句示例:
```sql
CREATE DATABASE <数据库名称> CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
```
解释: `CHARACTER SET utf8mb4` 将数据库字符集设置为 utf8mb4 能够存储包括表情符号在内的所有 Unicode 字符。 `utf8mb4_general_ci` 是一种不区分大小写case-insensitive的排序规则如果你想区分大小写可以改为 `utf8mb4_bin``_bin` 意为以二进制方式比较字符。
|配置名称 | 作用 | 默认值 | 推荐值 |
|---------------|----------------|-----------------|------------|
|`wait_timeout` | 此项设置 MySQL 在关闭一个非交互的连接之前所要等待的秒数,也就是一项连接如果空闲时间超过设置的值,连接就会被自动关闭,这时候你的插件就会疯狂报错烦死你,建议调大一点。但是太大也不行,否则会严重拖累性能 | `wait_timeout=28800` | 86400
|`interactive_timeout` | 此项设置 MySQL 关闭一个交互的连接之前所要等待的秒数,需要注意的是, `wait_timeout``interactive_timeout` 需要同时设置,否则不会生效 | `interactive_timeout=28800`| 86400 |
|`max_allowed_packet` | 有时候你的插件会告诉你 `Package for query is too large` 那么这个时候你就需要调大这个值了,这一项规定了 MySQL 传输过程中最大允许的包的大小 | `max_allowed_packet=1M` | 看情况 |
|`max_connections` | 这一项设置 MySQL 的最大连接数,如果连接数到达这个数值,就无法创建新的连接,这个时候你的插件通常会报错,告诉你 `max_connections` 满了 | `max_connections=90` | 32768 |
:::
4. 数据库参数记得调整(TODO)
### MariaDB
# 小皮数据库
<details>
<summary>配置数据库</summary>
安装好后在首页启动 MySQL
![](_images/9.png)
更改 root 账户的密码
:::danger
不要设置过于简单的密码!
尤其是你打算把数据库开到公网,**绝对不要**设置过于简单的密码!
**这真的很严重**
:::
![](_images/10.png)
![](_images/11.png)
然后你就可以建数据库了,建好之后把你填这里的信息填到插件的配置文件里
</details>
# 宝塔面板
<details>
<summary>配置数据库</summary>
TODO
</details>
TODO

View File

@ -1,10 +1,10 @@
---
title: 数据库相关
slug: /database
sidebar_position: 2
sidebar_position: 3
---
# 数据库相关
## 数据库相关
:::info
@ -18,11 +18,11 @@ sidebar_position: 2
4. Redis/MySQL 等数据库配合可轻松完成玩家数据同步等;
5. 在数据量较大时候相较 sqlite 有更好的性能, 查询时需要的时间短, 特别是某些经济插件付款时避免卡.
5. 在数据量较大时候相较 sqlite 有更好的性能, 查询时需要的时间短, 特别是某些经济插件付款时避免卡.
:::
# MySQL / MariaDB
### MySQL / MariaDB
MariaDB 是著名的 MySQL 分叉,只是服务器腐竹的话,你只需要知道这两个东西差不多就好了
@ -34,6 +34,6 @@ MariaDB 是著名的 MySQL 分叉,只是服务器腐竹的话,你只需要
:::
## Redis
### Redis
TODO

View File

@ -4,11 +4,33 @@ slug: /database/install
sidebar_position: 1
---
# 安装
## 数据库安装
### 直接安装
你可以选择直接下载安装包来安装,如果觉得麻烦,请看下面的**使用工具安装**
:::tip
[sohu MySQL 镜像源](http://mirrors.sohu.com/mysql/MySQL-8.0/)
[阿里 MySQL 镜像源](https://mirrors.aliyun.com/mysql/)
:::
对于 Windows 用户,请下载 `.msi``zip` 的包,其中 `.msi` 是安装包,`.zip` 是绿色版,推荐下载 `.msi` 版本来安装
对于 MySQL 安装,请看这篇文章: [2024 年 MySQL 8.0 安装 配置 教程 最简易(保姆级)](https://blog.csdn.net/m0_52559040/article/details/121843945)
而标着 `ubuntu``debian` 是 linux 版本的安装包linux 用户请下载这个
在下载的时候请务必注意自己的系统、架构等是否与安装包上标的匹配
### 使用工具安装
我会告诉你 **我认为** 最简单的几种安装数据库的方法
## 小皮数据库
#### 小皮数据库
<details>
<summary>从官网下载和安装</summary>
@ -38,7 +60,34 @@ MySQL5 版本太低了,很多插件需要更高版本的,装 MySQL8 就够
</details>
## 宝塔面板
<details>
<summary>初次启动</summary>
安装好后在首页启动 MySQL
![](_images/9.png)
更改 root 账户的密码
:::danger
不要设置过于简单的密码!
尤其是你打算把数据库开到公网,**绝对不要**设置过于简单的密码!
**这真的很严重**
:::
![](_images/10.png)
![](_images/11.png)
然后你就可以建数据库了,建好之后把你填这里的信息填到插件的配置文件里
</details>
#### 宝塔面板
<details>
<summary>从官网下载和安装</summary>
@ -81,3 +130,4 @@ MySQL5 版本太低了,很多插件需要更高版本的,装 MySQL8 就够
![](_images/24.png)
</details>

View File

@ -1,12 +1,14 @@
---
title: 卸载
slug: /database/uninstall
sidebar_position: 4
sidebar_position: 5
---
## 数据库卸载
当你乱捣鼓一通,然后给你数据库整炸了,还不会修,那除了花钱请大佬最好的办法就是删掉重新安装
# 宝塔面板
### 宝塔面板
TODO
@ -14,11 +16,11 @@ https://www.bt.cn/bbs/thread-9043-1-1.html
https://www.bt.cn/new/btcode.html
# 小皮数据库
### 小皮数据库
TODO
# 暴力删除
### 暴力删除
也许我们会遇到:用温和的方式弄不干净数据库的尸体,这尸体又影响我重新安装数据库了

View File

@ -34,9 +34,17 @@ sidebar_position: 100
- [ ] 搭建翼龙面板mcsm
- [ ] 资源包托管 gitee github gitlab 直链网盘
## 建设阶段
- [ ] 新增文案教程,和美术教程折叠在侧边栏同一项下面
> - 统一文字排版,风格
> - 统一语言,不要让玩家看到还没汉化的信息
> - 统一写法同时有iamm某物品库应该选择其中一个来写物品
## 维护
- [x] 优化-性能配置文件
- [ ] 在某处建议服主统一命名方式,包括但不限于文件名,变量名
## 插件
@ -87,9 +95,52 @@ sidebar_position: 100
- [ ] Q机器人教程?
- [ ] 搭建 Frp
- [x] Minimessage简单讲解
- [ ] 怎么支持中文名的玩家
- [x] 怎么支持中文名的玩家
- [x] 编码问题以及如何解决
## 服务器经营管理
~~什么玩意~~
### 玩家管理
- [ ] 服务器群
- [ ] 白名单制度
- [ ] 我的世界wiki
- [ ] Chunkbase
- [ ] 服务器规则
- [ ] 公告
- [ ] 服务器文档
- [ ] 玩家纠纷
- [ ] 公会
- [ ] 进服审核
- [ ] 玩家社区等级
- [ ] 玩家反馈
### 管理团队
- [ ] 招募团队
- [ ] 人员分工
- [ ] 时间安排
- [ ] 领导力理论
- [ ] 薪资待遇
- [ ] 不要加入无意义的纠纷
### 宣传
- [ ] 主流可用于宣传的平台及其利弊
- [ ] 广告学
- [ ] 梗的发展与传播
- [ ] 宣传片的制作流程
### 资金管理
- [ ] 可持续发展
- [ ] 投资心理学
<!--
### 营销
- [] 消费者心理学
- [] 市场调研
- [] 定价与赞助
- [] 品牌效应-->
## 文档
- [x] 代办事项

View File

@ -9,7 +9,7 @@ sidebar_position: 1
笨蛋开服教程是一篇主要针对 **高版本 Java 版****基岩版**服务器的开服指南,而非**远古核心**
在开始前,请确认拥有以下基础:
在开始前,请确认拥有以下基础:
- 具备**基础**的计算机操作技能 - 如解压、新建文件夹、打开文件、安装软件等;
- 具备使用**搜索引擎**搜索关键词的能力;
@ -32,7 +32,7 @@ sidebar_position: 1
![:NitWikit](https://count.kjchmc.cn/get/@:NitWikit)
如果您确定您符合条件,请点击一侧的目录开始阅读文档。
如果你确定你符合条件,请点击一侧的目录开始阅读文档。
# 更多

View File

@ -5,16 +5,16 @@ sidebar_position: 1
# 选择、下载和安装 Java
的服务端和客户端都需要安装 Java 才能运行。各个游戏版本需要安装的 Java 版本不同。
的服务端和客户端都需要安装 Java 才能运行。各个游戏版本需要安装的 Java 版本不同。
原则上选择最新的兼容的 Java 版本,可以体验到最新的优化,并且大部分现代插件对最新版的特性有优化(比如 AuthMeReReload
<details>
<summary>JRE 和 JDK 是什么? 我该怎么选择?</summary>
JRE(Java Runtime Enviroment) 是 Java 的运行环境。面向 Java 程序的使用者,而不是开发者。如果你仅下载并安装了 JRE那么你的系统只能运行 Java 程序。JRE 是运行 Java 程序所必须环境的集合,包含 JVM 标准实现及 Java 核心类库。它包括 Java 虚拟机、Java 平台核心类和支持文件。它不包含开发工具(编译器、调试器等)
JRE (Java Runtime Enviroment) 是 Java 的运行环境。面向 Java 程序的使用者,而不是开发者。如果你仅下载并安装了 JRE那么你的系统只能运行 Java 程序。JRE 是运行 Java 程序所必须环境的集合,包含 JVM 标准实现及 Java 核心类库。它包括 Java 虚拟机、Java 平台核心类和支持文件。它不包含开发工具(编译器、调试器等)
JDK(Java Development Kit) 又称 J2SDK(Java2 Software Development Kit),是 Java 开发工具包,它提供了 Java 的开发环境(提供了编译器 javac 等工具,用于将 java 文件编译为 class 文件)和运行环境(提 供了 JVM 和 Runtime 辅助包,用于解析 class 文件使其得到运行)。如果你下载并安装了 JDK那么你不仅可以开发 Java 程序,也同时拥有了运行 Java 程序的平台。JDK 是整个 Java 的核心,包括了 Java 运行环境(JRE),一堆 Java 工具 tools.jar 和 Java 标准类库 (rt.jar)
JDK (Java Development Kit) 又称 J2SDK (Java2 Software Development Kit),是 Java 开发工具包,它提供了 Java 的开发环境 (提供了编译器 javac 等工具,用于将 java 文件编译为 class 文件) 和运行环境 (提供了 JVM 和 Runtime 辅助包,用于解析 class 文件使其得到运行)。如果你下载并安装了 JDK那么你不仅可以开发 Java 程序,也同时拥有了运行 Java 程序的平台。JDK 是整个 Java 的核心,包括了 Java 运行环境 (JRE),一堆 Java 工具 tools.jar 和 Java 标准类库 (rt.jar)
**总结: 只开服务端下载 JRE 即可JDK 也没问题**
</details>
@ -38,7 +38,20 @@ MOD 服务端
| 1.20.5 - 1.21 | Java 21 | Java 21 |
### 混合服务端(CatServer 等)
TODO
#### CatServer
| Minecraft 版本 | 最低版本 | 推荐版本 |
|-----------------|---------|---------|
| 1.12.2 | Java 8 | Java 8 |
| 1.16.5 | Java 8 | Java 11 |
| 1.18.2 | Java 17 | Java 17 |
#### MohistMC
| Minecraft 版本 | 最低版本 | 推荐版本 |
|-----------------|---------|---------|
| 1.7.10 | Java 8 | Java 8 |
| 1.16.5 | Java 11 | Java 11 |
| 1.18.2 - 1.20.2 | Java 17 | Java 17 |
## 直接下载
@ -55,7 +68,7 @@ TODO
:::danger
32位操作系统开服开个鬼服...
32 位操作系统开个鬼服...
[32 位和 64 位有什么区别](https://cn.bing.com/search?q=32%E4%BD%8D%2064%E4%BD%8D%E6%98%AF%E4%BB%80%E4%B9%88%E6%84%8F%E6%80%9D)
@ -110,11 +123,27 @@ java -version
> 返回类似的消息即为 Java 已安装
## 使用 AJI 静默安装 Java
群友氿月写的一个小脚本,可以在 Windows 平台后台静默安装 JDK。
<details>
<summary>食用方式:</summary>
1. 打开此链接下载 AJI: https://github.com/Lafcadia/AJI/releases/download/v0.0.2/main.exe
2. 下好了,右键选择以管理员权限打开(如果不以管理员权限打开就无法绑定 Java 环境变量,虽然不给管理员权限程序也能正常运行,并安装 Java但可能会在后续阶段出现问题
3. ![示意图](https://github.com/user-attachments/assets/28035c47-d34b-4b38-b895-29f38366bef9)
4. 选择合适的版本的 Java点击 `Install Java`,下载。
5. 不要关闭窗口,直到下方的提示栏从 `Installing...` 变为 `Complete.`
</details>
## FAQ
### 为什么 .jar 文件的图标是个白纸
服务器根本没有安装 Java 程序或者服务器上 Java 未设置环境变量 (其实这个不影响任何东西,忽略即可)。
1. 服务器根本没有安装 JRE 或者 JDK。
2. 服务器上的 Java 未设置环境变量 (其实这个影响不大)。
3. 没有绑定文件打开方式 (不过其实也没啥必要绑)。
### 怎么制作绿色版 Java & 绿色版怎么使用
@ -124,4 +153,4 @@ java -version
# 本节视频教程
[**点此前往B站**: 笨蛋级MC开服教程-第三集P1:实机演示安装JAVA](https://www.bilibili.com/video/BV1eT42167iZ/)
[**点此前往B站**: 笨蛋级MC开服教程-第三集P1:实机演示安装JAVA](https://www.bilibili.com/video/BV1eT42167iZ/)

View File

@ -32,11 +32,10 @@ sidebar_position: 4
## 赞助我们
打点钱吧,写这些脚本并不容易,没钱的话,给个免费的 star 也可以:)
打点钱吧,写这些脚本并不容易,没钱的话,给个免费的 Star 也可以 :)
## 使用准备
除生成启动脚本,其他脚本都必须启动一次服务端后才能使用,生成启动脚本需要提前安装服务器核心。
:::danger[使用方法]
@ -51,9 +50,9 @@ sidebar_position: 4
[Linux](https://github.com/lilingfengdev/NitWiki-Script/releases/tag/ubuntu-latest)
[MacOS(真的有人会 Mac 开服?)](https://github.com/lilingfengdev/NitWiki-Script/releases/tag/macos-latest)
[MacOS (真的有人会 Mac 开服?)](https://github.com/lilingfengdev/NitWiki-Script/releases/tag/macos-latest)
32 位操作系统或 Win7 需要自己安装 Python ,并安装依赖(一大堆)
32 位操作系统或 Win7 需要自己安装 Python ,并安装以下依赖(一大堆)
```shell
pip install pyyaml install-jdk tqdm psutil requests rtoml
@ -61,9 +60,9 @@ pip install pyyaml install-jdk tqdm psutil requests rtoml
## 了解
在启动这个脚本之前,你应该**明白我正在干什么,会导致什么后果**,以优化脚本举例,你应该明白,执行这个脚本之后,村民的 AI 会受到限制,变得有点傻(当然不止这个,还有其他)。
在启动这个脚本之前,你应该 **明白你正在干什么,会导致什么后果**,以优化脚本举例,你应该明白,执行这个脚本之后,村民的 AI 会受到限制,变得有点傻(当然不止这个,还有其他后果,此处不详谈)。
我们拒绝回答一切在启动笨蛋脚本之前不看文档的问题。
我们拒绝回答一切在启动笨蛋脚本之前不看文档导致的问题~~(除非打钱)~~
## 宗旨
@ -73,4 +72,4 @@ pip install pyyaml install-jdk tqdm psutil requests rtoml
## 许可
本脚本永久免费,如果你是付费得到本脚本的,请立刻退款并骂死那个人。
本脚本永久免费,如果你是付费得到本脚本的,请立刻退款并骂死那个人。

View File

@ -20,4 +20,4 @@ Java 是开 Java 版 Minecraft 服务器必要的;
网页主要包括了寻找插件、mod、生成 MOTD生成指令等便捷功能
笨蛋脚本主要用于一键式配置文件、安装插件等。
笨蛋脚本主要用于一键式配置文件、安装插件等(如果你确信你不需要,可以不使用)

View File

@ -6,38 +6,38 @@ sidebar_position: 5
# 笨蛋服务!
这些服务由赛博菩萨 cloudflare 和 lilingfeng 搭建,完全免费提供!
这些服务由赛博菩萨 cloudflare 和 lilingfeng 搭建完全免费提供!
目前包括
- [笨蛋 AI](https://ai.yizhan.wiki) - AI 聊天,文字生成图片
- [笨蛋镜像](https://mirror.yizhan.wiki) - 加速网站的访问(为没有 VPN 的人准备)
- [笨蛋图床](https://image.yizhan.wiki) - 简洁,免费的图床
- [笨蛋图床](https://image.yizhan.wiki) - 简洁免费的图床
- [笨蛋粘贴板](https://paste.yizhan.wiki) - 上传文件/创建 Paste!(不要当网盘)
- [笨蛋笔记本](https://notepad.yizhan.wiki) - 免费笔记本,支持密码,Markdown 和分享
- [笨蛋笔记本](https://notepad.yizhan.wiki) - 免费笔记本,支持密码,Markdown 和分享
- [笨蛋短链](https://imc.rip) - 缩短链接
## 规则
**不要滥用,不要上传违法文件!!!!!**
**不要滥用不要上传违法文件!!!!!**
## 限制
由于服务提供商 CloudFlare Free Plan 的限制,超过一定额度后部分服务会停机(虽然目前没碰到过)
由于服务提供商 CloudFlare Free Plan 的限制超过一定额度后部分服务会停机(虽然目前没碰到过)
### AI
一天 1w 次对话,超过后笨蛋 AI 服务停机
一天 1w 次对话,超过后笨蛋 AI 服务停机。
### Worker
一天 10w 次请求,超过后笨蛋镜像,笨蛋图床,笨蛋粘贴板,笨蛋笔记本,笨蛋短链服务停机
一天 10w 次请求,超过后笨蛋镜像,笨蛋图床,笨蛋粘贴板,笨蛋笔记本,笨蛋短链服务停机
### KV
单次文件最大 25 MB,一天 1000 次上传,1000 次删除,超过后笨蛋镜像,笨蛋图床,笨蛋粘贴板,笨蛋笔记本,笨蛋短链**上传,删除**(读取不影响)服务停机
单次文件最大 25 MB,一天 1000 次上传1000 次删除,超过后笨蛋镜像,笨蛋图床,笨蛋粘贴板,笨蛋笔记本,笨蛋短链**上传,删除**(读取不影响)服务停机
所以赞助我吧...(Workers Pro 一个月 5 美元,Cloudflare Pro 一个月 25 美元)
所以赞助我吧...(Workers Pro 一个月 5 美元Cloudflare Pro 一个月 25 美元)
# 机器人命令

View File

@ -13,7 +13,7 @@ sidebar_position: 2
![](_images/白点.png)
vscode 会在未保存的文件后标记一个白点,提示你这个文件编辑了但是没有保存(其他文本编辑器类似)。
VSCode 会在未保存的文件后标记一个白点,提示你这个文件编辑了但是没有保存(其他文本编辑器类似)。
![](_images/vscode保存和自动保存.png)
@ -21,7 +21,7 @@ vscode 会在未保存的文件后标记一个白点,提示你这个文件编
开启自动保存(绿色箭头)。
~~当年TrMenu的自动重载治好了我的autosave~~
~~当年 TrMenu 的自动重载治好了我的 autosave ~~
## Visual Studio Code
@ -32,7 +32,7 @@ vscode 会在未保存的文件后标记一个白点,提示你这个文件编
全能型文本编辑器,**非常非常推荐**,支持简体中文 / 繁体中文 / 英文,仅支持 `Windows 10 +`
缺点是启动速度可能不是很快,不过非常适合新手使用。
缺点是启动速度可能不是很快,不过非常适合新手使用。(已经算是比较快的了。)
官网链接https://code.visualstudio.com/
@ -150,4 +150,4 @@ dizhi 08年奥运会 声称(仅声明,但还是挺过分的)不同意它
</details>
另外出于多方面原因,不推荐使用 GitHub 官方出品的 Atom它已在 2022 年 12 月宣布停止维护。
另外出于多方面原因,不推荐使用 GitHub 官方出品的 Atom它已在 2022 年 12 月由于安全原因宣布停止维护。

View File

@ -40,7 +40,7 @@ sidebar_position: 4
![](_images/连接服务器/3.png)
### macOS和手机
### MacOS 和手机
在 iOS 和 macOS 上,需要在 App Store 登录海外的 Apple ID ,然后搜索 Microsoft Remote Desktop ,就可以找到这个应用。在安卓手机上需要在 Google play 上搜索 Microsoft Remote Desktop 就可以找到这个应用,如果手机无法使用 Google play ,也可以在网上搜索安装包下载。打开应用后,点击加号,点击 **Add PC** ,选择或输入那台电脑上的那串代码,然后点击添加或保存。随后点击或双击添加的那台电脑,然后输入帐号和密码,就可以连接到那台电脑。
@ -60,7 +60,7 @@ sidebar_position: 4
:::
接着用外网地址连接你的服务器。注意,除非你直接在外网使用 3389 端口,否则连接服务器时需要使用外网端口连接,比如服务器 IP 是yizhan.wiki外网使用的是 41982 端口,你就需要连接`yizhan.wiki:41982`,而不是`yizhan.wiki`。
接着用外网地址连接你的服务器。注意,除非你直接在外网使用 3389 端口,否则连接服务器时需要使用外网端口连接,比如服务器 IP 是 yizhan.wiki外网使用的是 41982 端口,你就需要连接 `yizhan.wiki:41982`,而不是`yizhan.wiki`。
**举例,不一定正确:**
@ -75,14 +75,14 @@ sidebar_position: 4
## 家里云
<details>
<summary>我有公网ip</summary>
<summary>我有公网 IP</summary>
按照上文VPS的方式打开电脑的远程桌面或ssh服务即可。**如果要公网访问,记得在路由器里配置端口映射,把电脑的远程控制端口开放到公网**
按照上文 VPS 的方式打开电脑的远程桌面或 SSH 服务即可。**如果要公网访问,记得在路由器里配置端口映射,把电脑的远程控制端口开放到公网**
</details>
<details>
<summary>我没有/不知道啥是公网ip</summary>
<summary>我没有/不知道啥是公网 IP</summary>
[申请公网ip](apply-for-public-ip-address.md)
@ -96,8 +96,8 @@ sidebar_position: 4
## 独立机
机房的运维一般会帮你设置。如果你用的是第三方远程桌面但是服务器本身又有远程控制的条件按照上文中VPS的方式操作即可。
机房的运维一般会帮你设置。如果你用的是第三方远程桌面,但是服务器本身又有远程控制的条件,按照上文中 VPS 的方式操作即可。
## 开服器
不教
不教,自己查开服器的食用方式。

View File

@ -74,6 +74,7 @@ sidebar_position: 3
1. 有专人维护,不需要你自行花费时间
2. 有稳定的供电和网络
3. 一定有公网 IPv4 ,还可以选配更高上行带宽
但也有以下缺点:
1. 不够灵活,加装改装比较麻烦
2. 公网、带宽和维护都要另外收费,而且价格不菲

View File

@ -7,7 +7,7 @@ sidebar_position: 6
随着你的 Minecraft 服务器人数和宣传越来越多,你的服务器越有可能收到其他“友商”或者某些不怀好意的玩家攻击。
别害怕,大多数网络攻击没有那么致命,可能只会引起玩家高ping掉线、后台操作卡顿等。
别害怕,大多数网络攻击没有那么致命,可能只会引起玩家高 Ping 掉线、后台操作卡顿等。
## 分类
@ -51,13 +51,19 @@ Minecraft 后端服务器一般是不会对 Ping 进行过滤和记录的,这
#### 其他插件
如果你使用了 Plan Dynmap 等插件,这些插件会在某个端口开启网站。
如果你使用了 Plan, Dynmap 等插件,这些插件会在某个端口开启网站。
请注意这些端口如果被不怀好意的人知道,则可能会导致这些 HTTP 端口遭受攻击。
#### Minecraft 漏洞攻击
通过利用 Minecraft 游戏本身的漏洞,向服务器发送(可能是大量的)不合法的数据包,造成服务器卡顿甚至**崩溃**。
通过利用 Minecraft 游戏本身的漏洞,向服务器发送 (可能是大量的)不合法的数据包,造成服务器卡顿甚至**崩溃**,例如攻击者可以向 BDS 服务器发送大量空数据包使其不断打印日志而不再正常处理游戏内容。
#### 远程桌面 / SSH爆破
众所周知,只要足够有耐心,就一定能赢得猜数游戏。远程桌面或 SSH 也是如此。由于其并没有针对用户的复杂的验证机制,这导致任何人都可以无限制地试错。所以攻击者可以通过编写脚本等方式制作软件,不断地假设密码登录服务器远控服务,这就是**爆破攻击**,或者叫暴力破解密码。最终当登录成功时,攻击即成功,攻击者将**获得你服务器完全的控制权**。
注意由于该服务在电脑上非常常见,所以世界各处经常有攻击者通过扫描 IPv4 地址(扫段攻击,通过对某个 IP 段的所有 IP 逐个检测来找出可以攻击的目标),并通过扫描端口(扫端口,通过对某个 IP 上的所有端口进行检测来找出可以攻击的目标),来找到你的服务器的远控地址,而不需要事先对你的服务器或你本人有任何了解。也就是说,如果你遭遇了这种攻击,不要一味地反思自己是否激怒过他人或和小人有了过节,而是要专注于防范你所遭受的攻击本身。
### 网络层
@ -65,12 +71,20 @@ Minecraft 后端服务器一般是不会对 Ping 进行过滤和记录的,这
最常见的网络层攻击是IP地址欺骗攻击者可以伪造IP地址并向目标服务器发送大量数据包以消耗目标服务器的网络带宽和系统资源。
Minecraft JAVA 服务端采用 TCP 作为通信协议,所以可能会遭受到如 TCP Flood (TCP 洪水攻击) 等攻击方式。
Minecraft JAVA 服务端采用 TCP 作为通信协议,所以可能会遭受到如 TCP Flood (TCP 洪水攻击) 等攻击方式。
防御这种类型的攻击唯一办法就是增大宽带,没有什么别的好办法。
## 解决方案
### 低调做人,不要惹是生非
在开服圈子里,有大量的攻击并非无故发起。多数时候是因为服主招惹了一些有攻击能力的人,才招致服务器受到攻击。你不是专业的企业家、生意人,你的服务器非常脆弱。我的世界作为世界上销量最高的游戏,其玩家社区非常复杂而混乱。如果你对其做不到非常了解,请务必谨慎对待。
1. 遇到对服务器中违规感到愤怒的玩家,不要一味地对他采取强硬态度。尽可能和他私下解决,保证他对处罚结果感到满意,如从轻处罚、删除处罚名单等。遇到不讲理的玩家,虽然其行为本身不合理,但顾客就是上帝,你仍然需要与其协商做出让步,在对方确实执意要破坏服务器时,再对其采取强硬态度来保证自身利益。注意协商成功后不要和其他任何玩家提及此事。
2. 对已付费、已赞助或活跃的玩家放宽违规行为的评判标准,并优先响应其反馈。愿意为服务器花费真金白银或大把时间的玩家通常更在意服务器,他们的体验往往更重要,不仅后期有潜力为服务器带来更多收入和更多玩家,还很有可能在服务器中遭遇负责情绪时采取更极端的行为。你可以在这类玩家违反规定后视其影响对其适当采取宽容态度(睁一只眼闭一只眼),并在他们和其他玩家起冲突时以协调为主,尽可能不对其进行处罚。
3. 千万不要在其他服务器玩家交流平台(比如服务器群)里宣传自己的服务器。如果你的服务器非常缺人,这时突然来人宣传把你的玩家全抢走了,你怎么想?在其他服务器交流平台上宣传自己的服务器往往会被对方的玩家或管理团队视为不正当竞争,这将激怒他们,并导致他们对你的服务器发起攻击。
4. 不要招惹任何人包括任何从事或爱好计算机行业的人和所有mc玩家。请注意很多人嘴上不说自己喜欢攻击他人但是他们会在愤怒的情况下想尽一切方法搞砸你的服务器就像他们和其他人闹矛盾时会起肢体冲突一样。
### 使用 Velocity / BungeeCord
不要试图单独使用任何后端服务器 (如 Spigot / Paper / Purpur 等) 抵御大规模应用层攻击。
@ -98,6 +112,7 @@ connection_throttle_limit: 3
| [LimboFilter](https://github.com/jonesdevelopment/sonar) | 强大的过滤机器人方案 | Velocity | 笨重且配置复杂,且仅在必要的时候提供更新。 (缺少维护) |
| [nAntiBot](https://en.docs.nickuc.com/v/nantibot) | 一个高效反机器人插件 | Spigot, Velocity, BungeeCord | 依赖云服务,无法在服务器网络不好的情况下使用该插件。 |
| [EpicGuard](https://github.com/4drian3d/EpicGuard) | 基于事件的反机器人和反VPN插件 | Waterfall (停止维护), Paper, Velocity | 容易绕过(但没那么烦人)且只支持特定的Paper服务端。 |
| [AntiAttackRL](https://github.com/AntiAttackMC/AATRL_Public) | 支持多平台的AntiBot插件 | Bukkit, BungeeCord, Folia, Sponge, Velocity与它们的分支 | 受攻击时新玩家无法直接进入,需要管理员操作; 防御方案过时 |
:::warning
@ -109,12 +124,47 @@ connection_throttle_limit: 3
:::
### 付费防御核心
#### 付费防御核心
如果您非常有钱,您可以打开跨服端[核心选择](https://yizhan.wiki/NitWikit/Java/advance/cross-server/server-core-choose)选择那些付费的跨服端核心NullCordX 是一个较好的选择。
如果你非常有钱,你可以打开跨服端[核心选择](https://yizhan.wiki/NitWikit/Java/advance/cross-server/server-core-choose)选择那些付费的跨服端核心NullCordX 是一个较好的选择。
但在没有想好的情况下,**不建议为反假人付费**。
#### 改掉默认端口
修改默认端口为其他端口。尽可能使用**高位端口**,例如`5000`和`55555`端口尽可能不要使用,`8371`不推荐使用,`36752`推荐使用。
##### [修改Windows默认远程桌面端口](https://learn.microsoft.com/zh-cn/windows-server/remote/remote-desktop-services/clients/change-listening-port)
##### [修改Linux系统中默认ssh端口](https://cloud.tencent.com/developer/article/1635355)
#### 设置强密码
对于容易被爆破的服务,如 MCSM、机器人框架、背包同步软件服务端、远程控制等服务设置强密码最好 20 位以上,只要软件允许就要包含:
- 大小写英文
- 数字
- 特殊符号,如`!@#$*_.`
例如不要使用以下密码:
- `123456`(又短又简单,黑客的最爱)
- `114514`极常见词汇114514 是互联网上常见的梗)
- `#sI3wA@!`(虽然复杂但是由于较短仍然容易被暴力破解)
- `skyworkserver`(服务器名)
- `yizhan`(人名、物品名、地名等)
- `111111111111111111111111111`(虽然很长,但是不复杂,仍然容易被破解)
- `minimouse4820030611`(包含生日等个人信息)
并尽可能不使用以下密码:
- `yizhan114514`(由常见词汇组成)
- `shuodedaoli`(汉语拼音而且对应的汉语为常见词汇,本密码对应的汉语词汇为常见的梗“说的道理”)
- `#tianjifuwuqi`(除了寥寥几位强密码以外其他都是弱密码)
#### 在操作系统中安装防御软件
##### Windows
有火绒(家庭版即自带安全防护无需付费)等杀毒软件可供选择,宝塔面板也可以购买付费的防爆破功能
##### Linux
有雷池waf、1P等面板可供选择
### 网络层攻击防御
#### 将服务器托管到高防机房/购买高防 VPS
@ -141,7 +191,7 @@ connection_throttle_limit: 3
缺点是似乎还没有任何一家这样的代理拥有国内服务器(延迟高),且需要花费一点时间设置。
这些代理的免费套餐都具有一定的限制(例如限制玩家数或流量),除非升级套餐。
这些代理的免费套餐都具有一定的限制(例如限制玩家数或流量),除非升级套餐。
使用前请三思。
@ -149,7 +199,12 @@ connection_throttle_limit: 3
这个方法比较缺德,我们只需要疯狂 Frp ,一个 Frp 被打死了,我们就换另一个 Frp ,通知玩家重新连接就可以。
缺点就是比较**缺德**,而且可能面临被 Frp 提供商拉黑的风险!
:::danger
除非迫不得已,不要使用这种方法防御攻击。就算被迫使用这种方法防御攻击,也千万不要告诉任何人,最好对于自己的服务器管理员也闭口不谈,只说“攻击的事我暂时解决了,让玩家进服吧”。因为在开服圈子的任何一处这种方法都是一种十分自私、对同行极不负责任的行为。你的行为可能会导致相应的内网穿透运营商突然出现大量额外支出,并影响大量使用同一节点的人正常使用服务(如果节点被打死了,那么攻击者就是在攻击你的过程中误伤了大量其他无辜用户)。不要因为你图省事的想法牵连无辜的陌生人。
<!--![](_images/angryopenfrp.jpg) -->
:::
#### 更换 IP
@ -161,6 +216,6 @@ connection_throttle_limit: 3
:::danger
如果使用的是腾讯云之类的大厂 VPS ,永远不要尝试硬扛 DDOS 服务器受攻击流量超过其机房黑洞阈值时VPS 会屏蔽服务器的外网访问,直接断网并且恢复时间未知。
如果使用的是腾讯云之类的大厂 VPS ,永远不要尝试硬扛 DDOS 服务器受攻击流量超过其机房黑洞阈值时VPS 会屏蔽服务器的外网访问,直接断网并且恢复时间未知。
:::

View File

@ -14,11 +14,13 @@ title: 如何预防崩服
### 插件类
在服务器上安装了老版本/未发现漏洞的插件。
在服务器上安装了老版本/未发现漏洞的插件可能导致插件因bug自行崩溃甚至甚至有漏洞被攻击者利用。这类通常需要服主做好相应的措施预防。首先在选用插件时就应注意
1. 初次安装时就尽可能解决 WARN 和 ERROR实在不行就立刻换插件
2. 少用,最好不用停更插件
3. 少用,最好不用黑插件
4. 尽可能使用用户数多的插件
从而使攻击者利用插件中的漏洞,这类通常需要服主做好相应的措施预防。
具体预防方面:
就算你已经保证选用了可依赖的插件,仍然要对这类问题进行预防。具体预防方面有:
1. 对玩家使用的指令进行限制,最好是通过白名单,仅开放玩家会用到的指令。
@ -63,13 +65,13 @@ title: 如何预防崩服
</details>
#### 运行环境类
### 运行环境类
这类漏洞基本上很难避免如log4j在未发现之前谁也不知道。
服主还是尽可能的多关注网络信息,保证自己能尽快了解到一些漏洞的产生,防止被攻击者钻空子。
#### 发包类/物品类(也称原版漏洞)
### 发包类/物品类(也称原版漏洞)
简单来说,就是向服务器发送一些无法处理/处理缓慢的包。

View File

@ -6,7 +6,7 @@ sidebar_position: 2
# 服务器维护
您搭建好服务器后,需要做一些维护工作来保证服务器良好的运行,除非您压根不考虑玩家数据安全问题。
你搭建好服务器后,需要做一些维护工作来保证服务器良好的运行,除非你压根不考虑玩家数据安全问题。
## 安装防熊插件

View File

@ -9,7 +9,7 @@
"theme.ErrorPageContent.title": "页面已崩溃。",
"theme.ErrorPageContent.tryAgain": "重试",
"theme.NavBar.navAriaLabel": "主导航",
"theme.NotFound.p1": "我们找不到要找的页面。",
"theme.NotFound.p1": "我们找不到要找的页面。",
"theme.NotFound.p2": "请联系原始链接来源网站的所有者,并告知他们链接已损坏。",
"theme.NotFound.title": "找不到页面",
"theme.TOCCollapsible.toggleButtonLabel": "本页总览",