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

This commit is contained in:
postyizhan 2024-04-30 17:45:20 +08:00
commit 94ae0fa143
10 changed files with 203 additions and 57 deletions

View File

@ -19,4 +19,7 @@ sidebar_position: 1
```
这是java服务器开服指南而非bedrock
<script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
<span id="busuanzi_container_site_pv">本站总访问量<span id="busuanzi_value_site_pv"></span></span>
如果您确定您符合条件,请点击一侧的目录开始阅读文档

View File

@ -1,25 +0,0 @@
---
sidebar_position: 5
---
# spark
:::info
`官网` :https://spark.lucko.me/download
`文档(英文)` :https://spark.lucko.me/docs
`文档(中文)` :https://snowcutieowo.github.io/spark
`GitHub` :https://github.com/lucko/spark
`spigotmc` :https://www.spigotmc.org/resources/spark.57242/
`curseforge` :https://www.curseforge.com/minecraft/mc-mods/spark
`mcmod` :https://www.mcmod.cn/class/4073.html
:::
spark是一个Minecraft的性能分析器,支持广泛(Bukkit,BungeeCord,velocity,Forge,Fabric等)

View File

@ -0,0 +1,79 @@
---
sidebar_position: 5
---
# 性能分析
性能分析是一切"优化"的依据. 如果你不知道服务器导致卡顿的元凶, 那么将毫无意义.
## spark
spark是一个Minecraft的性能分析器,支持广泛(Bukkit,BungeeCord,velocity,Forge,Fabric等)
:::info
`官网` :https://spark.lucko.me/download
`文档(中文)` :https://snowcutieowo.github.io/spark
:::
### 使用方法
首先将spark.jar文件插件放到服务端的 mods 或者 plugins 文件夹中.(如果服务端是purpur fork很可能你可以直接在/pl中查看到spark,直接用就好)
#### /spark profiler
如果分析器已经启动,你可以输入下面这些命令:
/spark profiler open 打开分析报告页而无需停止;
/spark profiler stop 停止分析并浏览分析结果;
/spark profiler cancel 取消分析操作,并取消上传报告。
在其他情况下,你可以使用这些基本的操作命令:
/spark profiler start 在默认操作模式下开始分析;
/spark profiler info 检查当前分析的状态。
这是主要的指令,为了更多的功能,更精准的分析等可以在后面加上参数.具体请查看[profiler指令使用方法](https://snowcutieowo.github.io/spark/#/spark.command-usage)
#### /spark hearth
子命令 health 会产生一份服务器的健康报告,其中包含 TPS、CPU、内存和硬盘的使用情况
#### /spark tps
spark默认会替代服务器的tps输出(但可能被CMI覆盖,请关闭CMI的/tps指令或者输入完整/spark tps获取)
#### 其他指令
其他指令其实并不太重要...因为都包含在了profiler里了,如果不想跑一个完整的profiler可以自己琢磨.
## timings
timings是一个paper自带的性能分析器,由于其监听每一个事件,性能开销比较大,在很多服务器核心(如purpur等)本身也是被移除的,不推荐.
:::warning
在可预见的未来timings将会被移除,作为新手可以直接跳过
:::
### 其他软件分析
:::warning
这部分需要一些基础知识,一般spark分析不出来才会尝试其他软件
:::
#### arthas
Arthas 是一款阿里巴巴开发的在线性能分析软件,可实时查看应用 jvm/内存/gc/线程 的状态信息,甚至包括查看方法调用的出入参、异常,监测方法执行耗时等,一般用于排查某些插件的CPU占用情况和插件线程占用分析.
[官方文档链接](https://arthas.aliyun.com/doc/)
#### jprofiler
jprofiler是一款付费的易用的性能分析软件,甚至可以对MySQL,内存泄漏进行分析,可视化展示.
[官方链接](https://www.ej-technologies.com/products/jprofiler/overview.html)

View File

@ -4,82 +4,125 @@ sidebar_position: 1
# 概览
什么是优化? 优化不是装插件, 首先得明白为什么服务器会卡, tps是什么, 每个服务器可能有自己的卡顿原因, 在这部分先做最基础的通用优化, 如果你使用后作用不大请参考性能分析板块.
![](./_images/TPS不稳定有优化插件推荐吗.png)
:::note
各位大佬们,服务器卡不是装个插件就能解决的
各位大佬们, 服务器卡不是装个插件就能解决的
:::
![](_images/ummm.jpg)
(好的现在切入正题)
(好的, 现在切入正题)
# 第一步 - 优化服务端配置
# 第一步 - Java 优化
<details>
<summary>如何优化</summary>
几乎任何情况下, 所有服务器都会因为选择合适的JAVA而受益, 而这本身是最没有代价的, 仅仅需要你下载一个小小的java安装程序, 或者更改JVM参数(大白话来说就是开服参数).
目前Bilibili上面的配置都是很老的不推荐使用
## 选择合适的JAVA
看咱文档里的 [点这里](调服务端配置.md) 比较新,非常推荐
### 版本
</details>
原则上选择最新的兼容的JAVA版本, 可以体验到最新的优化, 并且大部分现代插件都对最新版的特性有专门的兼容比如AuthMeReReload).
# 第二步 - Java 优化
如遇到低版本服务器不兼容高版本java的问题在paper及其分支可尝试在JVM启动时添加参数-DPaper.IgnoreJavaVersion=true
此部分分为两部
根据各路大佬的测试Zulu相较Oracle(你可以看做"公版")更适合开MC服务器
## 将你的JAVA版本更新到最新版
[Zulu下载链接](https://www.azul.com/downloads/?package=jdk#zulu)
保持到最新版可以体验到最新的优化并且大部分现代插件都对最新版的特性有专门的兼容比如AuthMeReReload)
下滑并选择你的操作系统/java版本等即可下载安装.
## JVM 参数优化
可以在这个[网站](https://startmc.jakaco.xyz/)生成最适合你服务器的JVM参数,然后应用到你的启动脚本里,然后重启就完成了
可以在[JVM参数生成器](https://startmc.jakaco.xyz/)生成最适合你服务器的JVM参数, 然后应用到你的启动脚本里, 然后重启就完成了
# 第三步 - 更换核心
别急. 还有一些更高阶的参数. [拓展阅读](https://blog.binklac.com/e6ad4dc21152)
在插件和配置层面能进行的优化其实不多受限于API还有服务端核心),所以最好的方法是更换服务器核心
# 第二步 - 更换核心
在插件和配置层面能进行的优化其实不多受限于API还有服务端核心), 所以最好的方法是更换服务器核心, 如果
:::warning
什么年代了,任何时候都不要再使用bukkit和spigot了. 追求稳定/性能上paper, 追求原版特性上Fabric.
:::
<details>
<summary>选择更换的服务器核心</summary>
## Purpur 稳定性与性能最佳选择
:::danger
如果你并不是追求更极致的性能Purpur 你最好的选择,只需要替换掉核心就可以Purpur 兼容全部插件!!
1. 不要相信什么付费优化核心, 已经花过钱给大家买过测试过了, 如果你愿意花这钱的话, 那就去买吧
## Leaf 极致性能
2. 混合服务器最好不要装优化模组, 会破坏很多插件的兼容性, 这个经验在服务器已经多次实践
前往Leaf的Github Action 下载最新核心,然后替换!!,Leaf 兼容你的绝大部分插件(已知仅有一个不兼容,但在插件的分支解决)
:::
## Folia Pro Max Ultra 性能
## Paper - 追求稳定
如果你的服务器对插件的需求不大或者你的插件已全部兼容Folia,那你就可以选择切换到这个核心,你的tps有绝对巨大的提升(甚至超过了Leaf)
如果是第一次开服, 或者追求稳定, 请使用paper. 任何时候想更换其他核心可以随时更换如purpur/leaf等核心.
## Purpur - 稳定性与性能最佳选择
如果你并不是追求更极致的性能, Purpur 你最好的选择, 只需要替换掉核心就可以, Purpur 兼容全部插件!!
## Leaf - 极致性能
前往Leaf的Github Action 下载最新核心, 然后替换!!, Leaf 兼容你的绝大部分插件(已知仅有一个不兼容, 但在插件的分支解决)
## Folia - 硬件利用率超高的高性能, 但兼容性较差
如果你的服务器对插件的需求不大, 或者你的插件已全部兼容Folia, 那你就可以选择切换到这个核心, 你的tps有绝对巨大的提升(甚至超过了Leaf)
回归原初:服务端核心选择
</details>
# 第三步 - 优化服务端配置
目前, Bilibili上面的配置都是很老的, 不推荐使用
文档里的 [调服务端配置](调服务端配置.md) 比较新, 非常推荐
# 第四步 - 更换硬件
这一部分没什么好说的,买就完了
不要无脑换硬件! 首先要知道自己的硬件瓶颈在哪里. 如果CPU负荷过高, 建议先排除CPU异常占用, 再看CPU总体占用情况. 一般来说服务器卡顿换CPU是最有效的, 单核性能和MC服务器TPS几乎呈线性相关, 但是换CPU几乎就相当于要换一台机器, 迁移对于新手来说并不是易事.
对于单端服务器来说, 超过8核心的部分基本很难通过提升CPU核心数量提升TPS. 不要动不动就买E5 然后卡了就加4核心8g内存, 更多也没用的.
对于群组服务器来说, 一般核心数量都会占用上, 但是内存可能会有些捉急, 对于每一个普通的生存服来说内存的推荐值为 8G-20G 更多更少都是不推荐的.
:::warning
如果发现CPU占用和内存占用都不是很高但是服务器卡卡的, 请考虑是不是服务器带宽受限导致玩家ping值突然升高的问题. 请分清楚TPS低导致的卡顿, MSPT高导致的卡顿, 带宽占满导致的卡顿.
:::
# 第五步 - 更换操作系统
Linux 比 Windows 更适合用于开服,你可以获得更快的发包速度和接收速度,并且可以获得更好的性能(此处为玄学,优化成什么样我也不知道)
Linux 比 Windows 更适合用于开服, 对于 Linux 根据自己的使用经验选择即可, 如果没有使用经验可以先使用Ubuntu等主流系统.
1. 更快的发包速度和接收速度, 接入服务器速度将提升数十毫秒起, 当面对假人攻击/DDOS攻击时会更加稳定.
2. 更好的性能, 根据测试TPS能提升8-15%.
3. 更低的内存占用, 对于windows服务器一般开机会占用1-2g内存. 而一般的linux系统开机后占用往往不到0.5g.
4. linux的稳定性是Windows无论如何也无法比拟的.
:::danger
:::info
不要相信什么优化插件,这些插件大部分都是通过堆叠实体来实现的,对服务器tps没有什么提升,某些情况下,会生成更多的实体
可能会有小伙伴说:"linux太难操作了, 根本不会用." 其实大多数开linux服务器的服主也不是纯纯使用linux编辑插件配置, 那么好, 我们为小白推荐两个面板辅助我们开服.
如果你愿意花这钱的话,那就去买吧
:::
:::danger
混合服务器最好不要装优化模组,会破坏很多插件的兼容性,这个经验在服务器已经多次实践
1. [MCSM](https://docs.mcsmanager.com/zh_cn/) 全名 MCSManager 是一款开源,分布式,一键部署,支持 Minecraft 和 Steam 游戏服务器 的控制面板.
2. [1Panel](https://1panel.cn/) 是新一代的 Linux 服务器运维管理面板,支持 Web 图形界面管理、快速建站、应用商店、安全可靠、一键备份等功能.
:::
# 第六步 - 性能分析
通用的一些解决方法看来已经差不多做好了, 每个服务器都有自己最导致滞后的因素, 可能是实体太多, 可能是玩家机器多, 也可能是某些插件写的太屎... 如此, 那么应该如何知道服务器为何卡顿呢. 对咯! 性能分析!
如果你是个完完全全的新手, 或者懒得分析, 想请教别人分析应该怎么办呢? 请转跳到 [怎么让大佬帮我](怎么让大佬帮我.md)
如果你不想求助别人, 亦或者你想有一些进步, 请参考 [性能分析](性能分析.md)
3. [宝塔面板](https://www.bt.cn/) 是一款支持Linux和Windows系统的服务器运维管理工具提供资源监控、文件管理、软件安装等功能.
:::

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 337 KiB

View File

@ -37,6 +37,12 @@ sidebar_position: 3
| [SportPaper](https://github.com/Electroid/SportPaper) | paper1.8.8的fork此核心只有1.8版本拥有较好的性能和很多生存配置选项如果你不需要开PVP你可以选择这个核心 | 推荐 | 暂无 |
| [Beast](https://github.com/HomoMC/Beast) | Paper 1.12.2 分支,旨在提供极致性能、错误修复和改进。推荐使用Java 21以上 | 推荐 | 暂无 |
:::info
如果您是从非Bukkit系核心或单人存档迁移请查看[Leaves的迁移文档](https://docs.leavesmc.org/zh_Hans/leaves/guides/migration)(通用所有Bukkit插件端)
:::
:::danger
以下核心真的不推荐,除非你真的疯了,否则不要用

View File

@ -19,10 +19,42 @@ sidebar_position: 5
## 使用准备
使用此脚本时必须安装Python,安装教程上网一搜就有,不写了
使用此脚本时必须安装 Python。
### 如何安装?
#### 如果你是 Win 8.1+
1. 首先,进入 https://www.python.org/downloads/ 网站:
![img](_images/instruction-website-of-python.png)
2. 点击那个大大的黄色的“Download Python 3.xx.x”
3. 你会得到一个 `.exe` 格式的文件,点击打开它。
如果你不知道你把文件存在哪,那我可没话说。
4. 按照提示完成安装步骤就是一路点“Next”。
#### 如果你是光荣的 Win 7 钉子户:
1. 首先,进入 https://www.python.org/downloads/ 网站:
![img](_images/instruction-website-of-python.png)
2. 往下拉找到“Looking for a specific release?”。
![img](_images/instruction-web-of-lagecy-versions.png)
3. 在这个列表菜单里找到 `3.8.5`然后点击右边的“Download”。
4. 按照提示完成安装步骤就是一路点“Next”。
除生成启动脚本,其他脚本都必须启动一次服务端后才能使用,生成启动脚本需要提前安装服务器核心
:::danger
所有笨蛋脚本都需要在服务器根目录执行!!
:::
## 宗旨
我们只教导傻逼,不制造傻逼,所以不要问可不可以写一个一键脚本,完成一切工作

View File

@ -46,6 +46,10 @@ sidebar_position: 1
</details>
## 笨蛋脚本
下载此[脚本](https://github.com/lilingfengdev/NitWiki-Script/releases/download/latest/auto-install-depend.py),我们会为你安装常用插件(自动)
## 如何安装插件?
将插件的jar文件放入服务端的 `plugins` 文件夹

View File

@ -11,6 +11,10 @@ sidebar_position: 1
如果你第一次开服,或者你看不懂这个折叠里的内容,那就跳过,直接去看底下的编写启动脚本
## 笨蛋脚本
下载此[脚本](https://github.com/lilingfengdev/NitWiki-Script/releases/download/latest/generate-script.py),回答几个问题就可以为你自动生成启动脚本!!
## 终端路径
就像你的文件资源管理器