Create 服务端架构.md

This commit is contained in:
Radiation-pi 2024-05-20 00:00:21 +08:00 committed by GitHub
parent b1a74b96f3
commit 8a4eb38c31
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -0,0 +1,123 @@
---
sidebar_position: 1
---
- 以下是两种基于 Bukkit 核心的服务端。
我们先来简单看一眼 Purpur 的文件夹结构:
```c
Purpur
├─cache // 缓存文件夹,一般放置的是 Mojang 的 Minecraft 原版服务器 ,对于 Purpur fork 服务器一般会有 spark.jar
├─logs // 存放服务端日志的文件夹
├─plugins // 存放插件的文件夹
├─world // 世界文件夹
│ ├─data //世界数据文件夹
│ │ ├─advancements
│ │ └─functions
│ ├─playerdata //存放了玩家数据
│ └─region
├─world_nether //地狱世界文件夹
│ ├─data
│ │ └─functions
│ ├─DIM-1
│ │ └─region
│ └─playerdata
└─world_the_end //末地世界文件夹
├─data
│ └─functions
├─DIM1
│ └─region
└─playerdata
```
以及 Catserver 的文件夹结构:
```c
Catserver
├─config //模组的一些设置
├─libraries //一些支持库
├─logs //存放服务端日志的文件夹
├─mods //存放模组的文件夹
├─plugins //存放插件的文件夹
│ └─bStats //存放插件配置的一些文件夹
└─world //世界文件夹
├─data //世界数据文件夹
│ ├─advancements
│ └─functions
├─DIM-1 //世界里的世界#滑稽
│ ├─data
│ │ └─functions
│ ├─playerdata
│ └─region
├─DIM1
│ ├─data
│ │ └─functions
│ ├─playerdata
│ └─region
├─playerdata //玩家数据文件夹
└─region
```
## 根目录下的一些文件
- `banned-ips.json`
以 json 格式存放的被 ban IP 玩家的 UUID 及游戏名称等相关信息,一旦玩家被 banip ,此 IP 将无法再进入服务器。
- `banned-players.json`
以 json 格式存放了被 ban 玩家的 UUID 及游戏名称等相关信息,离线服 ban 玩家后换 ID 即可进入服务器,而正版服无法通过改名重新进入服务器。
- `bukkit.yml`
由 Bukkit 派生得到的服务端都有的文件。保存着 Bukkit 所提供的最基本的设置选项。
- `commands.yml`
它提供了一种快速而简单的方法来强制服务器使用 Mojang 提供的命令而不是Bukkit中内置的命令而不产生冲突。
- `eula.txt`
在首次开服的时候,我们需要同意 EULA 协议。
- `help.yml`
一些插件的帮助信息会出现在这里面,一般不需要进行什么修改。
- `ops.json`
以 json 格式存放了 OP 玩家的 UUID 及游戏名称等相关信息。
- `purpur.jar`
你可以改名叫任何名字(只要以 jar 结尾,且在启动脚本中对应修改)
- `paper.yml`
这是 Paper 才有的配置文件,您一般不会在 Bukkit 或 Spigot 中看到它。
- `permissions.yml`
是默认的权限定义YAML文件在启动时自动生成。它的主要功能是将权限节点组合到一个文件中以便权限插件以及使用权限的插件可以在整个系统中使用它。
- [`server.properties`](https://minecraft-zh.gamepedia.com/Server.properties)
服务端的一些基本设置就在里面,如设置端口,设置游戏难度,设置游戏模式(生存、创造等)等。
- `spigot.yml`
这是 Spigot 才有的配置文件,您一般不会在 Bukkit 中看到它。因为 Paper 是由 Spigot 派生而来的服务端,所以在 Paper 的服务端中,它也会出现。
- `usercache.json`
储存着用户部分信息的缓存文件。
- `version_history`
一些 Minecraft 和服务端核心的版本信息。
- `whitelist.json`
白名单列表。(如果您在[`server.properties`](https://minecraft-zh.gamepedia.com/Server.properties)中开启了白名单,您就可以在该文件中添加和管理谁被允许或不被允许进入服务器。)
至此,大部分的以 Bukkit 为基础的服务器核心服务端的结构已经大致呈现在您眼前。
[参考文献](https://github.com/Mhy278/MinecraftServerHostGuide/blob/master/Structure.md)