Skip to content

Commit

Permalink
修复被覆盖的commit #1
Browse files Browse the repository at this point in the history
  • Loading branch information
Radiation-pi authored and “postyizhan” committed Jul 8, 2024
1 parent 991824c commit 31186f1
Show file tree
Hide file tree
Showing 9 changed files with 65 additions and 66 deletions.
2 changes: 1 addition & 1 deletion docs-java/preparation/preparation.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,4 @@ Java 是开 Java 版 Minecraft 服务器必要的;

网页主要包括了寻找插件、mod、生成 MOTD,生成指令等便捷功能;

笨蛋脚本主要用于一键式配置文件、安装插件等。
笨蛋脚本主要用于一键式配置文件、安装插件等。
4 changes: 2 additions & 2 deletions docs-java/start/basic/basic.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ sidebar_position: 1

本文档暂时就开服最重要的基础概念进行介绍,如果有你自认为非常了解或者不重要的部分,

跳过他吧,因为我们在后面再次提到这些概念的时候会重新跳转到对应链接。
**跳过他吧**,因为我们在后面再次提到这些概念的时候会重新跳转到对应链接。

import DocCardList from '@theme/DocCardList';

<DocCardList />
<DocCardList />
2 changes: 1 addition & 1 deletion docs-java/start/basic/relationship-between-servers.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ sidebar_position: 2

Fork 在 Github 中是对一个仓库的克隆。克隆一个仓库允许你自由试验各种改变,而不影响原始的项目。

一般来说,Forks 被用于去更改别人的项目或者使用别人的项目作为你自己想法的初始开发点
一般来说,Forks 是被用于去更改别人的项目或者使用别人的项目作为你自己想法的初始开发点

对于 Minecraft 服务端而言,A 为 B 的 Fork 则意味着,A 会保留 B 的很多性质(如兼容性),但会在一定程度上在某方面(如性能、功能)有更好的表现。

Expand Down
46 changes: 23 additions & 23 deletions docs-java/start/basic/server-file-structure.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,43 +8,43 @@ sidebar_position: 1
我们先来简单看一眼 Purpur 的文件夹结构:

```c
├─assets // 储存 Minecraft 音效贴图等重要文件,不要乱动
├─cache // 缓存文件夹,一般放置 Minecraft 原版服务器 ,对于 Purpur fork 服务器一般会有 spark
├─config // Paper fork 服务器特有的配置文件,用于放置 Paper 的配置文件
├─crash-reports // 存放服务器崩溃的完整报告
├─libraries // 存放服务器及部分插件的依赖库
├─logs // 存放服务端日志的文件夹
├─plugins // 存放插件的文件夹
├─versions // 存放对应版本需要的依赖 jar
├─world // 主世界文件夹
│ ├─advancements
│ ├─data
│ ├─datapacks
├─assets // 储存 Minecraft 音效贴图等重要文件,不要乱动
├─cache // 缓存文件夹,一般放置 Minecraft 原版服务器
├─config // Paper fork 服务器特有的配置文件,用于放置 Paper 的配置文件
├─crash-reports // 存放服务器崩溃的完整报告
├─libraries // 存放服务器及部分插件的依赖库
├─logs // 存放服务端日志的文件夹
├─plugins // 存放插件的文件夹
├─versions // 存放对应版本需要的依赖 jar
├─world // 主世界文件夹
│ ├─advancements // 成就文件夹
│ ├─data // 世界数据文件夹
│ ├─datapacks // 数据包
│ │ └─bukkit
│ ├─entities
│ ├─playerdata
│ ├─poi
│ ├─region
│ └─stats
├─world_nether //地狱世界文件夹
│ ├─entities // 实体数据
│ ├─playerdata // 玩家数据
│ ├─poi // 兴趣点数据
│ ├─region // 区块数据
│ └─stats // 统计信息
├─world_nether // 地狱世界文件夹
│ └─DIM-1
│ ├─data
│ ├─data // 末地
│ ├─entities
│ ├─poi
│ └─region
└─world_the_end //末地世界文件夹
└─world_the_end // 末地世界文件夹
└─DIM1
├─data
├─entities
├─poi
└─region
```

对于类似 Catserver 的混合服务器,文件夹结构是类似的,基本就多了 mods 文件夹,少了 Bukkit 的下游服务器特有的配置(如 purpur.yml 等)。
对于类似 Catserver 的混合服务器,文件夹结构是类似的,基本就多了 mods 文件夹,少了 Bukkit 的下游服务器特有的配置(如 `purpur.yml` 等)。

:::info

对于世界文件夹的详细说明,请前往[世界文件架构](/docs/start/basic/what-is-world.md)
对于世界文件夹的详细说明,请前往 **[世界文件架构](what-is-world.md)**

:::

Expand Down Expand Up @@ -84,7 +84,7 @@ sidebar_position: 1

- `purpur.jar`

你可以改名叫任何名字(只要以 jar 结尾,且在启动脚本中对应修改)
你可以改名叫任何名字(只要以 `.jar` 结尾,且在启动脚本中对应修改)

- `purpur.yml`

Expand Down
2 changes: 1 addition & 1 deletion docs-java/start/basic/what-is-mod.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ sidebar_position: 3

# 什么是模组?

模组( Mod )是遵循 Forge、Fabric 或 LiteLoader 等接口规范编写的 Java 程序。
模组( Mod )是遵循 Forge、Fabric 或 LiteLoader 等 API 规范编写的 Java 程序。

## 工作形式

Expand Down
16 changes: 8 additions & 8 deletions docs-java/start/basic/what-is-world.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,17 @@ sidebar_position: 4

Minecraft 的几乎一切行为都是建立在 "世界" 上,而世界中的方块、实体等文件都存储在了根目录的对应文件夹下。

Minecraft 原版目前有三个世界,分别是主世界**world**(world),地狱**DIM-1**(world_nether),末地**DIM1**(world_the_end)。
Minecraft 原版目前有三个世界,分别是主世界 **world**(world),地狱 **DIM-1** (world_nether),末地 **DIM1** (world_the_end)。

每个世界的方块都按照 XZ 每 16 * 16 为区块(**Chunk**)。其中每 32 * 32 个区块就会成为一组存储进一个独立的区域文件(Region)。
每个世界的方块都按照 **X****Z***16 * 16* 为区块(**Chunk**)。其中每 *32 * 32* 个区块就会成为一组存储进一个独立的区域文件(**Region**)。

在这里以主世界为例,说明世界是怎样保存的。

文件夹:

1. **advancements/** :储存玩家的成就,每个玩家对应一个UUID
1. **advancements/** :储存玩家的成就,每个玩家对应一个 **UUID**

2. **data/****idcounts.dat****map_xxx.dat**储存的是玩家合成的地图有关的数据。
2. **data/****idcounts.dat****map_xxx.dat** 储存的是玩家合成的地图有关的数据。

3. **datapacks/** :储存世界所使用的数据包(一般 Bukkit 系服务器有一个 Bukkit 文件夹);

Expand All @@ -31,7 +31,7 @@ Minecraft 原版目前有三个世界,分别是主世界**world**(world)

8. **stats/** :储存玩家在此世界游玩时的统计信息(如击杀了 xx 只鸡、使用了 xx 次工作台)。

9. **如果还有其他文件夹一般为插件储存用的文件夹,如 `itemsadder` 文件夹是插件 ItemsAdders 创建的用于保存世界中自定义物品的文件夹**
9. **如果还有其他文件夹一般为插件储存用的文件夹,如 `itemsadder` 文件夹是插件 `ItemsAdders` 创建的用于保存世界中自定义物品的文件夹**

文件:

Expand All @@ -41,10 +41,10 @@ Minecraft 原版目前有三个世界,分别是主世界**world**(world)

3. **session.lock** :用于储存最后执行的程序修改这一文件以及访问的权限。

4. **/data/raids_end.dat**:储存世界内正在进行的袭击的信息。
4. **/data/raids_end.dat** :储存世界内正在进行的袭击的信息。

5. **/data/random_sequences.dat** :存储战利品表使用的随机序列数据。
5. **/data/random_sequences.dat** :存储战利品表使用的随机序列数据。

6. **paper-world.yml**(只存在于 Paper 服务器中):记录世界特有的 Paper 设置
6. **paper-world.yml**(只存在于 **Paper** 服务器中):记录世界特有的 **Paper** 设置

其他世界的文件夹大同小异。
2 changes: 1 addition & 1 deletion docs-java/start/start.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ sidebar_position: 3

import DocCardList from '@theme/DocCardList';

<DocCardList />
<DocCardList />
18 changes: 12 additions & 6 deletions docs/basic/what-is-plugin.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,21 @@ sidebar_position: 3

# 什么是插件?

相信你已经对 `mod` (即模组)这个概念相当了解,但是如果你是第一次开服,或者以前没有玩过别的服务器,你大概率不知道什么是`Plugin`(就是插件),本文章会详细为你介绍什么是插件
如果你玩过整合包你一定对 `Mod`即模组这个概念相当了解,但如果你是第一次开服,你可能不知道什么是 `Plugin`(插件),本文章会详细为你介绍。

## 工作形式

不同于大部分模组需要同时安装在客户端和服务端,插件只需要安装在**服务端**就可以(客户端并没有插件这种形式),也就是说使用原版客户端也可以进入服务器,大多数情况下不需要专门安装mod
不同于大部分模组需要同时安装在客户端和服务端,插件安装在 **服务端**

玩家只需使用原版客户端即可进入服务器,大多数情况下不需要专门安装 Mod。

插件为什么叫插件(Plugins),是因为它相对于模组(Mods)有更高的即时性,

能够更为方便地添加或修改游戏内容,对 Minecraft 本身的侵入性修改也更小。

## 安装位置

插件是需要安装在服务器根目录的 `plugins` 文件夹,然后需要**重启**服务器
插件是需要安装在服务器根目录的 `/plugins` 文件夹,然后需要 **重启** 服务器

:::danger

Expand All @@ -25,7 +31,7 @@ sidebar_position: 3

* 插件服的开发大多数时候都更加简单,而不需要接触Minecraft的源代码。像Skript那样的脚本语言将插件的开发难度降到了有点脑子就会
* 插件的接口大多数时候都使用了事件来抽象化监听服务器的各种行为的复杂性,同时也提供了更好的兼容性。
* 由于插件接口都不会因为Minecraft源代码更新而被破坏,所以即使版本更新很多东西也不需要跟着修改。比如Vault三年前更新的插件到1.20.6最新版本还可以用
* 由于插件接口都不会因为Minecraft源代码更新而被破坏,所以即使版本更新很多东西也不需要跟着修改。比如 Vault 三年前更新的插件到最新版本还可以用

## 插件的缺点

Expand All @@ -36,10 +42,10 @@ sidebar_position: 3

虽然插件不能像模组那样直接更改游戏源代码,但是依然可以利用游戏本身的内容做出一些超乎寻常的事情

这里是一些`超乎寻常`的插件(对新手来说)
这里是一些`超乎寻常`的插件对新手来说

* Slimefun 在插件中实现模组的功能
* ItemsAdder/Oraxen 自定义方块物品HUD家具(还有更多)
* ItemsAdder/Oraxen 自定义方块物品HUD家具还有更多
* ModelEngine 自定义生物实体,就像模组
* MythicMob 创造出像模组一样的技能和生物

Expand Down
39 changes: 16 additions & 23 deletions docs/basic/what-is-server.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,42 +5,35 @@ sidebar_position: 1

# 什么是服务端?

根据[百度百科](https://baike.baidu.com/item/%E6%9C%8D%E5%8A%A1%E7%AB%AF/6492316)的描述:

> 服务端是一种有针对性的服务程序。服务端是为客户端服务的,服务的内容诸如向客户端提供资源,保存客户端数据。
简单来说,我们通常通过*Minecraft启动器*玩的游戏属于**客户端**

当我们进行*多人游戏*联机时,我们需要连接到一个服务器,当玩家们在同一个服务器环境下,我们才能实现联机。

而这个允许我们进行联机的*程序*可以简单称为**服务端**

再举个例子,玩家身为*用户*(或者将*客户*),**服务端**就相当于餐厅的服务员,为我们提供服务,比如*允许我们与其他玩家交互*等。
简单来说,我们通常通过 *Minecraft* **启动器**玩的游戏属于 **客户端**

## Minecraft 服务端
当我们进行 *多人游戏* 联机时,我们需要连接到一个服务器,当玩家们在同一个服务器环境下,我们才能实现联机。

**Minecraft**提供了让玩家可以进行*多人游戏*的服务端,称为**Minecraft Server**
而这个允许我们进行联机的 **软件/程序** 可以简单称为 **服务端**

但是由于其功能不足,社区衍生出了多种提供*多人游戏***服务端**,这些提供*多人游戏*服务的*程序*常被人称为**核心**
# 为什么需要服务端

### Bukkit 服务端
*Minecraft* 本身是开放联机的,也就是说玩家可以在 `ESC 菜单中` 将自己的客户端设置为 `"对局域网开放"`

> Bukkit是一个免费的开源软件,它提供了扩展流行的Minecraft多人游戏服务器的方法。
我们就可以实现联机了,那么服务端的作用是什么呢?我们可以想象,如果选择 `"对局域网开放"` 的客户端作为服务端时,

**Bukkit****Minecraft Server**的一个衍生服务端。
如果出现该玩家想要退出客户端,那么所有人的链接都会中断。因此,为了更加稳定的联机,

其还有很多基于**Bukkit**的衍生服务端,如**Spigot****Paper**等等
*Minecraft* 提供了让玩家可以进行 *多人游戏* 的服务端,称为 **Minecraft Server**,俗称 **Vanilla Server****香草端****原版端**

此文不过多叙述,若想了解其历史可看视频[「编年史」Bukkit陨落 MC史上影响力最大的服务端Spigot的诞生!](https://www.bilibili.com/video/BV134411p7w5/)
:::tip

<details>
需要注意的是,`Vanilla` 本身的意思有 “香草(的)”、“原版”、“基本的” 在计算机领域也代指“**原版**”。

<summary>CraftBukkit是什么?</summary>
:::
# 原版服务端的延伸

准确来说,**Bukkit**不仅仅只是指一种**衍生服务端**(或者说**Bukkit Server**)
由于原版 **Minecraft Server** 拓展性及性能不足,社区衍生出了多种提供 *多人游戏***服务端**

**Bukkit** 还可以指 **BukkitAPI**面向开发者开发**Bukkit插件**的一套API
这些提供 *多人游戏* 服务的 **程序/软件** 常被人称为 **核心**大致可分为 **[Mod](what-is-mod.md)** 服务端和 **[插件](what-is-plugin.md)** 服务端

**CraftBukkit**是对于**BukkitAPI**的具体实现,基于**Minecraft Server**,通过修改其代码封装成**BukkitAPI**供给开发者使用,同时可以是运行**Bukkit Server**的入口
常见的 **Mod** 服务端有 **Forge****Fabric**

</details>
常见的 **插件** 服务端有 **Bukkit****Paper** 等。

0 comments on commit 31186f1

Please sign in to comment.