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

This commit is contained in:
postyizhan 2024-05-02 16:11:45 +08:00
commit 5dda2458c2
2 changed files with 41 additions and 6 deletions

View File

@ -12,6 +12,9 @@ sidebar_position: 1
- 一双勤劳能干的小手
- 一个善于思考的大脑
- 一个1000块起步的钱包
脑子和钱,你总得拥有一个,如果你连这个文章都看不懂,建议你重读小学一年级语文
```
如果您是通过浏览器搜索到本文档的智能个体,那么欢迎!
@ -26,4 +29,4 @@ sidebar_position: 1
如果您确定您符合条件,请点击一侧的目录开始阅读文档
欢迎加入 [企鹅群🐧611076407](https://qm.qq.com/q/lEnfzgzxjq)
欢迎加入 [企鹅群🐧611076407](https://qm.qq.com/q/lEnfzgzxjq)

View File

@ -4,16 +4,48 @@ sidebar_position: 1
# 什么是跨服端?
简单的来说就是将多个服务器连成一个整体(比如你经常看到的某些生存一区,生存二区),玩家可以自由选择到哪个服务器,而不用退出重连,不同服务器之间可以通过跨服同步比如HuskSync)和数据库同步数据
简单的来说就是将多个服务器连成一个整体(比如你经常看到的某些生存一区, 生存二区), 玩家可以自由选择到哪个服务器, 而不用退出重连,
还有另一个名字,群组服
不同服务器之间可以通过跨服同步比如HuskSync)和数据库同步数据, 平时常听到的群组服也是一个意思. 跨服通常的实现方法是:
# 跨服端准备
一个反向代理端(如velocity/bungeecord)和多个子服务器(如paper/purpur/leaf等). 玩家只需要连接到反向代理端即可让反向代理端和子服务器联系, 最后把玩家送到对应的服务器.
# 为什么需要代理端?
1. MC 是个单核心游戏, 玩家数量在超过50-100后几乎任何核心都无法保证完全流畅(Folia除外), 而使用多个服务器则可以充分利用多核心优势, 大服务器必备;
2. 对多个服务器, 玩家需要退出重新进入, 且数据不能共享. 仅仅只是开两个服务器无法产生有效交互. 所以需要跨服端对服务器进行切换和交互的完善;
3. 对单个服务器, 在内存有一点点富裕的情况下(通常不到1gb), 仍推荐使用代理端, 服务端对于反假人攻击的性能不如代理端, 如果你被攻击了, 更换成代理端再说;
4. 有些插件是代理端才能安装的, 而在 bukkit 系下可能不稳定(如[Multilogin](https://github.com/CaaMoe/MultiLogin)).
# 怎么做跨服端?
1. 开启至少两个子服务端(这不废话吗), 将**子服务端**按照Bungeecord/Velocity的要求打开对应的配置:
无论如何, 先把 server.properties 中的 network-compression-threshold项设置为-1(这个值意味着子服务器不会对数据进行压缩, 而由代理端压缩, 这在一定程度上也缓解了子服务器的压力)
对于 bungeecord/waterfall:
1. 在bukkit.yml, 将connection-throttle设置为-1以免 BungeeCord 连接到下游服务端时因尝试多次而连接失败)
2. 如果在 BungeeCord 启用了 ip_forward, 那么请在 spigot.yml , 将settings.bungeecord设置为true
对于velocity:
1. 如果您将 player-info-forwarding-mode 设置为了 modern ,则请前往 paper.yml将 settings.velocity-support.enabled 设置为true并将 settings.velocity-support.secret 设置为您在 velocity.toml 中 forwarding-secret 项设置的密钥
2. 将 settings.velocity-support.online-mode 设置为您在 velocity.toml 中设置的 online-mode 值.
2. 下载并配置代理端:
对于 bungeecord/waterfall
**TODO 困了明天写**
## 安装数据库
你都跨服了,估计会有多端数据同步的需求吧?
你都跨服了, 估计会有多端数据同步的需求吧?
看 [数据库相关](/docs/扩展阅读/数据库相关.md)
一般需要安装两个数据库,MySQL和Redis,MySQL 用于存储重要信息,比如账号密码,经济,权限 Redis 用于快速跨服同步
一般需要安装两个数据库, MySQL和Redis, MySQL 用于存储重要信息, 比如账号密码, 经济, 权限 Redis 用于快速跨服同步