返回顶部

[转载] [2021.8.22][SCT]如何从零开始制作原创RPG端|全方位设计方案|

[复制链接]
像素搬运菌Lv.7 显示全部楼层 发表于 2024-2-21 21:11:47 |阅读模式 打印 上一主题 下一主题 来自 中国广西南宁
联机教程
教程类型: 开服
教程来源: 转载
原贴地址: mcbbs - 炫宙菌
教程目标: 制作原创RPG端

马上登录/注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
如何从零开始制作原创RPG端?
——Created By炫宙菌

最基本的构想
前言
本人小学时就十分热爱MCRPG,先是涉猎地图,后是游玩RPG
不少RPG经历给我带来了深刻影响,机缘巧合下,2016年我开始研究RPG
一直是业余时间研究,所以可能这些年过去了,水平不是很高。
自认为可以超过RPG爱好者的平均水平了,于是把心得体会分享一下。
涉及内容:插件相关的指导和帮助 服务端相关的指导和帮助 分享卡顿优化相关的教程或经验 在运营服务器中收获的经验 与多人联机有关的资源,所以归档为综合教程
现在RPG端十分热门,但是局限于某些服务端进行微改、糙改的现象层出不穷,我希望通过此帖改善这种现象!
已经起手做服务端的可以跳过前两页了

简介
此贴的心得、经验来源于我自己的制作RPG服务端的经验,
包括一些遇到的问题|疑难|插件特殊用法|搭配等等
力求详尽,持续更新中
如果有错误请指出,一定加分感谢


定位——你要做什么[发展类型]
首先你需要定位你的服务器走向,这一点十分重要
如果你对自己的行为有充分定位,请跳到下一框
RPG即角色扮演游戏,需要考虑玩家身为一个游戏角色在游戏中经历了什么
RPG服整体类型分为以世界与玩法主次区分)
单世界纯RPG|多世界纯RPG|多世界生存混RPG|单世界生存混RPG|其他玩法混RPG
一、单世界纯RPG:
顾名思义,只有一个世界的RPG,建议只掺入RPG玩法和少量娱乐,适合小型RPG,适合刚刚入手的小白
优点:运行流畅,便于掌握玩家动向,便于设置插件(部分插件开启多世界则每个世界都要设置)
缺点:玩家拥挤阻塞,区域卡服会造成很严重的影响,没有地皮等世界扩展
二、多世界纯RPG:
相较于上一个来说,开启了更多世界,各位可能觉得世界不能算是一个重要划分标准,实则不然,世界里所储存的是游戏的基础,大部分服务器的玩家背包、位置、血量、攻击力、速度、装备等都是完全依赖世界文件的
优点:便于管理不同层级的玩家,把玩家分到不同的世界进行游戏,游戏较流畅,可开启地皮一类附加世界帮助玩家
缺点:过度创建NPC或实体或粒子效果,会导致全服卡顿
三、多世界生存混RPG:
当下最常见的一类服务器,自从1.8RPG兴起以来一直经久不衰,具有无法撼动的地位,但缺点十分突出,大量使用的原因之一就是人云亦云,实际上别人做你不一定要和他一样走向
优点:玩法较多,玩家游戏时间相较于其他各类,一般更长
缺点:过度创建NPC或实体或粒子效果,会导致全服卡顿(同二的缺点,但是更加严重);优化难度极高
        生存/地皮世界等大量跑图会把服务器卡得死死的
四、单世界生存混RPG:
最少见的RPG,几乎没有人会这一门技术,单世界纯RPG是最简单的,然则加入了生存元素就十分困难了,具体的实现方法我会在后文提到,目前一些知名3A大作几乎都采用这个模式,试问游戏玩家见过几个RPG采用了多世界?剧情来说,这个十分的有代入感
优点:玩法丰富,具有超强代入感,这里指的是,玩家在这里打怪,旁边就可以去矿场挖矿
缺点:制作难度极高,需要十分复杂的详细设置,另外缺点参考一
五、其他玩法混RPG:
冷门的类型,我建议勿要在没有经验的前提下另辟蹊径,混入创造模式、建筑大赛等小游戏看似不是什么好的选择,当然如果已经精通,这些都不是阻挡你的障碍
优点:玩法可自定义,特色鲜明,属于开创未来的一派
缺点:管理难度极高,容易造成多种不同类型插件混乱


定位——你能做什么[实际玩法]
完成了上一项的选择,你得开始着手自己实际上的做法了
如果你对自己的玩法有充分定位,请跳到下一页
这里重点是实际玩法
依旧是分类(依照我自己的经验,如有缺失请补充,我会加分)
分类:古风|枪战|魔塔|任务|核心MOD|宠物|技能|家园/王国|探索
实际上这些玩法并不存在严格的隔离,可以混用,但是不要乱用,觉得哪种玩法新或者好就放进去,更不要妄图全部玩法混在一起,否则后果就是服务器卡得玩不了
一、古风:
介绍:建筑做到古色古香;可设计大量剧情,有巨量历史文献可供背景参考,建议游戏发展严格按照设置的背景来,尽量不要偏题或者做出诡异的举动。
拿我做的第一个成品RPG来说,背景是李汝珍《镜花缘》一书,至少要知道故事梗概,并且尽量贴合原著去做,我做的就是个反面教材,基本上和镜花缘扯不上关系了,导致剧情走向一直都很诡异
└优点:
发展方向明确;
具有很好的剧情代入感;
一些游戏设计有文献可考,减少你的大脑资源消耗量;
可以借此进行文学创作而不是仅限于MC
└缺点:建筑可能一些人并不会设计,而且对文学素养要求较高,需要对背景有充分了解,受到背景束缚较大(比如唐代不能出现现代枪械一类,不过你可以设计剧情外规制比如时空秘境一类的充值场所)
二、枪战:
└介绍:
RPG里嵌入枪械或许是个不错的选择,但是对于一些不熟悉枪械配置的用户可能寸步难行,建议MOD服采用此玩法而不是插件服无mod
如果你要保证高自由度玩法,肯定是要投入大量财力精力在枪械上,目前枪械插件有支持配件皮肤等但是十分麻烦,mod是不错的选择
└优点:
多种枪械与附加功能保证玩法;
剧情可以不过度考虑
└缺点:枪械设计十分困难,Mod服与插件服玩枪械各有利弊,务必实现定位你的服务器到底是纯净还是Mod
三、魔塔:
介绍:
个人认为,旧类型魔塔完全是做服务端的反面教材,起源无非是某处的魔塔服引领的错误潮流
锻造、采集系统看似是很多,可以配置武器的功能似乎也不错,但是过度循规蹈矩受限于原型魔塔框架严重阻碍服务器发展。
就我被动接触的一些魔塔服,声称是原创者九成不是原创,前7层左右和某魔塔近似相同,包括地图、商人、宝石、符文、属性、怪物等。丝毫没有任何创新因素,且在不舍弃魔塔服壳子的基础上大量乱入一些不适宜的内容,给服务器流畅造成很大挑战、给服务端玩法纯正掺入了混乱因子
因此,亟需各位有潜力的人做出新时代的魔塔,
辩证取舍、推陈出新就在今日
└优点:
副本多,玩法较多,强化类型十分丰富
└缺点:
流程过于枯燥;
服务器大多每一层"塔"运行1-3个世界(所谓二线VIP线)导致服务器资源消耗极为严重,卡顿难以解决
生存玩法过于无能,生存世界完全采用原版,采集RPG武器材料消耗品数量过于庞大,玩家会出现审美疲劳
世界过多[比如我有一个10层魔塔,每层3个世界,加2个生存世界,1个地皮,1个主城,1个PVP世界>>共计18个世界,每个世界均摊150M服务器内存,1玩家活跃的情况就可以吃约3G内存,一个玩家即便只占50-100,服务器做到一定规模就会十分卡顿]
四、任务:
└介绍:
RPG里以任务为主,建议有一定逻辑性的用户考虑此类型服务器,此类型更多是一种辅助玩法,当然可以作为核心玩法
至于实现方式,部分MOD的编辑十分方便,而插件则方便管理玩家任务数据
└优点:
任务保证玩法不会枯燥
└缺点:没有英文基础和编程基础将寸步难行
五、核心MOD:
└介绍:
此玩法完全就是MOD的RPG服,一些拔刀剑、匠魂、工业、暮色世界等功能的进入会使得你的服务器玩法十分多样化
└优点:
玩法多样化,跳出纯净服限界,自由度极高
└缺点:
MOD相较于插件更加难以管理,部分mod在不同核心会无法使用,务必事先测试好
MOD相较于插件出BUG的可能与后果无非更严重,mod的使用控制方面又不得不依靠一些禁用类插件,不进行一定量设置又会导致服务器卡顿,又要再加优化插件,加了太多又负优化了
MOD的兼容性比插件要差,就MOD本身跨版本会有困难,而且变动核心极有可能导致你的MOD无法正常运行
六、宠物:
└介绍:
此玩法偏向于Pokemon一类的高自由度宠物,如果你使用插件做宠物,灵活性不可能超过MOD,插件的话作为一个小的玩法即可
[注意:此类型违反任天堂某项协议,在mcbbs就属于无法成为商业服的一类服务器而且你不能魔改MOD]
└优点:
作为核心玩法的话,就会发展成类似于或完全是Pokemon类型服务器>
优点自不必说,百度自己看就知道了
作为公益服无非是好选择
└缺点:
无法成为商业服
不能魔改mod
七、技能:
└介绍:
此玩法极为灵活,入手难度不高,但是深入的难度是你无法想象的,甚至某些程度的技能设计难度超过了设计一款插件
依赖于技能插件或者mod(这个我真的没有了解),就插件而言吧:
需要技能插件,常用的插件有:
──SkillAPI:
最常用的技能插件,附带职业系统,API十分灵活,可操控项目极多,但是与一些插件不兼容(RPGInventory),个人认为它作为任务插件不纯粹,编辑项目过少(当然这是比较之下的结论,我不会妄下结论),此插件作为免费插件已经可以打倒大部分技能插件了,是入手的不二选择
你可能会觉得用MM作为技能核心玩法有些诧异,不过经验所得,这个很重要,Mythicmobs本身提供了大量技能(种类多,但是它作为"API"的方面不够好,这句话意思是,很多技能都是写死的,可变的类型太少);
MythicMobsExtension则是一个有趣的免费附属,在此基础上可以搭配更多新奇技能,同时提供几种选择器
Artifact插件可以让物品绑定MM技能,同时提供几种触发器,以此你可以设计武器技能
──SkillSystem:
内作者开发的技能插件,我们予以支持和鼓励,就插件本身而言,逻辑/判断系统十分精密,作为技能插件十分纯粹,加入你的服务器不会造成副作用
──McMMO Overhaul:
为MC提供MMORPG玩法,更偏向与综合类型技能比如生存,自由度较低,但是你可以在国外很多插件介绍页看见它的身影,很多插件都有它的联动,但是个人不推荐,资源占用大,而且技能本身的用处似乎不是很大
──RevivedLocyItem:
国内作者开发的技能插件,我们予以支持和鼓励,就插件本身而言,调用函数这一点实在是完美之举,图形构造也可圈可点,配置简洁易上手
──MagicSpells:
本人挑剔眼光下少有的好评插件,此插件虽然是某个弱化版本,但是依旧十分强大,逻辑系统完美符合我个人标准,而且兼容性很好,作为API十分优越,上手难度低,调用简单,学习类型多样,成长系统有规矩可循
──Magic:
就可编辑项而言,很多插件不可能超过它,接触它你会半小时内自闭,至今我也没完全搞明白它的全部用法
└优点:
搭配效果十分高端,你可以设计门派一类,学习技能打出连环技
自由度极高,关于一些我常用的插件之后会提及一些设计思想
└缺点:
技能编辑难度过高
与其他插件联动调用可能调用不便
如果粒子设计不当会导致卡服
技能插件不可能不卡服,绝对不可能,什么东西用多了都会起反作用
即便粒子设计妥当,如果不加以节制(冷却过短/学习门槛过低/运算太过于复杂),服务器会崩溃
八、家园/王国:
└介绍:
划分玩家整体阵营(不是公会或者组队插件的功能),构筑玩家组成的王国,自成体系的话可以提供大量自由玩法
成型后,玩家可发展自身,代入感极高,服务器可长期运行
使用如Kingdom和Towny的插件(注意兼容性,有些插件不可以与王国插件共用)
└优点:
服务器成型后,就是一个自成系统的服务器,管理员无需过于干预
└缺点:
起步难度极高,出一点差错都可以导致服务器无法正常运行
、探索:
└介绍:
新型玩法,让玩家在开放世界(建议开放世界)进行探索,
└优点:
在探索中使RPG更有乐趣,参考一些3A大作RPG
└缺点:
几乎没有先例,,主要的借鉴对象可以是一些知名大作——刺客信条神话三部曲、塞尔达传说、天国拯救、荒野大镖客等


为什么玩法那么重要?
玩法是服务器的基本属性,没有高效、创新、优越、完整的玩法,再多投入也是白搭,
如果不选择好玩法,你的服务器一切努力也会白费,
不打打腹稿怎么行?
这个不必要太刻意去冥思苦想,你可以吃饭的时候、睡觉的时候、洗澡的时候、思考人生的时候思考这个定位,不要专门傻到拿一个时间段去考虑,有些想法可以记录下来,至少大方向要对,不要学我,稍微有点想法就开始做,做到最后和一开始想法都有过多出入了



服务端的选择
为什么要选择合适的服务端?
服务端指的就是核心了,你开服依靠的那个jar文件,没他开不了服
各个服务端有着不同的优势,
这里只提单端RPG,不考虑多端RPG


服务端的种类
服务端种类无非也就几种(常用服务端已加粗)
|Spigot||CraftBukkit||Cauldron||Catsever||Nukkit||Thermos||PaperSpigot||Sponge||Minecraft Server|等等


服务端的优势(+表示正面;-表示负面;表示严重的问题)
一、Spigot[插件]
╈作为插件服95%以上的插件开发核心,它支持几乎所有插件,本身作为Bukkit的优化版本,目前SpigotMC仍然是全球最大MC服务器插件开发交流平台;我制作RPG服务端全部使用Spigot的原因是——兼容性好,不会出现太多插件用不了的情况
━服务端本身优化不是最好,需要再加优化插件实现进一步优化
╳无明显的严重问题
二、CraftBukkit[插件]
╈作为老版本插件服的插件开发核心,大部分插件基于BukkitAPI开发
优化项目过少,Spigot相当于接替了Bukkit的使命,不建议使用。除非你没的选,这句话的意思是,如果你不开过老的游戏版本比如1.6-,不要使用!!!
╳官方因版权问题停止更新,虽然后续版本也有,但是已经成为上个时期产物了
三、Cauldron等MOD服务端(除Sponge)[MOD]
╈MOD服的平台,如果你开mod服务必考虑这些MOD端,国内目前比较优秀的mod端是CatSever,对于大部分在原版可以运行的mod都可以完美运行
━受限于本身内核受bukkit控制,原理是给Bukkit加forge,触发任何服务器事件都会两次监听,而非原版的forge内容就会引发bukkit报错,这就限制了你装RPGmod的数量,我想RPG肯定用到不少mod否则就没有什么特色了,装太多mod一定会卡
╳受限于单核,装太多mod绝对会卡!绝对会卡!!绝对会卡!!!
四、PaperSpigot[插件]
╈Spigot进一步优化版,在算法有所提高,优化性能无懈可击,支持tBukkit和Spigot插件,1.9-自带反作弊,paper.yml可设置项可以代替许多优化插件
服务端本身优化极佳,有时候你不必要加太多优化插件而是依赖服务端本身
这里一定要看!!!
经验得出,Bukkit插件一定是可以用在Spigot上的,声称是PaperSpigot的插件也可以用在Spigot,但是并不是所有Spigot插件都能完美运行,事实上问题很严重
先前我用技能插件设置了技能破坏地形的有关设置和背包相关项目等操作,之后改用了Paper核心,出现了技能破坏地形无法恢复、背包物品无法取出等诡异问题,试着换回了核心,BUG消失。
我不知道是什么原理,但是由此告诉大家,如果你使用Spigot,请不要换到PaperSpigot,如果一开始用Paper,之后不要动了!
五、SpongeForge[MOD]
对模组兼容性强|高度自定义的配置方案
它的优势是可以装载更多模组以提高自由度,服务器的重点或许在MOD搭配上而不是插件。
而插件偏向于管理,所以这就导致了你的服务器不可能"管得很严",建议用高自由度的混生存玩法
━Sponge服务端开拓了一处新地,有些可能不太容易接受的特性,而且插件服的插件有相当一部分不支持Sponge,这就是为什么有些插件专门打上Sponge的标记,目前RPG插件支持Sponge仍然较少
╳RPG插件很大一部分都不适用Sponge,目前开发的一些插件仍然不是以Sponge为主流,
目前建议依赖插件管理的RPG服暂不使用
六、Minecraft Server[原版]
╈本身适用于单人或简单多人联机的RPG地图如果开成服务器,建议使用此服务端,不会出现插件服导入RPG地图后部分功能消失的问题
官方发布的服务端,不支持插件与MOD,导入地图有一定难度
╳无明显的严重问题


服务器版本选择
RPG服需要的是一个较为稳定,插件充足可用的版本,下面有几种常见版本
1.6-1.7(不含1.7.10)>>老版本MC的RPG服务器,体系完备,Mod不少,但是目前大部分插件已经不支持1.7-版本且核心单一、优化差劲,发展受限,极不推荐
1.8.X>>稳定性相对来说最好的版本,插件支持较多、体系完备,但是受限于游戏本身玩法且几乎无核心玩法mod,一般推荐
1.9-1.11>>稳定性相对较差,插件支持较多,mod很少,RPG相关插件mod同样缺少,由于所处位置十分尴尬,目前较为冷门,较不推荐
1.12.2>>稳定性一般,插件支持最多,不少mod有此游戏版本,由于本身开发时间较长且属于大版本更新,所以现在十分热门,它前面的版本没有这么些玩法而后面的版本的支持插件过少,RPG服首选
1.13-1.15>>由于扁平化引入导致许多跨版本1.8-1.12的插件无法逾越1.13,致使插件mod开发受阻,mod几乎就没有而插件只有基础的一些适用于生存的插件,RPG发展困难,1.15之后服务端性能大大受挫,客户端性能大大提升,前景堪忧(此问题导致了1.12.2走上巅峰)
1.16+(快照)>>此类服务器几乎什么插件mod也没有,就连原版运行也在完善中,开新版本尝鲜生存服还好,RPG服别想了,即便开发地图,等你开发好估计1.16也早不是最新版本了,好处就只有更新的新地狱,极不推荐
1.7.10>>此版本的MOD支持数目是最大的,如果开Mod服可以在此选择,但是近期有一些1.12.2mod核心发布撼动了1.7.10的地位,一般推荐

总体而言,选择版本的原则——中求
尽量保证你的发展版本拥有市面上大多支持的RPG插件;
在此基础上尽量追求新版本;
如果不是特殊情况,不要换版本(特殊指大量插件需要新版本才能用或者此版本真的已经与时代脱节)
至于如何换版本,请看第六章


插件服核心——我的建议
首选PaperSpigot,如果有无法兼容的问题,在新加入的过程中可以克服,但服务端发展到一定程度再回头就十分困难了
次选Spigot,优化上要下功夫,
除非版本过老,不要用bukkit.


MOD服核心——我的建议
看规模,有些辅助mod比如小地图/显血绝对别加在服务端里面,要的是核心的玩法mod以及反作弊mod
如果你要加带有核心玩法的Mod7个以下,建议使用非Sponge端,这里推荐Catsever;
如果你要加带有核心玩法的Mod7个以上,建议使用Sponge端。



最重要的配置
为什么最重要配置在根目录?
服务端本身都带有一些配置文件,插件服如下图
依赖于BukkitAPI的服务端必定有bukkit.yml
依赖于SpigotAPI的服务端必定有spigot.yml
Paper端是广为人知的高度优化端,有paper.yml可配置大量优化
至于Sponge和一些mod端独有配置,对我来说还有待研究,暂且没法更新,抱歉了各位
绿——核心;蓝——内容文件;红——配置文件
本章重点就是
RPG服如何配置红色的四个文件



如何配置server.properties?
此文件是最基本的服务端文件,设置了一些必备项目,对RPG有重要影响的项目如下,建议修改成的项目是橙色字
1.generate-structures=false
此选项的含义是是否生成结构体计算(结构就是女巫小屋、村庄有效门一类)
如果你的服务端类型不带有探索元素或依赖于原版这些机制,务必关掉它
有意愿保留结构体的mod服请慎重考虑
另外,你还要删除每个世界里的一些已经有的结构体文件:\world\data\ 里的Temple Village Mineshaft.dat Fortress Stronghold.dat一系列与结构有关的文件
1.13扁平化之后,存储结构体的文件从原本的data文件里移动到了区块文件里,删除区块会把它们一并删除
2.allow-nether=false
此选项决定是否开启地狱,视情况而定,世界越少越节省资源,删除后还需要把世界名_the_nether文件删除
3.op-permission-level=
0
此选项很少被提起,它的作用是限制OP的等级
0级视为OP和玩家没有区别;
1级视为OP绕过出生点保护“spawn-protection”(下一个提到)
2级视为可以使用所有单人游戏作弊命令
3级视为可以使用大多数多人游戏中独有的命令如/ban
4.级视为拥有所有权限如/stop /save-all
设置0级的目的是为了防止后门插件刷出OP造成不利影响,大多后门都是设置OP类型
当然你依旧可以设置非0级OP,请打开ops.json
"level": 4

把上面的某个玩家设置为其他等级即可
4.player-idle-timeout=
0
影响玩法的选项,但是很少被提及,它的作用是玩家如果不处于交互状态,有多久会被踢出服务器(单位分钟)
ESS有AFK相关选项和这个类似,但是略有不同
这个选项改成0后玩家就不会被服务器当作挂机踢出,当然看你的设置如何了,0是减少资源消耗的(但可以忽略不计)
5.spawn-protection=
0
出生点保护,可以阻挡大部分插件的有效功能,这就是为什么非OP有最高权限的玩家没法改动出生点附近的任何东西的原因
比如我拥有*权限,却不可以破坏出生点周围的方块,原因就在这里,
但是你仍然可以通过某些途径来影响,比如创世神、脚本方块的操作等不是由OP直接呼出的操作
设置为0,它的意义不是很大
6.pvp=true
PVP设置,此选项可能不会起效,但是有些PVP插件管理的优先度比这个要低,有些比这个要高,保险起见,按照最原本的想法设置,另外再加PVP管理也未尝不可
7.snooper-enabled=false
是否定期发送统计数据到http://snoop.minecraft.net?我不建议任何访问外国网站的功能在RPG服务器开启,除了占用资源以外对你来说什么作用都没有
8.enable-command-block=true
是否允许使用命令方块
我做RPG的习惯,常用命令方块执行一些指令,十分方便,比如/tp @p[r=2,lm=20] X Y Z ||这类指令用原版的一些控制,大部分插件的指令只要带上@p @a 等都可以正确采集变量
9.
level-name=world
默认世界的名字,不要用除英文以外的任何字符
部分字符,例如 ' (单引号)可能需要在前面加反斜杠号 \ 才能被正常应用
10.view-distance=3
最关键设置,视距,加载的区块范围,对性能的改善立竿见影,
此选项在spigot.yml也有一个一样的选项,但spigot可以给不同世界设置不同的选项,默认对所有世界都生效。
单世界RPG服务器建议设置4
多世界RPG服务器建议设置3
如果你混入了生存玩法,建议在3-5,虽然会占用资源,但是过低的视距会导致玩家游戏体验糟糕
特殊情况:设置为2,先前我有一个必须内存设置1G以上才能正常运行的服务器从5改到2,结果用500-1000M内存带六个人也不会卡,仅限纯RPG可以有这种操作,这操作导致我服务器MM怪物只能刷在玩家附近等诡异现象(采用了随机刷怪)
11.snooper-enabled=false
是否定期发送服务器数据到http://snoop.minecraft.net?个人认为连外网的操作无非会增加服务器因为连接超时而导致刷错、线程卡死的概率
12.use-native-transport=true
在Linux系统上数据包收发优化


如何配置bukkit.yml?
1.allow-end: false
建议false即为关闭末地,一般来说RPG服用不到那个世界,当然看情况
2.实体限制
<font color="#000000">spawn-limits:
  monsters: </font><font color="#ffa500">35</font>
<font color="#000000">  animals: </font><font color="#ff8c00">10</font>
<font color="#000000">  water-animals: </font><font color="#ff8c00">2</font>
<font color="#000000">  ambient: </font><font color="#ff8c00">2</font>
此设置项代表着一个玩家可以附带最多多少生物,依次为怪物、动物、水动物、蝙蝠,
建议在此基础上减去 (你的常驻玩家数/4+1),事实证明,这个数目可能还是过大了,没有必要生成太多生物,除非你的RPG玩法是割草(一大堆怪物开个无双全砍死)
3.区块回收
<font color="#000000">chunk-gc:
  period-in-ticks: </font><font color="#ff8c00">400</font>
<font color="#000000">  load-threshold: </font><font color="#ff8c00">300</font>
参考三个教程贴
4.游戏刻控制实体
<font color="#000000">ticks-per:
  animal-spawns: </font><font color="#ff8c00">400</font>
<font color="#000000">  monster-spawns: </font><font color="#ff8c00">20</font>
<font color="#000000">  autosave: </font><font color="#ff8c00">12000</font>
分别指多少tick可以生成一个动物、怪物,自动保存间隔
5.自动保存这里提一下,单机著名的死亡卡顿问题就是由此引发的,不过spigot和bukkit已经大幅度优化自动保存了
你可以装自动保存插件比如Autosaveworld,这样这个autosave就可以改成0



如何配置spigot.yml?
1.late-bind: true
false的话,玩家可以在插件加载完之前就加入游戏,可能会导致一些不该做的行为发生 服务器的载入顺序是地图→插件
2.属性设置
attribute:
<div align="left"><font color="#000">    maxHealth:</font></div><div align="left"><font color="#000">      max: 2000000000</font></div><div align="left"><font color="#000">    movementSpeed:</font></div><div align="left"><font color="#000">      max: 2000000000</font></div><div align="left"><font color="#000">    attackDamage:</font></div><div align="left"><font color="#000">      max: 2000000000</font></div>
这三项自定义,但是一定要是你服务器最大的一些数据,否则无法有实体属性超过这些数值
默认是2048.0,这就是为什么玩家最多只有2048生命值
3.item-dirty-ticks: 30
这个项目基本没人谈过,它的含义是物品深度监测间隔。
这里需要谈及:
这一项控制 item-dirty 检查.
MC本身会在每tick都监测一次物品状态
因为它监测了所有NBT数据,所以这一项无意识巨额消耗
水龙头则只是监测基本数据如数量/附加值/种类数据并每以默认20秒进行一次深度监测
深度监测我设置为30,可以缓解服务器运行压力
4.世界设置
world-settings:
  world: #这里是针对名为world的世界的设置,你需要在下面加入类似于default项目的诸多设置,看你的设计
    verbose: true
  default: #这里是针对没有单独拉出设置的世界采用的全局设置,用于区分不同世界的设置、玩法,提高灵活性
    verbose: true
    dragon-death-sound-radius: 1 #龙死亡时的音效距离,保险起见设置为1(我没测试过0是不是整个世界都能听见)
    seed-village: 10387312 #村庄种子,RPG世界可以删除
    seed-feature: 14357617 #类上,RPG世界可以删除
    seed-monument: 10387313 #类上,RPG世界可以删除
    seed-slime: 987234911 #类上,RPG世界可以删除
    merge-radius: #合并范围,指的是多少半径的物品会自动合并为一个实体,建议设置6以上,RPG服这样做有道理
      item: 6.0
      exp: 6.0
    item-despawn-rate: 6000 #物品消失时间,实际上你没有必要装扫地大妈,真没有一点必要
    hanging-tick-frequency: 100 #监测悬挂物的更新间隔(画、展示栏、栓绳)
    enable-zombie-pigmen-portal-spawns: false #是否开启猪人生成在传送门的特性?这个涉及原版游戏公式,关闭
    wither-spawn-sound-radius: 1 #凋灵生成音效能传播多远?
    arrow-despawn-rate: 400 #箭矢消失间隔,单位依旧是tick,20秒足矣
    view-distance: 3 #同server.properties,但是可以设置每个世界
    zombie-aggressive-towards-villager: false #僵尸追村民寻路功能,RPG服完全没有必要开启
    nerf-spawner-mobs: true #是否禁用刷怪笼?如果你服务器没有生存世界或用不着刷怪笼请设置为true
    mob-spawn-range: 4 #玩家周围区块能刷出的怪物距离,增加它会导致怪物更稀有更分散,详见怪物生成机制
    growth: #生长速度,RPG世界完全可以关闭,不过我听很多水龙头的人说以下项目对优化没效果
      cactus-modifier: 0 #仙人掌
      cane-modifier: 0 #甘蔗
      melon-modifier: 0 #西瓜
      mushroom-modifier: 0 #蘑菇
      pumpkin-modifier: 0 #南瓜
      sapling-modifier: 0 #树苗
      wheat-modifier: 0 #小麦
      netherwart-modifier: 0 #地狱疣
      vine-modifier: 0 #藤蔓
      cocoa-modifier: 0 #可可豆
    max-tnt-per-tick: 30 #每tick最多多少TNT爆炸,鉴于一些技能引入爆炸效果,这个还是30比较好
    max-tick-time: #这个真是弥天大坑,我先前改成10 10结果服务器实体卡得动不了然后瞬间瞬移,内存却空着,详情见极光creeper的帖子
      tile: 1000
      entity: 1000
    entity-tracking-range: #实体显示范围,依次为玩家、动物、怪物、掉落物、其他,对于客户端而言的
      players: 150
      animals: 100
      monsters: 150
      misc: 64
      other: 64
    save-structure-info: false #是否储存结构体信息?RPG玩法不储存了,扁平化之后移到了结构体世界区块当中而非在地图专门保存
    entity-activation-range: #实体活动范围,此范围以外不计算AI,依次为玩家、动物、怪物、掉落物、刌民,对于服务端而言的,十分有用
      animals: 24
      monsters: 12
      misc: 2
      water: 16
      tick-inactive-villagers: false #这一项是1.14+才有的,刌民如果在范围之外是否依旧计算?RPG服我认为不需要保留原版那种村民攻打玩家或村民的游戏内容,关闭
    ticks-per:
      hopper-transfer: 8 #漏斗传送速度,RPG服改不改没有什么区别
      hopper-check: 1 #漏斗监测间隔
    hopper-amount: 1
    random-light-updates: false #随机光照,关闭提升性能
    hunger: #饥饿的消耗系统,主城世界或者安全世界你可以全部设置0,5代表着半个饥饿条
      jump-walk-exhaustion: 0.05 #跳着走的消耗
      jump-sprint-exhaustion: 0.2 #跳着疾跑的消耗
      combat-exhaustion: 0.1 #战斗消耗,改成10的话会有惊喜
      regen-exhaustion: 6.0 #恢复消耗,如果你安装了ILS这样通过原版饥饿来倍率回血的插件,可以改一改
      swim-multiplier: 0.01 #游泳消耗
      sprint-multiplier: 0.1 #疾跑消耗
      other-multiplier: 0.0 #其他消耗
    squid-spawn-range: #鱿鱼生成的距离,鬼知道这什么鬼设置啊
      min: 45.0
    max-entity-collisions: 2 #每秒处理多少实体碰撞,减少将会消耗更少TPS

如何设置Paper.yml参考资料
1.enable-player-collisions: false
是否开启玩家碰撞,1.9+才会有的,视情况而定
2.max-auto-save-chunks-per-tick: 8
顾名思义.对于1.13 +这是非常重要的,因为1.13+服务器保存相当低效
请注意:确保这个时间比自动保存间隔要短否则就会导致还没有保存好区块又开始下一轮保存.把这设置得太低可能会使得没有保存的区块出问题.如果你有超过40个玩家,你应当设置在8以保证安全
3.optimize-explosions: true
是否开启新爆炸算法?新算法可以立刻清除被炸死的实体,有一定的优化作用(我惯用爆炸效果制作技能)
4.
disable-chest-cat-detection: true
默认猫站在箱子上面你是开不了的,个人认为这个特性除了吃资源以外没屁用
5.container-update-tick-rate: 2
箱子和物品栏打开时,内容的更新间隔(tick),设置到4以上会让玩家觉得放东西很卡
6.
max-entity-collisions: 2
每秒处理多少实体碰撞,减少将会消耗更少TPS(spigot也有的)

7.实体清除
    despawn-ranges:
      soft: 28 #超过此范围的实体会被定期移除
      hard: 90 #超过此范围的实体会被直接移除

提一点,Mythicmobs的怪物设置项Despawn: false 可以无视这个设置,作为世界BOSS十分有用(不然只要旁边没有玩家就会清理)
8.非玩家箭头清理
non-player-arrow-despawn-rate: 60
此项如果设置为-1,则遵从spigot的箭矢消失设置,单位为tick,基本上用于骷髅射击玩家的箭矢什么时候销毁
60即为3秒,属于玩法类,如果你想让玩家一直插着箭也可以改的很大
9.活跃箭头清理
creative-arrow-despawn-rate: 60
和上一项类似,但是是那种无法取回的箭矢比如无限弓发射的箭矢
10.防止玩家进入未加载区块
prevent-moving-into-unloaded-chunks: true
探索类玩法或者生存玩法或者高速移动的玩法需要这个选项,它的作用顾名思义,有时候如果你移动速度过快,你会跑到游戏没加载好的地方里,过一段时间加载完毕你才能正常移动,把这个设置为true后,玩家无法进入未加载完毕的区块。
11.use-faster-eigencraft-redstone: true
这个设置可以减少冗余红石更新高达95%而不破坏原版设备。经测试运算加速10倍!
RPG可能也会用得到红石,所以提一下,纯RPG改不改红石没区别
注意:如果你用插件改变红石算法,则需要考虑更改选项,因为插件倾向于阻止红石行为。
12.armor-stands-tick: false
一些物品会被当作生物(实际上指的就是实体,需要tick进行运算),这个选项意味着没有运算的盔甲架将不能被水推动,RPG无关选项,关闭
注:物品展示栏会被PaperSpigot抵消全部运算,这个是写死的,动不了
13.per-player-mob-spawns: true
这也算RPG无关选项,如果有生存/家园世界才考虑
开启后实现了每个玩家的生成限制,而不是Bukkit的随机算法。这可以防止其他人(大型农场)影响服务器的实体生成。
14.假矿
    anti-xray:
      enabled:
false
paper服务端的优势之一,自带假矿防止矿透,RPG玩法较多干脆关闭它
如果有世界有挖矿功能,请设置为2防止假矿,其他假矿插件可以删除了
15.世界设置(请参照这个帖子)
world-settings:
  default:
    verbose: true
    fix-cannons: false #修复加农炮??我去水龙头、纸龙头找了好一会儿也不知道什么意思
    disable-explosion-knockback: false
    tnt-entity-height-nerf: 0
    water-over-lava-flow-speed: 5
    generator-settings:
      canyon: true
      caves: true
      dungeon: true
      fortress: true
      mineshaft: true
      monument: true
      stronghold: true
      temple: true
      village: true
      flat-bedrock: false
    allow-block-location-tab-completion: true
    all-chunks-are-slime-chunks: false
    allow-undead-horse-leashing: false
    use-async-lighting: false
    container-update-tick-rate: 1
    game-mechanics:
      disable-end-credits: false
      boats-drop-boats: false
      disable-player-crits: false
      disable-chest-cat-detection: false
    keep-spawn-loaded: true
    falling-blocks-collide-with-signs: false
    disable-mood-sounds: false
    portal-search-radius: 128
    disable-ice-and-snow: false
    disable-thunder: false
    tick-next-tick-list-cap: 10000
    tick-next-tick-list-cap-ignores-redstone: false
    use-hopper-check: false
    optimize-explosions: false
    max-growth-height:
      cactus: 3
      reeds: 3
    mob-spawner-tick-rate: 1
    tnt-explosion-volume: 4.0
    player-blocking-damage-multiplier: 0.5
    falling-block-height-nerf: 0
    nether-ceiling-void-damage: false
    fishing-time-range:
      MinimumTicks: 100
      MaximumTicks: 900
    player-exhaustion:
      block-break: 0.02500000037252903
      swimming: 0.014999999664723873
    despawn-ranges:
      soft: 32
      hard: 128
    remove-unloaded:
      enderpearls: true
      tnt-entities: true
      falling-blocks: true
    load-chunks:
      enderpearls: false
      tnt-entities: false
      falling-blocks: false
    fast-drain:
      lava: false
      water: false
    lava-flow-speed:
      normal: 30
      nether: 10
    squid-spawn-height:
      minimum: 45.0
      maximum: 63.0
    disable-teleportation-suffocation-check: false
    cache-chunk-maps: false
    remove-invalid-mob-spawner-tile-entities: true
16.suggest-player-names-when-null-tab-completions: false
这一项的含义是插件不可用Tab补全时是否提供一个在线玩家清单,就好比我键入指令/rpginv item xuanzhou 时再按下TAB键会显示的内容,由于某些插件(例子里举的是RPG背包插件,如果设为true,此时会补全的是在线玩家列表,如果设置为false,就不会补全)
17.async-chunks: true
服务器是否应异步加载和保存区块,以提高性能
18.disable-player-crits:
true
顾名思义,禁用原版暴击,这个暴击的触发条件是玩家下方有高于一个方块(玩家跳跃高度似乎是1.25米),RPG服主大多不愿意看到玩家用跳劈的方式打出1.5倍伤害
19.restrict-player-reloot:
false
限制同一个玩家来回抢夺同一个容器,对于RPG服是无用选项,请关闭




插件的选择
从哪里找插件?
读完第一章,你应当知道自己需要什么类型的插件了
那么去哪里找插件呢?
·国内┏MCBBS—>国内最大的MC插件平台,插件种类多而丰富,门槛高,国内找不出更全的平台;[已临时关闭 - 搬者]
                几乎中国全部原创插件都有在此平台发布(除定制插件外);
                插件搬运存在着部分糙搬、审核不严、付费插件搬运少、搬运者积极性低等现象;
      ┣QQ群—>有些所谓聊天交流技术群,里面充斥着各类分享的付费插件,你或许可以轻易得到梦寐以求的插件,但是出了问题没人听你诉苦,有些插件你并不能一眼看出是不是有后门或者其他什么严重的东西
      ┣某些论坛—>部分论坛抄袭大量MCBBS内容,不只是复制搬运插件帖,更有无授权剽窃原创插件的行为,插件种类较少
      ┣网易论坛—>这方面基本不成体系
      ┗某些所谓交流网站—>存在大量低质量、后门插件,莫要贪小便宜
·国外Bukkit—>国外知名插件网站,老牌中大型国外插件很可能在此处发布
      SpigotMC—>国外知名插件网站,各类国外插件最有可能在此处发布
      PaperMC—>aperSpigot作者所构建的网站
      ┣某些不正当网站—>存在大量看似免费付费插件的后门插件
      CurseForge—>就插件而言,收集了所有Bukkit插件,主要是提供mod下载


在mcbbs找搬运插件需要注意什么?
0.搜索插件可以使用搜索引擎(在浏览器搜索框键入site:mcbbs.net 关键词 关键词2) 站内搜索(很不方便) 站外工具(比如这个 但是没有站内那么灵活)
搜索时注意提取关键词用空格分开,勿要加标点,比如我要找可以绑定NPC命令的插件则可以用百度搜索
"site:mcbbs.net NPC 命令 绑定"结果就会如图
DIVmWnJSeXPTM9Z.jpg
换个方法搜"我的世界服务器可以给NPC绑定指令的插件"
7gJecTLpuOYx9t3.jpg
看样子同样可以拿到答案,但是换个插件你可能就搜不到了
1.不要以帖子所示的内容为准,搬运帖很可能已经过期或者搬运内容本身就不合格
这种现象在mcbbs十分常见,一部分有高亮、优秀加分的搬运插件仍然不合格(本人反映过但基本无果)
2.以搬运帖作为参考,切记搬运帖只是搬运者对于插件认识的表现而非原作者的想法,你可以站在搬运者的角度试图理解,一般情况下是可以大致掌握插件用法的
3.要真正了解一款插件,无论何时,最重要的是去看
原帖,固然需要一定的英语基础而且外国人的思维方式可能与我们有差异,但是此举值得,掌握一款好插件比埋没一款看似不好的插件远远要好
4.站内目前搬运插件的积极性不高,你最好尽快适应去Spigot和Bukkit官网找插件,自己研究透后,如果mcbbs没搬运,可以申请作者授权并搬运过来,不要指望二搬可以征得原搬运者的同意(除非原搬运者长期不活跃)
5.就算是原作者帖内写的版本都对不上你的服务器,也不要放弃,可以放到服务端试一试,还是有可能成功的


在mcbbs找原创插件需要注意什么?
1.MCBBS目前原创插件数量巨大、种类繁多,加了高亮、优秀、精华或者后面附带一些正面评价图标的帖子一般来说具有更好的评价、效果
但是依旧是那一点:只是大部分用户、版主认为好,不代表你也要认为它好,按照你自己的要求和想法判断是不是"好插件",对你来说是否有用才是评判标准
2.原创插件作者为了让更多人用好自己的插件,一般都会在帖子或明面上看得见的地方详细说明使用方法和注意事项,如果有不明白的可以回帖或者私信去问,有BUG可以反馈
3.原创插件作者需要支持与鼓励,如果你觉得好,建议加分
4.在mcbbs发表的原创插件并不一定安全,先前就出现过几起发布后大火的原创插件竟然存在后门的事件



RPG服找插件的原则
你的态度>版本>实用性>多插件配合>优化>功能>作者态度>搬运者态度
你的态度决定你要找什么
版本决定了你找的插件能不能用
实用性决定了你的插件能否正常
多插件配合决定了此插件的存活时间[sup]①[/sup]
优化决定了此插件是否能不过于干涉服务器本身正常运行
功能即功能
作者态度决定了这个插件以后有没有可能更新,出了BUG能找他询问解决与否
搬运者态度什么也决定不了
插件越少越好,适用于任何类型服务器,RPG尤为重要
在保证玩法丰富的基础上避免太多插件,减少冗杂赘余,尤其避免插件重复功能
服务端根目录配置能实现的决不用插件|一个插件能实现的绝不两个插件|现在没用的插件不要留
①:你的插件如果是一座孤岛,没有其他插件联动而市面上却有其他插件可以与类似插件联动,你的插件就确实活性,有些地方发展会受挫
举个例子,为什么到现在各个服务器的虚拟游戏货币种类基本上都是Vault货币和PlayerPoints点券两种?
这是约定俗成的习惯,其他商店、抽奖等涉及到游戏币的插件基本只会考虑这两种货币,而不会考虑第三种
这也是为什么几乎没有第三种服务器货币的原因,如果有个人写出来,其他插件作者会提供联动支持吗?显然很困难。


课间休息
下一章算是步入正轨了,主要介绍一些RPG常用插件
有些问题可能要放到下下章
Unicode转义字符器>>用以把一些特殊符号转为unicode万国码




常用RPG插件和注意事项 >上<
基础插件——Essentials
一、应当取舍
如今基础插件有勃兴的势头。诸如CMI、UltiTools等基础插件确实不错,甚至可以说多方面超越ESS。
但是ESS老有老的好处——部分插件默认与Ess有挂钩而不能识别其他基础插件。
不少基础插件实际的确表现优良,但目前来看支持它的其他插件并不多,稳中求新稳在先则优先考虑稳定的Ess(X),
基础插件的功能够用就行了,本身它也不是吃资源吃太过分。
不过这里建议如果ESS这种多个jar文件组装的插件,可以只选择部分装载。

二、Ess(X)真的必要全部装进去?
Essentials|EssentialsAntiBuild|EssentialsChat|EssentialsProtect|EssentialsSpawn|EssentialsGeoIp
六个ESS相关,未必都要装
第一个是本体,第二个是建筑控制,第三个是聊天控制,第四个是保护,第五个是重生点,第六个是检测IP
RPG服本身对资源消耗的可变性就比较大,不放心Ess的建筑可以装其他建筑控制或保护;
聊天的话,建议不装,装其他聊天插件足矣(Miaochat|Deluxechat);
保护的话,Ess的保护确实不咋滴,卸了用WorldGuard(这个到后面会重点介绍)
重生点还是有必要的,挺有用的,保留;
GeoIP屁用没有,如果要用的话大不了开Authme的GeoIp,
这个会占用网络资源,推荐删除
这样,你的ESS只需要装2-3个即可
ESS(X)的RPG服常用功能
1.保存重生点(spawn) 地标 并设置玩家是否回家
2.安全的传送
3.恢复状态到完好
4.简单地ban物品
5.简单地设置权限和命令受限(无其他权限插件)
6.设置入服公告栏
7.简易物品包
8.反冲突命令书写格式
9.木牌多功能
10.指令收费
11.单独设置权限(如warp|tp)及合并组
12.挂机保护与踢出
13.自定义进出服信息
14.保护其他插件帮助信息不泄露
15.简易聊天控制
16.保护大部分的可能的危险事件
17.控制PVP
18.简易ban方块
如果你有些插件特地采用了插件来实现,请在Ess里设置好,把它们都删除吧!
四、参考配置
我前段时间使用ESSX的配置
五、注意事项
1.不少插件尤其是管理插件的命令会与Ess冲突,一般来说Ess优先级比其他插件低,
如果你要使用Ess指令请在指令前加"e"
/egive /etp /ekit……即可
2.Ess有一项设置常常被忽视
    - essentials.home
    - gps.commands.stop
    - gps.commands.start
    - playmoresounds.sound.*
    - essentials.suicide
    - craftbook.mech.light-switch.use
    - vipname.change
    - -factions.claim.radius
    - -factions.claim
    - -factions.autoclaim
    - cashcode.cash
    - factions.kit.fullplayer
    - deluxechat.utf
    - deluxechat.pm
    - gangsplus.gangchat
    - gangsplus.fight.*
    - gangsplus.gang.*
    - gangsplus.allychat
    - chestcommands.open.viplb
    - chestcommands.open.vip
    - chestcommands.open.vipgm
    - chestcommands.open.vipgm.yml
    - chestcommands.open.viplb.yml
    - chestcommands.open.vip.yml
    - -residence.create.subzone
    - -essentials.balancetop
    - essentials.back
    - -essentials.balance.others
    - -residence.expand
    - -residence.create
    - -residence.*
    - -residence.buy
    - -residence.sell
    - -residence.rename
    - essentials.balance
    - -residence.randomtp
    - -residence.delete
    - gj on
    - rpginventory.keep.items
    - rpginventory.keep.armor
    - rpginventory.keep.rpginv
    - rpginventory.user
    - essentials.tpahere
    - gps.commands.show
    - sx-attribute.use
    - essentials.tpahere.others
    - essentials.tpaccept
    - BoxPage.1
    - BoxPage.1.1
    - BoxPage.1.2
    - BoxPage.1.3
    - BoxPage.1.4
    - BoxPage.1.5
    - BoxPage.2
    - BoxPage.2.1
    - BoxPage.2.2
    - BoxPage.2.3
    - BoxPage.2.4
    - BoxPage.2.5
    - item.hold
    - MyPet.npc.storage
    - MyPet.petstorage.limit.5
    - playmoresounds.player
    - nocheatplus.checks.inventory.fastclick
    - nocheatplus.checks.combined.improbable
    - essentials.afk.auto
    - craftbook.mech.elevator.use
    - craftbook.mech.pistons.bounce
    - essentials.motd
    - craftbook.mech.bridge.use
    - crazyauctions.sell
    - crazyauctions.bid
    - crazyauctions.bid.3
    - crazyauctions.sell.10
    - -craftbook.mech.bridge.restock
    - craftbook.mech.door.use
    - craftbook.mech.door.restock
    - craftbook.mech.gate.use
    - craftbook.mech.gate.restock
    - essentials.pay
    - -PlayerPoints.pay
    - chestcommands.command.open.others
    - chestcommands.open.menu.yml
    - chestcommands.open.gps.yml
    - chestcommands.open.pet.yml
    - chestcommands.open.tp.yml
    - chestcommands.open.wq.yml
    - chestcommands.open.plxd.yml
    - chestcommands.open.yulequ.yml
    - chestcommands.open.yjbl.yml
    - chestcommands.open.gjdad.yml
    - chestcommands.open.yyh.yml
    - chestcommands.open.djsd.yml
    - chestcommands.open.gjdd.yml
    - chestcommands.open.gjdx.yml
    - chestcommands.open.gjys.yml
    - chestcommands.open.team.yml
    - chestcommands.open.zx.yml
    - chestcommands.command.open
    - commandnpc.use
    - CommandNpc.use
    - NpcCommand.use
    - npccommand.use
    - essentials.balance
    - nobreak.toggle
    - crazycrates.access
    - essentials.msg
    - essentials.spawn
    - essentilas.suicide
    - essentials.build
    - gang.player
    - gang.color
    - gang.number.50
    - gang.inv
    - gang.disband
    - gang.tp
    - treasurechest.access.treasure
    - -essentials.nick
    - -essentials.sethome
    - -essentials.hat
    - -essentials.pt
    - -essentials.powertool
    - -essentials.format
    - -essentials.chat.format
    - globalmarket.create
    - -essentials.msg.format
    - -essentials.chat.color
    - -essentials.home
    - horses.command.buy
    - horses.command.summon
    - levels.user
    - disposal.use
    - MyPet.leash.Zombie
    - MyPet.leash.Spider
    - MyPet.command.info.other
    - MyPet.command.name
    - MyPet.command.name.color
    - MyPet.command.release
    - MyPet.skilltree.zhizhu
    - Mypet.skilltree.kuilei
    - MyPet.skilltree.shixue
    - nobreak.interact
    - nobreak.speak
    - nobreak.attack
    - pvptoggle.player.use
    - scriptblock.interact.use
    - scriptblock.walk.use
    - treasurechest.access.treasure
    - nte.builder
    - simplesit.sit
建议入门者采用这两种的其一,但是追求更高级的插件联动、更高版本的支持请往下看

权限插件——LuckPerms
推荐此插件的原因是他可以支持新版本、联动多RPG可用插件、支持多种数据存储方式
支持WorlGuard(最好用的保护插件)
支持Factions(功能强大的职业系统)
支持Towny(城镇插件,有些插件作者可能与它有仇,233)
支持PlotSquared(地皮插件)
支持CombatTagPlus(某个PVP插件)
支持PlaceholderAPI(服务器几乎必备变量插件)
支持Sponge(GM和PEX的相关版本无法支持高版本)
支持所有受Vault支持的聊天(Deluxechat|Esschat|Miaochat等)
支持权重设置
支持Bungeecord(不支持其他跨服,这就是孤岛现象)
支持权限插件数据迁移
如果你的版本较高(≥1.12)或需要上述一些插件作为联动目标,请选择LP插件
当然如果你用不着那些功能或者版本在1.13-,还是用GM/PEX足矣
>>权限插件打包<<


经济系统——合理的管理
一、不必要的插件
经济系统的构建只需要Ess和Vault两个插件就可以,当然ESS如今也不是必要插件,不必安装其他经济插件(Playerpoints等额外货币除外)
不要为了填补空虚而硬加入经济插件,除非你打算弄跨服经济或者数据库或者多货币系统(第三项货币——孤岛现象)
既然我用Ess和Vault没有任何问题,那么就不需要考虑更换
先前我装载过Iconomy经济插件,结果玩家莫名其妙出现游戏币清零的现象,删除后问题解决了
暂时不清楚是什么原因,数据库也不是所有服都开启的
3yOpjmVSfHZMahb.jpg
同样在问答版也回复过这类问题,解决方法无疑——删除Vault|Ess以外的经济插件
如果一定要选,一定要选用得多、差评少的(不过有数据库的话,有些丢钱现象一般不会发生)
二、经济调整
(以下内容纯属个人看法,可跳过)
根据经济学知识,举个例子:
构建一个孤岛国度,条件已经保证它可以内部自给自足,不依赖外部进口或本身出口,现在在此国家投入两倍货币量,得到的结果并不是商品数量翻倍,而是物价翻倍

事实就是如此,固然MC-RPG与此不同,但是可以找相似点下文中,钱=游戏币=游戏中第一货币≠点券等第二货币)
打怪掉钱、物品换钱、挖矿换钱等行为就是创造财富(游戏币)的行为,这是个无休止的过程,服务器财富一定是会总体增加;
看似你可以无限生钱,实际上还是来自玩家的游戏行为被系统认作是创造财富,只不过现实中的财富并不是直接转化为货币;
不管玩家拿到了物品还是钱还是拿到物品,都是创造等价财富的行为,除非你的服务器不开启货币系统,一般来说不会这样。
我们设计RPG经济系统的角度是方便控制金钱而不是让它更加混乱,
服务器财富总额的上升必然导致系统出售类商店价格不适宜而频繁调价,每调一次全服设置都会有风险造成通货膨胀或者通货紧缩,致使管理难度加大,
因此需要宏观调控,不能过度依赖于市场自己配置(服务器有"市场"指商品借助货币能够大规模流通)
不能让货币太没用,但可以加大货币的作用——财通天地,逆天改命,不能让货币太泛滥,但可以尽量缩减货币量到稳定数值
需要调控的类型:依赖于玩家间交易系统如全球市场、面对面交易、拍卖所等,而原始资本可能来源于游戏玩法、商业服手段(氪)


世界插件——Multiverse-Core
一、是否该装?
多世界插件,同样人尽皆知,如果你RPG是单世界,应该不会笨笨地把这个下进来,什么?你下了?还不删掉!
二、注意事项
[/]整理得很详尽
没什么过度需要注意的,只提几个好了
1.聊天开头世界标志
prefixchat: 'false'
一般来说RPG服是要加一个聊天插件的,这个设置关闭
2.强制接管默认世界,如果EssSpawn删除(建议保留)了,你可能需要自己设置
firstspawnoverride: 'true'
firstspawnworld: world
3.创建导入世界时需要注意:
世界名为英文,安装在根目录里,而alias是世界别名,可以作为变量显示中文或其他字符
如果服务器导入不了,可以单机(纯净)创建放到服务器/mv import 世界名 |导入世界
地狱、末地存在于开启了的世界中的DIM和DIM-1文件,一般单机的三个世界组合为一体,在服务端分开
4.不同世界背包隔离请参考此
搬运贴


变量插件——很简单的PlaceHolderAPI
一、作用
提供其他插件的变量支持,要知道,不是所有插件都内置变量,此插件可以支持很多其他插件的变量
它实际上作为其他插件注册变量的平台,允许其他插件在它的资料库里注册变量
这里需要提到,只下载PAPI插件不代表你能使用全部变量,需要用云下载功能或者把已经准备好的扩展包放在插件里
二、使用方法
比我写的好的参考资料
全部扩展包下载库<——请点这个,我觉得十分有用
/papi ecloud list <all|author> 页码 ||查看可云下载的扩展包大全(来源是PAPI库)
/papi ecloud download <包名> ||下载扩展包
官方的全部扩展包集合
真·时刻更新的最全变量
默认常用变量
插件全部变量
中文插件WIKI

比如我要下载多世界的变量功能,就需要用指令/papi ecloud download Multiverse下载这个扩展包,否则你用多世界变量不显示
三、注意事项
1.部分插件的拓展包不是即下即起效的,你需要重启服务端

这种情况不要慌,重启就完事了,当然很有可能你在开服状态下动变量还会变成上图的样子,还是重启
2.相当一部分插件不支持PAPI2.8.2+,不乏国内优质插件,这里提供一个>>PAPI2.9.2下载(源自原帖)<<
四、常用包下载
>>惯用的一些包,基本上RPG都能用的上<<
五、MVdWPlaceholderAPI
用于自己创建变量,详情请看作者介绍
用途:
MythicMobs允许服务器管理员完全修改服务器上怪物的所有属性,甚至创建自己的怪物、BOSS和其他许多有趣的与怪物相关的东西。
它可以让你完全控制实体的行为,从简单地增加他们的生命和伤害,到通过一个强大而简单的脚本系统给怪物提供大量的新能力。然后,您的自定义怪物可以替换原版怪物,使用多种类型的生成控件随机生成,或者设置自定义怪物生成程序,特定条件下或通过命令激活。
你终于可以创造出你梦寐以求的终极怪物了。这对每一个RPG服务器都是绝对必要的。<blockquote>MythicMobs allows server administrators to fully modify all attributes of monsters on your server, and even create your own mobs, bosses, and other many other fun mob-related things.

二、基本信息
三、功能
官方说法(我粗略翻译):
实体技能:
基于强大的触发器和/或计时器系统,为mobs提供具有强大条件和延迟的自定义技能
实体属性:
修改所有的怪物属性,如生命,伤害,速度,跟随和战斗范围。
特效:
允许实体使用自定义声音、粒子和特殊效果。
装备:
设置装备并创建特殊属性和掉落表。
伤害修改:
改变伤害对怪物的影响,使他们能够免疫溺水,从箭中获得一半伤害,被火治愈等等。
实体生成:
创建强大的自定义怪物生成器,在特定的地点、计时器、条件、属性、冷却时间等生存怪物!
生成控制:
根据您可以指定的任意条件,将您的自定义实体和BOSS设置为在世界不同地区随机生成。可以完全取代自然的生成!
怪物等级:
允许怪物根据它们的生成地点和方式来提升等级和力量,当它们达到等级时会有等级的生命,伤害和更多的能力!
威胁表:
允许实体使用威胁表,对威胁目标进行更灵活的操作,并使实体的行为更像rpg中的那样。
实体AI控制:
允许您修改实体 AI,包括添加仅在MythicMobs中找到的新AI目标。让僵尸打开门,有友好的骷髅守卫攻击来自其他派别的骷髅等等!
派系:
允许实体成为派系的一部分!使用前面提到AI控制,这样就可以有实体与其他派系实体战斗,帮助玩家,等等!
伪装:
与LibsDisguises的联动可以让怪物看着像其他东西
插件兼容性:
与各种流行插件兼容!
……

四、注意事项
1.使用前请确认你的版本,2.0.2以下的怪物、技能写法和现在大多教程不同,以后MM的写法全部遵从新写法
老写法例:(本身怪物技术力过低)
<div align="left"><font face="黑体"><font size="3">1.设置能定时清理区块的世界(连分离世界的管理都没有)</font></font></div><div align="left"><font face="黑体"><font size="3">2.时间间隔,竟然只支持分钟</font></font></div><div align="left"><font face="黑体"><font size="3">3.一个全局垃圾处理器</font></font></div><div align="left"><font face="黑体"><font size="3">4.是否保持出生点区块常加载</font></font></div><div align="left"><font face="黑体"><font size="3">似乎你前面的根目录设置比较完备完全不用依赖于这个插件,徒增服务器负担</font></font></div>
如果你是优化苦手,可以加一个,尤其是小白服主用这个插件可能就完全解决世界区块附带实体的卡顿问题



课间休息
下一章算是步入正轨了,主要介绍一些RPG常用插件
有些问题可能要放到下下章


施工中
常见问题汇总
启动问题

Q为何启动参数配置完毕,却无法启动服务器?为何计算机无法选择对应版本的Java?
A可能需要手动填入Java/JDK路径,例如使用了1.14版本的核心,
则填入Java8的路径:"C:\Program Files\Java\jre1.8.0_241\bin\java.exe";
如果使用了1.17的核心,安装了JDK16,则可以填写"C:\Program Files\Eclipse Foundation\jdk-16.0.2.7-hotspot\bin\java.exe"


配置问题
如果你的服务器性能消耗巨大,却又不知无从下手,此处可提供几个意见:
1.把不用的优化插件卸载掉,过多的优化插件反而会导致服务器负载加重、插件之间互相掣肘
2.仔细配置一遍根目录的数个配置文件,尤其是spigot.yml和paper.yml,
有些游戏机制可以选择性关闭:例如僵尸追逐村民的AI、刷怪笼的激活、结构体的计算等


插件问题
如何禁止某一物品放置、交互权限?

Connection throttled! Please wait before reconnecting.
通常是bukkit自带反压测导致的请编辑bukkit.yml找到并修改connection-throttle:后面改成0或者比较低的数(单位:毫秒)

如何开启Timings?
在spigot.yml里找到并修改plugin-profiling: true;如果有paper核心建议在paper.yml找到并修改timings: enabled: true

如何用中文指令代替英文指令?
在commands.yml或在bukkit.yml的alias设置即可

如何禁用bukkit:me这类指令?
打开spigot.yml添加
  replace-commands:
  - me
或者,利用权限组插件添加负权限-bukkit.command.* -minecraft.command.* 对应所需禁用的权限即可

如何禁用minecraft:tell 一类的sub命令?
使用Baseprotect,编辑DisableSubCommand: true
或者其他的可禁用原版命令的插件

血量无法超过2048?
打开spigot修改

为什么服务器因特殊原因回档的时候,玩家背包内物品、位置、状态回档了但是插件没有?
因为插件和地图数据是分开存储的(当然也有部分插件的数据存在世界文件里)如果你要克服这个问题,请把bukkit.yml的autosave设置得比较低,如果设置为20则会保证你的服务器绝不出现地图回档的情况,不过性能不足(如果不是天河二号)的服务器慎用

SX属性消失
修改优先级

新手这么用权限?啥是权限?要用Luckperms么
不建议你使用Luckperms 诚然功能强大 但我个人认为入门还是从简单的开始 熟悉一部分插件套路后自然驾轻就熟了
授人以鱼不如授人以渔 这道理还真是正确 当你搞清楚事务是怎么运行的 你就可以轻松掌握一大类事务
建议新手使用Groupmanager (Plus)插件,对服务器熟练之后建议换用更强大的Luckperms
大致说一下怎么来的
首先以下内容有三个最主要的词汇: 权限 用户 权限组
权限组相当于一个个用户区 而用户需要至少对应一个用户区
区里有各类插件的权限 一般来说插件都是有权限的 相当于玩家拥有了权限就是权力来做某些事
大部分插件都有默认给玩家的权限 这个在服务器里是不会显示出来的 但是往往你的服务器要做出特色就得不走寻常路 有些默认的权限就得剥夺 或者给玩家一些特别的权限 这就得手动操作了:
1.如果你给某个玩家某个权限让他成为“特权者”那么就给他某个权限如/manuaddp 玩家ID essentials.warp.* (权限只是举例 勿较真)
2.如果给某个权限组以权限 那么属于这个权限组的玩家就有这个组里的全部权限 方便管理员管理/mangaddp 玩家ID essentials.tp.*
3.你需要严格弄明白什么叫 “给负权限”什么叫“剥夺权限” 这两个看上去一个意思实际上不一样
给负权限意味着玩家严格意义上没有这个权限 举例说明:你给OP一个负权限 他就真的没有这个权限了 会变得和没有这权限的玩家一样
剥夺权限则是他在现有情况下失去了权限 举例说明:你剥夺了OP一个权限(并不是服务器大管理权限) 他因为插件默认就给了OP这个权限 所以OP还是相当于有这个权限
*OP可以视作拥有大部分权限 不需要你给他就有 但是你加了负权限他就完全没有
当然了你可以给人剥夺负权限 这个逻辑很清楚
剥夺权限的形式/manudelp 玩家ID 权限  这是给人用的   /mangdelp 玩家ID 权限  这是给组用的
/man就是Groupmanager插件权限的通用前缀 就这样
u表示用户 g表示权限组
add表示添加 del表示删除
p表示权限 还有其他的一些你可以查查最上面给你的链接

MM如何设置范围内玩家技能
用条件

如何设置某些世界不生成生物?
MM条件设置

如何设置多种效果的食品?
MM+Artifact 的consume触发器

如何清除全部实体?
/minecraft:kill @e

如何在开启ESS安全传送的情况下把玩家传到“不安全位置”?
/minecraft:tp

输入给OP、封禁的指令报错怎么办?
/eban /minecraftp

玩家血量为0不停死,我已经设置了玩家基础血量但还是不停死怎么办?
把属性插件中血量的优先调到最高

如何设置百分比掉血?
MM的百分比血量攻击技能,玩家的话目前用一个插件NaturalDamage

如何设计好怪物?》
<长篇大论>

为什么我的玩家进服会秒退?
打开paper.yml找到并修改  bungee-online-mode: false

如何设置简易天赋系统
用菜单插件

如何规制门派/职业系统?
菜单、权限组合

如何保存物品?
/mm i import

如何保存时装?
/mm i import
然后在保存的位置调用时装数据即可

如何克服玩家掉虚空不死?
装VoidSpawn

如何限制玩家跑图?
WorldBorder

如何设置保护世界中的不保护区?
用WG

如何设置矿区?
用WG和方块刷新插件如MRL

有必要装领地插件?
如果你不开放资源世界或者资源世界不允许玩家建造领地,那么请不要装,有地皮就可以了

史诗工艺为什么不能用/ecraft指令?
找到并改成block-ecraft-command: false

史诗工艺如何关闭分类功能?
enable-categories: false

如何查玩家背包、末影箱?
装OpenInv后/oi /oe

如何制作分解系统?
用楠木i的ED分解插件

如何设置消耗品?
用Gilc或者Craftbook或Rpgitems

如何确定某个方块的坐标?
用创世神选区工具打一下

如何创建迷宫?
用迷宫插件 创世神的迷宫脚本需要依靠一个脚本解析器,而它太过于臃肿且不可避免地报错

MM物品技能发射方向错误?
使用@targetlocation 选择器

后台刷 moved wrongly
spigot.yml设置
moved-too-quickly-multiplier: 20.0
moved-wrongly-threshold: 1

RPGitem配Lore属性插件伤害为0.1
RPGitems的武器不能用SX的攻击力 会冲突 SX攻击力实质是随机原版的伤害 换用AttributePlus或者其他使用非原版伤害的就可以
或者设置Rpgitems武器伤害 /rpgitems 物品 damage 最小 最大
非原版伤害的属性插件可以用damage设置为0 然后用Lore

是否要很多种强化?
求精而不是多 太多玩家会审美疲劳 也不利于你管理 应当在一个强化系统上下功夫

使用绑定插件无法登陆
如果有可开启的指令功能请添加登陆指令/l /login

物品名全部变为原版名?
更新cscorelib

为何我的MM在某些区域看不见怪物?
WG如果禁止区域生成怪物就会导致这种情况 会暂时出现怪物的技能、血条但是实际上会消失

为什么我的音效设置会报错/无效?
请检查你的游戏版本,1.9-的声音文件和后来不一样

如何查出写错的MM文件?
出错很可能是YAML语法错误 常见就是多或者少个空格|冒号|分号,建议把堆在一起的文件分隔成几个,这样方便查哪个文件出现的问题

如何让shopkeeper插件支持设置权限、冷却一类的?
另一种设计思路——使用NPC命令绑定
在某个地方创建shopkeeper村民 然后编辑好商店,打开saves.yml文件查看它的ID比如30
选中NPC(不是shopkeeper的村民)/npc cmdadd -o shopkeeper remote 30
这样就可以实现用NPC远程打开村民 更加灵活 可以设置多久才能打开一次 需要权限才能打开一类

MM有些ID无法使用
比如烟火之星,不知道什么原因 但是你仍然可以用MM的保存格式调用/mm i import

MM是不是只能设置怪物?
不是,玩家、物品也可以,甚至一些意想不到的游戏效果都依赖于这个

有比MM还好的怪物插件吗?
没有,如果有哪个插件作者声称自己开发了比MM更灵活的怪物插件,我会第一个冲过去打死他

宠物插件怎么弄呢?
Mypet已经很老了 但是功能仍然不俗;有些国人开发的宠物插件也不错,就是能耗可能接受不了

AAC要装吗?
就好比你花一百万买一个金马桶,上厕所却被硌得难受,眼都闪瞎了

应该用什么反作弊?
我建议不用 虽然后果是会出现外挂
NCP  这是功能最实用、消耗较少的插件,大部分人不知道怎么设置它所以觉得它不好

反作弊系统有低消耗的吗?
没有,如果真的有,它的功能会少到不能称之为反作弊系统

市场插件应该选择什么?
最好是能添加黑名单(如果再有白名单更好)且支持数据值、lore的,有些物品不该出现在市场
最好有税费功能,以控制服务器总财富

挂机系统应该怎么做?
原版就可以,命令方块做一个红石循环之类的/xp 经验值 @a[r=范围] 这样就可以了
当然AFK挂机插件也不错

一些自成体系或者集合功能的插件该选择吗?
看个人喜好,我反对,如果集合类插件可以把功能作为组件可拆卸或者可关闭,那样可以选择,否则你的发展受插件本身限制

时装插件/贴图可以不要mod吗?
不可能,绝对不可能,原版无mod纯净能修改材质的途径只有客户端资源包、修改游戏内贴图、头颅改材质,脱离于游戏外的任何内容都至少需要mod支持

时装可以大量使用吗?
如果你的时装可以开启客户端网络访问功能,对服务端的压力应该不是很大,如果你的资源是储存在服务端本地的,你会发现服务器卡顿程度和时装应用量呈正相关

可以播放音乐吗?
可以,AudioBuffer插件和它作者开发一系列音乐类插件
但是一定会依靠mod,我听说过有纯净服无mod可以播放音乐的,但是不信,除非真的见过
↑如果真有 我只能认为是通过某种方法组合原版音效播放的音乐,不过这样每一首歌曲都需要大量运算,服务器不可能大量使用

氪金系统的建议?(商业服)
1.传统的、中国游戏界常见的用钱可以买到一切,不过这样会大大拉开平民玩家与土豪玩家的差距,破坏游戏风气
2.只开放VIP赞助,VIP支持的功能有限,比如开VIP的玩家可以略提升游戏效果,个人认为如果游戏系统做得好比1好
3.以开箱为主的单一赞助方式,开高级箱可以开出一些高级锻造材料、装备碎片、技能卷轴一类
4.以出售权限为主,比如有权限的玩家可以创建大公会、大摊位

可添加配置文件的插件出错但我不知道哪里的问题
配置文件出错的锅
一般来说是不符合YAML格式 比如少了个' 或者把英文逗号打成中文逗号都有可能
我看你这截图里应该没有上面的错误
但是可能是因为文本没有对齐或者按照层次排布比如这种形式:
菜单1:
<div align="left">  项目1:</div><div align="left">    AAAA:</div><div align="left">  项目2:</div><div align="left">    BBBB:</div>

只是举例 我猜测你的permissionCommand那一行错了 我怀疑它是隶属于item:以下的设置 你再查一下这插件配置方式 就这几行也不至于出太大错
实在不行还可以试试如果让插件自己生成配置能不能正常运行 如果可以就说明你自己改的配置有问题
建议如果插件配置可以分成几个文件的话尽量分成几个文件 特别是MM这样常用的 这样出错也容易排查 大部分插件也不会因为一个配置就全瘫痪




管理问题
RPG的管理相对来说要复杂一些,同样是因地制宜因人而异的
  • 即便是商业服也不建议过度偏袒氪金玩家,一般来说还是非氪占多数,需要权衡利弊
  • 设计一项新内容不要破坏整体稳定性,例如过于逆天的技能
  • 定期进行服务端备份以应对不得不回档的情况,只需要在关服状态下创建服务端对应内容的压缩包即可
  • 如果换用玩法插件,可以试着先保留原有插件,待到新插件稳定后择机删除原有插件
  • 并非插件越多RPG越好玩,而是在于不同插件的配合和整体功能的优越性
  • 设置高风险高回报的游戏内容必须有一个限度,例如不中奖就封号的想法最好杜绝



YAML语法
需要格外注意的是,基本所有插件使用的语法都是YAML语法,这个语法对格式有比较强的要求。尤其要注意以下几点:
  • 文件内容分层次,每个层次相当于统领其辖区范围内的配置,段首空格数相同的层次属于一个级别
  • 多数情况下每个冒号后要带空格才能输入内容
  • 使用Notepad++等文本工具可以识别并编辑YAML语法
  • YAML不认TAB的空格,只支持键盘上的空格键按出来的空格
  • YAML不认中文符号,如果在冒号处使用了中文冒号,逗号处使用了中文逗号则无法加载
  • YAML在文件语法出错时会导致一整个文件无法使用,这就警示各位尽量不要把太多配置放到一起,否则可能没法立刻找出错误在哪里
  • 按住Alt可以按区域框选,比如你要给每一行前面都加减空格可以这么做
  • 有些时候需要用''把内容引起来,否则无法载入,而且中文引号也是不认的
  • 有些时候非纯数字不需要用引号引起来,而纯数字需要(例如ESS的玩家数据)
  • 如果识别引号,而你的文本正文里需要有引号,则需要双写引号,如[Xuanzhou's World]在配置里应当是['Xuanzhou''s World']
  • 部分插件会在控制台输出错误信息,可以大致描述YAML语法错在什么地方,但不完全准确(如MM插件)



帖子地址: 

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

像素世界 成立于2022年8月,是中国开发者开创的一个综合像素沙盒游戏交流社区,拥有稳定的开发维护及运营技术,提供长期交流需求。本社区开放了我的世界模组、地图、插件等资源交流版块,集中了大量资源为玩家和开发者提供了优质的游戏环境。
  • 官方B站

  • 微信公众号

  • 商务合作