本帖最后由 极光creeper 于 2020-9-1 22:27 编辑


||||||
———————| 超基础 |————————| 进阶 |————————| 高思想 |——————>

\ /

本文语言简单平实 ,易于理解,全文介绍细致入微,带你分析上百个问题实例,章节关联性极强
在本帖内,你将与吾辈一同亲临战场;与各类概念、问题、细节、难点进行对战
收录了新人开服时会遇到的绝大多数问题;同时也为开服老司机提供了更多优化方案与细节
本帖根本没有回复可见 完全是全年龄向的(大雾
...
  更多内容请看最下方目录,详细内容请进入章节查看


字数统计:


我又来写新人教程祸害大家了

在开始之前 我来聊聊为什么建议新人开插件服
萌新也可以看的 内容和我自身关系不大
1 首先的首先 不管你有没有了解过 反正开插件服 成本远低于开mod服
2 插件服简单啊 你从来没见过别人问 "插件服需要ban什么东西吗"
3 插件服的玩家体验极高 任意客户端都可以加入游戏 不需要特别下mod
4 相信大家也了解过 插件服的流畅程度 普遍比mod服好很多

以上内容只是我看法中的一些 渣渣,我在后面会详细分析这些内容
插件服的优势很多 因为我说多了 一些萌新会害怕吾辈......
我了解的一些萌新甚至会直接关掉这个帖子233 所以前言这里先不展开说
什么?这种理论知识 你一点头绪都没有?没关系 我接下来会慢慢说
让我们先来聊聊天吧



不喜欢和老娘聊天吗 我是真的14岁啊

没错喵! 前言这里 我们先多聊聊天吧
本教程是 完全新人向 教程, 旨在提高 想开插件服却能力不足的服主 的普遍素质

如果你对本帖的介绍有其他见解,或本帖内有地方说明出现谬误、错误的话
欢迎各位指出

本帖的受众人群是?   萌新、 真·萌新、 完全不会java的萌新、想试着开服的萌新
                              假萌新、 开着插件服的服主、 觉得自家插件服不够好想来取经的服主
                              顺着全民开服热潮来的,希望玩家有极佳游玩体验的服主
                              服务器管理员、 服主不负责的服务器的管理员
                              甚至是 部分开mod服的服主
                              (汉化 优化等实际上是通用的 虽然不是100%有用 但是就是有用)
                              如果你们点开了这个帖子 那么我会隔着电脑屏幕 顺着网线 欢迎你们ww

可能不适合哪些人?  开宝可梦服的服主
                               (我个人的确不喜欢 但是你们也可以看我帖子 而且优化和没优化的区别不大)
                               用CatServer(或Pro)的服主
                               (核心的确出彩 但是就是有一堆插件不兼容 本帖主要是介绍插件服 而你是mod服)
                               想开服但是不肯付出时间的服主
                               能力不够却喜欢耍嘴皮子 找理由 自我逃避的服主
                               只愿意续费服务器,却把活丢给其他管理的服主


本帖不欢迎哪些人?   





啊 你来惹 我是本次集训班的讲师 极光creeper 14岁接下来的一段时间里 你可能就要和我一起度过一段美好的时光

...嗯?你说你是..萝莉控?Gunna,不要摸我啊バカ!

恩恩 接下来 给大家说一下 你们在接下来的课程里会遇到什么吧
我们围绕着 "提升玩家游戏体验" "提升服务器质量" "提升服主素养" 三个方面讲课
当然 是纯萌新向的 老娘会细致解释所有的问题: 为什么这些很重要? 哪些细节很重要?
我会给出很多很多的插件 包括好用的、难用的。但是,他们一定都是实用的

本帖的锚点目录
https://shimo.im/docs/Tr3txtW8CGwyGvVD

[anchor=Index]课程大纲:[/anchor]
第一课: 1 插件服为什么能够大幅提升玩家游戏体验 ?
               1.1 插件服设备配置怎么选择 ?
            2 啧,服务器核心好多,就算是mod核心 能不能也一起讲解一下呢?
            3 在没有鹿盔的情况下如何在Spigots与Paper中抉择 ?
            4 插件服玩法相较mod服的局限性 ?
            5 mod服明明比插件服玩法更多,为什么说玩家体验差 ?

:课间休息(没有用的吐槽环节)
老师...上面提到的鹿盔是什么东西...

第二课: 1 戳!开服!
            2 不知道什么时候会遇到的 完全没用的术语
            3 超简单平实的语言讲解的简单服务器结构 (即服务器根目录)
            4 我毛线球插件都没有装啊喂,老师能帮我整理、推荐一下吗?

            :课间休息(没有用的垃圾分类环节)
老师...想装的插件也太多了啊 垃圾分类可行吗 ESS是干垃圾吗


第三课: 0 ————————我还是建议你装几个软件的——————————
            0 很有用的软件
            1 配置文件大教学I   : 最愚蠢的讲师,最方便的操作,最高兴的服主
            2 配置文件大教学II  : 手把手教你!基础插件 的配置文件: 阅读理解题 与 修改阅读理解题

:课间休息(没有用的脸红环节)
老师...你好可爱...

第四课: 1 配置文件大教学III : 手把手教你!GM权限组插件 的配置文件: 第一印象很难?然而这是填词游戏啊
            2 配置文件大教学IV : 手把手教你!LP权限组插件 的配置文件: 得了,权限组插件操作都一样的
            3 配置文件大教学V : 手把手教你!服务器 内某一个配置文件: 太菜了!学完上面的内容,这也太简单了吧!
            4 通过BungeeCord从零开个群组服!架设你的插件群组服,配置、优化与安全。

:课间休息(不可名状的环节)
老师...你...到底是刀客塔还是休伯利安号清洁工还是提督还是魔物娘子还是御者

第五课: 1 配置文件大教学VI : 手把手教你!汉化你的插件 的配置文件: 放心 我老早就已经准备好教案了
            2 针对第二课内推荐的 所有插件存在的使用疑惑、问题,进行收集并解答


第六课: 0 ————————接下来的可能不会很容易 但不会难——————————
            1 老师,为什么没有课间休息
            2 需要更多的快乐
            3 创建你的服务器团队
            4 正式步入服务器优化 还是手把手教你的教程喵
                                       4.1 对 服务器 从配置文件上 进行优化
                                       4.2 对 服务器插件 从数量,配置上进行优化
                                       4.3 对 jvm调参 从最基础的初步认识开始 进行优化
                                       4.4 从 服主心理 开始分析 让你深刻体会 哪些事有必要做 哪些事完全无意义
                                       4.5 从 玩家心理 开始分析 为什么服主要做这些事 为什么有些内容无意义
            5 [全版本]优化的其他黑科技 (第四次修改目录时添加)
               [高版本]的要命优化 (第四次修改目录时添加)


第七课: 1 配置文件大教学VII : 手把手教你!小游戏反作弊 的配置文件: 只有我这种研究过的 才有资格来教反作弊配置
            2 配置文件大教学VIII : 手把手教你!生存向反作弊 的配置文件: 喵 老师我还有不知道多少绝学没有教给大家
请注意 第七课均使用NCP反作弊插件进行教学 本插件是免费插件 看本帖也不需要交学费
            3 地形教学 : 手把手教你!在Worldedit中除了//set和//undo ,你还需要一些笔刷和技巧!



______使用滚轮返回上方 点击目录里的第一课 即可
本页3800+字


有人问我能不能录成视频什么的来着,

本帖内容采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可

鸣谢:





——————————————————————————


NO.1



[anchor=Start]喵 步入正题了啦[/anchor]

① 插件服为什么能够大幅提升玩家游戏体验?
首先我们了解到 插件服与mod服不同的地方
从机子来讲 mod服更加依靠高频u,不然会很卡;而一般的机子都带的动插件服
在成本上 mod服需要更多的金钱来维护.......
停! 新人可能会问 这说的都是什么啊 我怎么听不懂?
什么高频u? 什么机子?
好吧 这是教材的失误 不过是我故意这么设置的 让我们来讲讲 开服预备操作

正常的逻辑来讲 你总得有一个地方给你开服吧 不管是你家电脑 还是租机子
不过话说回来 你舍得让你家电脑天天开着吗 你应该不舍得吧 对电脑损伤还挺大的
所以我们先来讲讲 租机子这些事

    请大家看3个名词 他们都是你可以租的服务器 |  以及一些简单的描述
        面板                                                      |       ·只能开单端服
        VPS                                                       |     ·开群组服/mod服
        各种独立机                                            |  ·开超大群组服/mod服
    价格上:独立机最贵>VPS稍贵>面板很便宜

本帖毕竟是新人向的 所以我们先干掉独立机 只看面板和VPS
    面板的优势在哪里?很抱歉 只有便宜的优势
                                 有些人说 面板的文件传输 使用的是FTP 对新手很方便
      这里我就要插嘴了 首先很多新人不知道FTP是什么 只是觉得 哇 没见过 好像不一般 抱着很困惑的心态
                                 如果你是一个100%新人的话 初入开服务器的你必定会觉得"哇草 完全搞不懂啊"
     是的 很多新人的确什么都不知道 不知道我有没有说中你们的心理 我认为用混沌+困惑 来形容算是贴切
     所以不要上来就说ftp这种名词,也不要说面板的ftp方便了 :( 根本就不方便

     所以我又在废话了 开始说正题
     - 对于新人而言 新的概念非常多 但是由于BC等概念还没有引入 所以我会同时给一个易于理解 但不普遍正确的定义
         ╚ 单端服 :在只开放单个端口的设备 上开设的游戏服务器
          ‖               也泛指 面板上开设的服务器 或 数据相对独立的单个服务器
          ‖              -萌新看得懂的定义: 普遍指只有一个玩法的服务器
          ‖  
         ╚ 群组服 :通过使用BC等分布部署多个小服务器而架起来的大服务器,我们称这个 大服务器 为群组服
          ‖              -萌新看得懂的定义: 普遍指有多种玩法的服务器(如同时有 起床战争 监狱风云 玩法的服务器)
          ‖
         ╚ 子服    :通过使用BC等分布部署多个小服务器而架起来的大服务器,我们称这个 小服务器 为子服
          ‖              -萌新看得懂的定义: 普遍指大服务器中的一个玩法(如 起床战争 监狱风云 玩法是一个子服)
          ‖
         ╚ mod服 :顾名思义 加入了mod的服务器 这种服务器也可以同时加入插件
          ‖
         ╚ FTP:是一种tcp文件传输协议,面板服通过FTP程序访问远程资源, 实现用户往返传输文件、目录管理
          ‖              -萌新看得懂的定义: 啊 反正是看起来高大上 但是用起来更麻烦的东西
          ‖
          我的建议:
         我建议不管是什么情况 新人都应该去租VPS(或租 独立机 但我们这里不谈独立机)
          1 、FTP用起来真的很麻烦 同样是目录管理 我为什么要一直戳戳戳戳戳那个面板啊
          2 、面板简单无脑、但不使用bat、限制服务器核心.... 面板的独特操作会误导服主对于开服的操作的概念
          3 、面板优化不好
                3.1 、便宜的代价不仅仅是误导新人,而是服务器设备性能的降低
                3.2 、面板很特别,一些很棒的优化插件效果可能会降低。想清面板服缓存?你开玩笑啊:(
                3.3 、面板不透明化:我已经知道不止N家面板 给出来的机子与实际宣传不符
                                               因为面板是完全不透明的,所以当自己机子内存被挖掉,萌新根本发现不了
          4 、VPS不存在上述问题 而且操作起来也不难
          5 、现在不少VPS的防御挺好的 而且就算你是第一次租 不少VPS也会专门有人来教你 或者帮你弄
                但是请不要打扰那些帮忙的客服。他说不行,做不到,那就是不行。不要多纠缠,问来问去真的很讨厌

[anchor=Lease]租什么性能的服务器?[/anchor]
    鉴于mc服务器对容量要求小,但访问量不小的特点 (如果你对游戏行业有所了解 所有游戏服务器都是这样的)
    我们优先看服务器计算能力和内存大小
    计算能力是什么? 就是CPU,上方提到的"mod服需要高频U" 指的就是 需要主频高的CPU
... 你们是不是看不懂 这样吧
    大家好我是极光Creeper云的代理 现在我在脑中臆想出了几份VPS套餐 大家一起来看看吧 (不要怕 我会逐一分析)

            核心        内存       硬盘       带宽       CPU频率          价格
套餐1     5            1G         20GB       5M          2.0Ghz          1  元/月
套餐2     1            10G       20GB       5M          3.0Ghz          80 元/月
套餐3     4            8G         20GB       10M        3.5Ghz          170元/月
套餐4     8            16G       20GB       12M        4.0Ghz          499元/月
套餐5     10          20G       60GB       12M        5.0Ghz          650元/月

点评:
套餐1 : 大家看到价格 1元/月 就知道这个套餐不一般 。那么到底哪里不一般呢?
            当然 价格肯定不一般
            █红色:严重不足    █紫色:符合要求   █绿色:满足需求的情况下有余
套餐1     5核心            1G内存        20GB硬盘       5M带宽          2.0Ghz   

           首先 让我们了解两个名词 实际需求实际情况
实际需求: 你想要开一个平均在线10人的插件服
实际情况: 1、 买到这个机子绝对是血赚
               2、 这个机子连10人纯净服都带不动
               严重不足 到底不足到什么程度 有多离谱?
               3、 1G内存: 这相当于有一堆玩家想吃饭 但是你一个服主只拿得出一碗饭
               4、 2.0Ghz: 你的跑车装了三轮车的发动机 跑起来可带劲了?

很显然 因为不满足你的需求 就算是买到血赚 你也不该去浪费钱
反过来分析一下这个情况 因为非常不一般 而且是我故意设置的 所以我们都注意到了这个套餐
在仔细思考后 我们注意到 实际情况无法满足实际需求
冷静分析后得出结论 谁买 谁就是睿智
这三步 分析 -> 思考 -> 冷静地得出结论 是所有新人需要学会的 不然就会被坑

但如果我们稍稍提高1G内存 2.0Ghz的数字 再把价格改到普通价位
你们 会上当吗?  肯定有人上当的啦 所以需要冷静分析一下

一般来说 新人的服务器设备升级我建议直接换套餐 不要单独购买任何升级项目
    升级项目是类似于: 30元加1核 20元加1G内存 这种的
    以及如果真的要去购买这些项目 我建议买内存 在读完全文 进行优化后 每1G内存 保守估计 再少也能带8玩家
如果你说 什么腾讯云 百度云 根本没有套餐怎么办? 不建议去租这些大的VPS商,真的是贵的要命


(编辑的时候 还是决定删掉了下面的1.5k字和一堆例子)
讲的是一个非常普遍的VPS商营销陷阱的问题,而且没什么人特别注意X
但考虑到你也只能租这些VPS商,而且虽然是陷阱但是最后vps商还是赚不到多少
所以就删掉了
同时删掉了一堆科普 我可能挪到第六章去说

不过好消息是有一位叫做Twilight_Two的巨佬为大家整理了一下这贴
写给服务商和腐竹们的一些话,玩家们其实也可以康康。。。
https://search.mcbbs.net/thread-926107-1-1.html

我个人觉得没说全但是好像没什么太大的问题
欢迎大家去给他丢点金粒和人气


小组の友链:
[综合] 升级你的服务器吧! ——  从基层大幅提高你服务器的性能! (Bone Studio)
https://www.mcbbs.net/thread-1051992-1-1.html

这是一篇科普&写独立机相关的,新人也可以去读一下,不过雪风可能还没写完
我认为,内容上有很多可以更细节的地方,如果大家有各种见解,欢迎大家去和雪风探讨!!
欢迎大家去给他丢点金粒和人气


对了 有个地方千万要注意 mcbbs有个代理交易板块 里面有非常多的VPS出租服务
但是 质量是良莠不齐的 没错 mcbbs只审核他们的营业资质 而不审核品质是否有保障
虽然有几家我挺想安利的 不在代理交易板块里的 也有几家非常棒 但是涉嫌广告 所以就不提了

总结: 新人开服务器就租VPS (除非你有用面板的需求)
         请注意 在服务器性能上 内存 CPU频率 带宽 是非常重要的 而硬盘 我觉得20G可以用一辈子了
         新人升级服务器 请直接更换那些云的套餐 都是帮你们配比好的
         购买升级项目时 以1G内存可以多带8个玩家来计算 而1核的计算则相对麻烦 与CPU密切相关 新人不用买
         代理交易版质量良莠不齐
大概就是这样 以上是课本里1.1节的内容喵 接下来老娘回归课本第1节
...
...
什么?套餐2-套餐5 我没有分析?! 好吧 大家把课本翻回来
            █红色:严重不足    █紫色:符合要求   █绿色:满足需求的情况下有余


            核数        内存       硬盘       带宽       CPU频率          价格
套餐2     1            10G       20GB       5M          3.0Ghz          80 元/月
         你可以看到 这种沙雕套餐 居然只有1核
         结合上面所说  内存 CPU频率 带宽 是非常重要的 你丫的只有1核 就算其他达标也不行啊
         你可以想象成 一台四驱跑车 这次引擎正常了 驾驶座大小正常了 但是居然是单轮驱动
         是的 没看错 说好的四驱跑车 其实是4个马达装在一个轮子上 变成独轮车了 这也太生草了吧
         套餐2也是不正经的套餐 所以价格就不分析了 没有意义


            核心        内存       硬盘       带宽       CPU频率          价格
套餐3    4            8G         20GB       10M        3.5Ghz          170元/月
         但是套餐3是超级正经的套餐 价位合理 这套餐非常完美
         如果能负担得起 建议新人可以试试这种 大概是上限50人

         你心动了吗 你想买吗?


         营销陷阱又出现了 上限50人 = 不卡顿/低延迟 ?
         做梦去吧 在完全读完本帖配置优化教程后 这种套餐开插件服 基本能保证20人不卡 30人较流畅
         但是50个人就算了吧 玩家走一步 回弹卡两步 啧啧啧
         这种陷阱还挺常见的 大家多多注意
         ps: 我说的是上限50人的陷阱 而不是这个套餐是陷阱 这个套餐很完美的

            核心        内存       硬盘       带宽       CPU频率          价格
套餐4     8            16G       20GB       12M        4.0Ghz          499元/月
           停 499元不是营销陷阱 现在已经没人会踩了
           套餐合理吗 合理 合理的不像话
           在只分配给单端的情况下 50人可以较流畅 上限我觉得可以吹100人吧

            核心        内存       硬盘       带宽       CPU频率          价格
套餐5     10          20G       60GB       12M        5.0Ghz          650元/月
            套餐合理吗 合理 比上面那个更加合理
            老师 金色的是什么 传说吗
            啧 就你们天天开 金色传说 闪虹 6星干员 而我只有蓝天白云 kokodayo
            金色的是超模了啦  5.0Ghz称作是高频中的高频 当然你叫它超频 我没有意见
            这东西... 怎么说呢 反正挺厉害的 而且价格也挺厉害的
            60GB的硬盘挺不错的 但是没有多大用

用什么系统
        你有两个选择
        1  Linux  ——  倾情推荐(大雾),没基础的新人根本不可能用的来 建议大家都来选这个
        2  Windows —— 新人友好形系统,和你家的电脑没什么区别

提示:
        因为是新人向教程 不要问我Linux系统应该怎么用 自己百度就行了
        因为是新人向教程 不要问我Windows系统应该怎么用 用不来...我也不知道怎么教了啊

综上 系统问题不要问我 我们后面第二节课再说
顺便一提 用VPS开服的时候 先关防火墙



插件服为什么能够大幅提升玩家游戏体验
     从玩家角度出发 : 试想你是玩家 如果你发现一个服务器可以用1.6.4-1.14的任意客户端加入游戏 并正常游玩
                              玩家觉得方便吗 如果方便 那么游戏体验就提升了
                              一个非常好玩的mod服 如果加服需要排队 而且因为是mod服 所以玩家还需要下载专用客户端
                              玩家觉得方便吗 如果不方便 至少在这一个方面 mod已经输了


    从服主角度出发 : 我前面说过了 mod服需要高频CPU。我们简单的思考一下 低频U和高频U的区别是什么
                              第一反应 后者更贵。没错 就是这么简单的答案 而且我上面也说了 核心与CPU密切相关
                              这意味着 更贵的CPU 额外增加1核 需要更多资金
                              所以某种意义上 插件服比mod服更加省钱,虽然一般不建议增加核数
                              但是剩下来的钱去哪里了呢 去升级服务器了 mod服和插件服 带同样的玩家 同样的流畅程度
                              一定是插件服体验更高 而且由于插件服本身就省钱了
                              用省下来的钱提升服务器性能 可以让玩家体验更好

    从机子角度出发 : ...毫无意义,反正我只是一台没有感情的机子,迟早要报废。

————————至此 第一课的 1与1.1 就上完了 现在开始上第一课的第二节内容
啊 我们就先不下课了
要上洗手间的自己去吧 老娘也不好跟过去陪你不是么

[anchor=Core]2.[/anchor] 啧,服务器核心好多,就算是mod核心 能不能也一起讲解一下呢?
不能 因为我知道隔壁有人写过 被人说起来就是 论文查重率太高 :(
而且不知道大家有没有发现 我用的标题是问句 没有说真的要介绍啊

BB弹帖子说的挺详细的 [火焰之地传送门]
人家还在帖内标明了不能抄袭

....等等 类似不等于抄袭啊 那我自己总结不就好了么 简单简单......个毛线球

核心是什么?
我怎么和新人解释啊 你就当是服务器必须要的一个的东西
它可能有点大 不同核心大小也不一样
(看起来大 实际并不大) 大概是10000KB-40000KB不等
大家下面的随便看看就行 不重要的 主要是想说一下常见的几个简称 一些新人不知道来着
而且我说的很不全 可以戳上面那个 火焰之地传送门 去看完整版

mod服:
1  Cauldron 系列 其中包含 KCauldron(也就是KC) MCPC+ (现在很少见到了) 1.8以下用(不含1.8)
    简称: C端 ,KC
2  Thermos 是楼上的派生服 优化好一点吧
    简称: Th
3  SpongeForge 常说的海绵服 优化很棒 我个人是推荐这个
    缺点很明显 不支持spigots派生服的插件 需要海绵端特别的插件
    简称: 海绵
插件服:
1  Craftbukkit  所谓水桶服就是它 是下面的老祖宗 所以已经老了
    简称: 水桶服
2  Spigots 楼上的孩子 这孩子是插件服核心备选之一 而不是上面可怜的老祖宗
    简称: 水龙头
3  PaperSpigot 楼上的孩子 这孩子是插件服核心备选之一 自带的优化是很恐怖的
    简称:paper 、 纸龙头 (纸龙头这个简称很少用)
4  SpongeVanilla 应yys的要求 我加上来了 但是我不准备介绍
    偶然间见到谁用的简称: 插件海绵 (很少说简称)

好了 我说完了
嗯?为什么有人 这才从洗手间回来
算了 不管他了 老娘继续上课

3 在没有鹿盔的情况下 如何在Spigots与Paper中抉择 ?
直接使用极光creeper在问答版的回复 引用已经过 我自己 的授权
问: spigot和paperspigot 我想了解一下两个服务端的优缺点

那么 答案只有一个了! 以下均为废话

总结一下 不管三七二十一 只要你是开插件服 使用paper核心就行了
有兼容问题 : 先去自己跟着本帖后面的教程解决 其次去问答版问 最后实在不行再换spigots核心
请注意 这其中我省略了最重要的一步 【战略屏蔽】 我会在后文进行解答 这是 第六课 2.3的内容
但是现在萌新也不必迷惑 这个和玩家体验 与服务器理念,服主理念 相关 是稍微有点深的方面了


好了 第三节结束了呢 不知道大家有没有看懂老师我的想法和策略呢?
要用就用最好的 最好的与实际需求冲突时 换次好的



4 插件服玩法相较mod服的局限性 ?
开始了 开始了!mod服想要见到的 插件服批斗大会 开始了!

怎么可能嘛 本帖不就是吹插件服么 怎么还能骂插件服呢
...
什么?因为我是老师 所以要秉持公平公正?!好吧 好吧 受不了你们

插件服玩法就是局限啊 你见过插件服有植物魔法的么
你见过插件服有暮色森林么 你见过哪个插件服能掏出来一个转换桌的么
都没有!

你见过插件服有工业的么 你见过插件服有拔刀剑的么 你见过插件服有星系的么
...
...
抱歉 后三者还真的有!
他们在哪里?他们不在MCBBS,这里收录的插件都太少了
他们在国外的spigotsmc里! https://www.spigotmc.org/resources/
这里是国外最大的Minecraft插件聚集地 现在规模应该是最大的了
想成为独当一面 优秀的服主 你需要有足够的插件阅览量
这无关你到底会不会java 就算是0基础 就算你是java巨佬 想要开一个好服 必须要有足够的插件阅览量

如何阅览插件? 首先前往mcbbs的插件版 这里有好多插件 不管是原创的 还是转载的 还是重置的
也许你觉得 插件版7000个插件的数量很多? 抱歉 这和国外论坛 spigotsmc相比 差太多了

我们简单的点开一个插件 看我的说明即可

英文名称   与你plugin里找到的插件名称密切相关 在阅览插件时不必刻意记名字
中文名称   无关紧要 了解即可
插件来源   某种意义上挺重要的 但是你不必在意这个
通用服务端  与这个插件是否能装在你的服务器上相关
分类有以下几种 你可以对照上方那个核心介绍
|Cauldron| |CraftBukkit| |Spigot| |Sponge| |BungeeCord| |其它|

|Cauldron| : 本插件可以装在 Cauldron、KCauldron、MCPC+、Thermos  及其派生服 为核心的mod服
|CraftBukkit| 与 |Spigot| : 本插件可以装在 CraftBukkit、Spigot、PaperSpigot 及其派生服 为核心的插件服
|Sponge|:本插件可以装在 SpongeForge、SpongeVanilla 为核心的插件服
|BungeeCord| : 本插件可以装在BungeeCord 为核心的插件服 (这就是上文的BC)
|其它| : 帖内若无特别标注 则这个分类什么都不是 如果有标注 那么去看注释去

适用版本 : 你服务器核心是什么版本的 需要与这里的适用版本对应
前置Mod|插件: 使用本插件 你必须先安装 _____
       示例图片: 使用WTF插件 你必须先安装 Skript
下载地址 与 原帖地址 : 你直接戳就行了 但如果是类似于https://www.本帖.com的形式 就在帖内找

回到主题 如何阅览插件
你只要看标题 看内容即可 不需要实际去用
比如你看到一个叫plotme的地皮插件 那你大致看一下 是用来弄地皮的
然后指令是/plot <argument> 然后指令简写是/p 这样就可以关掉 看下一个了
但是 如果你觉得哪个插件能让你感兴趣 比如什么 反恐精英啊 空岛战争啊
你当然可以留在页面里 多看一会儿
我认为最好的习惯就是 留一个收藏夹 感觉可能可以用 或者很炫酷 或者很有趣的 就可以收藏

ps 搜插件不要用右上角的 你翻到插件版中间的那个地方 有一个很棒的搜索 比论坛右上角的精确很多
详细教程在第二课内 看下去就知道这个搜索技巧有多精奥了

这样一段时间下来 你就对插件有印象了
不至于一直靠别人 "有大佬能帮我找找这个插件吗" "这个怎么配置啊"



5 mod服明明比插件服玩法更多,为什么说玩家体验差 ?
    你不敢反驳老娘吧(大雾
    上面说的很清楚了
    第一 流畅度堪忧
    第二 mod玩法的确多 但是又能多多少呢
    第三 mod服要专用客户端
    第四 服主技术不过关的话 可能导致恶性bug 或玩家利用bug熊地皮 刷物品 等等情况
            这是时间的积累 而不是你看一篇攻略就能理解完全的
            但是插件服基本没有这种bug 而且就算有 修起来也快
    第五 本帖尝试拯救/帮助插件服主 相信你们看完本帖以后 可以提升服务器玩家体验 更超mod服
            当然 mod服的技术 管理 服主 也可以看看这贴。不过想反超? 注定是一段艰辛之路 加油









课间休息


老师...上面提到的鹿盔是什么东西...
你的抉择卡牌可以同时拥有两种效果
也就是说 我全都要
但是你并不行 233


老师...上面那三个插件
工业插件 拔刀剑插件 星系插件 在哪里啊

才不告诉你们 反正他们都在spigotsmc上 不过有一个已经被删了 虽然我下了来着(逃


课间音乐时间
https://music.163.com/style/swf/widget.swf?sid=534064232&type=2&auto=0&width=320&height=66

来自番剧 : 龙王的工作
另外小说看来马上就要银了




  _______第一章字数统计 11,237    耗时 5小时
  __请使用滚轮返回顶部并在目录处点击 第二章                           ?你还想再下一会儿课吗 你随便好了www
——————————————————————————

NO.2



蓝月小姐姐的一首歌  クオリアの輪郭  挺棒的
配合CG效果超棒 可惜这里放不了




戳!开服!

电脑屏幕被戳穿了啊啊啊啊

咳咳 欢迎大家来到第二课...
我知道第一课写的太长了...真的是抱歉 开篇太激动了

决定了 开插件服!
...此段教程基于 你租的是VPS 而且系统是Windows 当然Linux的我在写完全篇教程后会补上去
但是你就算不租也没关系 因为你可以在自己家里电脑上面试一下
因为VPS的操作和你自家电脑 没 有 区 别!!

一般来说 开服需要什么?
    1  一个鼠标
    2  一台电脑,至少要有一个显示屏的那种
    3  一颗有耐心的决心
    4  一个核心
    5 一个bat

前三者有人没有的吗? 没有1和2你是怎么看我帖子的... 没有3我是不信的 除非你前面没仔细看 直接跳到这里了
后两者 萌新肯定不知道是什么啊 .bat有些萌新会了解吧 都很简单 让我们慢慢说

  一个核心:  
    第一节课.2内 我们提到了一堆核心 还记得吗 其中我只推荐了两个插件服核心
    他们分别是 稳重的爸爸 Spigots
                     充满朝气的孩子 PaperSpigot

    Spigots 作为爸爸 非常的稳定,绝大多数插件都兼容Spigots,其运算效率是绝大多数核心中的佼佼者
                            虽然效率没孩子高 优化也没孩子的厉害,但是已经领先很多了的说
    PaperSpigot 作为孩子 少许有些莽撞,兼容性和爸爸Spigots差不多强,但是极少数插件会出现不兼容情况
                            虽然兼容性比不上爸爸,但是运算效率和优化却非常的可怕
                            在优化上 如同秋名山车神开着圣白莲的摩托放着逮虾户冲过街头 超过了开拖拉机的爸爸
                            当然也超过了其他骑三轮车的服务器

    然后 到底如何下载 233
    考虑到 国内下载速度 与索引不完善 我不能简单的就丢两个地址给萌新
    下方所有网站均是 发帖时国内下载核心速度最快的站点
   Spigots : 镜像站 https://mcmirror.io/downloads/Spigot?lang=zh_CN  
                  1.8-1.14的所有spigots核心都能在这里找到
                  想使用Spigot?可以 但是先试试看Paper吧 就如同我第一节课内的看法
                  目前还没有1.15的镜像,大家可以去spigots那边下
                  

   PaperSpigot : 这个比较麻烦啊...考虑到国内下载速度 与索引不完善 我不能简单的就丢一个链接给萌新
                          1.14.x  https://papermc.io/downloads#Paper-1.14
                          1.13.x  https://papermc.io/downloads#Paper-1.13
                          1.12.x  https://papermc.io/downloads#Paper-1.12


        以上三个的下载操作 如图

——————————————————————————————————

        下面也有其他版本的下载地址
                          1.15 https://papermc.io/ci/job/Paper-1.15/
                          1.13.x  https://papermc.io/ci/job/Paper-1.13/
                          1.12.x  https://papermc.io/ci/job/Paper/
                          1.11.x  https://papermc.io/ci/job/Paper/1104/
                          1.10.x  https://papermc.io/ci/job/Paper/916/
                          1.9.x    https://papermc.io/ci/job/Paper/773/
                          1.8.x    https://papermc.io/ci/job/Paper/443/
         以上七个的下载操作 如图
      
        使用这种下载方案的话
        有个特例  1.10.x的请戳那个 paperclip-916.2.jar       
        如果你找不到 916.2 请戳我  paperclip-916.2.jar  18.54 MB

  一个bat:  
        相信新人都发现了 这个.jar文件到底应该怎么打开...
        当然 它是可以通过解压来打开的 但是这并不是开服的正确操作

        啊 插两句话
        第一句 : 你完全可以在自己的电脑上下载了试试操作 根本不会出任何事情
        第二句 : [很重要]请把刚才下载的那个.jar丢到一个文件夹里(不然你找其他文件的难度会x2)

        嗯?这个桌面是什么情况?不,什么情况都不是,你想多了

[创建你的bat]
        接下来 打开这个有 "核心" 的文件夹
        右键 新建一个文本文档(.txt)


        双击打开这个 新建文本文档.txt 并将以下内容复制黏贴进去
  1. java -jar [猜猜这里填什么].jar
复制代码
       好的 请大家猜一下这里应该填什么
        提示 : 括号后面有个 .jar , 也就是最后会变成 ___.jar 的形式 大家猜猜这里应该填什么

        接下来重命名这个.txt
        新建文本文档.txt   ——> 新建文本文档.bat
        将文件后缀名改为 .bat
常见问题:
        只显示文件名,但文件后缀名不显示:
        直接百度 "文件后缀名怎么显示"       Windows7的用户操作偏复杂 请戳我

        我不是新人,老师你能说一下bat相关的优化吗
        对不起 不行 我后文会说
        可以先参考 https://www.mcbbs.net/thread-867786-1-1.html
        也可以直接用 https://www.mcbbs.net/thread-839828-1-1.html
        jvm调优既有得 更必有失
        jvm基本只能优化下内存    mc这玩意  应该是没有什么特别大型需要优化的感觉
        所以比较简单的操作是,分配一下内存然后就完事了
饶了我吧 我这么低级的bat也拿出来了
  1. title 服务器名字
  2. java -Xmx250M -XX:MaxPermSize=128M -jar 核心名字.jar
  3. @echo 5秒后重启
  4. @ping -n 7 127.0.0.1>n
  5. @set a a=%a%+1
  6. @goto Menu
  7. pause
复制代码




双击bat进入下一步!
        首先告诉大家一个坏消息 Spigots下载下来的是核心 但是PaperSpigots下载下来的核心并不完整
        不知道你有没有疑惑 明明叫PaperSpigots 然而下载下来的是paperclip 233 不要在意细节
        所以如果你是完全根据帖内教程来操作的 你接下来可能会见到这个情况
        
        Downloading original jar...
        没错 你只需要干等着即可。如果你去看你的目录 可能现在能看到一个cache文件夹出现在你的文件夹内
        戳进去还能看到奇怪的东西。不 你盯着看也没有用,干等着即可。

        ps. 造成你需要花时间来下载这个东西的原因是mojang的DMCA,萌新不用真的了解这个东西的
        这可能会让一些萌新感到不便
        如果你等了巨久(2-3小时以上),可爱的 @1281159501 酱提醒了我


        很快就会跳出来一大串报错,这是好的!
        先来科普一下 这个最外面的文件夹 你最早创建的文件夹 就是称作"根目录"的东西了
        返回你的"空文件夹",接下来我会直接叫它"根目录" 或者 "服务器根目录",希望你不要忘了哦

        现在多了一个叫eula.txt的文件 双击打开它
        
       没错 上面的英文都不要理会 把 eula=false 改成 eula=true 即可
        (我图上的那个false —> true 只是告诉你要改成true 而不是真的填这个啊)
       记得按保存

       但是 所有教程都只告诉你把eula改成true 但是有多少人能告诉你eula是什么呢?
       EULA : 最终用户许可协议 其定义可以在百度百科找到 [百度百科]
       Minecraft EULA : [官方汉化链接] 请点进去看清楚了

以下两条较重要 我更换了主语便于大家理解
不得将Mojang创建的任何内容用于商业用途   不得试图通过Mojang创建的任何内容赚钱

       这意味着你几乎和开公益服没区别 但我们关起门来说话 违反eula的服务器与服主 全世界比比皆是
       这不代表你可以认为 你可以正大光明地开商业化服务器
       但在这种大环境下 我相信可怜的绝大部分人 做不到 不违反eula
       所以 请你们抱着内疚、悔恨的心理 看待你开了违反eula的服务器这一事实
       如果可以 请开公益服 或转为公益服

所有人都值得一看的内容:



喵!让我们回归主题XD
       刚才的气氛好沉重啊 让我们继续把服务器开出来吧!
       如果服务器正常启动的话 你会看到 Done (开服时间s)! For help, type "help" or "?"  这段话
       每次服务器正常启动是以此为标准的哦,如果你看到上面这段内容的话
       现在你的根目录里应该和这张图片里的一样了!
      

我们直接上 3 、超简单平实的语言讲解的简单服务器结构 (即服务器根目录)
       大家看到这里有6个文件夹 16个其他文件(不同核心 配置文件可能数量有略微不同)
       因为称呼一直很乱 所以简单一点 这里所有的东西 6个文件夹和16个其他文件 全都叫配置文件吧

从上至下:
       cache文件夹 : 永远不用去碰的文件夹,有些核心会加载出这个文件夹,有些就没有,开服请无视。

       logs文件夹 : 如同英文名,是存服务器运行日志的地方,普通日志和报错都会混在里面。
                         一般来说 我们会直接叫它 "报错文件夹"。因为一般没人去看普通日志

       plugins文件夹 : 插件服最重要的灵魂之一,如同英文名 plugins译为插件,插件服装的所有插件都要丢里面
                            虽然很重要 但是并不要害怕 。很简单哒

       world与world_netherworld_the_end文件夹 :
                            和名字一样 他们都是世界文件夹 世界里所有方块 数据 玩家位置都储存在里面
                            放心 可能只有0.0001%(百万分之一)的人深入了解过这些文件 几乎没人直接编辑他们
                            我们都一样 你只要知道 这三个文件夹分别是 主世界 地狱 末地 就行了

       文件夹说完了 接下来说说各种 后缀名为 .yml的文件
       .yml 是yaml格式的文件,他有很多优点,但是对于新人来说 操作方式和.txt没区别
与json的区别:


       嗯....嗯?! 还是有json嘛 按照顺序应该先介绍json是吧...不介绍了

       banned-ips.json : 试想你在学校里要交数学练习册,你是会交一本本子上去,还是跑到老师面前把答案口头报给老师?
                                 试想你ban了一个熊孩子的ip地址 结果发现ban不了 因为服务器听不懂你口头报的东西
                                 没错,这个文件就可以看做是作业本,让服务器去批阅这个文件,随后就知道你ban了谁
                                 所以这个文件就是用来保存被ban掉的ip的 不需要你动手编辑 游戏中通过指令会方便点

       banned-players.json : 同上 是记录被ban掉的用户名ID的
       ops.json : 同上 是记录哪些ID是服务器管理员(也就是op)
       usercache.json : Paper特有 同上 是记录玩家UUID的 (UUID类似于身份证 或者说是学号)
       whitelist.json : 同上 是记录白名单内的玩家的 (你需要在server.properties开启白名单 下方介绍这个文件)

       bukkit.yml : 一些阈值可以在这里修改,稍后我们的阈值优化也会从这里起步
       spigot.yml : spigot和paper都有这个文件,是阈值优化的中坚力量
       paper.yml : Paper独有的文件,阈值优化的最后一站

       commands.yml : 有用,但是基本不用,新人也不必了解,无视即可

       eula.txt : 你已经知道这是什么了 你上面还对他干过什么呢

       help.yml : 有用,但是基本不用,新人也不必了解,无视即可

       paperclip-1.8.8-fix.jar : 你好不容易才下载的核心,名字和这里的应该不一样。

       permissions.yml : 有用,但是基本不用,新人也不必了解,无视即可

       server.properties : 灵魂之一,与你服务器密切相关的配置文件(如白名单),也是优化的小帮手

       新建文本文档.bat : 喂喂 这是你自己右键新建的啊!你连这都认不得吗。你可以给他改个名字

回到 2 不知道什么时候会遇到的 完全没用的术语
    我们先来回顾一下上面提到的各种概念
    首先是你可以租用的服务器种类!
        面板                                                      |       ·只能开单端服
        VPS                                                       |     ·开群组服/mod服
        各种独立机                                            |  ·开超大群组服/mod服

    其次是对各种服务器的定义,因为太长 所以就不再提了,记不起来的请翻回第一课再去看看吧
    一共5个 | 单端服 | 群组服 | 子服 | mod服 | FTP |

    接下来是租VPS云服务器时需要看重?
     内存 CPU频率与核数 带宽 以及 硬盘大小(买套餐一般不用在意硬盘大小)
     在分析一些云的套餐时 请仔细分析实际情况与你的实际需求

接下来 让我们看看新概念
    这意味着我们会在没有例子的情况下强行接受这些概念 就和刚出生时学习语言一样
    多看 多动鼠标操作 就能完全接受

....
嘛 例子肯定是有的 上面是骗人的
哦豁 完蛋 我们前面其实讲到过这个 |BungeeCord| : 简称BC 现99%群组服都是靠这个bc连接起来的呢
     至于怎么开群组服,这其实等于如何开一个bc服,详细教程稍后
     我先来讲讲大概的操作。
     实际上和你上面开服的操作一样 BungeeCord是一个核心的名字
     群组服的话 需要你在启动游戏服务器的情况下
     同时启动以BungeeCord为核心的服务器
     在稍微修改一下BC和游戏服务器的配置后 就可以开群组服了
     将多个小服务器(子服)变成1个大服务器(群组服)

关于为什么你闲的没事要把多个服务器通过BC并到一个服务器里?
     还真的有新人问这问题,来解答一下吧
     原因有以下几点
     1  玩家体验与实际可行性
     如果你要一个玩家在不登陆 登出游戏的情况下 在服务器内跳转至其他服务器
     如 玩家玩rpg玩累了 想去玩小游戏 那么如果不使用BC 玩家必须先退rpg服务器 再加入小游戏服务器
     这需要在玩家的客户端内添加两个服务器地址(虽然是改端口) 而且还麻烦
     使用bc就可以直接通过bc在游戏内切换服务器

     2  在考虑玩家体验后 我们发现了一个问题 垃圾mc!
     每个服务器基本只用1核 也就是说 ...如果你把所有玩法丢在同一个服务器里 你服务器会巨卡的原因就出现了
     这时候分开投资 开多个服务器 完美利用所有核心 这就成为了优化至关重要的一步

     3  我想不起来了 想起来再说

顺便一提x2 用VPS开服的时候 先关防火墙

[anchor=Plugins]4[/anchor] 我毛线球插件都没有装啊喂,老师能帮我整理、推荐一下吗?

先来说一下 你现在是什么插件都没有 但是不要觉得效果都很厉害 所以就都装了
服务器装插件需要秉持装的越少越好的态度 我在后面第六课会详细解释
如果你觉得插件很好? 你可以什么都不干 因为我这帖子一直在这里 索引一直在这里
你也可以选择创建一个浏览器收藏夹 把它们全部收藏进去

回归正题
我拒绝帮你们整理,如果你去按照我的教程来做的话 你应该是自己在插件版找到这些插件的
啧...香吗? 我为了写这贴 可是狠狠地违背了我的原则哦 这样无谓的帮助 只能让你们作为服主的能力缺失
我小学误入开服的时候还没见过这种介绍 :(

基础插件: (请任选一个安装 且只能安装一个,不然服务器原地升天
1 Essentials 或 EssentialsX  他们是最老牌的基础插件,最稳,兼容性很完美,性能稍中庸。
    [站内搬运贴]  感谢  blackangel 的搬运  
    让我在这两个里面选一个的话 我是推荐 EssentialsX
    前置插件 : Vault     EssX需要java8

2 MainMC  这是一个新生的基础插件 是ess的1/10大小 同时拥有额外15个插件的功能 包括多世界 等。性能较高
    [站内搬运贴] 感谢 极光creeper 的搬运
    对于spigots和paper 这个插件是必定支持的 几乎0报错 配置与ess基本一致 所以我第三课直接讲解ess的配置
    MainMC需要java8 且目前仅支持1.7.2-1.13.x

[付费]3 CMI  价格15欧元。由于付费,文件结构与上面的两个不太一样,指令也不同,所以不介绍 不建议新人使用
    [站内搬运贴]  感谢 秋风残叶 的搬运    但这插件功能也是很强大的,不建议新人购买和使用。我推荐开服的老司机使用,但是本帖不是CMI教程

综上,新人请使用 EssentialsX 或者 MainMC
提示 : 由于MainMC搬运者是笨蛋,而且MainMC本身对新人并不友好,可能需要使用附属,以及特定的权限组插件
          新人建议使用essX,如果你是开服老司机 且对你的技术有信心,MainMC很最好的选择

权限组插件:
1  GroupManager  这是最老牌的权限组插件,最稳,兼容性很完美,性能稍中庸。 是支持1.7-1.14的
    [站内暂无搬运贴]  所以也没有提供汉化文件
    [国外原贴]   我这里违规提供一下附件吧  [attach]1370627[/attach]

2  GroupManagerPlus 楼上那个的重置版,应该是优化了一点内容,但是性能还是中庸。
    [站内搬运贴]  感谢 UnKnownE 的搬运 ,因为站内最新的那个搬运贴质量较低 所以使用了稍微旧一点的搬运贴
    是支持1.7-1.14的  配置和楼上没区别

3 LuckPerms  非常简洁,运算效率较高,对于插件服的兼容性也很完美
    [站内搬运贴] 感谢 1345979462 的搬运 质量反正比上面两个的搬运贴高
    是支持1.7-1.14的  但是配置&操作和上面的两个不太一样 我后文两类都会教

由于权限组数量众多 下面的仅做展示 不做介绍
4   PermissionsEx
5   PermissionsPlus
6   ZPermissions
7   PermissionsBukkit
8   PowerfulPerms
9   BungeePerms
10  bPermissions
...
..等

综上 推荐 GroupManagerPlus 和 LuckPerms
其中LuckPerms配置最简洁,最易上手,优化较好
然而绝大多数服主仍然使用的是老牌的 GroupManager 和 GroupManagerPlus
大家可以两个都试试 但是选定一个权限组插件后 在你开服后就基本不会变了 请慎重选择
然而 我都喜欢

多世界插件: (请任选一个安装 且只能安装一个,不然服务器原地升天

1  MW 体验不是很好 不介绍了 我连原贴都不给了 大家请用下面的MV

2  Multiverse-Core  简称MV 不要问我为什么简称不叫MC 大家习惯叫MV了 我也没办法
[站内搬运贴] 感谢 goodonet 的搬运
   
教程自己看搬运贴了吧 我最多后面用一段文字稍微介绍一下怎么用 (少于500字)

   关于对mv的吐槽 : 无法识别dim1符号?bug多?问答版全是mv的锅?
   不好意思,我用了那么久不仅没bug而且没bug,只不过是你们没能正确操作  :(


地皮插件: (请任选一个安装 且只能安装一个,不然服务器原地升天

1  Plotme 老牌地皮插件 现在使用者较少了 建议用下面的那个
    [站内搬运帖]  感谢 1748591300 的搬运

2  PlotSquare 现在用户数量较多的一个地皮插件 功能强大,全面
    [站内搬运贴]  感谢 q211316907 的搬运
    教程仍然请看搬运贴 我最多后面用一段文字稍微介绍一下怎么用 (少于500字)
    前置插件 : worldedit

其他实用插件: (请根据实际需求安装)
由于内容过多 感谢搬运工与作者的部分会省去 请见谅   |   插件评析部分会大篇幅省略 仅介绍功能 请见谅
点击插件名字会直接传送至搬运贴 不额外设立传送门了
[以下内容均为免费插件 , 付费插件不作收录,且只收录支持版本较多的,限定在部分版本的优秀插件并不提及,需要自己去发现]
指令和权限节点请去搬运贴内看!!!原贴也能看!!!不要过分依赖本帖!!!这是能力的养成!!!
我会在后面第五课详细整理所有问题

1 AuthmeReload 登陆插件 你的玩家注册/reg,登陆/login全都靠他

2 Citizens2 一款NPC插件,功能很强大 可以创建NPC 前置插件 :Protocolib
   是付费插件 但是作者提供了免费下载途径,如果觉得好用可以去补票
3 Citizens CMD楼上的附属插件,可以让玩家右键NPC时执行指令

4 Residence 领地与圈地插件 前置插件: Vault , WorldEdit
                  让你的玩家圈地 或让管理员设置服务器领地

5 PlayerPoints 点券插件 不多介绍 多一个货币类型

6 Holographic Displays 浮空字插件 能让你创建浮空的字

7 Shopkeepers 村民商店插件 便捷创建村民商店 并修改交易的内容

8 QuickShop 箱子商店插件 玩家和服务器都能创建自己的商店来出售物品
  前置插件 :Vault

9 ColorMOTD 彩色motd插件 效果自己戳进帖子里去看吧

10 Tablist 修改tab列表插件 支持动态变化 搬运贴版本较旧 原贴 内有支持更多版本的插件

11 ScoreBoard 计分板插件
12 LaggRemover 服务器优化插件 没有更多介绍了 有效地优化服务器

13 WorldEdit 创世神插件 简称WE 可以快速修改地形 填充 还有很强大的高端函数操作等待你去发现

14 ChestCommands 菜单插件 配置起来很简单的菜单插件 但是本帖不会提供教程 请去翻其他帖子(链接待补)
15 BossShop 更强大的菜单插件  配置起来稍微麻烦一点的菜单插件 但更加强大
    此插件有个pro付费版本 功能更加强大 有能力的服主可以去支持一下作者 顺便抱一个更强大的插件回家

Via系列全家桶三连 由于mcbbs内搬运贴并没有非常完善 所以我后面会用一段文字稍微介绍一下怎么用 & 优化(少于500字)
我也只给原贴了
16 ViaVersion        https://www.spigotmc.org/resources/viaversion.19254/
17 ViaRewind        https://www.spigotmc.org/resources/viarewind.52109/
18 ViaBackWards   https://www.spigotmc.org/resources/viabackwards.27448/
这三个的功能都是让不同版本客户端加入你的服务器
一般来说 三个都装的话 可以让1.6-1.14客户端加入你的服务器
但是会有渲染错误 与一些卡位bug出现 配置文件也能有优化&调整的地方 我后面会提

19 NoCheatPlus 简称NCP 是一款免费的反作弊插件 但十分强力(如果你会配置的话)
     我后文第七节课将围绕这个插件进行教学

20 plugman 与YUM一样 可让服务器管理员在游戏或者控制台中管理插件,而无需重新启动服务器。
     很棒的插件 但是可能新人使用时会有些理解上的问题

21 后续会根据某群群友问出来的バカ问题继续加

一些前置插件: (请根据实际需求安装,都不是开服必须要装,只是有可能必须装)
由于很重要 但是数量也不少 感谢搬运工与作者的部分仍然会省去 请见谅
介绍会尽量完善 以及插件需要秉持装的越少越好的态度
点击插件名字会直接传送至搬运贴 不额外设立传送门了
除非我有进行特别说明 不需要对这些前置插件进行任何配置 字体为绿

1  Vault  明确一点 这个是经济前置 而非经济插件。言下之意,你单纯装vault并不会出现金币,金币需要本插件配合基础插件
    对于新人 不管怎么样 请你都装一个 因为很多很多的插件都需要这个前置

2  PlaceHolderAPI 占位符前置 提供了几百个占位符 (占位符也可以称作变量)
    什么是占位符?比如你在计分板内加入%player%,不装这个前置显示的就是符号和英文,装了就显示玩家的名字
    占位符对于不同玩家会显示不同的内容,浮空字里也可以用本前置提供的占位符哦
    papi变量指的就是本插件提供的变量,用"papi变量"字眼时,一般指下载变量相关。下载现在不常见了
    直接安装本前置就能使用所有占位符,简单粗暴
我去 这么多占位符 怎么找啊? 去 http://mineplugin.org/PlaceholderAPI 就完事了

3  ProtocolLib API性质的前置 新人不用了解太多 反正知道一些插件会用到
   比如RPG常用的 mythicmobs 以及反测压用的 GreatFireWall 当然还有很多很多插件需要本前置

4  以下 "前置" 不管在什么意义上 都一定是可选前置

WorldGuard
Towny
CalendarEvents
Factions
GriefPrevention
MythicDrops
MythicMobs
EpicBoss
Votifier
Worldedit
等等

为什么没有链接? 这不是插件版那个搜索的事情么 精准度很高 自己去搜就行了
精准度不高是因为你的操作不对 找插件请使用插件版中间的那个 超级炫酷的搜索功能 而非右上角!


5  还有很多 不列举了 前置在搬运贴内都会有标注英文名 照着上面的教程自己去搜即可



课间休息!

老师...想装的插件也太多了啊 垃圾分类可行吗 ESS是干垃圾吗

我喜欢MainMC基础插件 但是这插件对新人不友好 所以推荐ess
不过垃圾分类的话...ess算不上垃圾啦

大家现在要什么插件就装什么 也可以研究一下
即使最后删掉不用这个插件了 你也学会了配置方法 这是血赚
至于为什么会删掉插件?这个是后面第六课讲到优化的时候会说的。


课间音乐
https://music.163.com/style/swf/widget.swf?sid=489970554&type=2&auto=0&width=320&height=66
来自番剧 : 末日时在做什么?有没有空?可以来拯救吗?
第一次听前奏可能会被劝退 但是请各位听到高潮部分吧

如果真爱有颜色,那么一定是终末之红尽染的蓝色。如果幸福有颜色,那么一定是记忆之红尽染的蓝色.


  _______第二章字数统计 14,884    耗时 13小时 主要都是去查资料了 :(
  __请使用滚轮返回顶部并在目录处点击 第三章                           喵 听歌就当下课了啦



——————————————————————————


NO.3



喵 这次是东方音乐专场哦
是游戏 东方project 内一首曲目的二次创作
原曲是 东方花映冢 お宇佐さまの素い幡






小极光妹妹课堂开课啦,孩子开服老不好

多半是废了,快用文本编辑软件!
1、很有用的软件 (每一种只装一个即可)

第一类,超绝可爱的文本编辑器!(二选一)

1、notepad++ 虽然作者发表过非常不适的言论 但这款优秀软件就是便捷、快速
     这绝不影响我们对这位作者的"孩子"的打分 我们下文将会使用此软件的高亮
     中文官网地址: https://notepad-plus-plus.org
汉化教程:

小巧、易用、功能强大、开源免费。支持语法高亮,代码折叠、自动补全 等等
有非常标准的中文汉化
支持C、C++、Java、C#、XML、HTML、PHP、Javascript 等语言
这款软件对于我们编辑.yml是完全足够了的


2、Visual Studio Code 简称VS code ,或者vsc,是微软开发的一款免费软件
     页面风格真的很棒,而且提供强大的扩展,功能丰富且强大
     官网地址: https://code.visualstudio.com
     官网下载地址: 楼上就是

通过各种扩展,软件能自动弹出IntelliSense建议、匹配括号,支持开箱即用的Git
支持JavaScript,TypeScript,JSON,HTML,CSS 等语言
官网有很全面的说明文档
这款软件对于我们编辑.yml是完全足够了的

第二类,解压!(二选一)
这个自己电脑上应该都有,但是vps上没有
所以自己装一下吧

比如
1、360压缩
     没错就是我在用这种屑软件还要来安利给大家,反正解压软件没什么大要求 随便找一个即可
2、WinRAR
     没错就是那个风评很棒的解压缩软件

第三类,不要装!
除了上面的,你还想装什么?
百度网盘?任何网盘!这是你自己电脑下载东西用的,在vps上面用等同于增加你服务器的负担啊!
你自己电脑上下载完,用鼠标拖到vps里不好么。只不过麻烦一点点而已,这也是第六课的思想呢。

网易云音乐?!您的技术真是太高超了,求求你装在自己电脑上吧
我真的见过别人在vps上装这种东西,没办法 :( 我怕还有什么小天才,所以在这里提醒一下233



[anchor=YAML]1[/anchor] 配置文件大教学I   : 最愚蠢的讲师,最方便的操作,最高兴的服主
极光!你居然!按照目录内容和顺序讲课了!
...
饶了我吧 (逃

好德er,我们现在来讲讲康介个点歪爱慕欸艾尔完剑系怎么康懂得
(碎源石) 好的,我们现在来讲讲看这个.yml文件是怎么看懂的
因为notepad++比较方便 还有中文 感觉萌新友好度max啊 是不是,那我们就拿notepad++讲课吧

这软件的语法高亮比较神奇,可以手动改,但是默认是看文件后缀名来判断使用什么语法高亮的
所以这里先给大家一份没什么内涵的.yml文件,请萌新下载一下,用notepad++打开即可

萌新の战争.yml (5.92 KB, 下载次数: 269)

里面介绍的很明确了 配合notepad++的语法高亮 你可以更加轻松地理解

YMAL有以下特点
  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进时不允许使用Tab键,只允许使用空格。
  • 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
YMAL非常容易理解,也许上面的特点看着很迷 我们来看看这段教程(请下载上面的附件,并在notepad++打开)

与附件内容一致 但是没有语法高亮
  1. #绿了 你绿了!
  2. 黑了 你黑了!

  3. #没错 在警号#后面的都会变成绿色
  4. 而不在警号#后面的就是黑色
  5. #警号后的内容都叫做 注释
  6. #就和你在上课时记笔记一样,这些是便于你理解用的
  7. #例如在数学课上给你一串初中的反比例函数
  8. y = 1/x
  9. #接下来你就要做笔记了对吧
  10. #你在边上记录了

  11. #这个函数图像 在每个象限内 y随x的增大而减小

  12. #上面这就是所谓注释,是为了让你看明白的
  13. #————————————————————————————————————————————————


  14. #??! 怎么变成蓝色的了
  15. today:
  16. #没错 出现在冒号左侧的 这就是所谓节点,你可以理解为"名字"

  17. today: 2019.8.10
  18. #?!2019.8.10变成橙色的了!
  19. #没错 这就是一个数字常量,这个数字代表着 你把today这个值定义为了2019.8.10
  20. #这个蓝色的today 一般会用来描述后面这个数字,比如这里指的就是 今天(today)是2019年8月10日
  21. #————————————————————————————————————————————————

  22. YouOnEarth: true
  23. YouDie: false
  24. #这次冒号后的内容变成了true和false 是淡蓝色的对吧
  25. #给大家翻译一下
  26. #YouOnEarth: true
  27. #你在地球上: 是的
  28. #
  29. #YouDie: false
  30. #你死了: 不是的,我没死,不然我怎么能坐在这里看这段教程

  31. #没错 这里的true代表"是的"  false代表"不是"
  32. #true和false的专业术语是叫 "boolean值"
  33. #用中文表述的话,就是: 将YouOnEarth的boolean值定义为true
  34. #————————————————————————————————————————————————

  35. name: '极光creeper'
  36. #这次这次我们加了一个引号,里面输入了中文
  37. #这个操作叫做 定义字符串
  38. #意思就是,我的名字叫做极光creeper
  39. #为什么不使用上面的常量呢?
  40. #因为这个是要发送出去的!必须定义为字符串
  41. #这个介绍比较蠢 我们后面介绍ess的时候会经常用到 大家可以先留点疑问 不要紧的
  42. #————————————————————————————————————————————————


  43. #"对象"
  44. NewUser:
  45.     vote: [url]https://www.mcbbs.net/thread-897318-1-1.html[/url]
  46. #这就是对象啦 意思是 NewUser节点下有一个vote对象,你将其定义为了一串网页链接
  47. #翻译成中文就是 新用户去这个网址评个分吧
  48. #上面是正常教程 但是我猜有新人看不懂 所以下面换个说法
  49. #有一个叫做NewUser的文件夹 里面有一个vote文件,vote文件里有一个网址
  50. #现在你能理解这个层级关系了吗?文件夹最大,那个叫vote的文件其次,而里面的网址就是最小的
  51. #————————————————————————————————————————————————

  52. #多个"对象"
  53. #先说好 现实中的对象一个就够了,我警告你们,不要脚踏两条船啊XD
  54. NewUser:
  55.     vote1: [url]https://www.mcbbs.net/thread-897318-1-1.html[/url]
  56.     vote2: [url]https://www.mcbbs.net/thread-861863-1-1.html[/url]

  57. #这是什么?
  58. #这就是两个对象而已
  59. #所谓脚踏两条船
  60. #有一个叫做NewUser的文件夹 里面有一个vote1文件,vote1文件里有一个网址a
  61. #                          里面还有一个vote2文件,vote2文件里有一个网址b
  62. #就这么简单
  63. #————————————————————————————————————————————————

  64. #flow不介绍了 反正用不到
  65. #先来说 "数组":

  66. #数组很高端?
  67. #不 没有 数组比你想的要弟弟多了 此数组非彼数组
  68. office:
  69.     - 1.101
  70.     - 2.407
  71.     - 3.211
  72. #长得很像多个对象?
  73. #是的 有点像 不过这次没有对象了 也就是"文件"
  74. #这次floor这个文件夹里丢的不是文件了 直接丢内容了
  75. #翻译一下就是
  76. #office:           你学校的办公室在哪里:
  77. #    - 1.101                   - 1栋101室
  78. #    - 2.407                   - 2栋407室
  79. #    - 3.211                   - 3栋211室


  80. #接下来 就是把上面所有东西拼起来啦!
  81. #给大家一个例子 然后大家可以去mcbbs帖内 第二课 找到中文版答案

  82. today: 2019.8.10
  83.   weather: sunny
  84.   SchoolDay: false
  85.      school: Shanghai_XXXX_school
  86.          location: XXRoad_XXXBlock
  87.          students: 150
  88.              class:
  89.                  - 1
  90.                  - 2
  91.                  - 3
  92.              amount:
  93.                 number1: 50
  94.                 number2: 50
  95.                 number3: 50

  96. #end 教程结束



  97.                
复制代码

下面的是最后一段的"中文版"

其他重要内容:
不知道你有没有发现 冒号后面有个空格 冒号是英文输入法的半角,而非中文输入法的全角冒号


参考资料 : 来自mirantis 上的一篇博客
                来自阮一峰  的博客
                来自宋小杰  的博客
发现博客内容基本没提到?是的,不会说的很深,我只是去查了查资料,看看有没有新手向的教学而已。


[anchor=ESS]2[/anchor] 配置文件大教学II  : 手把手教你!基础插件 的配置文件: 阅读理解题 与 修改阅读理解题

回到第二课 我们知道 ESSX和MainMC都是我很推荐的基础插件 幸运的是 他们的配置基本没区别
我很想拿MainMC来介绍 因为是我搬的 所以我很清楚哪里会出现使用问题 可惜的是 它对萌新并不非常友好
所以我只能来介绍ESSX了

关于你是用的是MainMC?
里面都说的很清楚了。需要也别注意的点,都已经详细在文中说明了。
汉化很完善,至少这么多评价下来,没人吐槽极光的汉化。

介绍将基于你已经完全了解yml文件怎么阅读,如果耐心看完上面的介绍,我相信你一定会能理解的。

请注意 MainMC 与 EssX 都需要 Java8

关于如何安装插件?
你会下载到一个.jar文件,插件都是.jar形式的,和核心的后缀名一样
随后和我第二课内说的一样 直接丢到那个plugin文件夹内 然后输入stop 重启服务器即可(不是/stop是stop)
必须重启哦,不然不会加载,除非装了plugman或者yum(但也需要使用指令加载插件)

安装完毕后 你的plugin里会跳出来一个名为Essentials的文件夹
    这些是ess的zip内会有的插件 全部丢进去即可
   
   你的zip里可能还有 EssentialsXGeoIP(查看IP对应城市) 与EssentialsXXMPP (基于xmpp框架的意义不明插件)
   这两个我都不建议装,除非你真的有需求。功能累赘,第六课内也会提到。

没事没事 是友军 不要开火啊!让我们先打开那个名为Essentials的文件夹(看图说话)
   

没错没错 先来仔细阅读一下这张图片边上的介绍
新人一定要仔细阅读哦

不要太着急往后看

Config.yml 汉化者: 极光creeper
感谢BoneStudio成员 blackangel先辈在国内推广EssX做出的贡献

############################################################
# +------------------------------------------------------+ #
# |                       请注意                         | #
# +------------------------------------------------------+ #
############################################################


# 和上面的介绍一样 #都是注释 是给你看的
# 如果你想要在该文件内添加中文,请务必要保存为UTF-8格式,而不是ANSI,否则必定乱码
# 如果加载插件时出现了问题(如返回null值),请注意:
#   - YML文件仅支持普通的空格,不能使用tab
#   - YML对缩进的要求(记得上面说的 文件夹->文件->内容 的层级关系吗)
#   - 如果你用了引号' ,那么请记得最后也要补一个引号(这不是废话么 谁只写一个引号,谁只写一个书名号的啊)
#   - 字符串(文本内容)需要用引号隔开""
#   - 记得格式是什么吗 英文冒号 + 空格 + 内容
#   - 有些设置只能设置"true"或"false",他们是上文提到的Boolean值,还记得吗
#   - 配置文件必须保存为UTF-8格式

# 如果你有问题,请访问 : http://tiny.cc/EssentialsChat

# Version 2.16.1.0
#   版本  2.16.1.0

啊 如果我不在边上解释的话 会不会看不懂呢
但是这些注释就是我汉化&添加的啊...虽然和这样书写的形式不同...
看注释的时候就当是在看我说话吧

############################################################
# +------------------------------------------------------+ #
# |                 Essentials (全局设置)                | #
# +------------------------------------------------------+ #
############################################################

#OP的名字颜色 前面不需要加& 我只是单纯觉得ess的大红色很难看所以改成了深灰色
#使用的是颜色符号. 改为'none'即可关闭此功能
ops-name-color: '8'

#玩家如果有nick的话 前面就会显示这个 汉化的时候我是直接删了
#不喜欢nick前面的东西?
#建议使用'|'或'-' 因为比较美观嘛XD
nickname-prefix: ''

# nick最长长度,直接设置为了100免得你们不够用什么的.
max-nick-length: 100

#设置为false时, 名字内的颜色符号将会计入nick长度
#比如这个nick: "&6Notch" 算7个字符 (颜色符号占2个)
#当设置为true时,上面这个nick只算5个字符
ignore-colors-in-max-nick-length: false

#当设置为true时,使用vanish指令隐形的玩家将不会显示自己的名字
hide-displayname-in-vanish: true

#如果您有其他插件能修改用户显示的名称,请设置为false。
change-displayname: true

#启用此选项后,tab列表将更新为显示的名称(nick)
#上方change-displayname必须设置为true才能启用本选项
#change-playerlist: true


#如果未安装EssentialsChat.jar,则会强制让essentials将权限插件中的玩家前缀和玩家后缀添加到displayname上。
#如果安装了EssentialsChat.jar,则忽略此设置,且默认为'true'。
#上方change-displayname必须设置为true才能启用本选项
#新人不要编辑此设置!
#add-prefix-suffix: false

#启用此选项后,玩家前缀将显示在tab列表中。
#此功能仅适用于Minecraft 1.8及更高版本。
#上方change-displayname必须设置为true才能启用本选项
#add-prefix-in-playerlist: true

#启用此选项后,玩家后缀将显示在tab列表中。
#此功能仅适用于Minecraft 1.8及更高版本。
#上方change-displayname必须设置为true才能启用本选项
#add-suffix-in-playerlist: true

#如果传送目的地不安全(如虚空),玩家是否应该传送到最近的安全地点?
#如果设置为true,ess将尝试在目标附近的安全地点传送玩家。
#如果设置为false,不安全位置的传送将被取消。
teleport-safety: true


# 如果试图传送到不安全的位置,这将强制禁用传送安全检查而不发出提示。
# teleport-safety与此选项同时设置为 true,会将玩家强制传送到危险位置。
force-disable-teleport-safety: false

# 传送指令如/home, /tp, 的冷却时间
teleport-cooldown: 0

# 传送需要消耗的时间.以秒为单位,如果玩家传送阶段内移动或受到攻击,传送将被取消
teleport-delay: 0

# 在被传送后,玩家会获得多长的无敌时间
# 无敌时间内也不能攻击别人
teleport-invulnerability: 4

# 是否使所有的传送都会传送玩家到方块的中心(即X和Z坐标都由整数变成 [坐标.5] 的形式)
teleport-to-center: true

# 多次/heal 或 /feed的冷却(秒)。
heal-cooldown: 60

# /near指令可以搜索的半径
# 可以搜索半径内的玩家
near-radius: 200

#  /item 和 /give 指令不能获取哪些东西
# 格式示例 item-spawn-blacklist: 10,11,46
item-spawn-blacklist:

# 如果你想将给予/item 和 /give调出物品的权限基于权限设置之上,就把该项设置为"true".
# 注意:上面的黑名单item-spawn-blacklist将被忽略.
# 权限范例 (可以在你的权限插件中进行设置):
#  - essentials.itemspawn.item-all
#  - essentials.itemspawn.item-[物品名字]
#  - essentials.itemspawn.item-[物品ID]
#  - essentials.give.item-all
#  - essentials.give.item-[物品名字]
#  - essentials.give.item-[物品ID]
#  - essentials.unlimited.item-all
#  - essentials.unlimited.item-[物品名字]
#  - essentials.unlimited.item-[物品ID]
#  - essentials.unlimited.item-bucket # 这个权限无法区分使用岩浆桶或水桶
#
# 更多信息: http://wiki.ess3.net/wiki/Command_Reference/ICheat#Item.2FGive
permission-based-item-spawn: false

# 单次使用/spawnmob生成生物数量的上限
spawnmob-limit: 10

# 在op用 /lightning 召唤雷击时,是否需要提醒普通玩家
warn-on-smite: true

# 当使用指令给予玩家物品 且玩家背包已满的情况下
# true: 让塞不下的物品掉在地上
# false: 塞不下的物品直接消失
drop-items-if-full: false

# Essentials 邮件通知
# 如果没有新邮件,是否应该通知玩家?
notify-no-new-mail: true

#玩家每次收到邮件通知的时间间隔(秒)
#对于经常使用邮件的服务器很有用
notify-player-of-mail-cooldown: 60

# 服务器的 欢迎motd 与 rules规则 现在可以在motd.txt 和 rules.txt内修改了

# 当一个命令同时出现在多个插件内,Essentials基础插件会退让,默认让其它插件的指令执行。
# 如果你把命令填写在下方列表中,Essentials基础插件会尝试让自己的指令优先执行.
# 通常,哪一个插件胜出的几率是随机的.
#
# 如果你有两个插件并且命令相同而且你希望使用essentials的指令,那么你需要了解 命令别名(alias).
# 例如essentials的 /god 命令  /god 的别是名 /egod 两者效果相同。
# 详细请看 http://wiki.bukkit.org/Bukkit.yml#aliases 了解更多信息
overridden-commands:
#  - god
#  - info

# 命令黑名单,列表内的的命令在服务器将完全不可使用.
# 当出现命令冲突时,在此禁用将无效果
# 详细请看 http://wiki.bukkit.org/Commands.yml#aliases 了解更多信息
disabled-commands:
#  - nick
#  - clear

# 这些命令是当管理使用/socialspy后可以看到的玩家指令动作
# 你也可以添加其他插件的指令
# 或者移除一些你不想看到的指令
# 设置 - '*' 来监控所有命令。
socialspy-commands:
  - msg
  - w
  - r
  - mail
  - m
  - t
  - whisper
  - emsg
  - tell
  - er
  - reply
  - ereply
  - email
  - action
  - describe
  - eme
  - eaction
  - edescribe
  - etell
  - ewhisper
  - pm


# 被禁言的玩家说的话是否会被/socialspy指令监听
# 如果设置为true,它们的提示会有所不同
socialspy-listen-muted-players: true

# 禁言命令
# 当玩家被禁言时,下列命令将被禁用。
# 使用“*”让玩家在禁言时无法使用任何指令。
# Essentials在已默认禁用了Essentials消息的命令。
# 它只关心根命令,而不关心后面的argument参数
mute-commands:
  - f
  - kittycannon
# - '*'



# 如果你不想使用权限插件,可以在下面自定义“玩家权限”列表。
# 如果您使用的是ess支持的权限插件,则此列表无效。
# 如果您使用的是ess不支持的权限插件,只需删除下方部分即可。
# 现在我们有了一个玩家可用的权限的白名单,所有不在该名单中的命令将只有OP能够使用.
# 这种方式只是为了当你想用更简单的方式管理命令时,给你提供简单的权限系统.
# 这些是没有"essentials."部分的权限.
# 你需要先将use-bukkit-permissions设置为false
player-commands:
  - afk
  - afk.auto
  - back
  - back.ondeath
  - balance
  - balance.others
  - balancetop
  - build
  - chat.color
  - chat.format
  - chat.shout
  - chat.question
  - clearinventory
  - compass
  - depth
  - delhome
  - getpos
  - geoip.show
  - help
  - helpop
  - home
  - home.others
  - ignore
  - info
  - itemdb
  - kit
  - kits.tools
  - list
  - mail
  - mail.send
  - me
  - motd
  - msg
  - msg.color
  - nick
  - near
  - pay
  - ping
  - protect
  - r
  - rules
  - realname
  - seen
  - sell
  - sethome
  - setxmpp
  - signs.create.protection
  - signs.create.trade
  - signs.break.protection
  - signs.break.trade
  - signs.use.balance
  - signs.use.buy
  - signs.use.disposal
  - signs.use.enchant
  - signs.use.free
  - signs.use.gamemode
  - signs.use.heal
  - signs.use.info
  - signs.use.kit
  - signs.use.mail
  - signs.use.protection
  - signs.use.repair
  - signs.use.sell
  - signs.use.time
  - signs.use.trade
  - signs.use.warp
  - signs.use.weather
  - spawn
  - suicide
  - time
  - tpa
  - tpaccept
  - tpahere
  - tpdeny
  - warp
  - warp.list
  - world
  - worth
  - xmpp

# 当这个选项开启的时候, 只能用一次的工具包(例如. delay = -1)
# 这个kit将会从玩家显示可领取的kit列表中删除
# [不是删除配置文件 只是删除玩家显示]
skip-used-one-time-kits-from-kit-list: false


# 设置 /createkit 命令的功能。
# 当设置为true,/createkit 将给用户一个包含kit代码的链接。
# 当设置为false,/createkit 将直接将kit添加到kits.yml配置文件中。
#
pastebin-createkit: false


# Essentials 木牌设置
# 详细请看 http://wiki.ess3.net/wiki/Sign_Tutorial 了解更多信息
# 移除#可以激活相应的木牌功能,反之加上#则为禁用.
# 当任何类型木牌启用时,木牌彩字支持将默认启用.
# 木牌彩字并不是真的彩字, 是通过颜色代码实现的, 当拥有木牌彩字权限时才会有效.

enabledSigns:
  #- color
  #- balance
  #- buy
  #- sell
  #- trade
  #- free
  #- disposal
  #- warp
  #- kit
  #- mail
  #- enchant
  #- gamemode
  #- heal
  #- info
  #- spawnmob
  #- repair
  #- time
  #- weather

# 玩家每秒可以戳几次牌子
# 数值应该设置在1-20之间,20将几乎没有间隔.
# 较小的数值可以有效减少服务器卡顿,但是可能玩家体验会较差
sign-use-per-second: 4

# 允许你 在1.13及更高版本上 在低版本就已经存在的牌子上显示物品ID
# 您不能在新牌子上使用物品ID,但这将允许玩家与那些放置在1.13之前的牌子交互
# 主要应用于在高版本使用低版本的地图
allow-old-id-signs: false

# Essentials将不保护列表中的指令
# 当你指令冲突时,这个功能可能会有用
# 例如一个插件提供了[kit]指令,你希望使用这个插件的指令而不是Essentials的指令
# 那么Essentials将不会继续保护这个指令
#
# 请查阅 https://github.com/drtshock/Essentials/pull/699 浏览更多信息
unprotected-sign-names:
  #- kit

# 当自动备份被取消时,使用批处理/bash 命令来备份.
backup:
  # 时间间隔,以分钟为单位.
  interval: 30
  # 除非你在这加入一个有效的备份命令或脚本,否则这个功能是无用的.
  # 使用命令 'save-all' 简单的强制保存世界,而不使用备份.
  # 命令: 'rdiff-backup World1 backups/World1'

# 设置为true后,每个warp都会有一个权限,没有权限则无法使用对应的warp指令
per-warp-permission: false


# 当使用/list命令时,将玩家按组分类.
# 你可以隐藏或合并组,在下面设定/list的分类.
# 更加详细的说明和示例请查看MCBBS: http://wiki.ess3.net/wiki/List
list:
    # 列出需要合并的组
    #Staff: owner admin moderator
    Admins: owner admin
    # 被限制的组,可以显示的玩家名字数量
    #builder: 20
    # 隐藏的组
    #default: hidden
    # 没有组的玩家
    #Players: '*'

# 发送更多信息到后台
debug: false

# 设置语言文件.
# 如果没有设置,将使用默认语言文件.
# 查看更多信息,请访问 http://wiki.ess3.net/wiki/Locale# 可惜了 我帮你们设置好中文了
locale: zh

# 当玩家退出时,是否会取消其上帝模式.
remove-god-on-disconnect: false

# 挂机状态
# 以秒为单位,玩家一段时间内不进行操作就会默认进入AFK挂机状态
# 需要玩家拥有 essentials.afk.auto 权限.
# 设置为 -1 取消该功能.
auto-afk: 300

# 踢出AFK挂机状态下的玩家
# 以秒为单位,玩家一段时间内不进行操作就会被飞
# 拥有essentials.afk.kickexempt权限的玩家可以无视该设置
# 设置为 -1 取消该功能.
auto-afk-kick: -1

# 如果设置为true
# 在挂机状态下,玩家和怪物将无法推动或攻击他.
# 也就是挂机的玩家时无敌的
# 且玩家需要使用"/afk"命令才能退出挂机状态.
freeze-afk-players: false

# 当玩家挂机时, 是否禁止其捡取物品?
# 如果你不想玩家在刷怪塔挂机刷物品, 可以启用此功能
disable-item-pickup-while-afk: false

# 当设置为true :玩家进行任何操作都会离开挂机状态(包括按按键,动鼠标等)
# 当设置为false:玩家只能使用/afk来取消挂机状态
cancel-afk-on-interact: true

# 当玩家移动时是否会取消挂机状态?
# 本设置不能限制玩家聊天或使用命令。只要使用聊天栏,玩家都会被解除挂机状态
# 禁用这个选项可以减少服务器延迟
cancel-afk-on-move: true

# 设置玩家挂机时的名称.
# 你可以使用颜色代码, 用 {USERNAME} 显示玩家名称或者使用{PLAYER}显示目前名称(后者会显示nick,前者显示的是原名)
afk-list-name: "none"

# 你是否显示Minecraft的死亡提示.
death-messages: true

# 是否关闭加入、退出游戏的提示消息
# 当设置为true : 玩家加入、离开游戏将不会在公屏上显示消息
# 此外, 拥有权限 essentials.silentjoin.vanish 的玩家也将不会显示消息
allow-silent-join-quit: false

# 自定义加入消息, 设置为"none"则禁用此功能
# 你可以使用颜色代码, 用 {USERNAME} 显示玩家名称或者使用{PLAYER}显示目前名称(后者会显示nick,前者显示的是原名)
custom-join-message: "none"

# 你可以在这儿设置自定义退出消息, 设置为"none"则禁用此功能
# 你可以使用颜色代码, 用 {USERNAME} 显示玩家名称或者使用{PLAYER}显示目前名称(后者会显示nick,前者显示的是原名)
custom-quit-message: "none"

# 下方的世界将禁用上帝模式.
no-god-in-worlds:
#  - world_nether

# 当设置为true :传送至每个世界都会有独立的权限.
# 权限是 essentials.world.<世界名>
# 可以限制 /world, /back, /tp[a|o][here|all] 的传送
# 无法限制 /home、/warps 命令, 下面有单独的设定.
world-teleport-permissions: false

# 若在使用/give或/item命令时如果没有填写数量.
# 如果这个数值设置小于1,那么会给予1组物品(一般是64,有些是16或者只能单个堆叠)
# 如果over-sized设置为true,那么当数量大于正常堆叠数量(64)时,将给予最大上限的物品.
default-stack-size: -1

# 最大堆叠允许玩家堆叠物品超过正常最大堆叠.
# 如果玩家拥有essentials.oversizedstacks权限,当使用 /give 或 /item时可以获得最大堆叠物品.
# 最大堆叠物品数量的上限是多少?
oversized-stacksize: 64

# 允许修理附魔盔甲和武器
# 如果设置为false,只有拥有essentials.repair.enchanted权限的玩家才能修理.
repair-enchanted: true

# 在kits和物品生成时,允许 '不安全的' 附魔.
# 警告: 混乱结合的附魔和超过常规等级的附魔可能导致客户端,服务端或者插件崩溃.
unsafe-enchantments: false

# 是否希望Essentials记录最后一次/back的坐标呢?
# 如果你设置为true,一些插件可以获得传送坐标.
register-back-in-listener: false

# 玩家登录后,多少秒后才可以攻击
login-attack-delay: 5

# 设置最快飞行速度, 速度从 0.1 到 1.0 之间
max-fly-speed: 0.8

# 设置行走最快速度, 速度从 0.1 到 1.0 之间
max-walk-speed: 0.8

# 设置玩家每分钟可以发送的最大邮件数量.
mails-per-minute: 1000

# 设置/tempban 可以封禁玩家的时间上限.
# 设置为 -1 可禁用此功能, 当拥有 essentials.tempban.unlimited 权限时可以覆盖此设置.
max-tempban-time: -1

# Changes /reply functionality. If true, /r goes to the person you messaged last, otherwise the first person that messaged you.
# If false, /r goes to the last person that messaged you.
# 更改 /reply的功能,如果设置为true: /r 将回复上一次你主动私聊的玩家
# 如果设置为false:,/r 将回复上一个主动私聊你的玩家
last-message-reply-recipient: true

# 如果last-message-reply-recipient: true,则指定在
# 接收私聊时答复收件人以进行更新。
# 默认值为180(3分钟)
last-message-reply-recipient-timeout: 180

# 能否通过手持牛奶右键生物将他们变回小孩形态
milk-bucket-easter-egg: true

# 是否在飞行的玩家加入游戏时显示 "你的飞行模式已经开启"
send-fly-enable-on-join: true

# 当设置为true :修改每个世界的世界都会有独立的权限。
# 这适用于/time,/day,/eday,/night,/enight,/etime
# 允许某人传送到具有Essentials.time.world.<worldname>的世界
world-time-permissions: false

# 同时为Essentials命令和外部命令指定冷却时间。
# 所有命令不需要以正斜杠(/)开头。在下面配置时填写 msg而不是/msg
#
#支持通配符。例如。
# - '*i*': 50
#向所有包含字母i的命令添加50秒冷却时间
#
# 通过插入符号^来支持 正则表达式
# 例如,要将以BAN开头的命令作为目标,而不是BANIP,将使用以下命令:
#  '^ban([^ip])( .*)?': 60 #/ban 这条指令会冷却60秒
#注意:如果您有一个以^开头的命令,那么可以使用反斜杠(\)对其进行转义。例如\^command: 123
command-cooldowns:
#  feed: 100 #/feed 指令有100秒冷却时间
#  '*': 5 #所有命令都有5秒冷却

# 若设置为true : 命令冷却在服务器重启后不会重新计数
command-cooldown-persistence: true

# NPC的余额是否会出现在余额排名功能中,如/balancetop。
# NPC可能包括派别UUID中的派别等功能。
npcs-in-balance-ranking: false

# 当玩家按住shift时,是否允许批量使用买/卖牌子。
# 按住以后一次性会买/卖一组物品。
allow-bulk-buy-sell: true

# 加入时玩家的MOTD显示延迟(毫秒)。
# 如果禁用了MOTD命令或没有权限,则此选项不会生效
delay-motd: 0

# 默认情况下应启用其补充确认命令的命令列表。
# 默认情况下,下方是空着的,有关最新有效命令列表,请参阅最新版插件的 config.yml。
default-enabled-confirm-commands:
#- pay
#- clearinventory

# 设置请求超时,以秒为单位,让玩家在取消请求之前接受/TPA的时间
# 设置为0表示无超时。
tpa-accept-cancellation: 120

# 允许玩家直接把物品放到帽子栏上来设置帽子
allow-direct-hat: true

# 允许游戏内玩家在使用/broadcastworld 指令时指定一个世界。
# 如果设置为false,则在游戏中使用/broadcastworld 中的世界永远默认是玩家当前所在世界。
# 这并不影响从后台台执行命令,因为后台输入指令时必须要有一个目标世界。
allow-world-in-broadcastworld: true

很好 看完了么
有什么问题吗?
啊咧 ...你在说什么?隔着一个电脑屏幕太远了啦 听不清
有问题欢迎下面评论区提出哦

############################################################
# +------------------------------------------------------+ #
# |                   EssentialsHome                     | #
# +------------------------------------------------------+ #
############################################################

# 允许玩家在白天右键床来设置家.
update-bed-at-daytime: true

# 如果设置为 true : 玩家将可以跨越世界传送回家
# 这个设置只适用于'/home'命令.
# 对于其他传送命令,给予玩家多世界间传送的权限 essentials.world.<世界名称> 可以允许玩家跨世界传送
world-home-permissions: false

# 允许玩家设置多个家.
# 玩家拥有多个家需要有essentials.sethome.multiple权限, 默认是 'default' 组下面.
# 定义不同权限的不同家的数量例如:essentials.sethome.multiple.vip
# 拥有 essentials.sethome.multiple.unlimited 权限的玩家不会被限制家的数量.
# 查看更多信息,请访问 http://wiki.ess3.net/wiki/Multihome
sethome-multiple:
  default: 3
  vip: 5
  staff: 10

# 在本例中,“Essentials.setHome.multiple”和“Essentials.setHome.multiple.vip”的用户将拥有5个家
# 请注意: 它们必须同时拥有两个权限节点才能设置多个家
# 玩家是否需要“Essentials.Home.Compass”权限才能让指南针指向第一个设置的家。
compass-towards-home-perm: false

继续下去 喵

############################################################
# +------------------------------------------------------+ #
# |                    EssentialsEco                     | #
# +------------------------------------------------------+ #
############################################################

# 查看更多信息,请访问 http://wiki.ess3.net/wiki/Essentials_Economy

# 设置玩家第一次登录服务器时拥有的金钱,默认为0.
starting-balance: 0

# worth-# 定义物品的价格,用来使玩家输入"/sell"后,以这种价格将物品卖给服务器.
# 现在他们需要在worth.yml内修改

# 定义每次使用使用某些命令花费的金钱
# 有些命令(如/repair)具有额外花费,请查看wiki以了解更多信息。
command-costs:
  # /example costs $1000 PER USE
  #example: 1000
  # /kit tools costs $1500 PER USE
  #kit-tools: 1500

# 随便修改一个你想要的货币符号
# 如果你修改了本项,本文件必须是UTF-8编码而非Ansi编码
currency-symbol: '$'

# 设置一个玩家所允许拥有的最大钱数.
# 由于JAVA的限制这个数量最大为10万亿
max-money: 10000000000000

# 设置一个玩家所允许拥有的最低金币数
# 如果设置为0,将完全禁用透支/贷款.玩家需要'essentials.eco.loan"权限,钱数才能低于0.
min-money: -10000

# 设置为true来记录玩家trade/buy/sell的交易记录(非ess的交易并不会被记录)
economy-log-enabled: false

# 使用此选项强制基于超权限的权限处理程序,而不管检测到安装的权限插件
# 如果你希望其他权限插件使用基于超权限的权限(带通配符的形式),这个功能会非常有用
# 如果您希望 玩家指令权限(player-commands) 部分使用Essentialsx的内置自带权限,请将其设置为false
# 默认为true。
use-bukkit-permissions: true

#/pay 指令最低可以转多少钱
minimum-pay-amount: 0.001

# 货币的格式,不包括符号。有关符号配置,请参见货币符号格式区域设置。
#
# "#,##0.00" 是大多数国家显示货币的方式
#currency-format: "#,##0.00"

#设置货币格式。一些地区内,和. 可互换。
#由于Minecraft字体渲染错误,某些格式在游戏中无法正确显示。
#
# For 1.234,50 use de-DE
# For 1,234.50 use en-US
# For 1'234,50 use fr-ch
#currency-symbol-format-locale: en-US

唔姆唔姆 其实很多功能一般用不到
大家只要看个大概即可
不要到时候用到的时候出现疑问 "啊咧,这个地方在哪里修改,是不是需要新的插件啊"
出现这种情况就会比较尴尬了啦 对吧 兴许要去麻烦一下别人,结果却发现功能在配置文件里都能改

但是不要太在意看不看得懂了啦 用着用着就懂了

############################################################
# +------------------------------------------------------+ #
# |                   EssentialsChat                     | #
# +------------------------------------------------------+ #
############################################################

# 你必须安装 EssentialsChat.jar 才能启用下方功能(我上面让你装了 所以不用担心)

chat:

  # 此笑段汉化来源于blackangel,我懒得汉化了
  # 设置聊天半径,如果安装了EssentialsChat,这将设置玩家喊话的可见范围,以格为单位.设置为0则允许全图聊天.
  # 注意开启了间谍模式(权限:essentials.chat.spy)的玩家将看到所有聊天内容,无视该设置.
  # 拥有"essentials.chat.shout"权限的玩家可以忽视该设置,只要在聊天内容前面加上"!"符号即可(小写感叹号);
  # 或者拥有"essentials.chat.question"权限的玩家可以忽视该设置,只要在聊天内容前面加上"?"符号即可(小写问号);
  # 你可以添加使用上两行方法的花销,在上经济设置中的"command-costs"下添加"chat-shout"和"chat-question"的设置即可.
  radius: 0

  # 聊天格式,可以有两种,你可以自定义格式.
  # 你也可以给一个权限组特定的聊天格式
  # 想了解更多的默认聊天格式的信息,请查看wiki: http://wiki.ess3.net/wiki/Chat_Formatting
  # EssentialsX 的新版本做出了些改动: https://github.com/EssentialsX/Essentials/wiki

  format: '<{DISPLAYNAME}> {MESSAGE}'
  #format: '&7[{GROUP}]&r {DISPLAYNAME}&7:&r {MESSAGE}'
  #format: '&7{PREFIX}&r {DISPLAYNAME}&r &7{SUFFIX}&r: {MESSAGE}'

  group-formats:
  #  Default: '{WORLDNAME} {DISPLAYNAME}&7:&r {MESSAGE}'
  #  Admins: '{WORLDNAME} &c[{GROUP}]&r {DISPLAYNAME}&7:&c {MESSAGE}'

  # 你也可以为特殊权限组设置独特的聊天格式
  # 删除 警号# 即可使用

占位符是什么?
如果有人先试过 全息浮空字体插件 Holographic Displays 与 占位符前置  PlaceHolderAPI 配合的话
就会知道占位符是什么了

简单的来说是这样的
我想在浮空字上显示玩家的名字 但是你要知道的是 你输入什么 那就是什么啊
如果你浮空字上写了 "欢迎玩家 Aurora5090"
Aurora5090看到的是他的名字,但是其他玩家看到的也是Aurora5090 而不是他们的名字啊
这就很尴尬对吧 总不见得服主守在那里全天候改浮空字吧 太蠢了

这时候 占位符就有用了(想要找到所有占位符? 前往: http://mineplugin.org/PlaceholderAPI)
我在浮空字内填上 %player% 这个占位符
这时候每个玩家走过来都会看到的是自己的名字 A看到的是"欢迎A";B看到的是"欢迎B"

当然 占位符不仅仅能显示名字啦 还有很多很多强大的功能可以显示,看看上面那个维基百科就知道了

占位符的形式是不同的
常见的形式就两种
1 placeholderAPI的 %占位符内容% (就是两边各一个百分比符号而已 一点都不难 上面那个维基百科可以直接抄)
2 还有就是一些插件自带的 {占位符内容} (和百分比符号没区别,就换成中括号而已,这种就没维基抄,需要自己看注释)

以及部分插件不支持占位符来着,使用的时候还请注意哦

继续看下去了啦
############################################################
# +------------------------------------------------------+ #
# |                 EssentialsProtect                    | #
# +------------------------------------------------------+ #
############################################################

# 前提是你安装了EssentialsProtect.jar (我上面让你装了 所以不用担心)

protect:
  prevent:
    lava-flow: false
    # 禁止 岩浆流动
    water-flow: false
    # 禁止 水流动
    water-bucket-flow: false
    # 禁止 水桶放置的水流动
    fire-spread: true
    # 禁止 火点燃附近的方块
    lava-fire-spread: true
    # 禁止 岩浆点燃方块
    flint-fire: false
    # 禁止 打火石打出火
    lightning-fire-spread: true
    # 禁止 闪电引起的火点燃方块
    portal-creation: false
    # 禁止 创建传送门
    tnt-explosion: false
    # 禁止 TNT爆炸
    tnt-playerdamage: false
    # 禁止 TNT对玩家造成伤害
    tnt-minecart-explosion: false
    # 禁止 TNT矿车 爆炸
    tnt-minecart-playerdamage: false
    # 禁止 TNT矿车 对玩家造成伤害
    fireball-explosion: true
    # 禁止 火球爆炸
    fireball-fire: false
    # 禁止 火球点燃方块
    fireball-playerdamage: false
    # 禁止 火球对玩家造成伤害
    witherskull-explosion: true
    # 禁止 凋零攻击导致爆炸
    witherskull-playerdamage: false
    # 禁止 凋零攻击对玩家照成伤害
    wither-spawnexplosion: true
    # 禁止 凋零出生时爆炸
    wither-blockreplace: true
    # 禁止 凋零破坏方块
    creeper-explosion: false  
    # 禁止 爬行者爆炸
    creeper-playerdamage: false
    # 禁止 爬行者爆炸对玩家造成伤害
    creeper-blockdamage: true         
    # 禁止 爬行者炸毁方块
    enderdragon-blockdamage: true      
    # 禁止 末影龙破坏方块
    enderman-pickup: false            
    # 禁止 末影人拾取方块
    villager-death: false               
    # 禁止 村民被杀死

    # 若设置为true : 怪物将不会跟随玩家
    # 具有权限"essentials.protect.entitytarget.bypass"的玩家也不会被怪物追
    entitytarget: false

    # 禁止生物生成
    spawn:
      creeper: false
      #爬行者
      skeleton: false
      #骷髅
      spider: false
      #蜘蛛
      giant: false
      #巨型僵尸
      zombie: false
      #僵尸
      slime: false            
      #史莱姆
      ghast: false
      #恶魂
      pig_zombie: false
      #僵尸猪人
      enderman: false
      #末影人
      cave_spider: false
      #洞穴蜘蛛
      silverfish: false
      #蠹虫
      blaze: false
      #烈焰人
      magma_cube: false
      #岩浆史莱姆
      ender_dragon: false
      #末影龙
      pig: false
      #猪
      sheep: false           
      #羊
      cow: false
      #牛
      chicken: false
      #鸡
      squid: false
      #乌贼
      wolf: false
      #狼
      mushroom_cow: false
      #哞菇
      snowman: false
      #雪人
      ocelot: false
      #豹猫
      iron_golem: false
      #铁傀儡
      villager: false
      #村民
      wither: false
      #凋零
      bat: false
      #蝙蝠
      witch: false
      #女巫
      horse: false
      #马

  # 设置为-1将允许苦力怕在任何高度爆炸.
  # 把上面creeper-explosion设置为true就可以彻底阻止苦力怕爆炸
  creeper:
    max-height: -1

  # 禁止玩家受到伤害?
  disable:
    # 是否禁用摔落伤害
    fall: false

    # 若设置为true,没有essentials.protect.pvp权限的玩家将无法攻击其他玩家
    # 反之则可以
    pvp: false

    # 是否取消溺水和窒息伤害
    drown: false
    suffocate: false

    # 是否取消岩浆伤害,但岩浆仍然可以烧掉掉落物
    lavadmg: false

    # 是否取消弓箭伤害
    projectiles: false

    # 是否取消仙人掌造成伤害
    contactdmg: false

    # 是否取消火焰造成的伤害
    firedmg: false

    # 是否取消被雷击造成的伤害
    lightning: false

    # 是否取消凋零效果的伤害
    wither: false

    # 想要关闭什么天气吗?
    weather:
      storm: false
      thunder: false
      lightning: false

继续继续
大家草草地看即可
大致知道有什么功能就行了 顺便仰慕一下ess,"哇 功能好多好全面啊 233"

############################################################
# +------------------------------------------------------+ #
# |                EssentialsAntiBuild                   | #
# +------------------------------------------------------+ #
############################################################

  # 你必须安装 EssentialsAntiBuild.jar 才能启用下方功能

  # 查看更多信息,请访问 http://wiki.ess3.net/wiki/AntiBuild

    # 玩家是否可以放置方块
    # 设置为 true 可以禁止那些没有放置方块权限的玩家放置方块
    # 设置为 false 则不阻止玩家放置方块
    build: true

    # 玩家是否可以使用物品(当玩家不能建造权限的时候):
    # 设置为 true 可以禁止那些没有权限的玩家使用物品
    # 设置为 false 则不阻止玩家使用物品

    use: true

    # 玩家没有建筑权限时是否提示玩家
    warn-on-build-disallow: true

  # 当以下方块被放置或破坏,或物品被使用时会出现警告
  # 物品名字的列表 https://hub.spigotmc.org/javadoc ... kkit/Material.html.
alert:
    on-placement: LAVA,TNT,LAVA_BUCKET
    on-use: LAVA_BUCKET
    on-break:

  blacklist:

    # 以下方块不能被玩家放置
    placement: LAVA,TNT,LAVA_BUCKET

    # 以下方块不能被玩家使用
    usage: LAVA_BUCKET

    # 以下方块不能被玩家破坏
    break:

    # 以下方块不能被活塞推动
    piston:

    # 以下方块不能被发射器射出来
    dispenser:


最后到底了 放心

############################################################
# +------------------------------------------------------+ #
# |            Essentials Spawn / New Players            | #
# +------------------------------------------------------+ #
############################################################

# 需要安装 essentialsspawn.jar 才能启用下方功能


newbies:
  # 是否显示某玩家第一次进服时的欢迎信息
  # 若启用的话,占位符{DISPLAYNAME}将自动转换为玩家名字.
  # 若取消,改为''
  #announce-format: ''

  announce-format: '&d欢迎 {DISPLAYNAME}&d 首次加入游戏!'

  # 玩家第一次出生在地图上时,应该出现在哪个出生点?
  # 如果你想要使用世界自带的出生点,则将下方设置为"none".

  spawnpoint: newbies

  #我们想在第一次加入时送给玩家什么吗?设置为 '' 以禁用
  #无论需要什么成本或权限,此工具包kit都将被授予,并且不会触发工具包kit的冷却。
  #kit: ''

  kit: tools

# 你想让玩家复活在哪里?
# 如果你想让玩家复活在地图自带的出生点上,设置为 none
# 如果你想使用 Multiverse多世界插件 选择复活点,设置为 lowest
# 如果你想使用 EssentialsSpawn插件 选择复活点,设置为 high
# 如果你想强制使用 EssentialsSpawn插件 选择复活点,设置为 highest

respawn-listener-priority: high

# 在加入服务器时,我们应该使用什么优先级来处理玩家加入事件?
# 和上面的配置一样 可以选择none lowest high 与highset
# 注意:更改此项可能会 影响 或 损坏 spawn-on-join的功能。

spawn-join-listener-priority: high

# 如果设置为true :玩家死后会复活在自己家,而不是出生点.
respawn-at-home: false

# 是否在玩家加入游戏时强制传送回出生点
spawn-on-join: false
# 当`guests`组玩家回到服务器的时候将传送到出生点
#spawn-on-join: guests
# 当`guests`组与"admin"组玩家回到服务器的时候将回到出生点
#spawn-on-join:
#- guests
#- admin


[anchor=EssHelp]#[/anchor] 配置文件的最后 <-- Ess作者亲自嬉皮笑脸的说道: “漂亮 你设置完ess的配置了 恭喜啊!嘿嘿”

# 配置文件的最后 <-- 极光酱高兴地的说道: "怎么样怎么样 我说的你听懂了吗"
4级就能下载了 是上面汉化配置的附件形式
config.yml (34.35 KB, 下载次数: 401)
原来想的是5金粒 让你们买汉化。后来一想,压根没有区别,我又不缺金粒,然后就加了权限组限制。


讲一下问答版以前天天有人问的破问题
1、玩家复活在了奇怪的地方 怎么办?
答: 看配置文件
# 你想让玩家复活在哪里?
# 如果你想让玩家复活在地图自带的出生点上,设置为 none
# 如果你想使用 Multiverse多世界插件 选择复活点,设置为 lowest
# 如果你想使用 EssentialsSpawn插件 选择复活点,设置为 high
# 如果你想强制使用 EssentialsSpawn插件 选择复活点,设置为 highest

respawn-listener-priority: high
把这里设置为highest即可

2、同理 干掉你的tplogin插件吧
# 在加入服务器时,我们应该使用什么优先级来处理玩家加入事件?
# 和上面的配置一样 可以选择none lowest high 与highset
# 注意:更改此项可能会 影响 或 损坏 spawn-on-join的功能。

spawn-join-listener-priority: high
把这里设置为highest即可

————————————————————————————————————
接下来就是各种指令等待你去研究了
我觉得就下面几个值得一用

/setspawn    设置ess的出生点

/ess reload   重载配置文件

/kit  ═════════╤══════>/kit <礼包名>     : 领取一个特定礼包
                           ├ /kit <礼包名> <玩家>     : 为一个玩家领取特定礼包
                           ├ /showkit <礼包名>        : 显示一个礼包内有什么物品
                           ├ /createkit <礼包名>       : 创建一个礼包,礼包的内容为你背包内的东西

/warp ═════════╤══════>/warp <地标名>     : 传送至某地标处
                              ├ /setwarp <地标名>                : 将你的位置设置为一个地标
                              ├ /delwarp <地标名>                : 删除一个地标

其他指令?
这里是新人教学贴 不是ess搬运贴
请至这里查看所有指令与权限节点 http://mineplugin.org/Essentials


custom.txt :
不知道为什么 莫名的麻烦
我们看了就过去吧 这里默认设置都挺正常的X
忍不住汉化了一下,这里有兴趣的各位可以去研究一下,虽然看起来所谓"自定义'指令' "很高大上,然而非常不高大上,还很蠢

motd.txt :
这个很有意思哦
谁都配置的来,比上面的方便很多,这也是不教上面那个文件配置的原因之一,新人理解不了233
我还是帮忙汉化了一下 很简单 很简短
&6欢迎你, {PLAYER}&6!
&6输入 &c/help&6 就可以看到帮助列表了
&6输入 &c/list&6 来看看在线的玩家吧
&6在线玩家数:&c {ONLINE} &6- 世界时间:&c {WORLDTIME12}

没错 当你加入游戏时 对话栏跳出来的就是这个玩意!
这里仍然有占位符!有三个呢 分别是 {PLAYER}  {ONLINE}  {WORLDTIME12}

颜色很丑么
我们给他换一个淡色基调怎么样

如何换颜色?
很简单 真的很简单 就是换个数字或者字母而已
格式就是 & + 一个数字或者一个字母

&b欢迎你, {PLAYER}&b!
&b输入 &7/help&b 就可以看到帮助列表了
&b输入 &7/list&b 来看看在线的玩家吧
&b在线玩家数:&7 {ONLINE} &b- 世界时间:&7 {WORLDTIME12}

当然 增加或者删去几行都是完全没有问题的
看你心情

rules.txt:
规则:)
[1] 尊重他人
[2] 道德游玩
[3] 动脑游玩

在游戏中输入/rules即可查看
你也可以自己对该文件进行删减

warps文件夹:
如果你之前看了我对于.json文件的新人向介绍,那么这个文件夹是同理的
就是用来存warp位置的,一般无需手动更改,但是的确可以手动改

spawn.yml:
出生点记录的地方,无视

kits.yml:
让给你手动修改kit用的
但是如果看完config 会发现这个地方
  1. # 设置 /createkit 命令的功能。
  2. # 当设置为true,/createkit 将给用户一个包含kit代码的链接。
  3. # 当设置为false,/createkit 将直接将kit添加到kits.yml配置文件中。
  4. # <b><font color="#2e8b57">我已经帮你修改好了 为false</font></b>
  5. pastebin-createkit: false
复制代码
然后根据我上面所说
/createkit <礼包名>       : 创建一个礼包,礼包的内容为你背包内的东西
所以你完全可以通过/createkit指令来创建一个kit
在kit.yml里自己手动写kit是很麻烦且困难的
不仅仅是因为物品使用的英文名需要根据items.csv内来决定 而且我让你写lore和enchant附魔,你根本不知道怎么加上去
但是使用指令就很简单了 NBT全部被记录(虽然某些特定情况下会出问题)
只需要一段指令 你的背包内物品就全部记录到kit内了 超级简单粗暴

来看基础的例子,登录游戏会领取到的一个tools工具包
kits:
  tools:
    delay: 10
    items:
      - stonesword 1
      - stoneshovel 1
      - stonepickaxe 1
      - stoneaxe 1

主要是看一下缩进什么的,不过我们一般不会手动编辑
这边让大家看编辑是为了后文权限组和配置其他插件有用
有些插件的缩进和配置方法真的是弄起来要人命,更何况是萌新XD
当然你这里不去看缩进也没关系 问题不大的

3、关于关闭进服自动领取Kit?领取的就是上面的tools
答:看配置文件config

939行
  #我们想在第一次加入时送给玩家什么吗?设置为 ' ' 以禁用
  #无论需要什么成本或权限,此工具包kit都将被授予,并且不会触发工具包kit的冷却。
  #kit: ''
  kit: tools

把这里改成 ' ' 即可(注意切英文输入法)

worth.yml:
这年头有人用这个玩意?
这个是功能牌子相关的
出售某个物品 获得对应的价格 全都是在这里修改的

#意思是 leave:0 损伤值为0的叶子 每个卖1元
#leave:1 损伤值为1的叶子 每个也卖1元
#但是其他种类的叶子是不能卖的
leaves:
    '0': 1.0
    '1': 1.0

  #意思是 sapling:0 损伤值为0的树苗 每个卖2元
#但是任何其他种类的树苗(损伤值不是0的) 每个卖2.5元
  sapling:
    '0': 2.0  
    '*': 2.5

#如果不想分开设置 或压根没有损伤值的话
#直接这么加就行了
  stonebutton: 6.0
  wood: 0.50
  arrow: 3.50

改起来还是很方便的
主要是注意一下缩进 同级对其即可

使用这个功能会用到牌子
戳进去 拖到维基百科的网页中下方就看到了设置教程
我这里不是很想说啊 很简单的
就 拿一个牌子
第一行一定是功能性描述 决定了牌子的功能
第2 3 4行就都是value值 根据不同功能修改即可
所以在目录里说是填词游戏完全没问题

语言文件在哪里?!
停 我先说前提 必须关服 的情况下修改
(此关服非彼关服,只要保证你的bat是关闭状态就行了)

哦豁,完蛋,用你的解压软件右键你的ESS插件.jar
接下来 不要解压!选择 用解压软件打开 然后你就会看到奇怪的东西

没错双击打开这个zh即可

然后会看到以下内容(节选)
#X-Generator: sakurashin.org
#version: 490
# Single quotes have to be doubled: ''
# Translations start here
# by:Moe_Shin
action=\u00a75* {0} \u00a75{1}
addedToAccount=\u00a7a{0} \u5df2\u6dfb\u52a0\u5230\u4f60\u7684\u94f6\u884c\u8d26\u6237
addedToOthersAccount=\u00a7a{0} \u5df2\u88ab\u6dfb\u52a0\u5230 {1} \u00a7a\u7684\u8d26\u6237.\u76ee\u524d\u4f59\u989d\: {2}
adventure=\u5192\u9669\u6a21\u5f0f
alertBroke=\u7834\u574f\:
alertFormat=\u00a73[{0}] \u00a7r {1} \u00a76 {2} \u4e8e\: {3}

这些是什么?这些是Ansi编码的语言文件
显然,我们无法直接读懂
我们先打开这个网站 http://tool.oschina.net/encode?type=3
这个是一个 在线转码网站 挺方便的 是新人友好型

进去以后看到两个框
             Native:                                                                                                       ASCII:
     这是一个例子,this is a example         √ 不转换字母和数字      \u8fd9\u662f\u4e00\u4e2a\u4f8b\u5b50,this is a example

                                                                ASCII ->

                                                                 <- Native

我们把语言文件复制到右边的框,随后点击中间的 <-Native 按钮
左侧就会出来普通的语言文件
#X-Generator: crowdin.net
#version: 2.17.1.0
# Single quotes have to be doubled: ''
# by:
action=§5* {0} §5{1}
addedToAccount=§a{0} 已添加到你的银行账户
addedToOthersAccount=§a{0} 已被添加到 {1} §a的账户.目前余额\: {2}
adventure=冒险模式
alertBroke=破坏\:
alertFormat=§3[{0}] §r {1} §6 {2} 于\: {3}
alertPlaced=放置\:
alertUsed=使用\:

这样就可以修改了

修改完毕后 将所有汉化的部分(所有,不只是中文,我怕新人误解了,所以强调一下) 丢到左边的框里
随后点击ASCII -> 按钮 即可,右侧那个框内的文本 就是你修改好了的汉化文件
现在返回你的文本编辑器软件内, 将全文替换掉,换成你右边文本框内的Ansi编码的文本即可


至于其他插件如何汉化(当然不是所有插件都有中文语言文件) 如何汉化的漂亮 这就是我们第五课授课的内容了


其他:
1、不要盲目追求非核心功能的功能,安装一些细节上的,看上去炫酷的插件是毫无意义且愚蠢的
     除非你安装的是细节上优化的插件 那你可以随便装。秉持着插件越装越少的态度开服,稍后第六章也会说这个事
2、话虽然是这么说 但是牌子的商店功能的确有点蠢,而且功能是非常限制的,不能出售自定义nbt的物品
     所以可以选择第二章内提到的
      7 Shopkeepers 村民商店插件
      8 QuickShop 箱子商店插件   前置插件 :Vault
      选择这两个插件的原因是,他们都是老牌插件,功能强大,但性能消耗和现在的插件比起来绝不算大
      而且他们比牌子商店要直观一点 都可以看到出售的物品是什么
3、我没有说牌子的其他功能 如领取kit,warp传送等功能很差啊。这些还是很棒的
    我在这里提前聊聊第六章的内容: 在开服时尽量"曲线救国","委曲求全",利用现有的插件实现一些功能
              原因很简单 : 这可以有效减少插件数量,帮你省下性能的开销
              而你追求的部分插件对于在提高玩家体验与降低服务器性能之中,更可能通过降低服务器性能降低了玩家体验




真正的课间休息


对不起!
我教程又双叒叕写太长了
啧啧啧!东方鬼形兽steam上都出了,今天是2019年8月12日来着!

我却在这里更新什么奇怪的东西!

老师...你好可爱...什么的...
怎么可能!
我可是バカ啊!



二小姐的歌!这个版本没什么狂气X ,可爱了不少
緋色月下、狂咲ノ絶 (10th Anniversary Remix 夕月椿 ver.)原曲:U.N.オーエンは彼女なのか?

快4分钟的时候  感觉太棒了X
禁忌「フォーオブアカインド」 禁忌「Four of a Kind」(四重存在)




_______第三章字数统计 34,635    耗时 27小时 主要都是去查资料了 :(
  __请使用滚轮返回顶部并在目录处点击 第四章                          喵喵喵 我才不系喵咪



——————————————————————————


NO.4



喵 这次是换回纯音乐了

是游戏 东方project 内一首曲目的二次创作 这首是管弦乐 很好听ww
原曲的名字也是 "感情の摩天楼 ~ Cosmic Mind"
东方星莲船 六面boss圣白莲 的音乐

本页内使用了锚点
如果你要阅读 权限组 相关内容,那么就在下面,正常阅读即可
如果你要阅读 群组服搭建 相关内容,请点我






[anchor=Perm]权限组冲鸭[/anchor]!

我推荐的是LuckPerm啊 不要和我说GroupManager(plus)或者别的


介绍介绍GroupManager与LuckPerms,主要是前者的教学,后者也会进行一定说明

笨蛋指令对应一览表(莫得汉化对应,指令也不全,后文会有指令介绍)

如果你是萌新请无视下面这张对应表格
这是给那些用了其他权限组的服主看的,帮助他们快速上手LuckPerms

LuckPerms
Group Manager(plus)
PermissionsEx  
lp /无对应/ pex
lp verbose true /无对应/ pex toggle debug
lp verbose true /无对应/ pex backend
pex import <backend> /无对应/ lp export <file> / lp import <file>
在配置文件内 /无对应/ pex set default group <权限组>
lp user <玩家> parent set <权限组> manuadd <玩家> <权限组>
lp user <玩家> clear manudel <玩家> pex user <玩家> delete
lp user <玩家> parent add <权限组> manuaddsub <玩家> <权限组> pex group <权限组> user add <玩家>
lp user <玩家> parent remove <权限组> manudelsub <玩家> <权限组> pex group <权限组> user remove <玩家>
lp user <玩家> promote <权限组> manpromote <玩家> <权限组> pex promote <玩家> <权限组>
lp user <玩家> demote <权限组> mandemote <玩家> <权限组> pex demote <玩家> <权限组>
lp user <玩家> info manwhois <玩家>
lp user <玩家> permission set <权限> true manuaddp <玩家> <权限>
lp user <玩家> permission unset <权限> manudelp <玩家> <权限>
lp user <玩家> permission info manulistp <玩家> pex user <玩家> list
lp user <玩家> haspermission <权限> manucheckp <玩家> <权限> pex user <玩家> check <权限>
lp user <玩家> meta addprefix <优先级> <前缀> manuaddv <玩家> prefix <前缀>
lp user <玩家> meta addsuffix <优先级> <后缀> manuaddv <玩家> suffix <后缀>
lp user <玩家> meta set <prefix/suffix> <value>(即上面两个) manuaddv <玩家> <prefix/suffix> <value>(即上面两个)
lp user <玩家> meta unset <prefix/suffix> manudelv <玩家> <prefix/suffix>
lp user <玩家> meta info manulistv <玩家> pex user <玩家> prefix
lp creategroup <权限组> mangadd <权限组> pex group <权限组> create
lp deletegroup <权限组> mangdel <权限组> pex group <权限组> delete
lp group <父权限组(权限多的)> parent add <子权限组(权限少的)> mangaddi <父权限组(权限多的)> <子权限组(权限少的)> pex group  <父权限组(权限多的)> parents set 子权限组(权限少的)>
lp group <父权限组(权限多的)> parent remove <子权限组(权限少的)>  mangdeli <父权限组(权限多的)> <子权限组(权限少的)>
lp group <父权限组(权限多的)> parent info /无对应/ pex group <权限组> parents list
lp group <父权限组(权限多的)> listmembers /无对应/ pex group <权限组> users        
lp listgroups listgroups pex groups list
lp group <权限组> permission set <权限> true mangaddp <权限组> <权限>
lp group <权限组> permission unset <权限> mangdelp <权限组> <权限>
lp group <权限组> permission info listgroups pex group <权限组> list
lp group <权限组> haspermission <权限> mangcheckp <权限组> <权限>
lp group <权限组> meta addprefix <优先级> <前缀> mangaddv <玩家> prefix <前缀> pex user <玩家> prefix <前缀>
lp group <权限组> meta addsuffix <优先级> <后缀> mangaddv <玩家> suffix <后缀> pex user <玩家> suffix <后缀>
lp group <权限组> meta set <prefix/suffix> <value>(即上面两个) mangaddv <玩家> <prefix/suffix> <value>(即上面两个)
lp group <权限组> meta unset <prefix/suffix> mangdelv <玩家> <prefix/suffix>
lp group <权限组> meta info manglistv <玩家> pex user <玩家> suffix
同上 同上 pex group <权限组> prefix
lp sync mansave pex reload
lp sync manload pex reload
lp user <玩家> permission set <权限> true global <世界> /无对应/ pex user <玩家> add <权限> <世界>
lp user <玩家> permission unset <权限> global <世界> /无对应/ pex user <玩家> remove <权限> <世界>
lp user <玩家> permission settemp <权限> true <时间> global <世界> /无对应/ pex user <玩家> timed add <权限> <时间> <世界>
lp user <玩家> permission settemp <权限> true <时间> global <世界> /无对应/ pex user <玩家> timed remove <权限> <时间> <世界>
lp user <玩家> meta set <option> <value> global <世界> /无对应/ pex user <玩家> set <option> <value> <世界>
lp user <玩家> parent info /无对应/ pex user <玩家> group list
lp user <玩家> parent add <权限组> global <世界> /无对应/ pex user <玩家> group add <权限组> <世界>
lp user <玩家> parent addtemp <权限组> <时间> global <世界> /无对应/ pex user <玩家> group add <权限组> <世界> <时间>
lp user <玩家> parent set <权限组> /无对应/ pex user <玩家> group set <权限组>
lp user <玩家> parent remove <权限组> global <世界> /无对应/ pex user <玩家> group remove <权限组> <世界>
lp group <权限组> permission set <权限> true global <世界> /无对应/ pex group <权限组> add <权限> <世界>
lp group <权限组> permission unset <权限> global <世界> /无对应/ pex group <权限组> remove <权限> <世界>
lp group <权限组> permission settemp <权限> true <时间> global <世界> /无对应/ pex group <权限组> timed add <权限> <时间> <世界>        
lp group <权限组> permission settemp <权限> true <时间> global <世界> /无对应/ pex group <权限组> timed remove <权限> <时间> <世界>        
lp group <权限组> meta set <option> <value> global <世界> /无对应/ pex group <权限组> set <option> <value> <世界>        

(其实我整理的时候根本不走心 好多argument都没有汉化X)

GroupManager(Plus)正文:
这个老牌插件还是很新人友好向的,操作比较简便来着。
附件自己去原贴下载吧,由于不管是不是plus版本,操作都没区别,所以我就拿plus版本来教学了
下载完丢到plugins里即可 (请注意 groupmanager(plus) 和下文的 luckperms 只能选择其中一个安装)
不知道哪里来的,违规的附件: GroupManager [v3.2].jar (124.28 KB, 下载次数: 0) GroupManager [v3.2].jar (124.28 KB, 下载次数: 草绳)
仅支持1.7-1.14 如果以后版本升高了别来找我X

本插件简写叫GM和GM+ 请不要叫它GMP,后者不仅野鸡而且还不优雅,甚至看不太懂是什么意思
坏消息是 我以前一直叫它GMP,而且我还把名字错记成GroupManner(虽然意思没区别)
               ————>     

我看很多新人理解不了权限组啊,那我就来简单介绍一下权限组吧


就拿SCP基金会的例子引入好了   (不是Linux那个scp啊)
没错,和scp没什么区别,全世界权限组都是一家 这里撇开scp (N/项目编号) 的权限写法
就说点最简单的 就算没接触过scp的也能理解

下面有6种权限组,其分别对应一些可以做的事情(被我改过了)

权限组是什么?权限组就是一堆权限用胶带粘起来的一个包裹而已
权限组就是一堆权限拼起来的东西(任何权限拼在一起都叫权限组,对权限到底是什么压根没有任何要求)
权限组 同理 固源岩组







一级 SCP 权限组 打开A1大门
二级 SCP 权限组 打开B1、B2收容室的门
三级 SCP 权限组 打开C1、C2的收容室的门
一级 武装 权限组 打开军械库、弹药库
二级 武装 权限组 打开B1大门外的军械库、核弹房大门
三级 武装 权限组打开C2大门、打开C2大门附近的电磁炮存储间

我们将这些权限分成两个小组
SCP权限组: 包含1/2/3级SCP权限组
武装权限组: 包含1/2/3级武装权限组
其中 1级等级最低,2级中等,3级最高。也就是3级是最厉害的权限组

如果我只有 1级scp权限组,那么我只能打开A1的大门,但是B1、B2、C1、C2大门是打不开的
(看上面表格对应权限)
那么我的权限是什么呢?我在1级权限组里,但是我的权限就是1级权限组?错了,权限和权限组显然不是一个东西啊

权限就是 "你可以做到什么事"
所以我的权限是? ......     ....... 就是 "打开A1的大门" !
没错 这就是我目前可以做到的事情!这个就叫做权限啦!其他同理

这里还是很容易理解的吧
如果我升级到了 2级scp权限,那我就可以打开B1、B2的大门了对吧
...
...
没错,你可以打开B1、B2的大门,但是因为升级了,所以1级权限组内的权限我就用不了?
并没有,我还是可以打开A1大门的对吧,所以我现在可以打开 A1、B1、B2 这三扇大门了!
现在很明确的一点是 : 1级权限组<2级权限组 ,而且2级权限组也拥有1级权限组所拥有的权限
也就是1级权限组弱死了

也就是2级权限组包含1级权限组的所有权限
这时候我们就说  "2级权限组就 继承 了1级权限组的权限"
类似于遗产继承,2级拿了1级本来有的财富(权限),顺便自己创造了点其他的财富(其他的权限)

3级和2级之间的关系也是同理。当然,3级和1级之间的关系也是同理的



原版香子兰SCP权限组



没错,我们现在进入正文:
     你作为服主,要务当然就是分配好这些权限啊,总不能让玩家拥有所有权限吧(飞天遁地拆主城,ban服主无所不能)
     唔姆唔姆,没错,余就是罗马,就是你要给玩家分配这些权限,看起来很烦吧
     不,然而并不烦,在完全了解权限组和权限的概念后就很简单了

     如果你直接去百度也能搜到这样的介绍(百度知道内2014年8月2日的回答)
     /mangadd xxx = 创建一个叫做xxx的权限组
     /mangdel xxx = 删除xxx权限组
     /manglistp xxx = 列出xxx权限组的权限
     /mangaddp xxx yyy = 给权限组xxx添加yyy权限
     /mangdelp xxx yyy = 删除权限组xxx的yyy权限
     /mangaddv xxx prefix yyy = 给权限组xxx添加yyy的前缀
     (举例/mangaddv admin prefix &f[&c造物者&f]&c给admin组添加了[红色造物者]的前缀)
     /mangaddi xxx yyy = 让权限组xxx继承yyy的权限(能够为权限设置剩下不少费事)
     /manuadd xxx yyy = 将玩家xxx放进权限组yyy
     /manuaddp xxx yyy = 给用户xxx添加yyy权限
     /manulistp 123 列出玩家123所拥有的权限;
     /manucheckp 123 essentials.* 检查玩家123是否拥有essentials.*权限,并寻找出处(权限组);

这些指令就足够你用了,非常简单,看下去就知道了
而且教程就是教这些指令怎么用,你只要知道这些指令,教程就结束了
所以教程现在结束了 (大雾

打开Group.yml (不是globalgroups.yml)

极光在线高亮文档


注释版本:
groups:
  Default:            <——— 名字为Default的权限组
    default: true          <———玩家是否默认处于该权限组 (true = 是)
    permissions:                <———该权限组有什么权限?
    - -bukkit.command.kill      <———(仔细看权限) 第一个 负号- 是'标识符',是yaml自带的语法
而第二个负号紧跟权限,这叫做负权限在实战中不会有我这么好心给你标红高亮
其效果相当于强制取消一个权限。举个很简单的例子,你生来就拥有呼吸的能力
这是没有权限赋予你的能力,但如果我扼住你的脖子,就相当于给了你负权限,强制取消权限

在mc中,基本不需要这么做,但当出现插件bug并导致玩家越权/提权时,负权限就可以拯救服务器

    inheritance:       <——— 继承了什么权限组。如果你不认识这个单词,快去百度
    - g:groupmanager_default      <———下面四个都是Default权限组继承的权限组
    - g:bukkit_default                     好消息是 他们也是权限组。
                                                         坏消息是,这些权限组的配置文件不在这个文件里
    - g:essentials_default               至于你要怎么编辑他们,我后文会说
    - g:towny_default                     要在globalgroups.yml里修改
    info:                <——— 该权限组的一些信息
      prefix: '&e'           <——— 该权限组的玩家前缀
                                   (这里是&e,那么玩家名字就是金色的,也可以加入中文)
      build: false           <——— 该权限组是否可以放置方块 (false= 不行)
      suffix: ''                <——— 该权限组的玩家后缀,与前缀同理,但显示在玩家名字后

Builder:            <———— 名字为Builder的权限组
                           (没错 这是另一个权限组了,和上面一样的)

    default: false
    permissions: []            <——— 说明没有独立添加上去的 权限 或者 负权限
                                       所以也不需要换行加上 '-标识符-,直接换成: [] 即可

    inheritance:
    - default                    <——— 没错 这个builder组是继承default组的!而且这里不分大小写
    - g:essentials_builder
    - g:towny_builder
    info:
      prefix: '&2'
      build: true
      suffix: ''

好的 不管怎么说 我们必须做的第一步就是
修改玩家默认权限组
    如果你仔细读了上面的注释内容 你就会知道玩家默认组是Default组
    所以很简单 把Default组下面的default: true   改成false
    同时记得把Builder组下面的default: false    改成true
    原因的话...就是没有原因。Builder组适合绝大多数玩法,这比直接改Default组方便多了
    接下来就是根据你的需求微调了

    比如说有一个插件提供了玩家使用拔刀剑的权限SlashBlade.use

    也就是 只有拥有这个SlashBlade.use权限才能使用拔刀剑
    仔细看的话 上面有这两个指令
         /mangaddp xxx yyy = 给权限组xxx添加yyy权限
         /mangdelp xxx yyy = 删除权限组xxx的yyy权限
    我们使用第一个指令
        /mangaddp builder SlashBlade.use 就可以为Builder组添加SlashBlade.use权限

    如果我们手残输错了 假设我们输入成了 Slash.use  。不管权限存不存在,这个权限仍然会被加到权限组里
            所以我们有两个选择,因为它存不存在都没有用,所以我们第一个选择是不去管它
            第二个选择就是 输入/mangdelp builder Slash.use 即可移除这个权限了

我们还可以手动在配置文件内修改
例如在Default组内,我们可以找到
    permissions:
    - -bukkit.command.kill

当然,这是一个负权限,如果我们想要给这个权限组的玩家添加其他权限(不管是不是负权限)
我们只需要换行,按照格式来添加即可
例如要添加SlashBlade.use权限
    permissions:
    - -bukkit.command.kill
    -  SlashBlade.use

换行,记得缩进。(使用推荐的软件的话,会自动缩进的)
打一个短横杠-
打一个空格
打一个短横杠-
把你的权限加上去
加完了

接下来讲讲 globalgroups.yml:

大家上面group.yml里也看到了类似于
    - g:groupmanager_default
    - g:essentials_builder
    - g:towny_builder
    - g:groupmanager_moderator:

这种权限组 他们就在这个文件里改!他们是一个... 预制类型的权限组。要用我自己的话来描述...叫他们"权限包"?


    - g:groupmanager_moderator 的全局权限组
  g:groupmanager_moderator:
    permissions:
    - groupmanager.listgroups
    - groupmanager.mandemote
    - groupmanager.manpromote
    - groupmanager.manselect
    - groupmanager.manuadd
    - groupmanager.manudel
    - groupmanager.manwhois
    - groupmanager.notify.other

和上面的一样都是包含各种权限 然后给到玩家这个权限组就可以让玩家获得所有下面的权限了
还是比较方便的

例如在Builder组内,我们可以找到
    inheritance:
    - default
    - g:essentials_builder
    - g:towny_builder

如果我们不想修改 permissions:
    也可以直接修改这里
你可以将权限依照上面的教程加到default权限组内,由于Builder是继承default的
    所以修改default组也等于 等效修改Builder组

你也可以将权限加入到"全局权限组中",也就是我野鸡的称呼 "权限包"

修改前:
  g:essentials_builder:
    permissions:
    - essentials.afk
    - essentials.afk.auto

添加后:
  g:essentials_builder:
    permissions:
    - essentials.afk
    - essentials.afk.auto
    - SlashBlade.use

这样就添加完了,非常简单

然后配置服务器可能会要加不少权限,会有点浪费时间
但是既然你都浪费时间看我的帖子了 我相信你不至于懒得去弄权限组吧


LuckPerms正文:
好的 我们还得回到上面那个对应的表格233 找一下对应的指令是什么
老样子 去下载一个LuckPerms 丢在plugins里面。至于luckperms的搬运贴在哪里?前文提到过了。
仍然是违规提供一个附件刮刮乐 LuckPerms-Bukkit-4.4.1.jar (1.25 MB, 下载次数: 0) LuckPerms-Bukkit-4.4.1.jar (1.25 MB, 下载次数: 惨遭屏蔽)
仅支持1.7-1.14 如果以后版本升高了别来找我X

请注意:
首次安装LuckPerms会提示下载文件
后台绝对会卡在那里不动,你去给自己泡杯卡布奇诺,回来基本就下载完了
下载完的提示是一段报错,没错是报错XD,然后你只需要等你其他插件加载完毕,服务器完全开启后
输入stop重启服务器,然后就可以使用LuckPerms了
(请注意 luckperms 和上文的 groupmanager(plus) 只能选择其中一个安装)

然后我发现原来有介绍了
https://www.mcbbs.net/thread-716368-1-1.html
晚安 我不介绍了 这个帖子对新人而已是非常详尽且易于理解的了
然而等我写完了教程才发现这个帖子,白写了
简单整理一下指令吧 在上面的表格里都有
如果你理解了GroupManager(Plus)的话,可以看着上面的表格对照指令



        ________  基础指令 Basic  ________        
保存与重载插件                     /lp sync


        ________  权限组指令 Group  ________        
将玩家加入某权限组              /lp user <玩家> parent add <权限组>
创建一个权限组                    /lp creategroup <权限组>
删除一个权限组                    /lp deletegroup <权限组>
列出所有权限组                    /lp listgroups
为权限组添加权限                 /lp group <权限组> permission set <权限> true
移除权限组内权限                 /lp group <权限组> permission unset <权限>
添加权限组继承                    /lp group <父权限组(权限多的)> parent add <子权限组(权限少的)>        
移除权限组继承                    /lp group <父权限组(权限多的)> parent remove <子权限组(权限少的)>


    ________  玩家指令 Player  ________   
将玩家加入某权限组              /lp user <玩家> parent add <权限组>
为某权限组内玩家添加前缀    /lp group <权限组> meta addprefix <优先级> <前缀>
为某权限组内玩家添加后缀    /lp group <权限组> meta addsuffix <优先级> <后缀>
为某玩家添加前缀                 /lp user <玩家> meta addprefix <优先级> <前缀>  
为某玩家添加后缀                 /lp user <玩家> meta addsuffix <优先级> <后缀>            


LuckPerms设置玩家默认权限:
前提: 你不是Sponge核心,不然傻子才来用这个指令
在游戏内输入 /lp editor
随后会跳出来一串网址 格式类似于  https://luckperms.github.io/editor/#一串字符
  1. >lp editor
  2. [00:00:01 INFO]: [LP] Preparing a new editor session. Please wait...
  3. [00:00:02 INFO]: [LP] Click the link below to open the editor:
  4. [00:00:02 INFO]: [url]https://luckperms.github.io/editor/#86PcvYi7Ty[/url]
复制代码
(你们网址都是不一样的,用我这个是没用的,自己去服务器里输入指令以后会跳出来的)
我们在浏览器内输入这个网址后 会跳出来一个网页
看图说话时间 (你们的是没有汉化的,看我的即可)

最左边那个填写权限的框框里,你先随便输入一个字母,然后删掉,就会开启补全模式
会搜索你服务器内所有插件的权限,跳出来一堆权限供你选择。当然你也可以自己填写

对新人而言,服务器那栏不用填 我不觉得你们用得到。
context那栏我完全不知道有什么用 干脆都不汉化了 无视即可

当你全部填写完毕后
①戳一下true/false右边的那个加号,就会添加一个玩家默认权限,并且会显示在下面
(按边上的垃圾桶图标可以删掉)
重复步骤①,直到你的权限都设置完了
②点击右上角的保存 稍等一会儿,会跳出来一个绿框
③将绿框里面的指令输入到服务器内
再稍等一会儿就完成了
  1. >lp applyedits w91ycsnZHu
  2. [00:01:12 INFO]: [LP] Web editor data was applied to default successfully.
  3. [00:01:13 INFO]: [LP] (1 addition and 0 deletions)
  4. [00:01:13 INFO]: +  权限名字 (true)
复制代码
大概出现如上的提示就ok了,第三行(1 addition and 0 deletions)的数字应该会不一样
(我们的指令是不一样的 所以不要看我这个指令,这个只是展示用的)


权限组使用总结:

遇事不决翻指令   :  设置全靠指令就行了,懒得背就不要背指令,这里有中文对应,照着找即可
配置文件可手冲   :  指可以自己手动修改配置文件来添加权限,比用指令更快、更简单。但是对于新人更麻烦。
单词不懂找百度   :  不管是配置什么插件,见到不懂的单词就去查百度/有道
GM全部去Builder  :  GroupManager(Plus)食用前先设置玩家默认组为Builder
LP默认需网页      :  LuckPerms食用前需要输入/lp editor 进入网页设置默认组权限
仔细阅读搬运贴   :  搬运贴内会展示所有权限节点(权限节点 = 权限)
                            如果搬运贴没有权限节点,可以去plugin.yml内看,或前往原贴




提前下课!






我去喝口水


        我去楼下买瓶快乐水和薯片,
        然后去隔壁沙龙休息室看番。
        你就等在此地不要随意走动,
        我过会儿回来请你吃个橘子。

        我找不到好听的课间音乐了,
        你们要不自己找首歌来听吧。
        基本上都是东方的同人曲目,
        我觉得可能不合某些人胃口。

        这么整齐的原因到底是什么,
        只是我想拖长度和字数而已。
        你们看不惯的自己往后翻吧,
        建议来和我一起休息一下下。

        说真的,一起来休息一下吧,
        下面要说服务器的配置文件。
        难度描述起来基本上就是零,
        不要担心啦,开服很简单啊。






[anchor=BungeeCord]欢迎回来[/anchor]

nico nico niconi !

继续说下去啊
这段是说服务器配置文件的,因为我们第六章会说优化,所以这里不提优化了,简单讲解一下。

完蛋,怎么撞车的这么多
挺好的,我都不用介绍了
可惜哒哒这贴,缺了点灵魂,没有引入实战。而本帖是实战开服大背景下的教程,应该会生动不少的
让我们从头开始,开一个服务器吧!

前言:
我不会全部介绍,我只会翻译我觉得对开服有影响的部分,以及涉及到服务器相关的部分
如果你想全部看一遍,那么哒哒那个帖子还是很不错的,不过很多我们用不到。
我们介绍的是插件服,哒哒那个帖子里把mod服核心的配置文件也加上来了
为避免新人搞混文件属于什么核心,建议看到本帖的萌新服主,先看本帖,再看哒哒那贴

介绍格式为: (下方注释对应上方属性节点的介绍)
setting1:
#注释1
setting2
#注释2


老样子 我们打开服务器文件夹(根目录)
最重要的文件之一,我们也先只介绍这一个文件
静下心来看就可以了,大概看一下就可以,免得到最后配置的时候发现自己有很多疏漏的地方
server.properties

spawn-protection=1
#出生点保护,地图出生点为圆心的圆内方块不能被破坏
#如果没有op 一些方块也是不能交互的


server-name=
#无视

generator-settings=
#无视,这个一般用不到,一般也选择在单人模式下创建预设超平坦后导入
#而且需要level-type =CUSTOMIZED 才有用,这个属性节点可以在下面设置gamemode=0
#玩家默认游戏模式
# 0 = 生存
# 1 = 创造
# 2 = 冒险
# 3 = 旁观
#实际上这个属性节点的位置不在这里,我把它提前了


force-gamemode=false
# true = 玩家每次加入游戏时都会强制变为上方gamemode设置的游戏模式
# false = 玩家如果在游戏中修改了游戏模式,下次加入时还是那个游戏模式


allow-nether=true
#是否启用地狱世界
# true = 启用,服务器会加载地狱世界文件夹,玩家可以通过地狱门前往地狱
# false = 不启用,服务器不会加载地狱世界文件夹,但是你仍然可以通过其他插件传送过去
#如果为false,在首次使用bat前设置false,服务器将不会生成地狱世界,你也可以删掉这个世界
#如果为true,在你删掉地狱以后会重新加载一个新的地狱broadcast-console-to-ops=true
#op在游戏内能同步看到后台情况


enable-query=false
#无脑false,不要设置为true

player-idle-timeout=0
#挂机多久会被踢出,0为不踢出,单位为分钟

difficulty=3
#游戏难度
# 0 = 和平
# 1 = 简单
# 2 = 普通
# 3 = 困难


spawn-monsters=true
#是否会自然生成怪物,如果游戏难度为和平的话,不管这个怎么设置都不会刷新怪物
#插一句题外话,我后面肯定会忘记说这个,所以这里先说了
#优化相关 : 如果你的服务器不需要自然生成怪物就请设置为false
#尤其是小游戏服务器可以注意一下


op-permission-level=4
#op的权限,一般不需要修改
#至于你要问1,2,3,4级的区别,去问wiki吧resource-pack=
#填写资源包URL,在玩家客户端那里就可以选择下载服务器专用资源包了
#默认的位置也不在这里,是我挪上来的
#先无视就行了


resource-pack-hash=或resource-pack-sha1=  (不要纠结到底是shal还是sha1了)
#服务器资源包的...怎么说呢...完整性验证
#也先无视吧。以及如果服务器不用资源包,这个和上面这个都空着就行了


announce-player-achievements=true
#问了yys才知道,这东西高版本里直接移除了
# true = 在玩家完成成就时,会在聊天栏提示所有玩家
# false = 只会提示完成成就的一个玩家

pvp=true
#服务器里是否可以pvp

snooper-enabled=true
#数据采集,开不开无所谓,建议是关了吧

level-type=DEFAULT
#主世界是什么样子的
# DEFAULT = 原版地形
# FLAT = 超平坦
# LARGEBIOMES = 巨型生物群系
# CUSTOMIZED = 客制化地形,设置后需要在上方generator-settings处修改
# 挺麻烦的 建议看wiki去 客制化程度巨高
# 类似矿物生成高度Max/MinHeight啊,噪波,补偿都可以设置
# 似乎worldpainter用户会熟悉一点么

hardcore=false
# 是否开启极限模式

enable-command-block=true
#是否允许在服务器内使用命令方块

max-players=20
#玩家数量上限

network-compression-threshold=128
# 在向客户端发送数据包时需要如何压缩,过会儿第六章再说
# -1 = 不压
# 0 = 自式全压(真·服务器自式)
# Windows上MTU一般默认1500,Linux百度是据说是1492
# 过会儿优化也会说,然后一提到这个我就想聊既优化又能适当防御服务器攻击的话题了
# 第六章还是会聊几句服务器攻防的吧...攻就算了,还是防吧


max-world-size=29999984
#地图大小,可以用它设置边界防跑图,一般不纠结这个,过会儿优化再聊

server-port=5090(举例)
#重头戏,服务器端口,你的服务器地址是 ip:port(即ip:端口的形式)
#玩家加入服务器全靠设置这个端口,后面讲开bc也很讲究这个
#Windows系统可以设置0~65535,如果你有多个服务器,请不要用同一个端口

#可以随便填一个0 ~ 65535之间的数字
server-ip=101.50.130.175(举例)
# 如果你是内网自己一个人测试 请填写localhost
# localhost = 即本地主机,等于ip,虽然这个是域名不是ip,但是就当ip来记就行了
# 但是如果你是在vps上开服 请填写服务商给你的IP

# 然后玩家客户端那里就是 ip:port 的形式

# 也就是你服务器地址是 101.50.130.175:5090


debug=false
#不要动,就让他一直false

spawn-npcs=true
#是否生成村民,true = 生成

allow-flight=false
#是否允许玩家飞行
#防黑端作弊用的,但是小几率会误判


level-name=world
#世界文件夹名称
#默认是world、world_nether、world_the_end
#假设我将属性节点修改为aurora
#那么世界文件夹名字就是 aurora、aurora_nether、aurora_the_end


view-distance=6
#玩家视距,单位是区块,优化相关,第六章再说

server-id=
#无视

spawn-animals=true
#是否生成动物

white-list=false
#是否开启白名单,true = 开启
#开启后只有在后台使用 /whitelist <玩家名字>后,这个玩家才能加入游戏


generate-structures=false
#是否生成村庄 , true = 生成

online-mode=false
#是否开启正版认证

max-build-height=256
#数值可以往下改,但是向上修改是没有用的

level-seed=
#地图种子 无视即可

enable-rcon=false
#false 不要动,死都不要改

motd=
#服务器motd,建议删掉,留白即可,后面服务器防御部分会提起来

如果你是自己家里内网开服的话 至少现在自己电脑上的去服务器了
如果你是vps的话,叫上你的几个好朋友进服务器试试看吧

接下来我不介绍 bukkit.yml、spigots.yml、paper.yml,他们会在第六章内介绍
我们来介绍一下 如何开BungeeCord群组服吧         

BungeeCord 简称 BC,目前插件群组服最喜欢使用的,没有之一
当然 也有很大一部分人喜欢叫它 'Bungee' 或者 '蹦极服'
注: 如果你是mod服 可以考虑使用 Velocity 而非BungeeCord
     感谢 GiNYAi 对velocity做出的推广

我的自述   (新人服主快来看看)
好几年前 我听到这个名词的第一反应是 :"蹦极服是什么玩意,难道玩家还能蹦极么"
脑中飞速思考,这会不会是编程方面的专有名词,还是什么黑科技?
然后就绝望了,完蛋,理解不能。那时候我刚刚接触开服,在服务器核心这块很困惑
主要是几个名词 "水桶" "水龙头" "蹦极服" (那个时候"纸龙头"的用户还是很少的)
反正...现在老娘是一个老油条了,张口就莱,正好给大家复习一下

反正这三个大家都知道是插件服的核心对吧
水桶 : CraftBukkit,家里的长辈,与新时代脱轨(插件兼容性中等),走路(运算)效率还
水龙头 : Spigots,家里的爸爸,新时代的中流砥柱(插件兼容性超高),走路(运算)效率较高
纸龙头 : PaperSpigots,家里的孩子,新时代的接班人(插件兼容性较高),走路(运算)效率超高

现在想来还是挺难受的,我那个时候去问大佬,然后被各种骂,唉...
大家现在还是很幸福的,各种教程百千齐放,好好珍惜吧

在开服这一块,名字什么的基本不重要,他们就是个代号,不要追究到底
他喜欢叫蹦极就蹦极吧,就算他喜欢叫迪 ,我们也拦不住啊
回到蹦极服BC,它不是很方便用上面的形式解释,他和水桶他们没有血缘关系233


所以我仍然设计一个情境来帮助大家理解BC
今天学校有贵宾来视察,外面下着倾盆大雨,而你的学校有3栋楼(主楼A,副楼B、C。且之间没有廊道)
     情况1
         贵宾冒雨冲进学校,在雨中纠结了会儿,冲进了主楼A
         水还没滴干,视察完主楼A的贵宾在门口犹豫,到底去副楼B还是副楼C
         最终贵宾决定冲向副楼B,但是没有伞的他又双叒叕被淋湿了
         最后冲向副楼C,视察完走出来的时候,贵宾已经重感冒了
    情况2
         你校在主楼A与副楼B、C之间装设了防雨廊道,在校门口设置导游带伞迎接
         贵宾冒雨冲到门口,躲在了伞下,不需要纠结,沿着导游的指示直接走向主楼A
         视察完主楼A,导游告诉贵宾,建议他先去副楼B进行视察
         视察完B楼后,他返回了A楼,通过导游指出的廊道小路走向C楼
         贵宾没有淋到什么雨

没错,情况2比较正常,符合现实对吧,虽然肯定有同学会有跑上去打领导的冲动
在情况1里,玩家加入服务器以后,想要前往其他子服务器就要退出游戏再加入,然后再登陆
在情况2里,玩家加入主服务器以后,可以直接在几个服务器内跑来跑去
也就是说,假设在应用BC后,相当于建立了几个廊道,将服务器与服务器连接起来
当然 bc的优点还有很多很多,我们稍后说

那么一个完整的BC服到底是什么样子的呢?
我随便找了个服务器作为例子(其实是故意找这个的XD)

                                          玩家进入服务器后

                                                    BC
                                                     
                                             大厅登录服      ← (大厅也是子服之一)
                                                     
               ─────────── 选择一个子服 ────────────╮   
     监狱风云  GTA  罪恶都市  起床战争  空岛战争  小游戏  蛮荒之地  MineZ
                  ╰──────────────╮ ╭────────────────╯                       
                                       每个子服内都有不同玩法

是的,中间这些箭头与连线都是靠BC穿针引线的
玩家通过这些线条就可以前往任何一个子服玩
每个线条都是双向的,可以从登录服到子服,也可以从子服到登录服
基本上就是这么一回事了

不知道你有没有注意到一个问题,子服也是独立的服务器
那么岂不是你要开一个BC服,要额外开一个登录服,也要开一堆其他子服?
没错的确是这样的,你的服务器内存与cpu也需要变得更加强力才行呢
然后在选择机子上时,我们要考虑核数了
一个比较简单粗暴的说法是,服务器开启了A个bat(其中有1个是bc,1个是登陆服,其余的是其他子服)
那么你的机子就至少要有A个核心,但是核心数也不需要高于2A个

随意让我们先来开个bc服
    开服方式和spigots,paper啊一模一样,操作区别很小
        我建议大家开1.8-1.14中任何版本的插件服,低版本千万不要开,原因我能说几十个
        操作很简单,我们点开上面的网址,其他什么都不管 就看下面这个


最终成功构建

         BungeeCord.jar          10.03 MB   view
                     cmd_alert.jar                5.73 KB   view
                     cmd_find.jar                 4.02 KB   view
                     cmd_list.jar                  4.49 KB    view
                     cmd_send.jar               5.42 KB    view
                     cmd_server.jar             7.32 KB    view
                     reconnect_yaml.jar        5.98 KB   view



        你只要下载核心就行了
        老样子,第一个蓝色的是核心,和bat一起放在一个新的大空文件夹内(不是插件服那个文件夹)
        其他绿色的文件没有必要下载,在你启动bat时会自动下载的

        你的bat可以直接用我下面的这个
  1. @echo off
  2. title 你的服务器BC~~
  3. java -Xms512m -Xincgc -jar BungeeCord.jar
  4. pause
复制代码

启动bat,然后就会看到好多个
00:19:59 [信息] Attempting to download Tracis-CI module
说明正在下载文件

当你看到bat内显示
00:20:17 [信息] Listening on /0.0.0.0:25577
BC就开起来了,基础准备也就完成了


    现在你的根目录结构是这样的
    黑: 无用(请无视)     蓝色: 核心 或 bat    绿色: modules    紫色: 有用的配置文件
     __________________________________________
     |   服务器根目录
     |          ├ 启动.bat
     |          ├ config.yml
     |          ├ locations.yml
     |          ├ modules.yml
     |          ├ proxy.log.0
     |          ├ proxy.log.0.lck
     |          ├ BungeeCord.jar
     |          ├ plugins 文件夹
     |          └ modules 文件夹
     |                   ├ cmd_alert.jar
     |                   ├ cmd_find.jar
     |                   ├ cmd_list.jar
     |                   ├ cmd_send.jar
     |                   ├ cmd_server.jar
     |                   └ reconnect_yaml.jar
     | __________________________________________


没错,只有一个紫色的config是对于开服而言比较重要的
而我们这次就来讲讲这个config啦
由于不同的bc似乎配置文件也不相同,所以我就以发此贴时最新的build(#1419)版本来介绍了


建议仔细阅读老娘的注释,我把要说的话全部塞在注释里了
所以仔细读这些注释,读完就学会了

forge_support: false
#是否开启对于forge的支持
#forge是什么?反正你装mod得用,所以只有mod服需要开启
#而我们是插件服 所以false就可以了

player_limit: -1
#服务器玩家数量限制
#-1为不限制

#下面的不要动
#权限而已,大家放松,默认就是已经配置好了的
permissions:
  default:
  - bungeecord.command.server
  - bungeecord.command.list
  admin:
  - bungeecord.command.alert
  - bungeecord.command.end
  - bungeecord.command.ip
  - bungeecord.command.reload
#上面的不要动

timeout: 30000
#在登陆服务器时,如果长时间卡在加载界面就会被飞出去
#1秒 = 1000
#这里 30000 = 30秒

log_commands: false
#无视

online_mode: false
#默认是true
#和上面的那个server.properties里的一样,是正版认证
#开启后盗版玩家就不能加入了

disabled_commands:
- disabledcommandhere
#服务器禁用的指令
#无视,一般用不到

listeners:
- query_port: 25577
#不建议动这个玩意!
#且你其他子服的端口不能与这里的相同
#所以有一个简单的方法,只要你不把子服端口设置为25577就行了

  motd: '&1Another Bungee server'
#服务器显示的motd,是可以用颜色符号的
#这个是能支持两行motd的
#但是不能直接换行,这个和yaml的语法相关
#所以最简单粗暴的方法是,在输入完第一行以后,疯狂敲空格
#把文字强行顶到第二行,不过可能会对不齐

  tab_list: GLOBAL_PING
#说实话我也不知道这个到底有什么实际意义
#无视

  query_enabled: false
#无脑false
#千万不要动,无视即可

  proxy_protocol: false
#无视

  forced_hosts:
    pvp.md-5.net: pvp
#无视

  ping_passthrough: false
#无视

  bind_local_address: true
#无视

  host: 0.0.0.0:25577
#无视

  max_players: 1
#这里是显示的玩家数量上限,和实际上限无关
#上面有个player_limit: -1
#那里才是

  tab_size: 60
#无视

  force_default_server: true
#默认false,请修改为true

ip_forward: true
#默认false,请修改为true

network_compression_threshold: 256
#无视

prevent_proxy_connections: false
#无视

groups:
  md_5:
  - admin
#无视

connection_throttle: 4000
#玩家在退出服务器后多久能再次加入
#仍然是1秒 = 1000
#这个是服务器防御的一个最简单粗暴的机制之一,第六章会再次提到

stats: 987a3e9c-8855-4bbd-96b4-09ef102e3911
#千万不要动!!!

connection_throttle_limit: 3
#无视

log_pings: true
#无视

#重头戏,你必须在这里正确登记子服信息才能让玩家加入
servers:
  lobby:
#只是一个名字作为代号而已(必须为英语)
    motd: '&1Just another BungeeCord - Forced Host'
#服务器motd,无视即可
    address: localhost:25565
#子服地址,需要正确填写端口,与那个子服server.properties内的端口必须一致
    restricted: false
#无视这个
#修改完以后,你的第一个子服就完成登记了,玩家就可以通过bc加入了
#有一个子服当然是不够的
#所以我们复制下来,修改名字和服务器地址就可以添加第二个了

  server:
#我瞎改了一个
    motd: '&1Just another BungeeCord - Forced Host'
    address: localhost:25566
#地址我改了端口,这个端口必须是和你这个子服server.properties内的端口一致的
    restricted: false

#当然,多加几个也是ok的
  bedwar:
    motd: '&1Just another BungeeCord - Forced Host'
    address: localhost:5090
    restricted: false
  survival:
    motd: '&1Just another BungeeCord - Forced Host'
    address: localhost:25567
    restricted: false

#接下来是第二个重头戏,但是非常简单
#在这里设置你的登录服
#玩家加入游戏后默认会直接进入这个服务器
  priorities:
  - lobby
#这里填写的登录服名字就是上面的名字啦
#假设我想让登录服从lobby变成survival的话
#删掉lobby,换成survival即可
#
#像这样
#  priorities:
#  - lobby
#即可

然后我们发现全部设置完以后还是登陆不进去 233
打开你子服的spigot.yml
找到  bungeecord: false
给他改成true,就可以使用bc了
至于这个spigot.yml文件,我们五、六两章会详细说,放心,很简单的。

服务器安全方面还要注意的是
server.properties里的server-ip=
需要修改为server-ip=127.0.0.1
不然玩家可以直接绕过bc与登录服,直接登陆任何子服,也会导致其他提权漏洞
如果你只有登录服有authme,而其他子服没有,那么不法者就可以绕过账号密码进入其他子服了
而且也可以绕过bc的登陆阈值限制,直接攻击其他子服(虽然直接攻击子服真的很蠢)
原理是拒绝非所有本地连接请求
简单的说就是,玩家只能通过你的BC才能加入游戏
这个操作顺便打死了其他几个提权漏洞,不过已经打死了,所以也不再提了
所以这个设置很重要


以及还有一个漏洞是一个叫做md_5的家伙
他是spigots以及bc的开发者
我们需要将Bungeecord的config内
groups:
  md_5:
  - admin

修改为
groups: {}

即可
当然更加简单粗暴的方法是在所有子服里面
ban掉md_5 不过这个怎么看都很野鸡且粗暴啊...算了吧 233

至于让玩家在子服之间传送的话
你可以使用stp或者别的插件 ,插件是安装在子服里的
/stp <你服务器上面填写的名字> 即可传送

[传送]Stp —— 跨服传送[全版本]
https://www.mcbbs.net/thread-440107-1-1.html

大家可以看到我们上面是lobby和bedwar和survival以及一堆其他服务器
在安装stp后
想要回到大厅就输入
/stp lobby
想去起床战争服务器就输入
/stp bedwar
想去生存服就输入
/stp survival


综上
[anchor=Warn]1[/anchor] 仔细阅读本文内注释部分即可掌握绝大部分注意事项
2 你可以自己自测一下你对BC的理解,虽然本帖内的介绍并不是绝对精准的
3 BC服会需要你额外开一个bc的bat,一个额外的登录服,以及其他正常的子服
4 你需要在BC内登记一下子服,好让BC知道需要在哪些服务器之间建造一个廊道
5 安全方面需要注意的是
         5.1 每个子服的spigot.yml内将 bungeecord: false 修改为true
         5.2 将每个子服server.properties里的server-ip= 修改为server-ip=127.0.0.1
         5.3 在Bungeecord的config内将

                    groups:                                                groups: {}
                      md_5:            ———修改为———>

                      - admin



其他
我们上面在介绍BC的时候似乎漏掉点东西
在用雨天领导视察学校作为引子的时候我说道
"当然 bc的优点还有很多很多,我们稍后说"
那么BC到底有什么优点呢?

首先我们得知道,屑服务器核心基本上只用单核的
所以开多个服务器并通过BC连接起来就成为了高效利用资源的方法
有效提高了整体运算速度,大幅度降低卡顿

其次,假设你要开一个粘液科技的插件生存服,还要开一个小游戏服
如果你同时装小游戏插件和粘液科技插件,然后就发现玩家甚至能在小游戏里玩粘液科技的生存
虽然这种情况可能不存在,也可能是另一种新的玩法
但是按常理来说,这种情况似乎比较诡异不是么

一般来说,服务器内的所有插件是会在整个服务器(所有世界)都应用的
所以如果全装在一个服务器里的话,你甚至能看到这种情况
玩家拿着rpg武器骑着飞天猪顺带用钩爪在超级战墙小游戏内飞来飞去还能在地皮和生存世界里穿梭自如
太生草了www
然后你打开plugins文件夹一看,敲,200个插件,这是服务器还是垃圾堆啊,太臃肿了吧
还有些插件可能会撞指令,不兼容(不过我倒是真的没见过不兼容233)

这时使用BC(或者你用其他的)分部部署一堆服务器,然后用廊道连起来
在一部分情况下是可以提高运算效率,并让服务器变得井井有条的
你可以在登录服,也就是大厅介绍每个服务器的玩法,甚至可以有一些大厅内的小游戏插件
这种体验还是非常棒的

虽然BC的机制在某些方面更容易被攻击,更容易导致服务器瘫痪
但是自带的连接间隔防御也是部分单端服服主会选择在服务器外面额外套一个BC的原因
虽然这种做法是否真的有必要还是值得研究一下的
综上,BC能有效帮助服主完善服务器,也能更加有效地提升玩家体验


BC可用插件,BC相关插件


1 [安装在子服] [传送]Stp —— 跨服传送[全版本]
https://www.mcbbs.net/thread-440107-1-1.html


2 [安装在BC] [信息][上古之石]ColorMOTD——拥有所有MOTD插件的功能★1500+服务器的选择[1.7-1.10]
https://www.mcbbs.net/thread-448326-1-1.html

使用须知:
大概第十行的地方,把这个false改成true
useBungeeCord: true

3 [安装在BC与子服] [角色|管理]SkinsRestorer —— 正版皮肤显示 v13.1.2 [1.7.9-1.12]
https://www.mcbbs.net/thread-558061-1-1.html




来自第六章的引子
如果你在看教程前自己动手试过开服 :
我在各种群里游荡 帮助别人的时候我发现 很多人都是
加了一堆插件,发现一堆报错,然后发现自己修不好报错,服务器却越来越乱,总之很烦躁&心灰意冷
时间付出去了,但是却不做功,或者是做负功,服务器反倒是在倒退,也不想要重头开始重新做
也有很多使用的是预制端,当然这种质量更加低,报错更多,在过会儿第六章就可以看到我猛喷这些端了233
我这里的建议是,就算你再菜,也不要去用端,本帖的意义就是为了杜绝使用预制端而生的
我知道很多人做不出端那么厉害,所以去用端,甚至买端。
但是你要知道,做端的那个家伙,他也是人啊!你们同样拥有键盘和鼠标,同样能读懂.yml,能配置.yml
看到这里的你甚至能熟练控制玩家权限组的所有权限,利用ess的各种配置来实现自己想要的一些功能了
你所缺少的,只是插件的阅历,仅此而已,你甚至不需要写出神入化的配置就能超过那些端的作者
真的很弱,我遇见过一堆端的作者,都太菜了,没有优化,没有配置,只是为了实现炫酷功能而去实现
真的很弱,他们基本功只不准还没你好,他们只是见多识广,或者会搜索插件
真的很弱,他们也只不过是配置插件而已,都是yml文件,语法都一样,为什么要为他们买账
他们为了一些功能会去疯狂加插件,而不想想

- 这些屑功能会不会降低服务器性能,让玩家体验更低
- 你已有的插件配合一下就能实现这些功能(这种情况真的巨多,多到遍地都是,反正等到第六章各位就信了)
- 你的玩家们真的喜欢你这个服主所喜欢的东西吗

第六章我们会从玩家需求角度干掉这些端,你需要的只是爆米花,看着我狂喷,然后吸收你认为有道理的部分即可
很简单,坐在电脑屏幕前看老娘这个网络喷子大战预制端,你只要站个队,或在某些内容上保持中立就行了

我的自叙







下课!

这次没有按之前的格式来着 XD

来听白上吹雪唱歌的说!
Fubuki超可爱的说

















  _______第四章字数统计 31,320    耗时 15小时
  __请使用滚轮返回顶部并在目录处点击 第五章                           ?你还想再下一会儿课吗 你随便好了www







——————————————————————————


NO.5



喵 这次也是纯音乐的说

印象里最早是看红叔的作品才知道这首歌的
那时候...我还没入坑二次元XD
原版只有2分半的样子,所以我给大家选了一个44分钟循环的版本
在这个破烂章节里 一起嗨起来就行了!!!






机翻即为正义!机翻即为合法!

有人会觉得我这个是问题言论
的确,我承认有一点点问题,论坛这边搬运使用机翻是会被严惩的
但是请注意,只是在论坛100%纯使用机翻会被严惩
这里有两个问题
第一 你自己机翻插件的语言文件谁会来管你啊,又不是在论坛内
第二 谁说过机翻出来就不能改了啊,只要改得比较符合正常语序,谁会认为你是机翻啊

5、汉化你的插件 的配置文件

    相信很多萌新服主都对汉化非常头疼,然而其实你只需要一个翻译软件就可以翻译了
    其实小学英语水平+翻译软件就完事了,查查单词,几个小时就能翻译好几千字

[心得] BoneStudio —— 搬运插件入门教学(入门)&继续完善你的汉化(进阶)[1.6-1.14]
    来自 极光creeper 的一个屑汉化教程
    非常屑 非常愚蠢
    如果你只是想汉化插件的话

______这个帖子里这三个章节能帮到你_______

     [汉化] 你搬运的 '你的' 第一个插件
            后续工作与一些其他内容
     [词句翻译不来怎么办]点击这里对照查看
———————————————————————
然而本章没有这么容易就结束了,在你看完本章以前,先不要去看我那个帖子
这就是我首页目录里提到的教案,但是由于太简陋了
所以我们这次来详细教一下如何汉化

前言:
    终于来到了我最擅长的领域了hahaha,在机翻这块,或许在论坛里我可以自称算是比较猛的了
    论坛翻译这块我也是比较猛的吧,至少自己认为做的非常不错了
    如果你以前关注过我的签名档,你可能会发现 "插件智能自动汉化词库正在折寿中" 这种东西
    在发本帖前一段时间,我的签名档也换回了这个,原来想和本帖一起发出来的
    当然最后这个超低端润字的词库终究是鸽了,而且也没公开出来
    主要是因为,自己手动翻译比较麻烦,所以如果有个能够做到完美机翻的会超方便
    不过如果问世的话,搬运插件只需要把文本丢到这个软件里面然后稍作修改就行了
    感觉会出什么大事,所以干脆就打死了。虽然的确是能帮到很多人的样子?
    不过我还是没能完善这个屑玩意,代码和垃圾堆一样恶心,这才是最要命的原因

大家觉得翻译到非常完美很难吗,下面三个都是纯机翻+简单润字

[转载插件][服务端插件][娱乐|RPG][BS]PhatLoots —— 物品也能随机lore?!高度自定义的宝箱刷新[1.6-1.14.4]
实不相瞒,翻译只花了4小时而已

[转载插件][服务端插件][综合][BS] MainMC —— 删掉你的ess及其附属吧 1/10大小 15倍功能 [1.7-1.13]   
实不相瞒,翻译只花了5小时而已

[转载插件][服务端插件][娱乐|机制][BS]CustomDrops——简单自定义服务器方块+怪物的掉落物[1.6-1.13]
实不相瞒,翻译只花了4小时而已,反倒是那张图片花了我1个小时

    其中比较变态的汉化文件是中间的那个MainMC
    给大家看一下汉化的程度,可以说是非常本地化、口语化的(只展示了一小部分)
    难以想象?这只是机翻+极少量润字+少量语气词+修改极少标点而已
    更恐怖的是?我游戏都没开,插件都没在服务器里试,都是凭空翻译的(这点千万不要学我)
    神奇的是?反响良好,非常符合实际使用情况的语境,而且只花了5个小时而已


    汉化文件是一个比较活泼的插件娘的形象,当然也可以根据你的喜好来修改
    这个插件config和message的语言文件大概800+行
    我只花了5个小时... 其实你也可以... 只是很少有人敢这么尝试
    所以这里就来教你们了
    虽然一些小技巧我不会说啦,我们BoneStudio小组的成员倒是应该在群里见过我的演讲X
    但是如果自己多多去翻译一下的话呢,就可以和我一样厉害的说

以下内容转载自极光creeper的某教程,已经获得我自己的授权了
    哪些文件大概率需要汉化?
常见文件:
  config.yml 配置文件     (常有文字需要汉化)
  options.yml 同上      (有时候也有需要汉化的 但也有些并不是起配置文件作用)
  lang.yml(language.yml) 语言文件     (大多数情况下 可以放心汉化绝大多数内容 但还要小心不要翻译蓝色部分与%占位符%)
  plugin.yml 插件文件     (正常加载一般不会加载到文件夹里 请不要去汉化或作任何修改)

  并不是每个插件都有 时不时可能会见到的文件:
  placeholders.yml 占位符配置文件     (汉化的话 戳进去看看有没有语言部分 没有就退出 谨慎修改)
  players.yml 玩家数据配置文件       (99%情况下里面应该很干净,这是保存玩家数据的)
  scoreboard.yml 计分板配置文件    (说明本插件自带计分板,你可以对计分板进行汉化,但也请注意不要把引号删掉)

    一般来说 在汉化时 你不用去打开:
      backups      (更多时候会以文件夹形式出现)
      log(logs).yml(txt) (文件名字和后缀名多样,一般储存插件报错用)
      error.txt(同上,和log的作用相同)
      network.yml (记得Yum里有,目的是汉化插件的话,是没必要打开的)
      aliases.yml (alias.yml)
      features.yml
      variables.yml(.csv)
      groups.yml (储存玩家权限组或其他分组的文件,一般无需汉化)
      items.yml (储存物品或其他东西的文件,一般无需汉化)

大家只要随便看看就行了
反正到最后汉化的时候,是每个文件都要打开看一遍的
跟着本机翻教程走,你最后的成品是完全可以作为优质的作品发到论坛上来的

很简单,我们这次完全是机翻+润字的教程,因为是机翻,所以一开始不需要动脑
所以...让我们直接找一个超级超级超级超级的例子!
来自ShotBow的MineZ wiki,是我非常喜欢的一个国外服务器中我最喜欢的一个玩法
这个wiki的难度和长度远超想象,不仅需要非常厚实的英语功底,还需要对玩法有非常充足的认识
以为很难?手翻简直是地狱般的痛苦啊,但是机翻就不一样了
所以,这个难度居然只能作为引子:

    首先,我们需要准备的几个东西是
    至少1个机翻工具,你可以选择网易有道字典
    我个人比较喜欢百度翻译,速度也挺快的
    以及最好能有一个网页翻译工具(浏览器插件)
    如果是360浏览器我记得好像是自带翻译的,土球Chrome浏览器需要自己设置一下的样子 [喵]

    如果是网页的话 请开启两个一样的网页
    如果是文件的话 请创建一个副本,然后开启两个一样的文件
    这是为了后面进行对比,机翻校准,润字校准而做的准备工作
    总的来说,还是很简单的
    然后明明是机翻而已,哪里来的那么多学问,冲冲冲!

    不对先下课!,下课 听到没,下课去,把刚才说的东西准备一下
    有兴趣的同学听我下课瞎扯,没兴趣的跳过

瞎聊,随便看看就好了,但仍然建议看到底


我们再总结一下
    我知道有人没有打开上面的隐藏内容,也有人看完了全部隐藏内容
    我们来讲讲本章节的目的
        通过机翻,大幅度缩减翻译时间
        通过润字,大幅度提升翻译精度
    最后既节省时间,也节省精力,更重要的是,你收获了一个完美的汉化
    如果可以的话,上面的隐藏内容spoiler还是尽量打开看一下吧,不管是不是真的能理解

至于为什么要教翻译?
    如果你在国外网站上看到一个很优质的插件,服务器的确需要它
    但是是英文的,你还不会汉化,这时候很少有人会硬着头皮去用它
    也有人选择付费汉化,这和第四章里面我的自叙内那个'利益链'又重合了
    你这次不会,下次还是不会,不去试就永远不会了。这也就促成了一些服主的技能缺失
    如果你选择不用,那么你放弃了这个机会来优化服务器?提升服务器质量?
    反正总的来说,只要服主懒得学,大环境就会越来越糟糕。
    所以我把我的绝学都贡献出来了:(

    绝学 : 机翻 + 极少量润字 ===极少量时间===> 论坛内顶尖汉化文件

    我明明可以靠这个混论坛的:(

正文:
    为什么选择了shotbow的minez后语料库无法支持?
    你要知道Minez这个游戏的背景
        中世纪风格
        爆发了生化危机
        黑暗森林
        科技轴混乱,原始武器却有广播和手雷
        超大开放式可探索地图,300多个风格不同的地点,都市
        非常恐怖的自由元素
        各种副本与传说武器
        各种元素与神灵取自很多神话
        背景曾经是魔法世界,但现在魔法在世界上消失了   →   剧情庞大
        ....... [+] 20 省略
    总之你能发现,这个世界观非常的混乱,可以见到 '你在中世纪里信仰火神的法师壁垒上用手雷炸各种僵尸'
    这导致可怜的百度精神失常了233
    (yys以为上面是机翻,其实是我自己写出来的介绍,草绳)
让我们进入正题吧

火焰神殿(像素时光译) Agni-Ignis
https://shotbow.net/forum/wiki/agni-ignis/ (没梯子可能会有点慢)

让我们直接通过网页翻译来机翻文章
(我这里同时保留了英文和中文,文中会通过加粗+下划线+倾斜来标出机翻有问题的部分)
(蓝色字体为更正后的)

AGNI IGNIS
烈火伊格尼斯
火焰神殿 (稍微文雅点的名字,来自像素时光)



Agni Ignis is a large Colosseum located in the Northeastern corner of the map. It can be entered by using the obliterated wall at the Southeastern section of the colosseum. Agni Ignis is latin for 'fire of Agni'; Agni is the Hindu god of fire. The Hindi (language spoken by vast majority of Hindus) pronunciation of Agni is "uh-guh-nee", although many English-speaking MineZ players say "ahg-nee".
Agni Ignis是一个位于地图东北角的大型斗兽场。它可以通过使用斗兽场东南部的消失墙进入。Agni Ignis因“烈火之火”而拉丁语; 烈火是印度教的火神。Agni的印地语(绝大多数印度教徒所说的语言)发音是“uh-guh-nee”,尽管许多讲英语的MineZ玩家都说“ahg-nee”。

这里就发现了,语料库无法支持这个wiki,语序上基本都不通顺
但其实能理解绝大部分内容的对吧,所以我们就可以用自己的话改一下(词语与语序)
我们发现斗兽场实在是太难听了,而这个建筑比较文雅的名字叫 '火焰神殿',所以就让神殿=斗兽场吧

Agni Ignis是一个位于地图东北角的大型神殿可以通过斗兽场东南部倒塌的墙(obliterated = 毁掉的)进入神殿 [ruby=调整语序]Agni Ignis在拉丁语中意为'fire of Agni'(Agni之火)[/ruby] Agni是印度教里的火焰之神Agni的印地语(绝大多数印度教徒所说的语言)发音是“uh-guh-nee”,尽管许多讲英语的MineZ玩家都叫他“ahg-nee”。

我们再来鞭尸一下
It can be entered by using the obliterated wall at the Southeastern section of the colosseum.
它可以通过使用斗兽场东南部的消失墙进入
可以通过斗兽场东南部倒塌的墙进入神殿

一般来说,英文里用被动会比较多,这句就是很明显的被动了
中文里就不会这么说
"这栋楼可以通过电梯上到30层"                     (是不是怪怪的)


中文里说话,尤其是这种介绍,一般会有主语的啦
"可以用这栋楼的电梯上到30层"                 (这样是不是就正常多了)


这句话也是一样的,'神殿可以被倒塌的墙进入'  这种这么蹩脚的中文到底应该去哪里才能找到啊(半恼
你的主语补上去就好很多了
"你可以通过倒塌的墙进入神殿",就会通顺不少




General Info
Coordinates(3500, -3500)
Area TypeColosseum
Number of Buildings32
Zombie ThreatUnbelievably High- Zombie and Zombie Pigman Spawners
Number of Chests47
Lootable GravesNone

基本信息
坐标(3500,-3500)
区域类型斗兽场
建筑物数量32
僵尸威胁高得太离谱 -僵尸僵尸猪人产卵
箱子数量47
可爱的坟墓没有

问题所在:
Area Type     Colosseum
区域类型       斗兽场  ——> 神殿

Zombie Threat   Unbelievably High- Zombie and Zombie Pigman Spawners
僵尸威胁           高得太离谱 -僵尸僵尸猪人产卵


神tm产卵 我们知道spawn是生成,那么spawner就是生成者,也就是刷怪笼
僵尸威胁           高得太离谱 -僵尸僵尸猪人 刷怪笼


但是语序真的没问题吗
僵尸威胁           -僵尸僵尸猪人 刷怪笼数量 高得太离谱





Contents
内容

笑死大牙了草绳,这机翻的语料库已经升天了。螺旋升天,法力无边。
所以我们来看看怎么翻译会比较好
一般来说,按照我们上面提到的
5. 如采用MTPE却失去了效率时,应立即放弃改用手翻。
我们现在应该关掉机翻转为手翻?
只对了一半,错的另一半是 '为什么我们要关掉机翻' 开着啊,给我开着啊!

Contents
  • Loot Chests    ——>    扒胸    ——>    掠夺箱子 (chest = 箱子/胸部)

  • Travel Advisory/Warnings    ——>    旅行咨询/警告    ——>    探索注意事项 (你甚至可以在生化危机时旅游)

  • Trivia    ——>    琐事   这里翻译对了!

  • Lore   ——>    知识   ——>    神话故事 | 神话历史 | 传说故事 (均可以,主要是需要符合语境)
  •      Lore Block   ——>    绝杀座   ——>    神话方块(这是直译,实际上应该文艺点翻译成)
  •                                                                  铭刻神话故事的方块(但如果你玩过minez就会翻译成)
  •                                                                 藏有神话故事的箱子
  •      Lore Book   ——>    传说书   ——>    神话书(这是直译,实际上应该文艺点翻译成)
  •                                                                 记录神话故事书籍
  • Miscellaneous Images   ——>    杂项图片 这个我没有异议,又翻译对了


小段总结
    首先,我们要判断语料库翻译出来的译文是否有参考价值
   
情况1如果你发现语句基本通顺,没有问题的话,可以直接进行润字
情况2如果你发现语句部分不顺,①请将译文和原句都找出来,②理解一下上下文
              ③在你理解的基础上,有问题的那块可以直接删掉,用自己的语言表述一下意思
    情况3 如果你发现语句全部不顺,也就是语料库暴毙的情况下,我们必须要自己进行处理
             ①把有问题的译文和原文段落找出来,②仔细反复阅读原文章与译文
             ③尝试理解想表达的内容,④利用已有的译文,对其进行大幅度删改

润字
    把你读起来不舒服的语句改一下即可
    建议要求严一点,反正和你写作文差不多,但是翻译游戏里的内容的话
    会感觉有点穿越文,科幻文,非常流畅地写着小说的感觉。还是很方便的
    至于如何改的话 我的建议是
            部分语句直接在译文上修改,删掉一下不准确的词,尽量表达出你自己的意思即可
            可能有人会问,什么叫表达出自己的意思?那原文要不要去管?
            答案是需要的,但是你是直接通过阅读译文的中文来理解文章的,基本不会有偏差
            可能又有人质疑,这是单纯的机翻啊,为什么不会有偏差?
            因为你看到的都是基本没偏差的部分,而你读起来不舒服,正在修改的,就是有偏差的部分啊!
    所以表达出你自己的意思,用你自己的话即可,你家长和学校从小就让你在中文上投入了大量语言技能点
    不要和我说你不能自己说出流畅的中文来啊,这不是白给技能加点了么

大幅度删改
    哦豁,完蛋,现在语料库支持不了了,机翻出来的译文狗屁不通
    所以我们就束手就擒?还是手动看英文翻译?这效率都不是非常高的
    所以我们仍然是需要理解意思,最好动手试试看,反复阅读几次
    实在翻译不来就跳过,翻译后文去
    我去翻译地图的时候就经常发现这种问题,翻译插件倒是从来没有过
    所以我的选择是:
        1 跳过这段,翻译后面的去
        2 睡一觉,周公托梦,教会我如何翻译
        3 周公也睡着了,我自己下载地图/插件去玩一下就知道怎么翻译了
        对于翻译wiki、插件也是一样的,把自己带入语境,自己亲自去用一下就知道怎么翻译了
干掉不会的以后,剩下来的就是比较简单的了
回到上面的润字环节(其实我没什么拆开来的必要吧 233)





狗屁不通时间到
  我选了比较麻烦的一段来做引子
   上面是原文
     下面是译文
       我的讲解会和译文放在一起
         原文地址: https://shotbow.net/forum/wiki/agni-ignis/ 你当然可以自己去对照着看

Travel Advisory/Warnings (top)
  • Due to the radical terrain and surrounding jungle, getting here will require lots of food. If travelling from the South, make a stop at Pileus, as that's the last location on the trip with food.
  • There are two ways to enter the colosseum: The ruined portion of the Southeast end, and the lesser-known tunnel in front of the western statue.
  • The outermost ring is generally a waste of time because they only spawn rares that are very distanced from each other.
  • The First Outermost Ring has zombie spawners between the houses.
  • While food chests do spawn here, they spawn on the outer ring very far from each other and you must walk quite a distance to get to them, so don't depend on this location for food.
    • Alternatively, food can be found at Treetops Shelter.
    • The nearest location with basic supplies such as bandages and milk is Kauri.

  • The food chests are located in the green stalls and, as this place has many crafting tables you may be able to craft cookies or bread if necessary.
  • Void Shrine is can found to the Northwest, Treetops Shelter to the North, Meteor Crater to the Southwest and Kaurito the South.
  • It is recommended you camp the Eastern lime green stalls as they're closer together.
  • Along with the houses, there's one Nether-themed house that requires a button to enter. It contains 2 pots_rare which can really help you in here.
  • Agni Ignis is the largest above-ground structure in the MineZ world. It used to be one of the most dangerous, but after the Secret Update the amount of zombie spawners was severely reduced and the pigman spawners were removed almost entirely.
    • There are still zombie pigman spawners in the North and South sides of the first ring from the center, and they can spawn while you are looting surrounding houses--potentially trapping you inside.

  • Plenty of gear supports a good size group, making it a great place to bring your clan.
  • There is a house with pressure plate labelled "Wudalfs 'Magic' Shop". Attempting to enter will shoot a random, being harming, poison, or slowness potion at you and spawn a zombie to attack you.
  • Bandits are rare but do come at times, but when they do, be prepared, they are often equipped with high-end equipment and can occasionally be in very large numbers.
  • Gearing here for a while is quite viable since after the Secret Update, Agni Ignis is almost on the safe side of locations in the world.
  • The four zombie pigman spawners that were occupying the center had been removed as part of the August 15th update.
  • There is a house with a wooden pressure plate, which once an item is thrown onto it or shot with an arrow will open a door revealing a basement with five buttons, mentioned above. Pressing "3" will open a second door on the opposite wall of the buttons. In this room there are 4 mil_epic chests and two more pressure plates. When items are thrown on these it opens a piston door to a small passage with a stone button at the back wall that when clicked teleports you to the middle of Agni Ignis.

旅游咨询/警告
探索注意事项(返回目录)
  • 由于激进的地形和周围的丛林,到这里需要大量的食物。如果从南方出发,请在Pileus停留,因为这是旅途中的最后一个食物。


你的反应是什么?
   ① 激进的地形  —— 激进是什么意思
   ② 旅途中的最后一个食物 —— 显然'食物' 是有问题的
所以我们去看原文,radical terrain被翻译为激进的地形
我们都知道 terrain是地形的意思,那么就是这个radical被翻译成了激进
我们去查一查radical的意思,网易有道词典在这里做的就很好,意思很全面
radical  : 根本的;彻底的;完全的;全新的;不同凡响的;激进的;
找到了!不是 '激进的地形',而是 '极的地形'!


而食物,显然这里想表达 'Pileus是旅途中的最后一个食物补给点'
像素时光这里是把Pileus翻译为了巨型蘑菇树,显然不是音译,而是根据建筑来翻译的


所以润字一下,翻译一下就变成了
  • (原)由于激进的地形和周围的丛林,到这里需要大量的食物。如果从南方出发,请在Pileus停留,因为这是旅途中的最后一个食物。
  • 由于极陡峭的地形和四周密布的丛林,需要耗费大量食物才能抵达这里。如果你从南方城镇出发,请在巨型蘑菇树处整顿队伍,因为这里是旅途中能遇到的最后的一个食物补给点(直到冲入火焰神殿,否则没有其他食物补给了)

=================很简单吧=================
    让我们再来看一些


  • (原)有两种进入斗兽场的方法:东南端的废墟部分,以及西部雕像前面鲜为人知的隧道。
  • 有两种方法可以进入神殿 : 爬上东南端的废墟部分,或穿过西部雕像前面一个鲜为人知的隧道


  • (原)最外面的戒指通常是浪费时间,因为它们只会产生相互远离的ra ..
  • 这里要看原文:
  • The outermost ring is generally a waste of time because they only spawn rares that are very distanced from each other.
  • 探索最外的建筑只是在浪费你的时间,那些建筑中的稀有宝箱间隔很远。


  • (原)第一个外圈在房子之间有僵尸产卵。
  • 第一个内环里的每个建筑之间有(中量)僵尸刷怪点
  • (显然你要把Minez玩透才能来翻译这个wiki,不然做不到非常完善)


  • (原)虽然食物箱在这里产卵,但它们在外环上产生的距离很远,你必须走很远才能到达它们,所以不要依赖这个地方作为食物。
    • (原)此外,您还可以在Treetops Shelter找到食物。
    • (原)最近的地方有基本用品,如绷带和牛奶是贝壳杉
  • 虽然这里会刷新食物箱子,但它们在最外环顶部刷新,且之间的距离很远,你必须走很远才能搜刮它们,所以不要依赖这个地方的食物补给。
    • 此外,您还可以在火焰神殿南方的Treetops Shelter(树冠庇护所)里找到食物。
    • 最近的一个刷新基本医疗药品的地方是贝壳杉,那里会刷新绷带和牛奶。


  • (原)食品柜位于绿色的摊位,因为这个地方有许多手工制作的桌子,你可以在必要时制作饼干或面包。
  • 最外层上绿色的摊位里藏有一些食物补给箱,火焰神殿里有很多工作台,你可以在有需要的时候制作一下饼干或面包




  • (原)建议您在东部石灰绿色的摊位上扎营,因为它们距离更近。
  • 建议你在外环上方淡绿色的摊位上驻扎休息,这几个摊位之间更近,能更快地领到食物补给


  • (原)除了房屋外,还有一个以虚空为主题的房子需要一个按钮才能进入。它包含2个pot_rare,可以真正帮助你在这里。
  • 除了普通的建筑外,还有一个(Nether-themed)地狱风格的暗房需要一个按钮才能打开。
  • 里面有两个pot_rare(专有名词,稀有药水补给箱)他们是真的能在火焰神殿里帮到你


  • (原)Agni Ignis是MineZ世界上最大的地上结构。它曾经是最危险的之一,但是在秘密更新之后,僵尸产卵者的数量严重减少,并且几乎完全移除了猪人产卵者。
    • (原)从中心开始,第一个环的北侧和南侧仍然存在僵尸刽子手产卵者,当你掠夺周围的房屋时,它们会产卵 - 可能会将你困在里面。
  • Agni Ignis火焰神殿是MineZ上最大的地表建筑。它曾经是游戏里最危险的区域之一,但是在一次秘密更新之后,僵尸刷怪点的数量严重减少,并且几乎完全移除了猪人刷怪点。
    • 从神殿中心开始,外侧第一个环的北侧和南侧仍然存在僵尸刷新点,当你周围的房屋里打开补给箱时时,它们可能会刷怪 - 并且将你困在房子里面。
ps: 猪人是一种特殊怪物,砍铁套玩家一下-3血,死亡后会爆炸并大范围击飞,使玩家获得流血效果,并召唤几个小僵尸猪人,小僵尸猪人移动速度是原版小僵尸的2.5倍,攻击同样能造成铁套玩家-3血。铁套是游戏里最顶级的装备。






  • (原)大量的装备支持一个大小良好的团队,使其成为带来你的家族的好地方。
  • 这里可以为任意规模的团队提供大量的优质装备,是带团队来搜刮的好地方


  • (原)有一个房子有压力板标有“Wudalfs'Magic'商店”。试图进入会向你射击随机,伤害,毒药或缓慢的药水,并产生一个僵尸攻击你。
  • 有一个建筑的门口有一个压力板,边上有牌子标着Wudalfs'Magic'商店。如果你试图进入房间会出现一个发射器,随机向你喷射伤害/中毒/缓慢药水,并生成一个僵尸攻击你(这个僵尸手上会拿着铲子)


  • (原)土匪是罕见的,但有时会来,但是当他们这样做时,做好准备,他们往往配备高端设备,偶尔会有非常大的数量。
  • 具有攻击性的玩家团队在这里很少见,但的确有时候会见到,请做好完备的防御准备,他们往往装备着神器与高级装备,人数可能会非常多(火神殿是副本光明之路的入口,所以可能会有过副本的顶级团队想清干净整个火神殿)


  • (原)在秘密更新之后,在这里展开一段时间是相当可行的,Agni Ignis几乎在世界各地的安全方面。
  • 在一次服务器秘密更新之后,你可以在火神殿驻扎很长一段时间,火神殿几乎成为了世界上最完全的地方


  • (原)作为8月15日更新的一部分,占据该中心的四个僵尸猪人产卵者已被移除。
  • 在8月15日的更新后,在火焰神殿中心的四个僵尸猪人刷怪点被移除了


  • (原)有一个带有木制压板的房子,一旦将物品扔到上面或用箭头射击,就会打开一扇门,露出带有五个按钮的地下室,如上所述。按“3”将打开按钮对面墙上的第二扇门。在这个房间里有4个mil_epic箱子和两个压力板。当物品被扔在这些物品上时,它打开一个活塞门到一个小通道,后墙上有一个石头按钮,当点击时会将你传送到Agni Ignis的中间。
  • 在内二层内可以找到一个内部带有木质压力板的房子,(在楼梯的下方),如果你将物品或弓箭射上去的话,会在最右侧的书架下方打开一扇门,门后有5个按钮,(如果你探索了整个火焰神殿,会在一个塔楼顶端找到一些日记,里面说明了密码是3),按第三个按钮会打开背后墙上的一扇门(这扇门关闭的速度很快,需要靠在门上按按钮,按完立刻向后退才能进去)这个房间里有4个mil_epic(史诗武器补给箱)和2个压力板。当两个压力板被激活后,一个活塞门就会打开,里面有一个石制按钮,戳这个按钮会传送到火焰神殿的中央
  • (这段实在是需要去把火神殿逛一遍才能介绍完整)

基础教程结束!
    很简单,看着译文,用自己的话改一下就行了
[翻译讨论] 如何做出一个还能看得过去的翻译?
    蝙蝠大佬的一个汉化教程,说的是非常不错的
    一般来说,这种标准化译名无视即可,不必要去看的,因为如果你是一个mc玩家,那就不会出这种问题。
    尤其是 你翻译的是wiki和插件,基本出不了什么问题

再次总结

        通过机翻,大幅度缩减翻译时间
        通过润字,大幅度提升翻译精度
    最后既节省时间,也节省精力,更重要的是,你收获了一个完美的汉化

    首先,我们要判断语料库翻译出来的译文是否有参考价值
   
情况1如果你发现语句基本通顺,没有问题的话,可以直接进行润字
情况2如果你发现语句部分不顺,①请将译文和原句都找出来,②理解一下上下文
              ③在你理解的基础上,有问题的那块可以直接删掉,用自己的语言表述一下意思
    情况3 如果你发现语句全部不顺,也就是语料库暴毙的情况下,我们必须要自己进行处理
             ①把有问题的译文和原文段落找出来,②仔细反复阅读原文章与译文
             ③尝试理解想表达的内容,④利用已有的译文,对其进行大幅度删改
   
最重要的一点,只要哪里不通顺,就把原文的字词拆开来
一个个单词丢到翻译软件里翻译就行了
最后就变成了 拼词语游戏


引子结束了,我们来看汉化插件吧

讲个鬼故事,我骗了你们
其实刚才那个wiki真的巨难
汉化插件和他比起来根本没难度

所以你的爆米花吃完了吗
没吃完继续吃,吃完了再去买吧


一个符文插件,如果你玩过像素时光的罪恶都市GTA,应该对这个插件很熟悉
叫什么我就不说了,是一个付费插件,而且现在原贴没了,也就是绝版了:(
好消息是我买了,坏消息是你们还没买 233
但是这不影响我们汉化插件

我们以Message.yml文件的一部分进行举例
仍然是notepad++ 的高亮
我们根据之前第三章的教程已经知道.yml文件如何阅读了
我们需要汉化的是: 绿色的注释部分与在引号之内的语言部分
如果你的汉化是自己使用,而不是发布出来的话,绿色的注释部分可以直接机翻,或者不翻
注释只是为了让人看懂而已


仍然是附上彩色符号的对照表


强调的是,见到冒号,必定是英文冒号加上一个空格再加上后面的东西
不管后面是字符串还是其他东西


Message.yml

# This message is sent when the Rune is given to player.
rune-give: '&aYou have given %player% the Enchanting Rune.'
# 当你使用指令送给其他玩家符文时会发送这条消息.
rune-give: '&a你送给 %player% 了一枚符文.'

没错,一上来我们就遇到了不能翻译的东西!
首先是
最左侧 蓝色的节点
其次是占位符!
不知道你还记不记得前面对于占位符的介绍?
第二章 我们在介绍PlaceHolderAPI时简略介绍过占位符
第三章 我们在介绍ESS语言文件时详细 介绍过占位符
所以在第三章中央部分就能找到详细介绍了,我不再这里重复了

# This message is sent when a player do not have permission to do any stuff regarding this plugin.
no-permission: '&cYou do not have permission to execute this command.'
# 当玩家没有权限使用指令时会发送此信息.
no-permission: '&c你没有权限使用此指令.'

# Message sent when applying an enchantment and there is no slot available.
no-slots: '&cThere is no empty slot left on the current item.'
# 当玩家在符文槽已满的物品上镶嵌符文时会发送本信息.
no-slots: '&c物品上已经没有符文槽了.'

# Message sent when plugin is reloaded.
plugin-reload: '&aSuccessfully reloaded files of the plugin.'
# 重载插件时发送此信息.
plugin-reload: '&a成功重载了本插件.'

# Message sent when you don't have enough money to purchase Runes with money.
no-money: '&cYou do not have enough money.'
# 当玩家没有足够的金币在商店里购买符文时发送此信息.
no-money: '&c你没有足够的金币.'

# Message sent when you take off the random enchant from an item through The Cursed Stone.
cursed-stone-used: '&6You took off &e%enchant%'
# 当你使用诅咒之石(The Cursed Stone)随机取下一个符文时发送此消息.
cursed-stone-used: '&6你取下了 &e%enchant% &6符文'

这里有一个比较正常的调整语序,补全对象的操作
'&6You took off &e%enchant%'
直接翻译是
'&6你取下了&e%enchant%'
然而这个占位符%enchant%对应的是一个符文
所以我们翻译成
'&6你取下了 &e%enchant% &6符文'

# Message sent when you use magical rune but you can't use it as the slots have exceeded its limit.
slot-exceed-limit: '&cYou cannot exceed the limit of slots, which is 15!'
# 当你使用魔法符文(magical rune)增加符文槽却被上限限制时发送的消息.
slot-exceed-limit: '&c你不能再增加符文槽了, 上限是15!'

这里又有一个操作了
默认符文槽的上限是15
但是如果你修改一下config,这个数量会变
但是这里不是占位符,是单纯的不变的语言文字(字符串)
所以你要是修改了上限,这里也要修改一下


# Message sent when you are about to purchase a Rune from Shop GUI, but you cannot afford it.
no-money-shop: '&cYou cannot afford to purchase this Rune.'
# 当玩家从商店(Shop GUI)购买符文却没有足够金币时发送的消息.
no-money-shop: '&c你买不起这个符文.'

# Message sent when you purchase a Rune from Shop. '%enchant%' placeholder will return the enchantment name with the level.
rune-purchased: '&aYou purchased the rune of &e&n%enchant% &afor $%price%.'
# 当你从商店购买符文时会发送的消息. 这里的'%enchant%' 占位符会同时发送符文的名称和等级.
rune-purchased: '&a你花费了 %price% 元购买了一个 &e&n%enchant% 符文.'

这里也是非常简单的一个语序调整
'&aYou purchased the rune of &e&n%enchant% &afor $%price%.'
直接翻译是
'&a你购买了符文 &e&n%enchant% &a花费你 $%price%.'
然后我们发现这个花费%price%只是一个数字,我们给他加上一个元
然后把它提前,同样的,给%enchant%补一个符文
就变成了

'&a你花费了 %price% 元购买了一个 &e&n%enchant% 符文.'

很简单吧
我们再来看一个简单的



Lore.yml


protection:
- '&lRune of Protection'
- '&f&lProtects the item from getting'
- '&f&ldestroyed through un-successful'
- '&f&lenchantment.'
protection:
- '&l保护符文'
- '&f&l保护你的物品'
- '&f&l损坏从失败的雕刻'
- '&f&l符文.'

即使我们这里把附魔换成符文,这个该死的换行还是非常出戏
从感觉莫名奇妙的不是么
所以我们就修改一下

protection:
- '&l保护符文'
- '&f&l防止物品在镶嵌符文时损毁'
- '&f&l将该符文镶嵌在需要保护的物品上'

这样就漂亮多了
对吧


magical:
- '&6Magical Rune'
- '&7Gives one extra slot to an item'
- '&7on which this Rune is placed on.'
magical:
- '&6魔力符文'
- '&7在物品上额外增加一个镶嵌孔(须已被镶嵌)'
- '&f&l将该符文镶嵌在需要保护的物品上'

我猜猜,你是不是要问,这个(需已被镶嵌)是哪里来的?
是我亲身实践出来的
所以在汉化插件的时候最好先去多玩玩这个插件


cursed_stone:
- '&4&lThe Cursed Stone'
- '&5Takes a random enchantment from an item'
- '&5and gives you the Rune of that'
cursed_stone:
- '&4&l诅咒之石'
- '&5使物品上一个随机的符文消失'
- '&5并将消失的符文复制到这块石头上'

lifesteal:
- '&lRune of Lifesteal %level%'
- '&a%success% Success Rate and &c%destroy% Destroy Rate.'
- '&6Sword Enchant'
- '&7Place the Rune on a sword to enchant.'
lifesteal:
- '&l吸血符文 %level%'
- '&a%success% 几率成功 或者 &c%destroy% 几率损毁.'
- '&6剑刃附魔'
- '&7可以将该符文放在剑上来附魔.'

这些符文的占位符非常的多,所以汉化的时候要对%%非常敏感

ps 这个插件大概有几百个符文
但是这里教汉化的话也不至于全部拿出来汉化
毕竟方法大同小异


block:
- '&lRune of Block %level%'
- '&a%success% Success Rate and &c%destroy% Destroy Rate.'
- '&6Sword Enchant'
- '&7Place the Rune on a sword to enchant.'
block:
- '&l格挡符文 %level%'
- '&a%success% 几率成功 或者 &c%destroy% 几率损毁.'
- '&6剑刃附魔'
- '&7可以将该符文放在剑上来附魔.'

arrow_rain:
- '&lRune of Arrow Rain %level%'
- '&a%success% Success Rate and &c%destroy% Destroy Rate.'
- '&6Bow Enchant'
- '&7Place the Rune on a bow to enchant.'
arrow_rain:
- '&l剑雨符文 %level%'
- '&a%success% 几率成功 或者 &c%destroy% 几率损毁.'
- '&6弓矢附魔'
- '&7可以将该符文放在弓上来附魔.'

你已经学会90%的汉化方法了
你需要的就是机翻软件,以及希望汉化能被读懂的心
只需要小小修改,就可以做到这种高程度的汉化

剩下来的10%是其他注意事项
有别于占位符,他们的特征并不明显,但他们不能被翻译
Config.yml

on-success:
      sound: 'ENTITY_PLAYER_LEVELUP'

恶意满满,为什么是大写的,怎么看都是不能汉化的那种吧
是的 这个的确不能汉化
这个节点的意思是,当符文镶嵌成功时播放玩家升级ENTITY_PLAYER_LEVELUP的声音
这个可以改啊,但是要一点点java基础,或者说,能查阅javadoc就行了
总而言之,这些是不能汉化的,虽然你看起来他是在引号里面的文字


on-destroy:
      destroy-item: true
      sound: 'ENTITY_ITEM_BREAK'

protection_rune:
       item-id: '339'
       item-name: '&f&lPROTECTION RUNE'
       display: '&a&lPROTECTED'
protection_rune:
       item-id: '339'
       item-name: '&f&l保护符文'
       display: '&a&l已保护'

这里的339是材质啊,对应的是纸
下方399是下界之星
397:1是凋零骷髅头
这里是可以用损伤值的


magical_rune:
       item-id: '399'
       item-name: '&6&lMagical Rune'
magical_rune:
       item-id: '399'
       item-name: '&6&l魔法符文'

cursed_stone:
       item-id: '397:1'
       item-name: '&4&lCursed Stone'
cursed_stone:
       item-id: '397:1'
       item-name: '&4&l诅咒之石'

OK 基本上能遇到的就这点了
还有一个不能动的是数据库
DataBase,但是默认都是false的关闭状态
所以你就算一不小心汉化了也没关系
当你真的要用数据库的时候,自己也会有意识地去找一下教程
这时候也不会犯一不小心把数据库汉化掉的破水事

[心得] BoneStudio —— 搬运插件入门教学(入门)&继续完善你的汉化(进阶)[1.6-1.14]
值得一提的是我之前这个教程的最后一页
是讲一些机器翻译时会遇到的问题的 希望大家在机翻时也能去看一下这个文章的最后一页
就是那个 [词句翻译不来怎么办]点击这里对照查看
对于错误的机翻还是有一些帮助的

如果你懒得过去翻页,我这里也提供一下副本好了


挺好的,那我们就结束了吧

...
第五课: 1 配置文件大教学VI : 手把手教你!汉化你的插件 的配置文件: 放心 我老早就已经准备好教案了
            2 针对第二课内推荐的 所有插件存在的使用疑惑、问题,进行收集并解答
。。。
敲,还没结束么,那我们先下课吧
比较致命的问题是,我最后是有问题整理的,所以会重复
所以这个yys写的目录也太烂了
我们就不讲了,有问题的话可以提前翻页到后面看





下课!

先休息一下吧
把那个44分钟洗循环的歌关掉吧
我们来听点好听的

https://music.163.com/style/swf/widget.swf?sid=622458&type=2&auto=0&width=320&height=66


響音-kotone-

因为版权保护什么的
所以就没有办法用flash外链挂在这里了
但是是真的非常好听,建议大家打开网址去听一下
https://music.163.com/song?id=622458
(虽然网页版的音质真的是太烂了)

光の音(ね)を 优しさで包んで

【来自光明的声音 温柔的包裹着我】


かき鸣らそう 希望のハーモニー

【如同怦然一声 希望的和乐】


今はまだ 罪滅ぼしで

【虽然现在赎罪的力量仍然渺小】


弱いけど… もっと優しくありたい

【想变得更温柔…】


理由なんて 君を見てると

【借口什么的 你寻找着】


馬鹿らしくなるくらい体中 溢れる

【像个傻瓜 充满了躯




想谢谢某些人呢...
但是本帖风评还未知,所以先不说了

大家可以下课了
接下来是回答一些问题的时间,很多人都没有这种问题
一般来说,只有用端会有一堆问题,现在想来第五章马上就要结束了
第六章我一上来就开始狂喷预制端 哈哈哈,现在想着就很爽的样子233

  _______第五章字数统计 26,451    耗时 3小时
  __请使用滚轮返回顶部并在目录处点击 第六章                       ?我下课的内容和目录里不一样?都在第六章攒着呢





——————————————————————————


NO.6.1



喵 这次还是纯音乐的说,篇幅略长,所以换了我准备的一个歌单
怕大家听着睡着,所以各种曲风的都会有
其实已经没必要了,因为原来第六章是连在一起的,所以巨长,这个歌单就让他去吧




老师!之前的课间休息去哪里了!

好好好 来个大家算笔账

第三节下课 :  老师你好可爱
不 吾辈不可爱

第四节下课 :  老师...你...到底是刀客塔还是休伯利安号清洁工还是提督还是魔物娘贩子还是御者
对不起...其实这些都是我的身份,话说回来我还是骑空士来着


6、下课给你们补完了,接下来是吐槽大会!
不知道有没有人是从头读到尾的
我在前文提到了不知道多少次'第六章'
可想而知,第六章会是多么丰富

...

开玩笑的,我写不出什么厉害的东西来
你们前面也看到了, 我到底有多弱:(
那个第四章自叙写的我无地自容233

我们来简单的看几个关于你们自己的问题
引子:

--------------------------------------
你厉害吗?

    这是一个非常宽泛的问法,每个人都可以回答"是的",但同时也必须回答"不是"

--------------------------------------
你为什么回答"是的"?

    本帖的教程希望把每个人都培养成独当一面的服主,而不是到处乱窜的技术
    看到这里,你已经学会 基础插件,权限组的配置方法
    只要条件允许,你就能开一个BC群组服
    只要你愿意花费几个小时,你就可以写出完美的汉化
    甚至已经没有什么插件的配置文件可以难倒你了,虽然你掌握的只是一个基础,但这足够了
    在插件配置上,你缺少的已经不是能力,而是阅历了
    如果继续看下去,你甚至能学到更多其他东西。

    但如果你不是一个纯粹的萌新
    如果你在看本帖前已经会了一些东西,你又领跑了别人多少呢!

--------------------------------------
你为什么同时需要回答"不是"?

    你必须承认的是,你很弱
    或许你比我弱,或许你比我强,这都不重要
    重要的是,你的努力没有被全世界认可
    即使是Hypixel又怎样呢?他能做到一切吗?就算是[ruby=yc]樱花[/ruby]和[ruby=像素时光]7024[/ruby]站在你面前,你又何必去惧怕、去恭维呢
    我们比Hypixel弱很多,我们比任何人都弱很多,即使我们可以是最强的,但我们仍然站不到顶点

    空: 我再次强调 我们是弱者!
         我们宣誓作为弱者活下去 像弱者一样战斗 然后以弱者的方式消灭强者!
         就像过去一样 今后也会贯彻到底

    HY立于神之上?是的,但是你也可以站上去,这并不难,需要的是时间,需要的是精力
    但是更需要的是,你的满腔热情,想把服务器做好的心

--------------------------------------
我对从头看到这里的所有人致以最崇高的敬意,接下来的问题,已经没有必要回答了

    你真的有时间开好服么? ———— 从头看到这里,需要的时间真的不少
    你决定好开什么服了吗? ———— 本帖是为插件服而生,你可以不选择插件服,但不论怎样,你已经做出了选择
    你了解你的服务器端吗? ———— 不需要深入了解,只需要稍稍了解用途即可
    你知道租什么机子了吗? ———— 第一章,你已经知道了,记得小心提防陷阱哦
    你已经会开服务器了吗? ———— 是的,你会了,核心与bat,修改配置文件就行了
    你已经会配置插件了吗? ———— 是的,你会了,只要学会最基础的yaml语法,就会配置插件
    你的团队都准备好了吗? ———— 你可以有,但你不需要。当然,招收团队也要提防陷阱

接下来,容我撕掉目录,我不需要按照目录这么讲课。
我们说了这么多,先让我们来聊聊 你自己

你高兴吗?

    这是什么问题?这无关乎服务器?错了
    你要知道,有很多事情都能让你高兴,但每个人的价值取向不同,答案也是必然不同的

    游戏生来是为了让人玩的,玩家高兴就是游戏娱乐目的的终极体现
    所以你的答案可以是 "我希望我服务器的玩家可以玩到不一样的色彩,这样就能让我高兴了"
        ... ...? ... ... 。 ... ... ... 你真的高兴吗?高兴的人中真的包含你吗
        你麻木吗?你累吗?你能从恣睢的生活中分辨出这种快乐到底是否是幻觉吗?
        伪善吗?虚幻吗?只是臆想的欢愉吗?

        至少我曾经如此踌躇着,纠结着,循环着,永无止境,循环往复地变得麻木了起来
        直到我不是独自一人,直到....... 或许我们稍后还会回到这里的

    我穷困潦倒,是无业游民,只能靠开服务器度日,平时也会去卖卖端
    你是快餐服吗?      "不...我的确觉得这样有所不妥"
    每次赞助都能让你快乐么?    "...很不甘心,但的确是这样的..."
        这又是一种情况

        [ruby=____________________]但我们见到更多的是[/ruby]
    我开了服务器作为副业,每天浑浑噩噩地拿点外快。
    只要能充实生活,我就会一直开下去

    我卖端也是作为副业,每个端都能赚到不少钱,几千到几万不等
    这点外快真的能让我在平凡的工作之外收获很多
    ...

    他们高兴吗?在某种层面上,他们实现了自己的目标,他们是高兴的
    但这是游戏带来的快乐么...

    我们追求的快乐绝对不是这么浅薄的!


    <我的世界> 只是简单的方块放置,几个朋友围成一圈,收获着童年般创造着的欢乐
                      Sssss....BOOOOM!童年中与玩伴的追逐就从此拉开了帷幕

    <这是我的战争> 游戏的外表下,实则是对人性的深思,很多人通关时都会有难以言表的感受
                             这不是快乐,这是战争中主角队与周遭事物交互时映射出的对人性的理解、诠释与表达
                             但你仍然会是快乐的,即使是如此残忍的背景下,回忆起游戏过程时,这定是令人振奋的

    <Undertale传说之下> 这是我玩过的最烂的游戏,我甚至无法隔着泪水看清屏幕
                                    至少我是快乐的,我真的很快乐。单纯的听到小花花,羊爸,羊妈都能让我会心一笑

其他主机游戏也是如此,手游更是如此
来聊聊我的历程的话
从最初童年单纯的塔防游戏,7k7k,4399小游戏,巴哈姆特之怒,部落冲突,海岛奇兵
到前几年的皇室战争,fgo,舰C,舰B,碧蓝,再到现在的明日方舟,牧羊人之心

这些是真正的快乐,能让人感到快乐,激动,愉悦,幸福的游戏了
...
...
但在这些游戏里,我们都只是玩家,游戏制作组付出的时间,汗水,痛苦,我们根本不会知晓
一些玩家追求的都很简单 : 快乐,轻松
一些玩家追求的都很复杂 : 剧情,难度,设定,细节,立绘,操作

而作为服主,你要做的是很多很多抉择
你要迎合多种玩家的想法,也要实现自己的终极目标
但失去了欢乐,取而代之的是痛苦,折磨,循环往复看不到尽头的未来
你还能站在这里,大声的喊出这些话吗?
  -  我要让玩家快乐!
  -  我要实现自己的终极目标!
  -  我要一个个地超越其他服务器,站上真正的穹顶!

这是野心,这也是可以实现的野心
但我们聊了这么多,我们终究是不快乐的...
看下去吧,这一切终将会有一个终点!我们的野心很简单,我全都要!

正文:

我们服主的快乐!

    我们需要个毛线球的教程,我们当初玩mc还不是自己乱挖乱造,被苦力怕和蜘蛛追的到处跑
    晚上挖个山洞钻进去什么的,这不就是我们的快乐么,再蠢再傻,这都是最初的快乐啊
    几个朋友在一个房间里联机玩生存,跑来跑去还迷路... 最后在现实中也笑得不可开交
    真的很快乐,这是我可以肯定的,是我真实地触及过的快乐,不同于上文的恣睢,这是过往的证明!

但是....
    唯一的质疑 : 这显然只是玩家的快乐,当你成为服主以后,这种快乐只属于玩家了

被问倒了呢...  的确 开服是非常痛苦的,你要考虑各种方面的问题
这样的快乐都离我们而去了

    让我们对质疑发出质疑! : 凭什么只是玩家的快乐?

是的,我们的质疑根本找不到落脚点,我们没有理由证明我们在做服务器时很快乐
我们为自己创造了虚假的快乐...
...
但我们仍然可以创造真正的快乐
Tips1 : 孤独的服主并不坚强,从开服入门到快乐
一个人走下去很痛苦的
我是亲身实践的 www 走了好几年,结果几个朋友就让我找到了世界的光芒
或许是我在黑暗中绝望挣扎了好久,这微弱的一丝光芒居然能让我如此兴奋,如此快乐

千万不要学我,大家请从头高兴到底吧!
本帖教了不少东西,跟着本帖走下去,你指不准还能独当一面呢
我认为本贴的知识,到目前为止,已经能让你开启一个服务器了
所以现在能打倒你的,只有自己内容的痛苦和孤独

我们上文问了一个问题
    你的团队都准备好了吗? ———— 你可以有,但你不需要。当然,招收团队也要提防陷阱
团队是什么?你印象里的团队是什么?

精英服主 : 说的头头是道,把服务器的一切都规划完美
精英技术 : 随手配置所有插件,还能开发好多很厉害的插件
精英建筑 : 用小木斧啊,笔刷啊,各种软件啊,造出令人惊叹的建筑与地形
其他精英队员 : 负责美工,宣传,服务器管理 等等

我承认,这个的确是非常厉害的团队配置,也是很典型的服务器管理团队
其实很多服务器基本都是这样的,不过能不能加上'精英'两个字我就不清楚了
当然也有这种的

小游戏管理员 : 负责小游戏插件配置、编写,建筑,玩法等
监狱风云管理员 : 负责监狱风云插件配置、编写,建筑,玩法等
GTA管理员 : 负责GTA插件配置、编写,建筑,玩法等

很典型的像素时光式管理团队 233,国内挺少见的,国外倒是有很多这种团队配置的

但是为什么我们要学别人啊
开个服务器而已啊,你现在的目标也不是一跃而起,站到世界巅峰吧
你现在也只是希望能让服务器撑下去,一直有人玩对吧
而且有一个大前提,就是快乐做服!
所以你的团队成员可以是?!

一个/几个玩家!
   你只要先开个服,然后抓几个玩家来,问问他们对玩法的想法
   "你们想要玩什么鸭"
   然后灵感就会不断涌上来,他们会七嘴八舌地提各种建议
   而你只需要把服务器开起来,让你们一起进入服务器
   在游戏里面一边做服务器一边和他们尬聊
   做完一些功能,玩法以后还可以让他们试着玩一下
   虽然这其中会出现很多优化误区,盲从玩家建议加插件,或者仅因为服主自己想要加就加了插件
   这个我们后面会提啦,不过还是很快乐的
   "欸诶,新功能做好了,你们喜欢这个玩法吗?我给你们个权限节点,你们来试试看吧"
   然后就可以快乐的和玩家打成一片了

一个/几个非常要好的朋友(基友)!
   没错,对于不知道什么时候会遇到一些没素质的玩家
   找找身边玩mc的同学不是更加好么
   一起在服务器里面瞎聊,毕竟是同学嘛,肯定是比较聊得来的啊
   就算你的朋友不会开服,你可以给他安利一下本教程
   咳咳,开服事这种就别祸害别人了,除非他也非常渴望开服
   你可以给他介绍一下,有哪些玩法,比如什么粘液科技啊,什么监狱风云啊
   枪械什么的虽然我很少碰,但是写枪械配置是很在行的,得出结论 : 挺好玩的

   几个朋友围在一起,在服务器里瞎聊,对于非常要好,认识很久的朋友来说,你完全可以给一个op
   不过还是要叮嘱几句的比较好
   如果是网上认识的就要多多留心了啦,不过我遇到的好多都是好人www
   后台就算了,除非他是你的同学,而且还是会开服的那种
   不过你和好朋友(基友)在现实中会打成一片吗
   如果你找来的朋友和你关系很好,那么做服就和玩服没有区别,一起见证着服务器成长
   会非常快乐的,相信我吧喵


这就是我们服主最开始可以找到的快乐,我更希望能选择后者,找朋友来做服务器
这份快乐和玩游戏的快乐已经无差了

Tips2 : 快乐的情况下做服才有动力呢。暂时放下网络,触及真实

是的,我们要在做服的情况下给自己找点乐子
上面那点的确是不够的,但是我没有别的建议,只能说不要弄得太累就好了
有问题可以自己尽力去研究一下,实在不会也不要头铁,去问答版问。
但是我也不建议一出现问题就直接去问答版问,先自己修修看会比较好。

这是我教程里第三次的大改目录,不跟着目录走,所以介绍上可能有些不尽完善,请见谅
原来是按逻辑来编写目录的,还问了问yys的意见,后来就随性写教程来祸害大家了233

快乐的服主会有更多的动力做好服务器 的说
即使推动着你往前的是你的目标
但是建议把快乐摆在第一位 的说,能提高效率和质量
累了的话建议就去睡觉,逛b站、肝游戏什么的也不错,虽然完全不像是在休息

其实有点像我们在闲聊吧...这章因为要亲近玩家各种想法,服主自己的想法,以及再讲讲一些配置文件
  所以我花了一些篇幅来让大家正确认知一下。
  只要你主观上很快乐,给自己动力走下去就行了
  你的朋友,同学可以是你坚强的后盾,推动着你向前走,或者是在失落时与你共同坚持下去。
  这样开服的服主,"他们的主观能动性",或者说是"你们的主观能动性" 是非常强的
  相信即使你们遇到了挫折,在配置上出现问题,后台报错连连,开服再怎么不顺利也能撑下去
  而非和我见过的一些群友一样,出了事...居然第一反应是来找我求安慰... 当然也有求我帮忙的...

我后来才告诉家长开服这事,他们挺惊讶的,但是没有说什么
只是觉得如果我能自己在学习和游戏之间平衡好就可以了,所以我的家长也算是一块坚实的后盾吧
虽然他们可能并不明白开服和玩游戏的区别,但也没有必要去特地解释给他们听
你要知道,网络世界不是现实啊。先搁置着你的电脑,去找家长聊聊天,亦或是去抱一下家长也挺好的。
网络世界遍布暴力,我们兴许无形之中也为别人施加过压力,带来过痛苦与绝望
这样片刻的欢愉,片刻的真实,放下网络与游戏,摸摸现实中触手可及的真实,还是非常能令人一振的

家长知道我在写这篇教程的时候,居然很鼓励我写这种东西
至少我的家长还是比较开放的,虽然我知道有一些家长......
这时候寻求同学,朋友的帮助也是非常明智的选择,尤其是仍然是学生党的家伙们
学生党们拥有最多的精力(临中高考不算),也有最多的死党,虽然我是女的,但是和男生也很聊得来
就我了解下来,班级里的男生基本上都是团结一致的死党吧。然后... 开服的也基本都是男生
你们的死党朋友都在学校里不是么,我才不信你们下课全是刷卷子,做作业,游戏都不聊的那种呢

Tips3 : 足够快乐的你该找一些队友了

首先 如果你的死党朋友,要好同学里有会建筑,会开发,会策划的
那就把他们拖入坑里来!你现在并不会比他们弱多少的
当然,如果你的同学比你强,请你放下本教程,快去问问你的同学,向他们取一些经吧

如果没有?这时候就该去物色一下队友了
这个时候,你有几个很的选择,第一个是去MCBBS的人才市场

如果你在MCBBS的服务器版没有服务器宣传贴
使用回帖的方式,按照格式,发表你团队的招募

如果你在MCBBS的服务器版服务器宣传贴
请前往,人才市场
使用发帖的方式,按照特定的格式,发表你团队的招募
版规与发帖格式,请前往https://www.mcbbs.net/thread-404608-1-1.html查看

前往评论区,找找是否有你心仪的技术/美工/建筑

第三个是在MCBBS之外寻求你要的技术/美工/建筑
比如qq群这种鱼龙混杂的地方

请注意,匠人酒馆 那边是不能发服务器团队的佣兵招募贴的,不要发错地方了

当然 我的意思是,这些公开招募的地方,都是鱼龙混杂,质量良莠不齐的
他们的自我介绍大多都只是片面且无法与你实际需求完美契合的

或许你想开生存服,或许你想开RPG服,或许是小游戏?或许是GTA?
但别人真的就和你想的一样吗
或许他也想开生存服,但是你们都希望开群组吗,都希望开mod服吗,亦或是插件服
这一切的一切都是难以契合的

而契合又可以是另一个陷阱
契合不代表有能力,或许你一个人可以勉强支撑下来,仅仅是寻觅着那一丝丝的成就感也能找到快乐
但当另一位'队友'的加入,你可能会被他带着跑,而你能否继续学习下去呢?
你或许需要带着他跑,但当初找到他的人是你啊,不负责的你,嗯?
或许他根本不是队友,只是掩面的恶魔,伺机待发,背刺,致命打击,随后暗影步扬长而去。
  (你才是炉石玩家,你全家都是炉石玩家)

风险是很大的,谨慎做出博弈,搏一搏可以变摩托,也可以变成废铁
   毕竟所有人都不会像我一样100%纯用爱发电,我也做不了'爱的核能发电机',没有精力一直帮下去的
   你付钱'租'来了骗子,'租'来了猪队友,虽然也可以'租'来巨佬,但是这是小概率事件
   总之,请谨慎选人,你的第一反应永远是错误的
        我方才在人才市场逛了几圈,我以我是一个rpg服主为视角出发
        (我的需求与我的实际情况为虚构,但人才市场我是真实去逛了,所以下面是我内心非常真实的博弈)
        我需要的是会 ils(或同类lore判断插件)的技术,一个普通水平的建筑,一个有经验的策划
        我是一个1.13插件服服主,在我物色人才的时候,经常发生如此的偏差

第①位,他是一位普通的技术,他会配置ils,能看报错,很符合我的需求
但我决定无视了他,为什么?

我打开了他的主题帖,发现了十几个问答版的提问帖,均是mod相关
我断定他是一位mod服的RPG技术

虽然他一般是配置mod服,虽然他会使用ils,但是我慎重考虑了一下,最后决定无视的原因是什么

mod服与插件服玩法上区别是很大的,且各种bug是完全不通用的
即使他会看报错,能修插件,即使不出现bug
在插件服工作,绝对是不适合他的。他的眼界在于mod服。插件服RPG相较于mod服
在武器种类,配置难度,使用插件/mod,范畴是绝对截然不同的
所以他是绝对不适合的

第②位,在mcbbs有发过建筑作品的一位家伙
我无视了,作品挺普通的,就算是稍优质一点的作品,我也不会选择他
首先,我考虑了我的能力,如果你往后看到第七课,我会教你如何使用笔刷
笔刷可以让你修/造简单的地形,在建造稍大型的建筑时也可以帮忙
所以其实我的能力比他还高,233,所以其实我需求里的'建筑',并不是真正的需求
我只是懒得造建筑,只是单纯地希望有个人来帮忙一起造
而这个职位,在我心中的定位是让同学来帮忙会比较好,所以就跳过了
但是请注意,你们不一样,指不准你们是需要一个建筑来帮忙做地形,造建筑的
所以到底是否需要做出抉择,请根据你们实际需求来定!


另外,建筑是建筑地形是地形请大家询问的时候问清楚
尤其是qq这种地方,他们作品拿不出,会什么也全凭口头说,还口口声声要你讲诚信
我倒是生怕这种人会逃跑,请大家谨慎,谨慎,再谨慎的选择你的队友


第③位 技术,太弱 跳过
第④位 技术,太弱 跳过
第⑤位 美工
作品都很不错,但是我无视了
主要是我去看了看他的回复,是个大水怪
还是个闸总,动不动就嗷嗷叫,还喜欢黑来黑去,惹是生非
警告也吃了不少,这种我是不敢要的

第⑥位 技术,要价太高 跳过
...
嗯?要价太高?
没错,Tips3.1 : 要价太高? 在各方面询问清楚

要价高是正常的,他就算要服务器全额收入都是正常的
但是,你是否会接受,在你心目中这种分成规则是否合理就是另外一个问题了
你当然可以不接受,你也可以和他再谈
你会见到各种情况,比如要收入百分比的,例如每月20%服务器收入作为工资这种
也可能是每月200块工资这种定时定量的
也可能是其他情况,比如按工作量,要有底薪之类的

请服主们仔细挺看我下面要说的:
如果你找来的人需要工资的话,请问清楚
1 分成明细: 日薪?月薪?年薪?
                  固定工资?收入百分比提成?是否需要底薪?还是其他分成模式,例如按工作量发
                  如果是固定工资,未来是否需要加薪?如果是百分比,是否需要随着工作量而变动?
                  以及,如果不工作,没有业绩的话,工资是否需要照发

2 职能明细: 一般来说建筑是不需要给后台的,当然如果你信得过我是觉得没问题
                  一般来说建筑也是不需要给op的,只要给到WorldEdit的一些权限即可
                  至于到底要不要给后台与op,你需要与被招募者沟通清楚
                  一般来说技术是要给后台和op的,所以选技术的时候必须非常非常谨慎
城管职业是高危人群: 城管,即单纯管理服务器玩家琐事,治理服务器风气等的人员
                         他们一般是只有op,没有后台的,但是一个op就很危险了
                         拆玩家建筑,针对看不惯的玩家,这种似乎已经成为了常态
                         但是显然这是有问题的,所以我不建议招募城管
                         如果你有朋友有充足时间,且能够充当城管的,我非常建议选择他们
                         交流起来是很方便的,你们会更加熟悉对方一点,出事的时候能第一时间沟通到位
                         退一万步,如果你真的要招城管,请认真审核他的资质,处事习惯。

3 工作时长: 一个技术蹲好几个服务器我是见得不能再多了
                  首先你服务器可能会因为管理人员和其他服务器重复而被删帖,这是概率事件
                  其次他主观上更喜欢在哪个服务器工作,也是被招募者的自由
                  所以他可能会在其他服务器上更加上心,然后鸽了你的服务器
                  所以一般来说,我建议你们聊清楚工作时长,或者按量来定价

但是不知道你们发现没有,我每一步都说得畏手畏脚
生怕在教程上出现什么纰漏,然后就有人会被我误导
而细节方面也是说得非常的累赘
我一般是很讨厌去找人的,一个原因是自己都能做,另外一个是嫌麻烦
找个人要花半天,还要聊半天,最后开工了又是一堆事情,随着服务器发展,种种问题会被放大
总之是非常麻烦的,所以免得大家被骗什么的,还是建议大家自己好好学习技术,建筑,美工
美工我不会教啊,这个是mc的教程,你要是想学,去百度即可
(其实是 我只会ps和一点点c4d,AE在吃灰,板绘也画的贼烂)
所以很希望大家能多学一点东西,独当一面什么的还是挺不错的
当然,我们也需要适当依靠一下身边值得信赖的家伙们啊!


Tips4 : 职务一览表

需要注意的是,这里的所有评估均为我的主观评价,是依据我看到的市场情况来评估的














职务名称 风险系数 细节评估
城管 中等 - 稍高- 可以实际影响到服务器建筑,倒卖物品
- 恶意针对玩家(修改服务器/玩家游戏数据) 等
技术 - 配置 高危 - 极高- 基于 城管 细节外还有: 需触及后台,可以偷后台,删后台,偷服务器端 等
-
技术 - 开发 高危 - 极高- 基于 技术 - 配置 细节外还有 : 添加后门 等
-
建筑 - 外形 较低 - 几乎没有- WorldEdit可影响服务器建筑,地形
- 也可能导致不必要的存档损毁,玩家数据丢失 等
建筑 - 地形 较低 - 几乎没有- 同上
-
建筑 - 内饰 细节 较低 - 几乎没有- 同上,但潜在威胁可能更小
-
宣传 - 帖子 群聊 中等 - 偏低- 服务器贴违规会导致服务器风评被害
- 各处随意宣传服务器会导致服务器被诟病
宣传 - 主播 较低 - 几乎没有 - 请不要去找主播,原因在下文
-
其他 - 赞助 中等 - 稍高- 实际接收赞助时可偷改定价,与玩家密切接触,需成为重点关注对象
- 能从中作梗,盗取服务器资金(影响风评) 等
其他 - 策划 高危 - 极高- 一夜之间就能让你服务器插件、玩法
- 服务器管理员的个人信息 等 向公众开放
Undefined
-
-
上个评估校准点 2019.8
较低 - 几乎没有 : 不必要特意提防,他们无法在反水时对服务器造成太大损害
中等 - 偏低 : 不必要特意提防,他们在反水时可能会导致一定的损失,但可以通过备份弥补
中等 - 稍高 : 需要特意提防,他们在反水时可能会导致较大的损失,但可以通过备份弥补
高危 - 极高 : 必须特意提防,他们在反水时可能会导致服务器覆灭,可能可以通过备份弥补,但更可能于事无补

总结一下,备份很重要,选人也很重要

Tips5 :  入职登记表

据我的不完全统计 骗子服主 和 骗子入职人员 比例逐渐趋近2:3
所以请各位入职者也仔细审核服主的资质
下方的入职登记表仅做参考



Tips6 :  行情统计

简单的不完全统计 I
统计人: 极光creeper       协助统计 : 红枫
统计时间: 2019.8.1 - 8.4
统计对象: 7个寻常大型技术群内1921位群成员,除重后约1300人

统计结果:
简单折合一下比例,稍微调整一下下数值的话,大概是:
骗子服主 : 骗子求者 : 其他骗子 : 快餐服管理 :    正常人群    : 快餐人群
      2      :        3         :      2      :     1[0.4]     :   132[134.3]  :      10

中括号里的是校准值(精确值),非校准值的部分是便于下文方便大家了解实际情况用的
可以看到,每150人中居然能有7个骗子,这个数值还是很惊人的
快餐服的确存在,但是数量并不多,实际上大概450个人里有一个开快餐服的

简单的不完全统计 II
统计发起人: 极光creeper       协助统计 : 红枫、厕纸、sbfsdd、小智、年少
预查重 : 极光creeper,红枫,sbfsdd,白芷,妹红
二次查重 : 红枫、厕纸、sbfsdd、小智、年少,白芷,妹红,[要求匿名I],[要求匿名II]
三次查重 : 极光creeper,红枫
统计时间: 2019.8.14 - 8.25
统计对象: 30个寻常中小型技术群内7209位群成员,除重后约5350人

统计结果:
请注意,本次统计中可能有部分数据在统计时出现错误
简单折合一下比例,稍微调整一下下数值的话,大概是:
骗子服主 : 骗子求者 : 其他骗子 : 快餐服管理 :    正常人群     : 快餐人群
     6       :        5        :      9       :     1[1.04]   :   636[639.2]  :     13

每670人中间大约有20位骗子,[原始数据是加起来是21.14]
数据感觉还不错,但是在结束统计后我还有继续发现没有被计入的骗子
所以仅供参考,工作量还是很大的,真的非常感谢协助统计的几位

快餐这块我是无感了,记忆里的快餐服数量其实是很多的
但是数据抽了我的脸,不论是快餐服腐竹还是玩家都很少

这是好事,说明快餐在变少,或者正在淡出我们的视野
也代表着如果谁开了一个快餐服,因为其"稀缺性"
可能马上就会被发出来挂十字架上火刑


完全统计 III
统计人: 极光creeper
统计时间: 9102.2.31
统计对象: 极光creeper技术群内260位群成员 [不对外开放,别想了,这不是宣传]

统计结果:
骗子服主 : 骗子求者 : 其他骗子 : 快餐服管理 :    正常人群    : 快餐人群
     0       :        0         :      0       :       0         :        234       :      16
我被吓到了,我群里怎么玩快餐服的人这么多 草绳
但是的确是没有骗子和恶俗小人的 (我群是禁任何广告,禁vps的)

所以在不同的qq群里,你能遇到的骗子数量也是截然不同的
人数多与少,都不能代表群的风气好与坏
但是根据群内用户的言行,是能看出一个群问题是否属于管理重灾区,容易让骗子乘虚而入的
如果你选择在qq群,或者其他地方寻求你服务器团队成员的话
   第一步,可以先审核一下你找到他的那个群风气
   第二步,详细了解你中意的成员,并仔细审核其资质
   第三步,细聊利益相关(如分成等),我们力求不在乎是否获得利益,但不能让自己的利益被损害
   第四步,如果被招募进来了,请把那个成员当成你的好朋友来对待
                即使我上文叮嘱你要小小留意他们,但你是否看得惯这位成员是你先前就可以有印象的




统计备注:




Tips7 :  宣传相关 —— 主播? ——下文4.4的引子

宣传重要吗?
我想给出一个与其他教程不同的结论
不重要

甚至你在mcbbs是否有宣传贴都不重要
你宣传的目标只有两个

第一 让你的服务器先获得一些稳定的玩家群体
第二 找一个地方写一个服务器玩法总结

仅此而已,说实话,第二个目标我倒是觉得挺棘手的
为了第二个目标你似乎必须得发个帖,所以结论1 : 发宣传贴是有必要的
==========================================
我们回过头来看目标1
'让你的服务器获得一些稳定的玩家群体'
那么呢?
来思考一个很简单的问题
如果你的服务器足够优秀,只要有一些少量玩家来玩服务器
他们会客观评价你的服务器,当然其中也会不乏有一些电吹风
然后你的服务器就会渐渐被其他玩家知晓,很简单吧

所以其实宣传与否都是没区别的,你唯一的目的是让玩家了解你的服务器,并来尝试一下你的服务器
而发宣传贴只是茫茫多的途径之一,你可以选择,但你更可以不选择发帖
不过正所谓不发白不发,如果你正巧有一个可以发服务器贴的账号
你有整整4次机会去发帖,所以也可以去尝试一下

当然,如果,你要,买号,发帖
我是,建议,现在,左转,滚蛋
毫无,意义,你个,傻子,バカ
论坛,宣传,效果,低的,惊人
买号还会让某些利益链滚动下去
建议不要为黑暗利益链付款买单


比较巧的是,今年19年7月的时候正好我群里有人聊起主播这事
我就脑中迅速yy了一下,给了一点答复
大家先看看下面的对话?


杰森mxf 22:09:40
有个主播来我们服务器


极光creeper 22:10:42
作为服主你要知道 你是为玩家服务而非为主播服务 你需要的不是玩家流量 而是优秀的风评
极光creeper 22:10:52
所以主播来不来你服务器都一样


【软萌新】隔壁鸡翅 22:11:10
有个籽岷来我们服务器


极光creeper 22:11:16
照顾主播是很愚蠢的行为 也不建议特化


十二水合硫酸铝钾 22:11:16
……

极光creeper 22:11:30
籽岷来你服务器又怎么样呢


【软萌新】隔壁鸡翅 22:11:35
那给予主播yt权限组/称号呢

极光creeper 22:11:52
你见人家hy巴不得找油管主播么 完全没有


十二水合硫酸铝钾 22:12:00
维持服务器的资金缺乏……而又想去做公益服……

【软萌新】隔壁鸡翅 22:12:09
那给予主播yt权限组/称号呢


极光creeper 22:12:13
可以啊
极光creeper 22:12:16
权限组就算了
极光creeper 22:12:27
称号我觉得可行

【软萌新】隔壁鸡翅 22:12:28
为何

极光creeper 22:12:48
没有为什么 你是为玩家服务的 是玩家玩你的服务器 而不是主播玩你的服务器
虽然主播也是玩家之一,但性质不同
极光creeper 22:12:57
带来的一堆玩家流量,那些玩家你能给权限组?
极光creeper 22:13:05
玩家体验和主播体验不一样,甚至能带来负风评


【软萌新】隔壁鸡翅 22:13:14
可是因为我需要更多的玩家来提升服务器的人数

极光creeper 22:13:22
有意义吗
【软萌新】隔壁鸡翅 22:13:27
没有嘛

极光creeper 22:13:31
你服务器做好了 自然有人来
【软萌新】隔壁鸡翅 22:13:53
宣传做好了,服务器也会有人啊

十二水合硫酸铝钾 22:14:08
当玩家发现


极光creeper 22:14:09
你服务器做好了 你玩家给你的是正面风评
极光creeper 22:14:12
服务器越做越好
极光creeper 22:14:17
越来越多的人喜欢你的服务器
极光creeper 22:14:24
宣传做好了=什么也不是
指不准最后落得和快餐殊途同路的下场


【软萌新】隔壁鸡翅 22:14:26
所以我需要更多的玩家来反映服务器的问题
极光creeper 22:14:27
只是玩家变多了
极光creeper 22:14:35
你可怜的服务器质量低下还是问题

【软萌新】隔壁鸡翅 22:14:42
所以我需要更多的玩家来反映服务器的问题
极光creeper 22:14:51
我们理念不一样
【软萌新】隔壁鸡翅 22:14:55
也是


nope 22:15:29
在聊啥
十二水合硫酸铝钾 22:17:18
……

【软萌新】隔壁鸡翅 22:17:35
那行
【软萌新】隔壁鸡翅 22:17:45
或许主播的确不应该找
极光creeper 22:17:47
建议你走自己的路
【软萌新】隔壁鸡翅 22:17:50
不是

极光creeper 22:17:53
找主播很蠢
【软萌新】隔壁鸡翅 22:17:53
我想差不多了
【软萌新】隔壁鸡翅 22:18:00
有些主播很抠门

极光creeper 22:18:12
的确,这也是一个潜在问题
【软萌新】隔壁鸡翅 22:18:19
有的又要钱又要op的

nope 22:18:24
可还行


极光creeper 22:18:32
找主播真的很蠢
【软萌新】隔壁鸡翅 22:18:36
确实

十二水合硫酸铝钾 22:19:49
提高流量嘛……做服务器……还是本着玩家为主……但是在资金面前真的是无能为力……

莫道不,熙连卷 22:20:15
找主播宣传
莫道不,熙连卷 22:20:36
还得给人工资
十二水合硫酸铝钾 22:21:31
……真的很想做那种没有氪金的服务器……
nope 22:21:53
可以啊

莫道不,熙连卷 22:22:00
@十二水合硫酸铝钾 你开时间长,没人赞助,你会心累的
莫道不,熙连卷 22:22:09
就像我


【软萌新】隔壁鸡翅 22:22:12
...
nope 22:22:14
给钱不是问题
nope 22:22:17
没人才是问题


十二水合硫酸铝钾 22:22:32
本着开服不得利益的目的
【软萌新】隔壁鸡翅 22:22:43
相信各位服主之前都是想开一个基友服跟朋友玩吧
莫道不,熙连卷 22:22:43
开了两年的福利服
莫道不,熙连卷 22:22:50
我累得一批
十二水合硫酸铝钾 22:22:55
那也需要资金维持服务器运转……
莫道不,熙连卷 22:23:02
对呀


【软萌新】隔壁鸡翅 22:23:07
@十二水合硫酸铝钾 然后就出现了这些服主
【软萌新】隔壁鸡翅 22:23:12
卖RPG武器
极光creeper 22:23:12
快餐
【软萌新】隔壁鸡翅 22:23:15
卖装备
【软萌新】隔壁鸡翅 22:23:20
卖op
【软萌新】隔壁鸡翅 22:23:28
进服务器要钱

[要求匿名I]() 22:23:31
那种完全就不是为了维持服务器运转
nope 22:23:36
不把mc当主业就不会缺钱了
极光creeper 22:23:46
那种就是为了给自己买饭吃:(

_________end

不难看出我对找主播的态度,除非主播主动来找你,而且不开价,不提要求
否则我是不建议让主播来服务器玩的
即使的确能起到了宣传的作用,但是你服务器该什么样就还是什么样
除非服主,以及你的团队希望服务器变得更好,并且发挥你们的主观能动性
否则服务器质量还是那个样

大家看到上面找做服务器的队友时,面对不同的qq群,情况完全不同
在玩家这块也是这样的,在玩家群体的素质,质量这块也是判断你服务器质量的重要因素之一
而不同游戏模式对应的玩家群体是不同的
而即使是相同的游戏模式,不同服务器的玩家群体,他们的素质,质量,也是有所不同的
你可以主动去抉择玩家群体,例如R _ _ 服务器,虽然其模式冲击了版规,但我不得不承认
    他们用问卷的方法选择了他们服务器的玩家群体,玩家群体的质量的确是国内很顶尖的
    优质玩家配合其优质服务器内容,两者互相映衬,熠熠生辉。最后良心循环,真的很棒。
你也可以被动地去抉择玩家群体,不过我这里没有什么好的实例,自己讲的话篇幅又太长
    如果有兴趣的话,欢迎大家研究,和我一起交流的说

当然,再次重申,你当然可以不去招募服务器管理
以及记得让自己高兴点,我有点想开一个解压诉苦尬聊群,再说吧(可以评论区回复我喵)



接下来,让看看十二水合硫酸铝钾说的话
首先...得承认,还是挺惨的,在我们聊天里完全被冷落了 233

十二水合硫酸铝钾 :
……
维持服务器的资金缺乏……而又想去做公益服……
当玩家发现
……
提高流量嘛……做服务器……还是本着玩家为主……但是在资金面前真的是无能为力……
……真的很想做那种没有氪金的服务器……
本着开服不得利益的目的
那也需要资金维持服务器运转……
————————————————————————


很现实的一段话,简单概括,能力不足,兴许是没有钞能力,也可能有其他因素。
但是我想说的是,即使你不开公益服(参照第二章定义,遵循MCBBS定义)
你也不至于落魄到需要抱着主播大腿才有人肯来玩你的服务器吧,这是为了和主播玩,而不是喜欢你的玩法
你也不至于落魄到学习隔壁快餐服的街头快闪吧,你要是真的这么穷,缺这么点钱,但mc这块真的不赚钱啊
你也不至于落魄到隔壁服怎么做你就怎么做吧,你开服不是要做出自己的风采,让玩家高兴么
    不提隔壁说你抄袭,就提你自己,到处抄来抄去,你自己觉得无聊吗,你自己累吗



我极光creeper,仅代表个人,向所有公益服服主致以崇高的敬意
我仅代表个人,也向所有努力朝着公益服方向努力的服主致以崇高的敬意
开公益服靠信仰,是他们对自己服务器玩家的信仰,我也相信开公益服的服主也有自己的目标并会朝之前进
想开公益服的服主一定也是有自己的理想的,虽然同时也迫于各种原因,未能如愿
但你们努力过了,这就足够了,更不需要特别在意旁人的目光
当然,你们也可以继续坚持下去,一步步靠近自己的目标,即使发现在你面前的是一条无法触及的渐近线


当然,回到第二章,有氪金项目的服务器不是mcbbs定义的公益服,但你仍然可以不违反eula啊
(详情请翻回去看


至此,1 老师,为什么没有课间休息
          2 需要更多的快乐                (第三次修订目录时添加)
          3 创建你的服务器团队         (第三次修订目录时添加)

就已经完毕了,步入
            4 正式步入服务器优化 还是手把手教你的教程喵
                                       4.1 对 服务器 从配置文件上 进行优化
                                       4.2 对 服务器插件 从数量,配置上进行优化
                                       4.3 对 jvm调参 从最基础的初步认识开始 进行优化          (第三次修订目录时添加)
     前文已提及部分内容     4.4 从 服主心理 开始分析 让你深刻体会 哪些事有必要做 哪些事完全无意义
                                       4.5 从 玩家心理 开始分析 为什么服主要做这些事 为什么有些内容无意义



__请使用滚轮返回顶部并在目录处点击 第六章 (  优化部分  )




——————————————————————————


NO.6.2



喵 这次还是纯音乐的说,篇幅较长,所以换了我准备的另一个歌单
怕大家听着睡着,所以各种曲风的都会有
其实已经没必要了,因为原来第六章是连在一起的,所以巨长,这个歌单就让他去吧




老师!时间线变动了!


至此,1 老师,为什么没有课间休息
          2 需要更多的快乐                (第三次修订目录时添加)
          3 创建你的服务器团队         (第三次修订目录时添加)

就已经完毕了,步入
            4 正式步入服务器优化 还是手把手教你的教程喵
                                       4.1 对 服务器 从配置文件上 进行优化
                                       4.2 对 服务器插件 从数量,配置上进行优化
                                       4.3 对 jvm调参 从最基础的初步认识开始 进行优化          (第三次修订目录时添加)
     前文已提及部分内容     4.4 从 服主心理 开始分析 让你深刻体会 哪些事有必要做 哪些事完全无意义
                                       4.5 从 玩家心理 开始分析 为什么服主要做这些事 为什么有些内容无意义


[anchor=TPS]前排提示[/anchor] : 从头至尾都有可以优化的内容,新人完全可以从头看到尾,因为文中各处都穿插有优化教程

在教程开始前,我需要向大家介绍一下,何为tps
    很多人并不知道tps的机制存在的意义
    首先从表面上来说,tps就是反应你服务器流畅程度的量度
    但什么会决定tps呢?很多人认为cpu处理事件等的能力决定了tps
    这里的误区实在是太大了,我在后文会有一个总结
    我们先提出六个难度很大的误区问题,请读者仔细思考:
    1、假设服务器cpu使用了100%,而实际处理当前所有任务需要用到120%,那么tps是否会在18左右徘徊呢?
    2、tps和ping是否存在一定的关系?若存在关系,可以拟合出什么函数;若不存在,那么tps和ping分别指什么?
    3、RAM会不会影响tps呢?
    4、带宽和延迟之间存在关系吗?
    5、tps存在的意义是什么?
    6、tps高于20、低于20、低于15,服务器分别会出现什么表现?

    的确很有难度嘛,我承认这六个问题不简单的,所以下面我来讲解题过程好了
我们从第2题讲起,tps和ping的关系是什么?
      我们首先了解tps的英文 Ticks per second,每秒多少ticks,这是针对服务端处理客户端数据而言的;
      而ping则是客户端处Internet网络连接情况的量度;所以他们两个是完全不一样的
      这个问题很简单,但是对于下面几个问题的解题 意义重大
接下来我们讲第3题,RAM会不会影响tps呢?
      答案是不会的,它作为能力的量度,tps越低,则玩家普遍越卡。tps低于15时,客户端的体验就很糟糕了
      而当RAM不够用时,更多的情况下的表现是服务端直接崩溃,而非卡顿。
我们看完了第2题和第3题,那么第4题是不是就迎刃而解了呢?
      由第2题易得
      服务器可以在上下行仅为4MB/s时带动120个玩家,虽然玩家有点卡,但tps仍然可以为20,这不难做到。
      所以带宽上下行与tps之间根本没有半毛钱的关系
随后,第1题,cpu使用情况和tps之间的关系是怎样的?
      前spigots开发者之一 ammer2 给出了一个非常形象的比喻
      "想象一下,你有一个闹钟,每分钟都会响一次,在响的同时,这个闹钟会发出一次'tick'响声(tick是拟声词)"
      "在每分钟内,你都必须要去做一些事,这些事可以很简单,比如从你的桌上把水杯放到架子上"
      "但也可以很麻烦且困难,比如进行一次大扫除"
      "在你的服务器内,同样也有这个闹钟的概念,它被称作tick"
      "每个ticks内服务器都会执行诸如生成小怪,加载块,执行物理检查等工作"
      "当你要做的事很少的时候,你可以很快的做完它,然后把剩下来的时间拿来休息"
      "但当你的服务器要在一段时间内做很多很多事的时候,这就不可能正常完成了"
      "所以你的服务器会调整一下这个闹钟叫的频率,延长一下时间"
      "你的工作必须在两次闹钟间隔内完成,如果闹钟每分钟响2次,那么你的工作就只能用30秒完成"
      "当工作很多的时候,你可以让它一分钟响1次,那么你就有60秒去完成工作了"
      "原来1分钟可以响两次,所以我们定义一个量度为2,在你修改时间后,这个量度就只有1了"
      "而ticks也是这个原理,原来是每秒20ticks,当要处理很多事情的时候,你不得不延长1ticks的时间"
      "那么tps就会从20往下掉了,这能减少你服务器的运算负担"
他也给出了提升tps的最简单方法:
      通常,这可以通过增加cpu的使用量来解决,因为服务器一直在工作(尽管并非在所有情况下都如此!)
所以最野鸡且简单的方法:
      你可以提升u的性能,或者用多个核心线程(分部部署),或者用多个cpu来提升tps

所以让我们简单的从第4题中提取第5题的答案: tps存在的意义是什么?
     让你的服务器可以完成他们应完成的计算,同时让你的服务器休息一下
最后,我们佛系地解答一下第6题: tps高于20、低于20、低于15,服务器分别会出现什么表现?
    tps高于20: 一般不会出现这种情况,但你当然可以让它出现
        用上文tps计算原理来理解这个问题的话,这会让服务器的'运算效率'表现得更高
        这会使您的服务器执行相同的操作,但每秒执行更多次
        假设服务器在每X ticks内会移动怪物,让草皮生长,并计时药水效果 X次。
        当tps翻倍时,小怪的移动速度就会快两倍,农作物的生长速度就会快两倍。药水效果的消耗速度会快两倍,等等。
    tps低于20: 同上 生物的移动速度会变慢,农作物的生长速度会变慢,等等
    tps低于15: 我们在第3题处讲过了,这会让玩家的体验极度下降
                      一般来说,在tps低于17时就能被玩家感受到了,高于17时一般不需要紧张,不影响体验

综上: tps与带宽上下行、RAM完全无关;
        你需要区分tps和ping的本质区别;并了解到cpu是提升tps的方法之一;
        如果你不能回答出tps的计算方法,以及其存在的原因与必要性,请再读一下本段文字



4.1 对 服务器 从配置文件上 进行优化
警告, 下方所有讲解仅针对版本高于或等于1.8的服务器

警告, 本页面不再添加新的内容,仅作勘误修改

警告, 本页面的更新将一并移动至 6.3章 ,由于黑科技比较多,欢迎大家在本章后继续阅读6.3章,并提出建议

本章于2020.2.14进行了最后一次勘误向的大更新!后续将在6.3章内继续更新

这我没准备教案,因为隔壁哒哒翻译过了,最后查重率肯定太高,所以我就不翻译了

[anchor=Bukkit]我们[/anchor]这里介绍3个文件bukkit.ymlspigots.ymlpaper.yml 的优化教程(可点,前往哒哒的翻译贴)
其中也会穿插有上文第四章最下方server.properties内的设置
我懒得去问能不能授权黏贴过来,所以我就不贴了,用自己的话来给大家讲讲这些文件吧

在讲之前,麻烦大家先去阅读一下bukkit.yml,然后再听我瞎扯
我会讲一些优化的东西(蓝色数字),也会讲一些几乎没有介绍的不正经的隐藏内容(少女粉数字)


    -_-_-_bukkit.yml-_-_-_

建议开两个页面,一边看bukkit.yml,一边看我这里

1一上来第 22 行(哒哒贴内),和前文server.propertie里是否开启地狱是一样的
      allow-end: true
      把这里设置为false的话,就不会加载末地了,至于是否删除世界文件夹,请看下去

适用:
1、小游戏,GTA,或任何用不到 地狱 与 末地 的游戏玩法
     请将两处设置为false,并删除世界文件夹
2、当你不希望玩家通过地狱门和末地传送门前往地狱或末地,但希望可以通过多世界等 传送过去的话
     请将两处设置为false,但保留世界文件夹

    ______________________________
2这次是哒哒贴内40行,他翻译的非常蹩脚,这个是玩家在退出服务器后多久才能再次进服的限制,单位是毫秒
      connection-throttle: 4000
      这个和优化关系不大,和假人集群倒是有点关系,但是改这个阈值也防不住,毕竟假人的名字都不一样
      一般来说是不要动这个阈值的,虽然你动和没动的区别不大
      讲这个纯粹是因为哒哒的汉化介绍太蹩脚了

    ______________________________
353-65行,每个世界看问题2生物可生成的数量上限
      spawn-limits:
           monsters: 70             #——> 怪物
           animals: 15               #——> 动物
           water-animals: 5        #——> 水中生物
           ambient: 15               #——> 蝙蝠

常见问题:
1、我的确增大了数值,但是在服务器里似乎没有起任何作用
    答: 是的,spigots和paper限制了生成在玩家周围生物的数量,随着玩家数量提升与上下限的限制
         这会导致可以生成生物的空间变小,同样也影响了可生成的数量
         同时影响内存中怪物的最大数量,这就导致了 如果你增大默认数值,游戏中和原先几乎没什么区别
         如果你的玩家足够分散的话,是可以看到上限的

2、为什么有些教程里说这个设置是,"设置为70,如果有10个玩家,就能生成700个生物"(按人数算)
    答: 我去查了一些资料和一些被官方回答了的提问,两种说法都是有的,但我认为是按人数算的
         而我倾向于后者,按人数算,我在下方列出了一些证据
         但由于问题1的存在,所以在实际服务器中,这两个说法基本没差别,别纠结了




3、刷怪笼生成的怪物会被这个限制吗?
    答: 不会,如果你了解原版就会知道,刷怪笼刷出怪物的数量是自带一个上限的
         刷出来的怪不会被计入上面可生成的数量上限,也不会互相影响
         bukkit这里的设置只会影响自然生成的生物 (SpawnReason.NATURAL)

4、我发现server.properties下有spawn-animals=true和spawn-monsters=true
    答: 如果你要禁止生物自然生成的话,请在bukkit下面设置monsters: 0 (当然可能是animals: 0 或者别的)
         如果你同时不希望刷怪笼刷怪的话,请在bukkit下设置,同时在server.properties下面设置



    ______________________________
470-77行 chunk-gc:
      chunk-gc:
         period-in-ticks: 600
         load-threshold: 0
      我现在看到gc就脑阔疼,最近一直在看jvm的书,因为后文会提到这个玩意,不过好在这个gc很友好
      先提前讲一下gc是什么,gc就是垃圾清洁工,回收你电脑内存里垃圾的东西用的,很容易理解吧
      这里chunk-gc就是区块回收,设置多久回收一次未被加载的区块

先来讲period-in-ticks:
      这里的单位是ticks,玩过原版的都知道1秒是20ticks,所以600就是30秒
      虽然看起来半分钟很快,但是实际上还是不够快乐的,你家机子还能加快一点频率
      我一般是改到400,也就是20秒

然后是load-threshold:
      这里的垃圾是按斤称的,试想你家卖报纸是一张一张卖的,垃圾站不要累死了
      这个功能就是告诉你的gc,一堆垃圾至少要多少斤才能被回收
      按照其他地方的教程来说是300 个区块才回收
      但是这是针对绝大部分服务器而言的,这其中也是有特例的
      比如群组服的登陆服我个人一直觉得回收区块也太蠢了,登录服就是起到单端服的主城的功能
      除非你登录服能全世界跑图,不然我觉得你回收区块,再加载,再回收,再加载也太蠢了

可采用配置
      chunk-gc:
         period-in-ticks: 300
         load-threshold: 300



    ______________________________
579-95行 ticks-per:
      ticks-per:
         animal-spawns: 400
         monster-spawns: 1
         autosave: 6000

我们先来学英文 ticks-per : 每个tick
然后来看看正文
animal-spawns: 400
      这是多少ticks可以生成一个动物,很合理的设置,不用动

monster-spawns: 1
      这个就比较恶俗,1ticks一个怪,一秒20只,直到刷到上限
      怎么看都不像是什么正常的数值吧喂,为什么默认值会是1啊
      当然,针对不同的玩法,这里设置的数值当然是不一样的
我个人给出一些建议
常见的生存服 : monster-spawns: 2或3
追求高难度的生存服 : monster-spawns: 1或2
小游戏 : monster-spawns: 3 或更高,或同时在server.properties与bukkit.yml内禁用怪物生成
GTA : 如果你不要怪物的话,同时在server.properties与bukkit.yml内禁用怪物生成
         如果你要的话, monster-spawns: 2或更高

当然你要知道,生成速度越快,玩家压力越大,我们的破机子压力也变得更大了
当玩家数量较多的时候,可以考虑大幅度提升此数值,或针对bukkit.yml内spawn-limits刷怪上限进行修改

然后是autosave: 6000
         我试了好多个核心,默认都是6000,但是哒哒写的是默认0,算了,不管这么多
         建议6000,这个是服务器自动保存,自动执行save-all命令
         现在不管是spigots还是paper,都在自动保存的效率上面优化过了
         所以使用自带的自动保存绝对是政治正确 (大雾
         但是不代表你不需要关注你服务器情况,有时可能也需要一些定时重启与定时保存插件


    ______________________________
6论坛里绝对没有人像我这么无聊,来讲这种这么扯的东西,233
       这个默认文件里是没有的,还要自己手动加上去,无路赛
       你可以在settings:下面换行添加一个
       world-container:
       后面填一个目录的位置,填完了以后大概是这个样子的
settings:
    allow-end: true
<中间省略一堆东西>
    world-container: D:\极光死亡之路\服务器\test

然后你就会发现,你根目录里的世界文件没用了
去到你填写的目录位置那里,你会发现多了一个文件夹,如果你按照我这个来的话
会出来一个叫做test的文件夹,然后这个文件夹里会有3个世界文件,分别是主世界,地狱,末地
简单的说就是把你的服务器目录拆了开来而已,一般是没有什么应用价值的
但或许做端的就可以玩一下各种花样了

数据库我就不介绍如何添加了,如果有需要的话请在下方回复,看情况添加教程

[anchor=Spigot]警告[/anchor], 本页面的更新将一并移动至 6.3章 ,由于黑科技比较多,欢迎大家在本章后继续阅读6.3章,并提出建议

    -_-_-_Spigot.yml-_-_-_

优化的中坚力量,不管你paper还是spigots,都有这个文件的
我看了一下 1.8和1.14区别不算大,可能有没讲全的?
我下方不止讲优化,一些难以理解的部分也会介绍一下(紫色数字)

1哒哒贴内26行
      save-user-cache-on-stop-only: false
            true: 只在stop关服的时候保存玩家数据
            false: 会定时自动保存
      我建议中小型服务器无脑设置为false,不管你开的是什么玩法的服务器

      但是对于大服Pvp服而言,我建议你设置为true,即使你认为你服人数多,经不起全服回档的折腾
      在服务器玩家人数较多的时候显然会有更多的玩家缓存,如果你在这个时候定时保存
      你的CPU会耗费大量时间去处理这些数据,这就导致每次自动保存时都会有一次明显的卡顿
      而经验告诉我们每次严重的卡顿都会导致玩家在后面一段时间会继续难受一会儿

      而在这种情况下你就不得不使用一些插件来帮助你保存了,最好是定时重启这种
    ______________________________
2哒哒帖内49行
      bungeecord: false
      我上文介绍BC的时候说过,在第四章下方
      如果你是BC群组服的话需要将这里设置为true,并前往另一个地方设置另一个东西
      如果你记不得了,麻烦回第四章下方复习一下喵?

    ______________________________
3哒哒贴内61行
      late-bind: true
      反正设置为true就行了
      如果设置为false的话,玩家可以在地图加载完就登入游戏
      当一些保护插件啊,权限组插件没加载的时候,玩家可以拆地图什么的
      可爱的海螺酱: 1.14之后late-bind没有了,默认都是加载完插件再接受传入连接

    ______________________________
4哒哒帖内30行
      sample-count: 12
      你在客户端主页面(就是mc主页面,单人模式,多人模式的那个),打开多人模式页面
      然后鼠标移动到右边那个信号图标上面,会随机跳出来 {12} 个服内玩家名字(这个12就是你设置的12)
      我建议你设置为0,被motd测压的时候这个是有影响的,你也不缺这个显示,基本没人用的

    ______________________________
5哒哒帖内42行
      user-cache-size: 1000
      这里设置的是usercache.json文件的大小上限,这东西就在你服务器根目录里
      默认是1000
      [{"name":"Aurora5090","uuid":"a1b2cd34-e567-89f0-g12h-3i4j5k67l89m","expiresOn":"9102-02-31 23:33:33 +0800"}]
      上面就是每个玩家对应的数据例子了,我不清楚有没有插件会用到
      不建议中小型服务器修改,更加不要修改为0 (等于禁用)

user-cache-size是通过实现类LinkedList来保持顺序的,而从其中删除对象是一个线性时间的操作
如果你把这个设置的太大(无限),随着你玩家的增多,对于大服而言,很可能会变成延迟重灾区
对于大服而言,你可以稍微增大一下数值。对于小服而言,设置为1000够用了。

关于到底要不要禁用也有很多说法,我个人的的看法是禁用以后服务器就会强制去不断查找、计算玩家uuid
而不是从这个缓存里面拉取,所以不建议禁用
(话说我不知道有没有内置缓存啊,说错了不要捶我)
    ______________________________
6哒哒贴内58行
      player-shuffle: 0
      这个看起来没有用,实际上对优化也是没什么用的,我只是来讲讲其功能
      默认是0啦,单位是ticks,这里为0的意思也是不启用
      mc服务器处理不同玩家的数据包其实是有先后顺序的,且每个玩家加入游戏时,这个处理顺序会变化
      其规则是,A如果比B玩家晚加入,那么A的数据包会优先于B的数据包 被处理
      尤其对于PVP服务器而言,尤其是duel的那种,如果玩家A在搜索对手前先退出再登陆游戏
      玩家A在PVP中会占优,或者说A的pvp体验在某种程度上会更加流畅一点
      本选项就是在一段你设置的时间后随机修改处理顺序,来防止这种情况的发生

     设置方案:
     对于普通pvp服务器而言:
      -   修改此值为 300 ~ 600 之间的任意值

     如果你机子的性能够好,或者想要开一个世界顶尖专业的pvp服:
      -   你可以修改的比 300 低,但绝对不建议低于 200 (0除外)

     对于非pvp服务器而言① :
      -   但你仍然可以修改此项,尤其是起床战争,空岛战争这种有pvp玩法的
      -   推荐是 400 上下

     对于非pvp服务器而言② :
      -   但如果你是gta,监狱风云,生存服,这种本身就有点卡的,但含有pvp元素的玩法
      -   推荐是 0 ,干脆不要去修改了

注意: 不难看出,开启本选项是在负优化,但spigots于paper卓越的计算性能可以弥补这点负优化,从而提升玩家体验

    ______________________________
7哒哒贴内74行
      timeout-time: 60
      单位是喵                                         好趴,单位是秒,我不卖萌了
      正常的描述的话应该是" 若服务器在设定的 {60} 喵内未响应,则会执行线程转储,在关闭服务器后尝试重启"
      简单点的描述就是,服务器如果卡了 {60} 秒就会自动保存并重启服务器
      修改到很低可以在服务器被攻击的时候保护数据不丢失,但举个例子 IO会卡主线程,所以可能会出大问题
      其他原因很多,而且我甚至不是很希望你去改动这个值
      所以建议就 60 ~ 30 秒之间吧

    ______________________________
8哒哒贴内45行
      netty-threads: 4
      分配 {4} 个线程给(异步事件驱动的网络应用框架)netty来执行网络连接
      极光:  讲道理,一般来说都是设置为4的吧
      yys:   不不,这是开几个线程睡大觉,大服反正核心多,随便白给一点也没关系,不过不管什么服一般都不会改吧
      结论:不要改,这只是科普

     然后就是这个东西的代码似乎可以优化但是你们不会我也不是很会 反正可以降低不少gc频率和处理玩家事件的占用
    ______________________________
9哒哒贴内64-70行
attribute:
    maxHealth:     ——>生命上限
       max: 2048.0
    movementSpeed:      ——>移速上限
       max: 2048.0
    attackDamage:       ——>伤害上限
       max: 2048.0

常见问题:
    各种rpg天天生命和攻击出问题,这里就是一个可能造成问题的点

    ______________________________
10哒哒贴内134-139行
   advancements:
      disable-saving: false
      disabled:
           - minecraft:story/disabled

成就相关,当你把disable-saving: false 改为 true,成就系统会是1.12之前的那种
下面的disabled: 则是禁用的成就(即不可获得的成就)

表:


    ______________________________
11哒哒贴内104-132行

commands:
       log: true
       #是否会在log输出日志,log位于你根目录里,前文介绍过

       tab-complete: 0
       #啊 这个挺有意思的
       #建议设置为 3 或者更高 或者-1   (禁用tab补全)
       #简单的说就是,你在服务器里可以用tab补全指令
       #默认设置为0的时候,只要你打开对话栏,按下tab就会显示所有(已经注册过的)指令
       #设置为3的时候,你至少要输入3个字母才能使用tab,不然是没有反应的
       #可以有效防御tab测压
       #如果你不希望玩家用tab看到你服务器指令,请设置为-1

       send-namespaced: true
       #不介绍了,有兴趣的自己去研究这个东西
       #简单的举个例子 在你输入 /say 的时候按下tab
       #指令会变成/<plugin>:<command>的格式
       #也就是变成 /minecraft : say
       #显然是因为高版本的指令很蠢,低版本(如1.8)的配置文件里是没有这个选项的


       #下面的没什么用,无视
       spam-exclusions:
       - /skill
       replace-commands:
       - setblock
       - summon
       - testforblock
       - tellraw
       #上面的没什么用,无视

       silent-commandblock-console: false
       #是否将命令方块里的提示在后台也发送一遍
       #对于部分服务器是很有用的,尤其是基友开服 造单机地图的那种



OK,下面到大片的优化部分了
    ______________________________
12哒哒贴内174行
      item-despawn-rate: 6000
      简单的说是,清理地面掉落物的间隔时间,单位是ticks
      所以这里6000 = 300秒(5分钟)清理一次
      减少数值(也就是更快的清理掉落物),会有效提高服务器流畅度

      你在配置文件里还能见到      arrow-despawn-rate: 1200
      这个是箭矢消失的时间,1200就是60秒(1分钟)后消失,我后文就不说了,一样的

     问:为什么加快清理频率可以减少卡顿
     你要知道,掉落物是个实体,而何时清理是要被计时的
     如果你稍微加快清理速度,会导致同一时间需要被计时的掉落物减少,这样就能省下资源

    ______________________________
13、AI/机制相关①:   哒哒贴内...太分散了
      先来介绍这三个
        enable-zombie-pigmen-portal-spawns: true
        zombie-aggressive-towards-villager: true
        nerf-spawner-mobs: false

第一个 enable-zombie-pigmen-portal-spawns: true
    是否允许僵尸猪人在地狱门边上生成,显然计算这个生成是要奇怪公式的,设置为false可以肉眼不可见地优化性能
    而考虑到空岛生存这种,是会有猪人塔刷金粒的,如果你要禁掉猪人塔的话,这里设置就行了

第二个 zombie-aggressive-towards-villager: true
    僵尸是否会去攻击村民,显然这个比上面的麻烦多了,要计算ai,寻路,各种问题
    但是的确鸡肋,因为生存服肯定要true,但是非生存服就算设置了false也没有用,因为根本没僵尸追村民
    我tm喷爆

第三个 nerf-spawner-mobs: false
    刷怪笼刷出来的怪物是否有ai,没有ai就不会攻击,不会动,不会交配...
    虽然东西会正常掉,但是就不用计算ai了,性能开销就莫得了。但是睿智怪物的刷怪笼到底什么玩法才用得到呢:(
    虽然刷怪笼刷出来的没有性能开销了,但是普通生成的还是有开销,该打人打人,该吃草吃草。
   我tm喷爆


    ______________________________
14、AI/机制相关②:   哒哒贴内...太分散了*2

接下来是大杂烩了,大家看看就好了
    [普通优化项]
    merge-radius:
       item: 5.0
       exp: 6.0
    这个是把几格内的物品/经验球合并的设置
    建议生存相关的服务器稍微调大一下数值,item: 8.0    exp: 8.0
    起床战争如果发现几个点刷的货币老是会掉到虚空里去,可以考虑改小item至0.5,这样可以保证偶尔掉几个下去


    [普通优化项]
    chunks-per-tick: 650
    只有1.9之前有此项设置,也是挺友好的
    其作用是每个ticks更新 {650} 个已加载区块内作物的生长情况
    反正这个数值越大,作物整体长的越快,但是你服务器会更加难受(大雾
    反之同理
    和原版randomTickSpeed的gamerule是异曲同工,但是可以修改到更加精细的程度
    如果服务器大面积可以种田(即有地皮,或生存服),我建议稍微调低一点,否则处理量会大,然后就不流畅
    你可以简单粗暴的给他除个2,或者改的更加离谱一点,但不建议改高数值


    [普通优化项]
    [!]clear-tick-list: false
    这个屑哒哒没有介绍,我佛了,看起来能优化?
    我跑去问了下spigotmc的dmck2b,回答我说这个设置的意义不大,那我们直接跳过吧
    主要是我介绍不来,太乱了 (逃


    [普通优化项]
    mob-spawn-range: 4
    没错你上文一直在看的那个,怪物在玩家身边半径为 {4} 的区块内生成
    就是在这里设置的,如果你改太大会导致玩家之间的重叠区域变大,计算量大幅度提升
        同时,增加这里的数值会让怪物生成的更加分散,毕竟范围大了嘛
    然而,如果你减少这里的数值反而可能会导致刷怪量变少,并不会像想象中那样更加密集
        这是因为有一个自带的生成机制的限制,以及"怪物区块"变少了
    我后来又跑去问了下spigotmc的dmck2b,他认为设置为5以上非常蠢,会导致很要命的滞后
         反正和我前面猜的差不多,计算量大幅度提升,然后就巨卡,最高不要高于 5


    [惊人优化项] [垃圾 · 负优化项] 这个设置太糟糕了,我需要在6.3章内再次提到这个家伙
    max-tick-time:
       tile: 1000
       entity: 1000
       正常的描述: 每个任务里计算操作实体耗费的时间上限, 单位是毫秒
       易懂的描述: 服务器计算一些东西的最长耗时,单位是毫秒
       以上的设置是主观的最佳设置,请设置为1000以禁用

       原因: (有一点长,但是勉强还算亲民吧)


     其他:
     aikar是谁?一位高级软件工程师与企业家,是Minecraft的员工,同时也是公司Starlis LLC的老板。



错误示范晒尸(笑



    [惊人优化项]
    view-distance: 10
    是的,你家server.properties下面也有这个东西view-distance=10
    两个要一起食用才最好吃 (大雾
    这个是视距,也就是玩家最远可以看到哪里,即使客户端开到了11区块,你也只能看到半径为10区块内的地区
    但是但是,你仔细想想看,半径10,直径20,那就是每个玩家站在原地都会加载20x20=400区块
    所以这个必须改一下
        生存: 需要跑图,所以建议视距 5 ~ 6 的样子
        Pvp: 建议 12,上限 15
        小游戏: 建议 8 ~ 12
        GTA: 建议 12,上限 15
    备注: 如果你服务器有地皮,不论什么玩法,我强烈建议改成小于等于 8 的值,推荐改成 6  
    请再次注意,你家server.properties下面也有这个东西view-distance=10,要一起改的!!!

    [惊人优化项]
    entity-activation-range:
        animals: 32
        monsters: 32
        raiders: 48
        misc: 16
        tick-inactive-villagers: true
    玩家 {} 格范围内的 动物animals/怪物monsters/劫掠者raiders/掉落物misc 才会被加载
    在范围外的实体将不被计算寻路,AI,等等,能有效减少服务器卡顿
    一般而言建议将misc: 16 ——>降低至 5 以下,这样只有捡的时候才会加载,且基本不影响物品在水流里的速度
    以及可以考虑将animals: 32 ——>降低至 20以下
    monsters就仁者见仁,智者见智了,根据你服务器实际需求来修改,当然也可以不修改


    [天天和上面搞混的优化项]
    entity-tracking-range:
        players: 48
        animals: 48
        monsters: 48
        misc: 32
        other: 64
    这个是用来控制玩家可见范围的
    玩家 {} 格范围内的 玩家players/动物animals/怪物monsters/掉落物misc 才能被看到
    这里的other: 64指其他未能位列其中的实体的上限
    千万不要搞混,设置反了,我一般不建议修改此项,他和上面的比,没有什么实质性的优化
    推荐Pvp服务器 增大 players: 48 ——> 60
    对于生存服而言 降低 animals: 48 ——> 32,降低monsters: 48 ——> 32
    希望您能认识到,本设置的最大受益者是玩家,而非服务器的机子


    [罕见的优化项]
    只有1.7.10和1.8和1.9有这个玩意
    max-bulk-chunks: 10
    众所周知,你游戏和服务器之间的通讯可以简单地视作数据包发来发去,像抛绣球一样 (大雾
    而这里的设置就是,一个数据包里塞多少个区块的数据
    一般来说是不要动的......不要动!举起双手喵!


    [普通优化项]
    random-light-updates
    随机更新区块光照,或者说,随机简单的更新区块光照,默认是false
    从1.7开始还会在区块加载的时候更新光照,去看wiki还能知道是在第一个tick内进行的更新光照
    如果你的地皮用了什么奇怪的模板,比如有天桥的那种,就建议设置为false,否则真的头疼


    [普通优化项,你不修改会要你命的那种]
    max-entity-collisions: 8
    请注意,1.14我只在paper.yml里找到了这个,也就是如果你是spigots的话,可能无法设置这个
    这里是设置每秒最多可以处理每个实体 {8} 次实体碰撞
    低版本基本是没这茬的,但是到了高版本以后就很要命,建议设置为0,直接禁用


    [红石优化项]
    ticks-per:
        hopper-transfer: 8
        hopper-check: 1

    如果你希望你服务器的漏斗传送的巨快,一秒20个的那种,可以把hopper-transfer: 修改为1
    但是我非常不建议你这么改,除非你的服务器比较特殊,比如是minez那种(虽然你们可能也不了解minez怎么工作的
    当你服务器漏斗比较多的时候,可以将hopper-check和hopper-transfer都改为10
    优化的原理是下面的那个hopper-check,默认是每秒检测20次
        如果发现漏斗里有物品就会看看有没有东西连接漏斗,好把物品传走
    当你大幅度提高hopper-check后也会间接地减慢运输效率,但的确可以高效地缓解漏斗卡服的情况

原版速度配置:                              极情况下配置:
    ticks-per:                                           ticks-per:
        hopper-transfer: 8                              hopper-transfer: 10 ~ 12
        hopper-check: 8                                 hopper-check: 10 ~ 12


[anchor=Paper]警告[/anchor], 本页面的更新将一并移动至 6.3章 ,由于黑科技比较多,欢迎大家在本章后继续阅读6.3章,并提出建议
    -_-_-_Paper.yml-_-_-_

关于网传猫端性能比paper好的言论,我测试下来paper甩开猫端不知道几条街
实际情况的话 欢迎大家自己私下去进行测试,我的结果仅供参考(?)
以及请记住一条准则,不管发生什么情况,都一定要在虚拟机上测试

不过这和我们在这里优化服务器又有什么关系呢?
我们也只是简单的选择一个更有优势的不是么,毕竟这里是教程,也不是什么诸葛村夫大战王司徒
所以不聊这些东西了,步入教程


我刚刚去spigotmc看了下frash23的优化教程,总的来说,讲的很不错
然后我我发现哒哒有个文章也是翻译frash23的,但是翻译的太烂了233
原贴是在这里 https://www.spigotmc.org/threads ... -performance.21726/
我来帮忙重新汉化一下吧,但是里面会有我自己的观点和看法

1optimize-explosions
      默认是 false    建议改成 true
      开启后会使用另外一种优化后的爆炸算法,会立刻清除被炸死的实体
      原理是 通过在爆炸期间实现缓存玩家实体并查找实体,取代了在爆炸期间重新计算
      反正能优化就行了,服主们哪管那么多,原理看看就过去了 :(


    ______________________________
2mob-spawner-tick-rate              [哒哒把这块直接翻译错了,大概是战术防盗]
      默认是 1    建议改成 2 ~ 15
      刷怪笼每次计算"怪物区域"并尝试生成怪物之间需要间隔多少ticks
      设置为2的时候体验上和原版差不多. 如果服务器刷怪笼较多,适当增大他们会是一个比较不错的选择
      一般来说生存服设置在 2 ~ 10 之间就足够了,而且 10 已经很离谱了
      但是比较有意思的是,某些服务器甚至会卖刷怪笼,而且有些是很容易获得的(我还真见过有5000个刷怪笼的服务器)
      所以给了一个很端的 15


    ______________________________
3disable-chest-cat-detection
      默认是 false      建议修改为 true
      如果有猫坐在箱子上,你是打不开箱子的,除非你把这里改成 true ... (真的好蠢啊XD)
      设置为true可以让生存服、或有地皮的服务器提高一点性能
      优化原理是打开箱子时会检测有没有猫,因为地皮和生存服一直会有人开箱子,如果是false的话,就会一直检测喵喵彩虹猫
      设置为true就是关闭了

      再注 : 有人问我为什么 "true是关闭,而false是开启"
               来学习一下英文 disable-chest-cat-detection : 禁用箱子上的喵喵彩虹猫(和风版)检测
               true可以看做是启用,那么 启用"禁止检测" 功能,那么不就是禁止检测么


    ______________________________
4use-hopper-check
      默认是 false    建议改成 true
      1.9以前是有的,建议启用,上面spigots.yml里也有提到
      paper在效率上优化的很好


然后我们顺便来看看其他的漏斗优化项
      hopper:
         push-based: false
         cooldown-when-full: true
         disable-move-event: false

1.9以前没有这堆东西,而1.14似乎出于对性能的考虑删掉了push-based
简单讲一下吧
      push-based: false
      不建议开启,会导致性能降低与一些bug出现,设置为true后,物品会把自己推入附近的漏斗,而不是漏斗吸物品
      或许不是很好理解,物品把自己推入漏斗意思是所有掉落物都会自发的寻找漏斗,显然漏斗会比掉落物更少
      所以让漏斗来寻找掉落物似乎是一个比较好的选择。除非你服务器比较特殊,否则建议保持 false

      cooldown-when-full: true
      当漏斗满了以后,会暂时让漏斗休息一下,而不是继续去寻找边上的掉落物
      建议设置为 true

      disable-move-event: false
      设置为 true 可以显著提升生存类服务器的性能
      但是会导致所有监听漏斗InventoryMoveItemEvent的插件暴毙,即使这样的插件数量不会很多


    ______________________________
5container-update-tick-rate
      默认是 1      建议改成 2 - 3
      背包与箱子的gui多少ticks会刷新一次,设置高于5会导致物品消失等破水事


    ______________________________
6queue-light-updates
      默认是 false      建议改成 true
      开启异步光照队列有助于提高服务器性能
      简单的说就是 你服务器要更新A和B两处光线,目标是现在更新A,更新完就更新B。但是你服务器正在算别的东西
      如果你按照目标执行,会导致服务器的瞬间卡顿。但开启本选项后,服务器就会在不那么忙的时候再更新光照
      深入了解下去就会知道是在每ticks结束的时候尝试光线更新的

    ______________________________
7fire-physics-event-for-redstone
      默认是 true      建议改成 false
      默认(true)状态下,服务器红石在激活状态下会触发BlockPhysicsEvent事件
      有一部分的插件会监听BlockPhysicsEvent事件,然而他们并不会想要顺便监听一下红石
      所以这个功能开着就是白瞎的,还浪费性能
      考虑到生存服里每秒可能会调用几千次BlockPhysicsEvent,所以我觉得还是关掉比较好
      如果你的生存服比较卡,赶紧来看看这里是否false了

    ______________________________
8grass-spread-tick-rate
      默认是 1      建议改成 2 ~ 4
      草方块蔓延速度,单位是ticks
      对于 普通生存服  而言,建议 4,如果你的服务器性能够好,可以设置为 2
      对于 空岛生存 而言,建议设置为默认的 1,因为没有那么多草方块可以给你长
      对于 有地皮的服  而言,建议修改为 3 ~ 4,除非你的地皮不是默认草方块的那种(我还真的在国外服务器见过)


至此,哒哒贴内(或者说是frash23帖内)介绍的优化项就已经分析完了
我加了一些原理 和自己对于不同服务器的配置建议

接下来的也是挺有趣的,我也会在最后告诉大家单纯修改这三个配置文件可以实现什么玩法
但是剩下来的部分会根据版本的不同有所缺失
我大致去查看了一下 config-version: 9 ~ 19 (1.8-1.14)的配置文件

    ______________________________
9enable-player-collisions: true
      是否允许玩家之间的碰撞体碰撞,默认是true
      但是如果你看了spigots.yml的介绍,就会知道我非常建议你设置为 false


    ______________________________
10save-player-data: true
      前面的那个优化不怎么样,但是paper的优化非常棒
      所以我建议你打开这个

    ______________________________
11despawn-ranges:
              soft: 32
              hard: 128
      当任何实体离开玩家 {32} 格远时,他们会随机消失一部分
      当任何实体离开玩家 {128} 格远时,他们会全部消失
          生存服 建议: soft: 32  hard: 96


附:
16 = 4区块        32 = 16区块
48 = 36区块      64 = 64区块
80 = 100区块    96 = 144区块
112 = 196区块  128 = 256区块

    ______________________________
12bungee-online-mode: true
      1.8没有,似乎是1.9开始才有的
      首先引入眼帘的是online-mode,所以盗版服务器请设置为 false
      我也不知道这个到底是怎么操作的,反正会匹配一下bungee和代理proxy服务器的online-mode就是了


    ______________________________
13cache-chunk-maps: true
      1.9以后似乎就没有了
      对服务器的ChunkMap进行缓存,可以设置为true来提高一点性能
      我知道有rpg服务器是1.8或者更低的,所以跑跑副本什么的动不动就加载&卸载区块,提升还算是明显(肉眼可见)

    ______________________________
14其它优化项与设置,下面的会非常有趣,可以做到很多奇怪的玩法

  首先是这两个
          keep-spawn-loaded-range: 10
          keep-spawn-loaded: true
      让出生点附近的区块保持常载,上面的那个是半径,下面的是是否开启
      我觉得你家机子要是不能保证出生点区块常载也太弱了趴
      建议保持开启,但你可以适当减小半径,但我推荐登录服不要修改此项

  然后是
          parrots-are-unaffected-by-player-movement: false
      是否让鹦鹉黏在玩家肩上,设置为true可以减少ai的计算,肉眼不可见地优化着服务器

  接着是
          game-mechanics:
             shield-blocking-delay: 5
       你制杖吗?不,我持盾。
       你举起盾牌前会有 {5} ticks延迟,你可以加大,但绝不能减小,这是游戏体验与性能双收的配置

             disable-unloaded-chunk-enderpearl-exploit: true
       当设置为true,末影珍珠在被丢出去的过程中不会加载沿途区块,生存服或许会优化一点的样子

             disable-chest-cat-detection: false
       上面提到了,检测箱子上的喵喵彩虹猫用的

             disable-player-crits: false
       设置为true后玩家就不能暴击了

             disable-end-credits: false
       你在死亡时会看到一个分数,而显示这个分数某种程度上会让数据包变大那么一丢丢
       设置为true后可以肉眼不可见地优化着服务器,当然如果你只是单纯不想看到这个分数也可以设置

             disable-sprint-interruption-on-attack: false
       设置为true后甚至可以在A玩家攻击时取消A玩家的疾跑,正常服务器没有需求,但可以做一个诡异的玩法


  然后看一点其他有趣的东西
             disable-explosion-knockback: false
       设置为true后,爆炸不会击退任何生物,优化是基本没优化,但是可能有玩法用得到

             allow-leashing-undead-horse: false
       设置为true后,玩家可以用缰绳拴住骷髅马和僵尸马


             stackable-buckets:
                lava: false
                water: false
                milk: false
       设置为true以后,对应的岩浆/水/牛奶桶就可以堆叠了


             fishing-time-range:
                MinimumTicks: 100
                MaximumTicks: 900
       在没有附魔的情况下,钓鱼时长最短是100ticks(5秒),最长是900ticks(45秒)
       这里的时间是能看到有鱼游过来,至于有没有钓上来 或者 钓了什么又是另外一回事了
       你可以设置的巨长,或者巨短,也可以有新的玩法体验

警告, 本页面的更新将一并移动至 6.3章 ,由于黑科技比较多,欢迎大家在本章后继续阅读6.3章,并提出建


至此 4.1 对 服务器 从配置文件上 进行优化
就结束了!!!!
让我们来讲一些理论角度出发的 ,且从本人视角出发,很主观的一个介绍
                                       4.2 对 服务器插件 从数量,配置上进行优化
                                       4.4 从 服主心理 开始分析 让你深刻体会 哪些事有必要做 哪些事完全无意义
                                       4.5 从 玩家心理 开始分析 为什么服主要做这些事 为什么有些内容无意义

Tips1: 请不要用预制端,你要是真的想用,请你找一个质量高一点的

你喜欢插件多还是少?

    这个问题比较蠢,因为玩法如果要丰富的话,势必会导致插件数量变多
    但是实际上不动脑子也知道,插件加的越多,服务器计算量就会增大,自然也会卡
    所以到底如何取舍就成为了一个大问题

你或许见过一些付费端会超过一百个插件,看起来光鲜亮丽的外表下,其实是端作者过于睿智的体现
或许宣传图很炫酷,或许特效很棒,或许玩法也很棒,但是你觉得你机子带的动吗

————————————
奇怪的质问1: "机子不够好是你们自己的问题,关我们做端的什么事?"
极光无奈的回答道 :"诚然如此,但你很轻松就可以优化得更好,而你没有做到,所以我说你的端质量低下没有问题"

奇怪的质问2 : "爱买不买是别人的事,你不喜欢是你的事,别人就不一样了,闭嘴,滚!"
极光无奈地回答道 : "所以我来这里喷你们这些卖端的了"

奇怪的质问3 : "听见没有,**,给我滚啊。别人爱买不买,没人像你一样追求优化,管你p事啊艹 "
极光高兴地回答道 : "激动什么嘛喵,你的端既然都卖了,质量这么低,我觉得这端要么免费,要么就不要发出来丢脸了"
————————————

诚然,这些端有些地方做的确有过人之处,但是就是这所谓的过人之处弄烂了这个端
过量的插件,无处不在的effect效果,各种技能,particle粒子,以及没有优化过的配置文件
只要玩家数量上去了,这种端下玩家的体验绝对是巨烂的
这就是纯粹在 "堆叠_配置文件",而非 "配置_配置文件"
几乎80%的付费端都是如此,而免费端质量更是参差不齐,不过mcbbs这里有敲原创图章的端还是相对不错的

国内的免费端发布 我觉得只有mcbbs里的端是能正视的
国内的付费端市场简直就是 脏 乱 差 无人监管 自成一体 的人间之屑体系
我绝对不建议购买任何国内的付费端,99%都很糟糕,且骗子不少,虽然我这番言论可能会误伤极少数优秀的付费端作者
更不要前往国内任何所谓交易平台进行购买,他们表面光鲜亮丽,背后里实则是黑市交易
他们也是前面提到的利益链的一份子,更是国内插件倒卖的巨头
[查看网页源代码可以看到mc这块国内外的枪毙名单]: 如果想在名单中除名,请去举报版举报我,然后我会把你们的证据贴在你们脸上
①我的世界交易网 国内付费插件倒卖最大市场 站主: 夏君游 (UID: 2546903) 网站 https://mc5173.com/forum.php
②绿龙头 国内最大的破解付费插件市场,由于性质特殊,网址就不放出来了
③黑龙头 全球最大的破解付费插件市场,性质特殊
④我记不得叫什么云黑了,反正是和卖垃圾端&倒卖付费插件&d服&恶意竞争市场 有密切关系的
另注: 我不想一棍子打死,但是不管是云黑里都没有什么真正的好人,要是真的有好人 他们举报自己云黑比我举报方便多了,哪里还用得着我来说

如果你要购买付费端,我唯一的建议是前往国外的 MC-market 进行购买



其实现在想想,快餐服多,可能仅在某种程度上也是一个错觉
不如说是用低质量端的服务器和快餐服区别不大,再加上国内玩法的单一化
那些技术不够的服主会被我们误判为快餐服
在第六章( 团队 ) 里的行情统计,我们在统计时的确发现了大量低质量服务器
但是在统计时,判断是否为快餐服是有其他标准的,所以很多服务器并没有被列入其中

而当我们仔细考量低质量服务器端时,不难发现
[优化差] [使用相似同类端的服务器多,视觉疲劳,玩法也单一] [玩家体验差] [各处有可供盈利的项目]
所以我们所谓"快餐横行",其实是在说 "国内MC服务器质量普遍位于中低档的低谷中"

当然不可否认的是,快餐服都用端,而用端的服务器质量也必然低
很容易就能得出这个结论
但凡服主有能力做的更好,他可以选择优化这个端,也可以选择自己原创一个端,即使玩法仍然是单一的
而快餐服用端是最赚的,如果你看过我的文章 我国mc为何没落 ,或许就能对我的观点有更深刻的认识


而用端的另一个弊端是极度不便

如果你用过端,我认为很多人应该都深有体会

  • 莫名其妙就出来的报错
  • 永远找不到的插件
  • 熟悉这个端、上手耗费太长时间  ->  难以修改配置,难以做出更大的改动
  • 不知道藏在哪里的后门

这也导致了一堆服主不愿意动手去修改,于是懒癌发作,导致服务器快餐服病毒的检测结果从阴性变成了阳性
所以用低质量端,甚至是用端,都不是一件什么好事
我认为最棒的就是从头自己开始弄,毕竟就算你是100%的萌新
到现在你已经学会了 : 各种配置,如何更好地优化自己的服务器
接下来我还会教 地皮以及多世界以及NCP反作弊 的配置与优化注意事项
当然也有一个worldedit的笔刷教程,所以用端感觉没什么大必要,但你仍然可以用质量高一点的端
只要你不嫌弃上面列出的那4个问题

重复结论1: 请不要用预制端,你要是真的想用,请你找一个质量高一点的



Tips2: 提心吊胆,委曲求全,插件越少越好

是的,我不是想教你到底怎么选择插件,因为这深究起来比较杂烦
我只是想让你知道,插件的确是越少越好的。当然,你说你想多装几个大家认可的优化插件,这当然可以。

1 如何 "提心吊胆"
    首先,你的插件最好是在 Bukkit/SpigotMC/MCBBS 论坛内下载的,这样能有效避免后门
    其次,请不要使用任何 "破解的付费插件" ,尤其是黑龙头和绿龙头这种地方,可能会有后门
    再次,国内买的付费端很多都有后门,所以即使是付费端也要额外注意
    最后,提防后门只是第一步,我绝对不是不想单纯的讲这种东西

你还需要在 玩家想法 和 服主想法 上提心吊胆
    何为玩家想法,他们喜不喜欢这个插件,喜不喜欢这个玩法,才是你开服的本质与本职
    的确,我的说辞是很空洞的,且各种教程里也千篇一律,说法没有问题,但是很空虚,新人伸出手却捉不到答案
    "怎么判断玩家喜不喜欢,如何去琢磨?服主的本质与本职又是什么?"
    但是不知道你有没有发现,我的这篇教程里到处都是转折

    玩家喜不喜欢一个玩法,无非是简单的换位思考
    当你作为玩家在各种手游,端游,网游,页游,3A大作里,或者和渣渣辉一起攻沙的时候,心里想的是什么?
    诚然,可能是热血,科幻,感动,温馨,平静,治愈,nekopara??? 等等
    但回归本质,玩家无非是在想:
      -  这个插件它好不好玩?
      -  它的核心玩法可玩性高不高?
      -  这个插件能让我们体验到什么新东西?
    不错,不管是某个玩法的核心插件,还是某个附属插件,又或是优化插件
    他们都能让游戏焕发出新的内容
    而你成为 追求剧情,追求难度,但同时也 追求舒适,追求无脑 的不同服务器玩家去看待问题就会简单的多
    小结 : 先做好简单的换位思考就可以了,尤其是第一次做 ......这种事情的,不力求完美,只希望大家能想到这点
             想要做好服务器,也要多玩各种其他游戏,不管是手游还是pc端的独立游戏,至少阅历要够

    而 服主想法 相较之下简单多了!
    你无非就是想做好服务器而已,虽然这会让你不断加新的插件成为服务器累赘,但你喜不喜欢也是一件大事
    你是游戏管理者,你可以听取玩家想法,更可以不听取,在一些玩法的原则上,不能打破就是不能,不能更新就是不能
    当你拿到一个玩法类插件(插件可以简单分为 : 优化类,玩法类,功能类)
建议的反应流程
        你的第一反应建议是 : 会不会对玩家体验造成负面影响
        你的第二反应建议是 : 会不会对玩法造成影响,如果改变了玩法的话,玩家喜欢吗
        你的第三反应建议是 : 如果没有负面影响,玩家也喜欢,你是否要坚持你的玩法呢
                                        或者说,你到底希不希望玩法改变呢



2 如何 "委曲求全"
      堵上全部武装、战力、战术      开始求饶!
                          ——《游戏人生: zero》休比

     显然委曲求全也是一门学问,而且是一门大学问
     上面我们提到 "当你想要装玩法类插件时,你的第一反应是,会不会对玩家体验造成负面影响"
     但是负面影响也是分为多种的,比如你提升了游戏难度,修改配方提升合成难度,这是一种
     但第一种是要留给玩家和服主评判的,我们这里只提第二种,"流畅度"

     服务器卡了玩家体验当然差,不要问我为什么,这没什么好问的
     而你唯一能减少卡顿的只有两个地方,要么不装插件,要么把插件配置优化的好一点
     但是大部分插件做不到后者,而能做到的插件,又需要使用者对插件有足够的了解,新人而言有点难
     所以我就得出了一个对于新人而言,非常简单,粗暴,且高效的方法
     在服务器基础玩法已经形成,且完善的前提下,我们按照 "建议的反应流程" 先进行考虑
     一旦其中有任何一项不满足条件,或者这是一个功能类插件
     我们就步入这个步骤2 "到底装不装插件",开始思考其必要性。

对于功能类插件,这个问题是很简单的,你只要把你所有插件的配置文件翻一遍即可
     什么?你说这在开玩笑?不我没有在开玩笑

   —   你想安装tplogin插件让玩家登录时的地点固定?
         当你看完ESS的配置文件,就会发现完全可以设置,压根不用装插件

   —   你想给服务器的玩家前/后缀称号?
         当你看完GroupManger或者LuckPerms的配置文件,就会发现称号插件不是必要的
               当然有一些称号插件是挺方便的,至于到底需不需要就是你来判断了
              - Bukkit系 :   FreeSwitchTitle —— 可自由切换称号的称号系统
              - Sponge系 : NewHonor —— 多功能的头衔称号插件

   —   你想让玩家自己创建商店?
         实际上shopkeepers,chestshops,等等插件都可以做到,仔细找找看?

   —   你想禁止自然回血,固定时间?
         /gamerule 请你去玩玩原版,然后就知道到底应该怎么整了

   —   你想修改药水效果,破坏速度,移动速度,液体流动速度,自然建筑生成,群系是否生成,群系大小?
         一切尽在 spigots.yml 和 paper.yml
         你甚至还可以修改是否生成矿洞/峡谷/地牢/神殿/基岩/村庄/废弃矿坑/等,关闭雷暴,修改结冰与积雪速度
         修改移动/跳跃/疾跑/跑跳/攻击/游泳/自然回血消耗的饥饿度,各种作物包括地狱疣的生长速度,甘蔗和仙人掌高度
         还可以防高空流水/岩浆,防tnt崩服,等等等等
         还自带远超任何插件效率的防矿透anti-xray,非常建议生存服开启,但是在哪里都得自己找

       所以你只需要委屈一下自己,看看有没有办法利用手头的实现相同的功能
       然后仔细想一下,这个到底会对 "建议的反应流程" 里的内容冲突多少
       当然,最后做出抉择的是你自己

ps: 像什么yum,plugman,还是什么itemeditor,editlore等插件,虽然玩家不会用到这些插件
     但是他们仍然会有占用,如果你的服务器真的已经99%完善了,非常建议删掉,或者通过修改文件后缀名禁止加载


对于玩法类插件,这个问题是很恐怖的,这几乎是所有新人的盲区
     什么?你说这在开玩笑?不我没有在开玩笑

      首先你要对玩法足够熟悉,否则我觉得你只要按照 "建议的反应流程" 来就行了
      对于足够熟悉的人来说,玩家的喜好你也清楚了,也不用看本帖了
      没错就是这么两极分化,非常极

      是否安装这个插件仍然是服主自己的选择
      如果认为安装后服务器流畅度仍然令人满意,且玩法饱受玩家喜爱,那么自然可以安装/保留插件
      而如果一个插件需要你在流畅度与玩法直接进行抉择,这又是仁者见仁智者见智的情况了,望谨慎选择

      当然,你大可直接装上去,要是太卡,或者玩家反响太差就删掉
      这是很多服务器选择的做法,我不提倡,也不喜欢,但这种做法的确可以帮你看到玩家的反馈


3 插件越少越好
     恭喜,这是一个结论,而让插件变少的方法就在上面 "1.提心吊胆" , "2.委曲求全" 里
     而你已经 简单的 了解了如何减少你服务器运算,提高运算速度的最简单、粗暴的方法
     这个方法就是 "插件装的越少越好"
     而根据上文的顺序来思考,可以保证你每个插件、每个已有的配置文件可以被最大限度的利用
     这无疑是非常棒的优化手段,虽然其简单、粗暴,但是可以说: 结果是非常优越,令人满意的



下面的内容是这三个
                                       4.3 对 jvm调参 从最基础的初步认识开始 进行优化
                                       4.4 从 服主心理 开始分析 让你深刻体会 哪些事有必要做 哪些事完全无意义
                                       4.5 从 玩家心理 开始分析 为什么服主要做这些事 为什么有些内容无意义

[anchor=JVM]完蛋,最头痛的jvm来了[/anchor]
一般来说是要加参数然后根据gc打印的log来优化,每个服务器都不同的
然而这个jvm被mc的垃圾代码限制了一下,所以似乎单纯优化内存感觉就足够了X
难度急剧下降

然后我发现哒哒为又双叒叕有一个帖子
而且又双叒叕是搬运过来的    Aikar: 调整JVM —— 非常有效的服务器启动参数

虽然翻译的一般,但是内容的确比我好,所以我就不讲了吧
当然,这贴也不错 冥想了一夜的服务器启动参数
这次是真的不讲下去了,因为我实在是太菜了,非常建议大家去看一下上面的这两帖
以我的水平只能来讲讲一些基础知识
我是一个纯度90%的真·新人,如有错误,谬误,纰漏,错字受,欢迎指出


下段的目的是帮助服主读懂其他含有专业名词的教程
你也许看过什么jvm优化贴,你也见过其他优化贴,但毕竟很多萌新完全看不懂里面的专有名词
如果你希望稍微能对jvm优化mc内存有一些了解,你可以继续看下去
对于不敲代码,连"ram"都听不懂,更别提"吞吐量""GC"的人,本帖可能会有所帮助


最基础:

RAM是什么?它是电脑内存,或者说是运行内存
你租机子的时候看到的 4G,8G 都是这个玩意
同时,如果你看了上面几个帖子,你就会知道要在bat里面通过jvm来分配一下内存
-Xms最小G -Xmx最大G     至于这里到底应该怎么分配,我们下文再说

新人会有疑问的是,我们看到的另外一个叫做硬盘的东西 ,也有40G,80G,这个是什么?
他是ROM,也就是你家电脑里存数据用的东西
比如说你下载了一个游戏,下载了一部电影,下载了一个galgame,下载了一个软件,下载了一堆H图
他们的大小都是巨大无比的,就连你的服务器核心也是 20~40MB。然而同样,你硬盘的容量也是巨大无比的

这里来科普一下机械硬盘(HHD)和固态硬盘(SSD)的区别
如果你租服的时候遇到了 ...... 这只能说明你遇到了这种破水事而已

本帖最后更新日期是2019年,反正过个几年这里的数据就完全过时了
机械硬盘的读写速度是100~220M每秒,最顶级的也不过220M/s上下
固态硬盘不同品牌型号之间,差距非常大,区间在150~600M每秒
消费级的(你能买的,或者是你能租服时见到的)两种硬盘之间的区别大概撑死是3倍的样子
不错,固态硬盘的读写速度的确是比机械硬盘高不少
即使你不使用mysql数据库存插件数据,只使用默认的.yml存,中小服使用固态硬盘甚至可以做到媲美存数据库的速度
在数据保存时也有非常优秀的表现,可以有效保证游戏内不会出现过分的波动,但该在峰值卡顿的还是会卡
某种程度上也能够稍微拯救一下小服的TPS

但是,固态硬盘贵啊,贵啊,"贵啊",虽然现在是有各种消费级的固态硬盘,价格亲民了很多
但是读写速度是会随着使用时间变长而下降30%左右的啊,而且如果一旦出现损坏,几乎无法恢复数据
所以备份是有必要的 (我好像在前面哪章节里一直重复这话?好像真的是这样草绳)
但是...也就看看就过去了,除非独立机,不然不要纠结这种东西
你就单纯租个vps,而且开服这种事很降设备寿命的。你真觉得给你的固态硬盘能有多好?
一般是用简写的,我这里为了让你看懂所以没用简写,机械硬盘 = HHD    固态硬盘 = SSD


稍基础:

并行:
|    哦豁,完蛋,纯萌新看到这个词就懵了,但是其实根本没什么难理解的
|    意思大抵是 "同时做多件事"
|    我在 写作业 时挂机 刷明日方舟夏活蓝火之心OF-6副本
|    这就是最简单的并行了,你的cpu可以同时做多件事,处理多个事件,这就是并行
|    注意: 单核cpu的无法并行,只能并发(虽然这对理解毫无帮助甚至还会让你更加迷惑但是我就是想说你能打我吗喵)
|
并发:
|    我在 写作业 时发现我副本自动代理完一次了,于是我要停下写作业,重新去开一次副本,然后再 写作业
|    很明显,我的操作是 "写作业 -> (停下写作业)重新开副本代理 -> 写作业"
|    这就是并发,即使我只能在刷副本写作业之间的状态里切换来切换去
|    而在现实中,我们会和同学说 "我一边打游戏一边写作业",虽然你是"并发",但你描述的是"并行"
|    不是说这么描述有问题,而是这就是为什么会有人搞混"并行"和"并发"的原因之一
|
|    我们只有一个身体: 只可以通过交替来达成做几件事,这也等于说明 "单核cpu可以并发,但不能并行"
|    但当你可以操作几个身体时 : 你可以同时做多件事,这也等于说明 "多核cpu拥有并发和并行的能力"
|    也就是并发不追求事件同时发生
|   
|    多cpu情况下,并行可以变得更加复杂,比如进程交替,重叠,也可以视作是多个并发事件同时发生变成了并行
|    但这也仅供新人了解一下,看不懂就无视&跳过,毫无影响
————————————————————————————————


同步 :
|    魔兽世界怀旧服开了!!!
|    连刷个小怪都要排队半小时?!
|    排在后面的玩家必须等排在前面的玩家刷完怪才能刷
|    是的,这就是同步,你必须等前面一个事做完,才能轮到你来做
|    你必须等前面一个方法执行完毕,下一个方法才能执行,很容易理解吧
|   
|    同样,你可以发现,这些进程之间是有依赖关系的
|    必须等前面一个刷完怪,他会[输出]一个"我刷完怪了,你来吧"的消息
|    收到消息以后你能刷,你会[输入]一个"你结束了,我来刷怪"的消息
|    这就是一个依赖关系,其判断标准可以视作"有先后顺序"
|   
异步 :
|    什么?!魔兽世界怀旧服出分线系统了?!
|    (分线即有不同的线路,和你贪玩蓝月登陆的时候有什么 7024号服 皇城争霸服这种)
|    你可以在不同位面,线路里刷小怪!
|    这时候就有两个或者更多的玩家,可以同时刷小怪了!
|    (请注意,这两个人刷的小怪是不一样的)
|    当然,这就和上面的并发一样了,这时候就称作异步(调用)
|    如果和并行一样的情况也是可以叫做异步的
|   
|    但你可以在 作业快要写完的时候 开始 刷明日方舟副本
|    也就是说其实你可以在任何时候插入另外一件事
|    如果说同步是"有先后顺序",那么异步就是完全独立的几件事
|    不管你小怪刷没刷完,都与我另外一个服务器里小怪刷没刷完无关,雨女无瓜,丑老太婆 (大雾
|   
|    我们可以发现,同步是会'阻塞'代码执行的,我闲着在那里等着,得等前面刷完怪我才能刷
|    所以其实不管单线程还是多线程都是有异步的
|   
|    java异步一般是多线程啦,要自己开线程池的
|    线程是实现异步的一个方式,异步是让调用方法的主线程不需要同步等待另一个线程的完成,从而让主线程干其他事情
————————————————————————————————


Suspend/挂起 :
|    百度查一下英文,悬; ; 吊; 暂停; 中止; 使暂停发挥作用(或使用等); 延缓; 暂缓; 推迟
|    "挂" 就是称之为 挂起 的原因,而后面的 "延迟" "暂缓" 则是挂起(Suspend)的本意
|    我们举一个例子:
|    你或许会看到 "... 会导致线程被挂起,直到..." 这种话
|    这话想表达意思的就是 "... 会导致线程暂时停止工作,直到..."
|    我们下文来一个实际的语境,就会非常容易理解了
————————————————————————————————


临界资源 :
|    打印机一次只能打印一张纸,他不能同时打印多个进程的结果
|    否则一张纸上又有英语作文又有语文作文还有数学例题,你到底交给谁看好呢
|    但是会有英语老师,语文老师,数学老师轮流使用这台打印机
|    那么这台打印机就是公共共享的资源了,我们称其为"临界资源"
|    但是一次只能给一个老师用,从来没有一堆老师同时围着一台打印机戳来戳去的,这场面太睿智了233
|    所以前面加上了"临界"两个字
|    这里要注意的是,打印机的确是临界资源,这不是我在举例子!
|    而软件层面上的则可以是变量 数组 缓冲区 等
|    判断他们他们的标志是 "在任何时刻都仅允许一个进程/线程使用的共享资源"
|   
临界区 :
|    每个进程/线程(下面全部叫线程了)中访问临界资源的那段代码 才是叫做临界区的东西
|    由于临界资源的定义有 "同时只能有一个线程使用",所以临界区这段代码也是如此
|    就算有多段代码都有临界区,只要有一个线程进入临界区时,其他想要访问临界资源的线程就会被挂起
|    必须等那个进入临界区的线程释放了,其他线程才能进临界区
|    这相当于加了一把锁
|   
互斥 :
|    我们把线程想要进临界区但是却怼来怼去,只能干等着的情况叫做互斥
————————————————————————————————


阻塞 :
|    其实我们上面大概有提到过,在同步那里,但还有更加严重的阻塞
|    试想你的英语老师正在印全校期中考试的卷子,然后边上有一个只想印1页讲义的数学老师欲哭无泪
|    英语老师印了一个上午,数学老师等了一个上午,而且后面又来了语文老师,大家一起干等着
|    这就是阻塞的情况之一了,当线程占临界区却不挂起,后面一堆线程都在那里吃瓜,干等着
|   
非阻塞 :
|    正好和上面相反,用来描述 "所有线程都正常运行,没有线程干等了几亿年"
————————————————————————————————


吞吐量:可以看做 线程用时 占 程序总用时 的比例
|           比如这个比例是80%,那么80%的时间是在正常运行程序,20%的时间是在干其他的事
|           而没有用到的比例基本都浪费在后面会介绍的垃圾清理工GC那里
|           所以吞吐量越大越好
|           而我们希望工作的时间越长越好,垃圾收集时间越短越好(但前提是要清理完全)
|           所以我们后文就会对垃圾清理工GC进行设置,让他收集的快一点
|   
并发量 : 中杯奶茶一共可以容纳500ml的奶茶,这就是他的容量上限,也就是并发量
|            并发量是越多越好的,毕竟这样就能有更多的奶茶了
|   
|            yys和我在买混乱牌奶茶(都买的是中杯500ml少糖去冰红茶玛奇朵加奶盖双份配料珍珠换椰果)
|            yys先拿到奶茶,假设他喝奶茶的速度不变,他一段时间后可以喝完这杯奶茶
|            这时我也买好了奶茶,突发奇想,想和yys一起喝这杯奶茶 于是我和yys各拿一根吸管开始嘬这杯奶茶
|            假设我们喝的速度相同且不变 一段时间后,奶茶也喝完了
|            正常来说,第一次的时间应该是第二次的两倍  奶茶的并发量是500ml 而喝奶茶速度就是性能的体现
|            你可以把性能看作我们喝的速度,也可以看作是中杯自己主动向外压出奶茶的速度
|            我俩喝的越快,奶茶的性能越猛( 这时奶茶正在被2个人喝,它相较原来会喷出2倍的奶茶。并行处理的能力就是2倍了)
|            今天混乱比较高兴,所以又送了我们一杯奶茶(大杯700ml的中糖去冰草莓西米露加奶盖双份配料)
|            如果现在凛音和灰灰也进来喝同一杯奶茶,也就是4个人,喝奶茶的时间又缩短了一倍。
|            奶茶由500ml变成了700ml,它的并发量增强了200ml,(因为奶茶最大容量变大了)
|            这时奶茶正在被4个人喝。并行处理的能力是4倍了(因为奶茶可以同时处理4个人喝奶茶了)
————————————————————————————————


其他就不说了,我不觉得我下文介绍jvm会用到其他东西
上面的介绍很大一部分都是科普性质,下面其实也基本用不到的
唉 ... 归根结底还是自己太菜


正文:
步入jvm调优

一般来说jvm。。。 我都不知道怎么教,无从入手,先来看看我们会见到的结构吧
对于新人来说,这结构非常不友好,所以我拆开来了,虽然你仍然看不懂,但我下面会介绍一下

                                                                                    ╭     方法区/Metaspace    ——右边的不管了——>
  首先,你家服务器                                                         |      Java栈           ╮
  和插件都是.jar        ——类加载器——>    分配的内存空间 |      Java堆           ╯——右边的不管了——>
  而里面都是.class                                           |               |     Java虚拟机栈+本地方法栈   ——右边的不管了——>
                                                                     |              ╰
                                                                     |
                                                                     |
                                                              垃圾收集器


左边的什么.class,什么类加载器子系统,这都先放一边
右边不管了的什么本地方法库,接口,执行引擎,寄存器,也全部丢一边
我们只来看 "内存空间" 和 "垃圾收集器"

之前提到的RAM就是这里的内存空间
而内存空间又可以拆成4个部分,分别是 "方法区" "Java栈" "Java堆" "本地方法栈"
我们用简单易懂的语言讲一下吧

这四个东西既然是在内存下的,那么怎么看都是要储存点东西的吧
(以下内容仅供瞎看看,草草看过就算数,不仅没有干货而且还没意思)

方法区(仅供瞎看看,且已经在java8中被MetaSpace取代,这段就纯粹扫墓性质)



相关参数: (下面的两个在java8中被弃用,在java9中被删除)
-XX:PermSize                  设置方法区最小值(默认16MB)
-XX:MaxPermSize            设置方法区最大值(默认64MB)
无需修改,我只是想让你知道有这个叫方法区的东西而且会有人称他为"永久代/区" 或 "非堆(内存)"
而且我们一般用不到这个玩意,这段就纯粹扫墓性质


MetaSpace元空间(仅供瞎看看)



相关参数:
-XX:MetaspaceSize                  设置元空间最小值(默认约12~20MB)
-XX:MaxMetaspaceSize             设置元空间最大值(默认约4096MB)

-XX:MinMetaspaceExpansion     设置元空间最小增长幅度(默认约330KB)
-XX:MaxMetaspaceExpansion    设置元空间最大增长幅度(默认约5MB)

-XX:MinMetaspaceFreeRatio     设置Metaspace GC后最低空闲空间比,默认情况:若低于40%则会开始增长
-XX:MaxMetasaceFreeRatio      设置Metaspace GC后最高空闲空间比,默认情况:若高于70%则会FGC开始释放空间


跳过Java虚拟机栈+本地方法栈,无视
Java栈内存 与 Java堆内存(仅供瞎看看)

栈 : 英文是 stack ,是线程私有的内存区域
堆 : 英文是 heap ,是线程共享的内存区域

Java栈内存里保存
  • 基本数据类型变量
  • 对象引用 <—— —— —— — ╮
Java堆内存里保存                          |
  • new出来的对象 <— — — — ╯
  • 数组

这个红色的对象会在下文出现


恭喜你!你已经看完了完全不要紧的废话!我只是怕你不认识一些知识所以就瞎聊了几句
我认为除了我对于jvm结构的讲解,其他东西还是非常非常非常亲民向的(并发,并行那些东西)
接下来我们会讲一些非常非常有意思的内容

我们和蔼可亲的GC,这是一位是工具人——垃圾清理工
本段目的: 让你能理解一些基础知识,方便你读懂论坛内外的其他帖子
但是由于我的目标人群是新人,所以不会说的很严密,严谨,详细
只是说的你们能听懂个大概,但是有一些内容我是根据前后文已经提及的内容有所调整的
所以下文不严谨


  首先声明一点,你家360的那个垃圾清理,他是清理磁盘(ROM)的垃圾
  然后还要你删软件啊,删什么什么啊 233

  而你可爱的GC酱要删的是内存(RAM)里面的垃圾,这俩是不一样的!
  毕竟你磁盘可能超过100G,但是中小型服务器内存只有 4G ~ 16G 的样子,32G都已经是罕见的了
  而GC的全称是Garbage Collection,翻译过来就是 "垃圾收集" 的意思,就是这么简单粗暴的说

  然后我们来了解一下,什么是垃圾?
     第一反应,大家可能感觉都很清晰,但是仔细一想就发现事情没有那么简单
     草生,居然有一堆新人不知道这里垃圾指的是什么!
     垃圾指的其实是死掉的对象
     ...嗯?哪对对象死了?谈个恋爱还能死?什么?虚渊玄又写小说了?!快把笔抢下来!
     wdnmd,想什么呐,这不是一个意思啊Kora,此对象非彼对象

你肯定会听过一些名词,至于他们应该怎么分到哪类里,等你入门java就知道了
比如 "类" "对象" "字符串" "节点" "库" "容器" "源代码"
看起来都很高大上,但是你不知道怎么分类,更不知道干什么的,所以我就放飞自我介绍了

百度一下,我们发现java是面向[对象]的语言
别的不多说,就算完全看不懂是什么意思,但是想想也知道,应该是会有一堆[对象]存在的吧
没错,你的代码里会充满各种[对象],而他们的情况也不一样

  • 有些[对象]用了没几次就会被丢掉          (啊?你才是花心大萝卜,你全家都是花心大萝卜!)
  • 有些[对象]一直在被用                          (啊?你才是RBQ,你全家都是RBQ!)

而绝大多数都是第一种情况,没用几次就会丢掉
但是你把垃圾丢在回收站是不行的,他还是在那里,你要删掉他们
然而现在我们除了删掉垃圾,还要面临另一个问题,压根没有人会丢垃圾,他们只是随手放的而已
这时候可怜的GC就要担负起 [找出垃圾] 和 [删掉垃圾] 的职责了


我们的先辈已经设计了一套模式,是根据[对象]活了多久来判断的
而上文我们在介绍Java堆那里有一个红色的对象
这个红色的对象,就是我们要清理的垃圾之一,而GC就是用来清理Java堆内的垃圾用的

Java栈则不需要清理,Java栈有全自动化垃圾焚化炉,读取效率高
且其中对象存活时间和大小都是确定的,Java堆的对象则都不确定


  先来讲一下这个分代的想法大概是什么样子的
      先开辟两块地方,一块叫做新生代,英文叫Young Generation
                                另一块叫老年代,英文叫Old Generation
      看名字就猜得出来,这俩是通过[对象]活了多久来垃圾分类的

                                                                     大小比例(默认)
      而新生代又分为     新生池 (Eden pool)            80%   ╮
      这三块                  Survival0 (S0)                   10%   ├ 下文讲解时并不会按这个比例来讲解
                                 Survival0 (S1)                    10%   ╯

      最初,我们将所有对象丢到新生池里去,现在我们有

第0年:
新生池 survival0 survival1 老年代 永久代
对象1 对象2 对象3 对象4 对象5
-
╰──────────────────| 新生代 |─────────────────╯


=============下方第1年开始=============
请注意,实际上只有经过一次GC后, 每个对象的年龄才会(至少)增加1 ,但是为了方便你们理解
下文这里用了一个完全不正常且不对的字眼"随着时间推移"仅仅是为了方便理解,
因为几个gc在现在这个时候还没有介绍,看到下文就知道了

    一开始,这5个对象都是活着的,但是随着时间的变化,这5个对象都变老了1岁 (由绿色变成 —>蓝色来表示)
    在这段时间里,又有5个新的对象出生了
    但是很不巧,"对象5"过马路时被车撞死了(变成红色表示),这导致了现在的情况是这样的
第1年:
新生池 survival0 survival1 老年代 永久代
对象1 对象2 对象3 对象4 对象5
对象6 对象7 对象8 对象9 对象10
╰──────────────────| 新生代 |─────────────────╯

(这个第一年,第二年都是抽象的,只是想告诉你时间在往后走)

=============下方第2年开始=============

    又坏消息是,现在新生池 (Eden pool) 已经被塞满了
    这代表着如果第2年有新的对象进来,他们就没办法被塞进新生池 (Eden pool) 里了
    不仅挤得要死,而且对象5的尸体还躺在那里!
    (对象死了,可以理解为 "这个对象已经没用了,不会再用这个对象了")


    清理工GC出动!这次的清理工叫做 Minor GC,他是专门清理 新生池,Survival0 (S0),Survival1 (S1)
    他会扫掉挂掉的对象5,然后把还活着的对象全部丢到Survival0 (S0)里
    这时候,一部分对象2岁了,一部分还是1岁,当然还有新生出来的对象
第2年:
新生池 survival0 survival1 老年代 永久代
对象11 对象12 对象13 对象14
-
对象1 对象2 对象3 对象4
对象6 对象7 对象8 对象9 对象10
╰──────────────────| 新生代 |─────────────────╯


=============下方第3年开始=============

    坏消息是,这次校车在山区侧翻了
    Survival0里面只活下来了 对象4,而新生池也只剩下 对象11对象12

    同时,又新来了6个对象
第3年
新生池 survival0 survival1 老年代 永久代
对象11 对象12 对象13 对象14 对象15
对象16 对象17 对象18 对象19 对象20
对象1 对象2 对象3 对象4
对象6 对象7 对象8 对象9 对象10
╰──────────────────| 新生代 |─────────────────╯


=============下方第4年开始=============

    这个时候新生池满了,所以我们又找来了Minor GC来扫垃圾
    前面说了,这个 Minor GC (MGC) 是扫整个新生代的,所以他会把s0里的也清理一下
    顺便把新生池里的对象塞到...嗯?
    让我们先来看看图
第4年:
新生池 survival0 survival1 老年代 永久代
对象a 对象b
-
对象4   对象11 对象12 对象15
对象16 对象17 对象18 对象19 对象20
╰──────────────────| 新生代 |─────────────────╯

    没错 他没有把对象塞到s0里,他把对象塞到了s1里!

    那么当下一次新生池满,触发了Minor GC 的时候,你们觉得会怎么样呢?
    首先,当然是每个对象会老一岁啦,顺便会清理掉那些已经挂掉了的对象
    其次,他会把剩下来活着的对象从s1和新生池里合并到s0里去

    当下下次?合并到s1去
    当下下下次?合并到s0去

=============下方第15年开始=============

    对象4的命比较大,他现在已经15岁了

新生池 survival0 survival1 老年代 永久代
对象150 对象151
-
对象4   对象97 对象99 对象50 对象65
对象80
╰──────────────────| 新生代 |─────────────────╯

   可以看到数字比较夸张,其他都是对象几十,对象几百了,他还是个位数 233
   这时候,他就是一个老人了,我们会把所有15岁的对象丢到老年代里面去

   无意义科普: 你可以通过XX:MaxTenuringThreshold来设置几岁的对象会被丢到老年代里去
   当然也有一些特例,会导致直接进老年代,这里由于是科普性的教程,所以不说了


=============下方第16年开始=============

新生池 survival0 survival1 老年代 永久代
对象150 对象151 对象152 对象153
-
对象97 对象99 对象50 对象65
-
对象4
╰──────────────────| 新生代 |─────────────────╯

没错,这时候15岁的对象4就进入老年代了
可以试想,随着时间流逝,当老年代满了
这时候就会出现 Major GC (MGC) 或者叫 Full GC (FGC) 这个东西了,两者表达的是一个东西
这个FGC/MGC 会清理老年代和永久代里死掉的对象,但是在清理垃圾的时候
其实你系统是会有一定的暂停时间的
而MGC清理垃圾所耗费的时间会远远小于YGC
所以实际上我们更希望去避免MGC,这会导致你系统停止一段肉眼可见的时间(至少要几秒的,这段停顿也称作Stop The World)
当然玩家那边也是会受到极大的影响,你卡一下都难受死,何况几秒
而作为开服的服主,你大概是没什么好办法去干掉FGC的卡顿的
所以我们会用到一个叫做CMS与G1GC的东西

再次插入: 现在你除了CMS和G1GC的部分,应该就能多多少少看懂一点了
冥想了一夜的服务器启动参数 https://www.mcbbs.net/thread-839828-1-1.html
Aikar: 调整JVM —— 非常有效的服务器启动参数 https://www.mcbbs.net/thread-867786-1-1.html

CMS : 英文是 Concurrent Mark Sweep(并发标记清除收集器)
虽然仔细看英文与中文翻译没什么意义,而且新人又是一脸懵,但是现在你应该找得出一些关键词
比如 "并发" "收集器",以及你没见过的一个 "标记"
什么是标记?就是给对象上一个 "我活着,GC别丢我" 或者 "我凉了,GC快把我扫掉"
这显然会方便GC清理你的垃圾,毕竟垃圾分类已经完毕了,你只要扔垃圾就行了
(上海北京人民有没有感同身受,丢垃圾真的痛苦 233)

CMS适合于有足够CPU资源提供给GC线程使用的服务器。
如果你需要更短的GC停顿时间并且CPU数量充足,那么就可以使用CMS收集器了。
举个例子,如果你服务器有较多长期存活的对象,那么老年代就会很大,导致GC耗费的时间很长,那么暂停时间也就很长了
如果恰巧你服务器cpu是大于等于2核的(大家基本都符合吧),那么就可以使用CMS收集器了

如果简单理解的话,你可以这么理解CMS的流程,虽然不尽完善 :
CMS会先标记出新生代里活着的对象,然后标记出老年代里活着和死掉的对象
由于要标记的对象肯定不会少,所以这会持续很长一段时间,但是CMS和你服务器的线程是并发的关系
这会吃你服务器资源,但是CMS并不是时时刻刻都在标记对象,而且你服务器并不会怎么卡
所以CMS还是很有意思的 (我在说什么

我们从百度百科上拉一段东西下来
我知道你们看不懂,所以来看看时间好了



我们假装看完了上面这段意义不明的东西
来讲一下CMS相关的参数吧

[当然,下面第一个是 启用CMS的时候要加上去的,打钩的是个人感觉可能有必要的]
-XX:+UseConcMarkSweepGC 启用CMS回收器
-XX:ConcGCThreads 设置并发线程数量
[下面的默认70%]
-XX:CMSInitiatingOccupancyFraction 设置当老年代使用率达到【你设置的百分比】时,执行一次CMS回收。
-XX:+UseCMSCompactAtFullCollection CMS在垃圾收集完成后,进行一次碎片整理。
-XX:CMSFullGCsBeforeCompaction 设置当进行N次CMS回收后进行一次内存压缩。
-XX:+CMSClassUnloadingEnabled 使用CMS机制回收Perm区Class数据

如果总结CMS关键词的话,应该是
  1 "并发"
  2 "停顿时间很短"
但是同样,CMS是有致命缺点的
  1 上文我们有提到CMS会占用CPU,这会导致服务器性能降低,流畅度略有下降
  2 我们可以看到上面有一个叫做"-XX:+UseCMSCompactAtFullCollection CMS在垃圾收集完成后,进行一次碎片整理。"
     的参数,看起来很好,但是仔细想一下,为什么需要进行碎片整理?
      答 : 因为有碎片嘛
     没错,虽然我不会细说这个碎片是什么,是怎么产生的,但是你可以把他试想为玻璃碎片(虽然这么理解完全不对)
     一堆玻璃碎片摆在你面前,你不会踩过去,而是绕路,但是实际上玻璃碎片的地面上有一些地方是没有玻璃的
     但是你还是绕了过去,中间那些空间就被浪费了(虽然的确是空间被浪费了,这么理解完全不对)
     请只记结论,不记过程,结论是 "中间的空间被浪费了"
     所以就要清理碎片,把它们扫到一起去,但是有一个大问题,把碎片扫到簸箕里的时候,你不是并发,也不是并行
     也就是说还是会有要命的停顿时间
     但如果你不设置这个参数,会有大量的空间被碎片浪费,导致你GC的次数会非常非常频繁,流畅度急剧下降
   3 除了上面这个'碎片',还有一个叫做"浮动垃圾"的东西,他也是垃圾,而且必须到第二次GC的时候才能被清理掉

那么我们看到上面两个帖子
冥想了一夜的服务器启动参数 https://www.mcbbs.net/thread-839828-1-1.html
这个就是用CMS的


G1 GC,全称是Garbage-First Garbage Collector
你可以通过-XX:+UseG1GC来启用G1 GC
这个玩意呢,是用来取代上面这个CMS的
因为你看到CMS虽然有优点,但是也有缺点

G1和CMS其实差不太多,也是在cpu多核情况下,也是分新生代和老年代来标记的
但是G1和CMS不同之处在于他们分类的方法有区别
CMS就简单的沿用了新生代和老年代,分别标记一下对象是不是活着,然后清理垃圾,(这很容易理解趴)
G1就在此基础上加了一步
   在上文我们知道,新生代里面有个survival0和survival1,而活着的对象会在s0和s1里面跑来跑去(这点你还没忘吧)
   而细究这个"跑来跑去",其实应该称作 "复制"
   再加上 CMS的"先标记是否活着"+"清理对象"
   就变成了G1的 "标记" + "清理" + "复制"
你可以再多去了解一下G1,会看到一个叫做 区域(region) 的东西,他和这 "三步走 " 有密切关系,我这里不多说了

G1有什么优势?
   这个"标记" + "清理" + "复制"的方法也没有那么无聊,多做一步也不可能是为了好玩对吧
   这是为了干掉困扰CMS的"碎片"
   采用这种方法,G1就不需要怕 "内存碎片" 了
   而G1也从并发变成了 "并发" + "并行"

G1适用于 : cpu核心大于等于2 (或有多个cpu), 且内存分配大于6GB的mc服务器
   他可以把每次FGC的时间压到0.5秒左右

当然,另外一个帖子
Aikar: 调整JVM —— 非常有效的服务器启动参数 https://www.mcbbs.net/thread-867786-1-1.html
就是用到G1GC的

如果你想要一个优化过启动参数的bat,详细内容可以看他们的帖子
我这里不提供了,毕竟两个帖子说的都不错

电脑前的我只能大喊
CMS  能不能带 -XX:CMSScavengeBeforeRemark 一起玩
这个参数会在CMS GC之前触发一次MGC,减少 "重新标记" 的性能开销
如果你remark的耗时过长,可以考虑在bat下面添加这个参数



然后我想讲一些有意思的提问与优化
可能是综合了上面配置文件和jvm参数优化的内容

首先是 单个 服务器玩家数量
1、我相信很多服主都有过类似的问题,不管mod还是插件服的服主
       一个服务器配置越好,就能带越多玩家是么?

诚然,的确是这样的,你要是把各种云的资源都汇集在一起,可能能带几万个玩家都不卡
但是,实际上还是会很卡,更可能几百个就卡起来了,因为我们上面聊到一个叫做 player-shuffle: 0 的东西
如果翻不回去就别找了,反正这个东西就是LinkedList来保持顺序的,这会导致你服务器玩家的数据包有先后的处理顺序
加入服务器时间不同的玩家会不一样流畅,而且从其中删除对象是一个线性时间的操作
这就是为什么玩家较多的时候,有人加入/退出游戏的时候服务器可能会卡一下,而且退出的时候会有更要命的卡顿
更何况由于数据包有先后的处理顺序,所以就算没玩家加入/离开服务器,一些玩家也不见得就能流畅了
所以仁者见仁智者见智,中大服绝对不要拘泥于通过 "优化配置文件" 与 "jvm优参" 与 "分配更多资源" 来提升服务器性能

实际上正确的操作绝对不是分更多资源,我后文会继续说,但是我们先来解决这个问题
正确的操作是 架BC (或其他分布服务器,比如waterfall啊 velocity啊),我下文统称 "架BC" 了
但是这个架BC没有那么简单,比如说 我把"起床战争" "空岛战争" "监狱风云" 三个玩法变为三个子服
这是最常见的,最普遍的架BC
虽然 "分多个子服(群组)" 比 "不分子服(单端)" 的流畅度会大大提升,甚至可能提升了几十倍
但是实际上这并不能很好解决卡顿问题,因为对于大服而言,你每个子服里还是一堆玩家
当超过100人的时候,你就要警惕起来了,因为这个时候 "投入更多资源" 和 "优化配置" 已经没有先前的显著效果了
单个子服玩家数量超过120,150,乃至200以后,卡顿就会越来越厉害,这时 你还需要再次"架BC"

怎么架?
拿HY举例子,你可以看到HY有一堆大厅
如果是单纯的多世界,就凭大厅玩家数量,服务器绝对是卡爆的
所以HY的每个大厅都是一个子服
这是把本就是子服的 "大厅", 再拆成多个子服

再拿HY举例子,你可以看到起床战争玩家巨多
你就真以为hy的起床和你们的起床一样,都是靠起床插件+多世界插件?虽然看起来的确一模一样,没区别
但是其实人家每个起床地图都是一个单独的子服,或者说几个地图就是一个子服了
这就是把子服 "起床战争",再拆成了一堆子服

当然,你可能会需要用到数据库和一些独特的插件
我这里不展开了,有兴趣的自己研究,或者我们可以私下交流下喵

2、服务器玩法特色 服务器宣传 服务器的稳定性与流畅度 服务器的玩家数量
       优先度如何?我该如何取舍?他们会怎么互相影响?

他们之间没有任何高低!他们是平等的,同时他们也是绝对不平等的!
他们之间存在必然联系,任意一部分发生变化也会导致另一部分变化
所以他们是动态平衡的
我简单的说就是,"我全都要"
但是我认为在 "玩法特色" 和 "稳定性与流畅度" 投入更多精力会有更值得,令人满意的回报


3、我有64G,我是给某个服务器分配64G(假设不用减去系统内存),还是分配32G?

    显然,这个问题是从中型服务器出发的
    但是实际上大型和中型都有用,小型服务器的也可以看看,虽然目前小型服务器没用
    你要知道,如果你不分配堆的大小,那么新生代,老年代都是自动按比例分配的
    那么你猜猜你的GC在32G的内存里找垃圾并清理,和在64G的内存里找&清理,哪个耗时久?
    当然是后者,而且我们知道,运行GC也是要RAM的,分配的内存越大,更多内存会浪费在GC上
    但是这个例子不鲜明
    如果是在256G和128G里面取舍,我大概会去选128G,当然也要视情况而定啦
    而且我认为mc服务器在正常的操作下根本吃不到32G以上



顺便来吐槽下MCBBS服主交流②群
群里至少8个骗子,此外有3个参与过d论坛,至少1个论坛号贩子,至少4位参与上次19年8月初的d优质服务器事件
3位快餐服腐竹/管理,还有一堆ddos狂魔,原喵core群里天天咬人的那种
200人不到,至少20个人间之屑。①群情况未知,我都不在里面
非常客观地提点建议,千万不要从任何mcbbs官方相关的qq群内找技术来你服务器,尤其是服务器相关的群




下课!


学到了吗?
难度还是有的,但是我觉得你们应该都能理解吧
全文从第一章到这里都是当做是做视频的文案来写的,所以可能比较长,但是里面的料应该挺足的?
而且我没写过视频文案,我只是自己假装在写 2333



“你以为只有自己一个人在支撑着这个世界吗?自以为是也要有个限度,不要忘记,不管你身处哪一条世界线,你都不会孤独。无论你身处何方,我都会找到你,我会一直观测着你,就像你一直以来观测着我一样。”
                                   

いつか僕らが 未来 振り返る時には

某一天当我们 回望着未来时


いつもこの場所で キミが笑って

总是能在这里 看到你的笑容


重ね合った みんなの想いが

众人交织的回忆


世界線を創る

创造出的世界线


どんな雨にも 負けぬ 信じ合える気持ち

彼此的信任 不会败给任何风雨


この空の観測者 この空は明日の証明

这片天空的观测者 这片天空既是明日的证明


あの日僕らは 出会い 大切な何かを

那一日们相会 总是在此


いつもこの場所で 探していたね

一同寻找 莫名的珍贵


何気なく 過ぎゆく時間の その意味を知ってる

平淡无奇 流逝的时间 深知这其中的意义


たとえどんなに 二人 離れてしまっても

即便你我二人相隔万里


この空の観測者 この空は明日の証明

这片天空的观测者 这片天空既是明日的证明


EL PSY CONGROO

EL PSY CONGROO




  _______第六章字数统计 60,439    耗时 39小时
  __请使用滚轮返回顶部并在目录处点击 第七章                       ?下课下课,彩蛋什么的留着吧




——————————————————————————

NO.7


——————————————————————————

NO.8


——————————————————————————

NO.9






















[groupid=1306]Bone Studio[/groupid]