欢迎来到我的世界玩家社区Wiki!如需参与编辑,请每一位编辑者务必仔细阅读Wiki方针
全站通知:

教程/RPG服务端教程

阅读

    

2021-01-29更新

    

最新编辑:碎心者炫宙

阅读:

  

更新日期:2021-01-29

  

最新编辑:碎心者炫宙

来自我的世界玩家社区WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索
页面贡献者 :
碎心者炫宙
我是绵羊Yang_g
幼稚的爪爪
原版-书与笔.png
本页面内容并不完整,可能有错误或者遗漏的地方
页面贡献者留下了关于这个页面的一些描述,这个页面的问题在于:
  1. 章节待补充
  2. 非专业人士最好请别编辑
我的世界玩家社区WIKI 欢迎您帮助我们完善这个页面

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


技能

└介绍:

此玩法极为Talented和Fantastic散装英语,勿学,入手难度不高,但是深入的难度是你无法想象的,甚至某些程度的技能设计难度超过了设计一款精密插件

依赖于技能插件或者mod(这个我真的没有了解),就插件而言吧:

需要技能插件,常用的插件有:

SkillAPI

最常用的技能插件,附带职业系统,API十分灵活,可操控项目极多,但是与一些插件不兼容(RPGInventory),个人认为它作为任务插件不纯粹,编辑项目过少

此插件作为免费插件已经可以打倒大部分技能插件了,是入手的不二选择

MythicMobs+MythicMobsExtension+(Mythic)Artifact

你可能会觉得用MM作为技能核心玩法有些诧异,不过经验所得,这个很重要,Mythicmobs本身提供了大量技能

种类多,但是它作为"API"的方面不够好,这句话意思是,很多技能都是写死的,可变的类型太少 MythicMobsExtension则是一个有趣的免费附属,在此基础上可以搭配更多新奇技能,同时提供几种选择器

Artifact插件可以让物品绑定MM技能,同时提供几种触发器,以此你可以设计武器技能

SkillSystem

国内巨佬开发的技能插件,就插件本身而言,逻辑/判断系统十分精密,作为技能插件十分纯粹,加入你的服务器不会造成副作用

McMMO

为MC提供MMORPG玩法,更偏向与综合类型技能比如生存,自由度较低,

但是你可以在国外很多插件介绍页看见它的身影,很多插件都有它的联动,但是个人不推荐,资源占用大,而且我觉得它的技能基本上没什么屁用

RevivedLocyItem

国内大佬开发的技能插件,就插件本身而言,调用函数这一点实在是完美之举,图形构造也无懈可击,配置简洁易上手

MagicSpells

此插件虽然是Magic的弱化版,但是依旧十分强大,逻辑系统也十分优越,而且兼容性很好,

作为API十分优越,上手难度低,调用简单,学习类型多样,成长系统有规矩可循

Magic

作为一个合格API向的技能设计就可编辑项而言,大部分插件不可能超过它,可配置方面极为丰富

└优点:

搭配效果十分高端,你可以设计门派一类,学习技能打出连环技

自由度极高,关于一些我常用的插件之后会提及一些设计思想

└缺点:

技能编辑难度过高

与其他插件联动调用可能调用不便

如果粒子设计不当会导致卡服

技能插件不可能不卡服,绝对不可能,什么东西用多了都会起反作用

即便粒子设计妥当,如果不加以节制(冷却过短/学习门槛过低/运算太过于复杂),服务器会宕机

家园/王国

└介绍:

划分玩家整体阵营(不是公会或者组队插件的功能),构筑玩家组成的王国,自成体系的话可以提供大量自由玩法

成型后,玩家可发展自身,代入感极高,服务器可长期运行

使用如Kingdom和Towny的插件(注意兼容性,有些插件不可以与王国插件共用)

└优点:

服务器成型后,就是一个自成系统的服务器,管理员无需过于干预

└缺点:

起步难度极高,出一点差错都可以导致服务器无法正常运行

需要构建者有着很强的社会管理能力

探索

└介绍:

新型玩法,让玩家在开放世界(建议开放世界)进行探索,

└优点:

在探索中使RPG更有乐趣,参考一些3A大作RPG

└缺点:

几乎没有先例,主要的借鉴对象是——刺客信条神话三部曲、塞尔达传说、天国拯救、荒野大镖客


玩法的重要性

玩法是服务器的基本属性,没有高效、创新、优越、完整的玩法,再多投入也是白搭,

如果不选择好玩法,你的服务器一切努力也会白费,

不打打腹稿怎么行?

这个不必要太刻意去冥思苦想,你可以吃饭的时候、睡觉的时候、洗澡的时候、思考人生的时候思考这个定位,

不要专门拿一个时间段去考虑,有些想法可以记录下来,至少大方向要对,不要学某些人,稍微有点想法就开始做,做到最后和一开始想法都有过多出入了


服务端的选择

为什么要选择合适的服务端?

服务端指的就是核心了,你开服依靠的那个jar文件,没他开不了服

各个服务端有着不同的优势,

这里只提单端RPG,不考虑多端RPG某人认为搞多端RPG完全就是烧钱/浪费资源


服务端种类

无非也就几种(常用服务端已加粗)


服务端对比

Spigot[插件]

优势:作为插件服95%以上的插件开发核心,它支持几乎所有插件,本身是Bukkit核心的优化版本。

目前SpigotMC仍然是全球最大MC服务器插件开发交流平台;

制作RPG服务端全部使用Spigot的原因是——兼容性好,不会出现太多插件用不了的情况

劣势:服务端本身优化不是最好,需要再加优化插件实现进一步优化
问题:无明显的严重问题

CraftBukkit[插件]

优势:作为老版本插件服的插件开发核心,它的地位相当于"水龙头的爸爸"过去的王仍然值得赞许(什么鬼理由)
劣势:优化项目过少,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,之后不要动了!

Sponge[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.16>>由于扁平化引入导致许多跨版本1.8-1.12的插件无法逾越1.13,致使插件mod开发受阻,mod几乎就没有而插件只有基础的一些适用于生存的插件,RPG发展困难,1.15之后服务端性能大大受挫,客户端性能大大提升,前景堪忧(此问题导致了1.12.2走上巅峰)
  • 1.17+>>此类服务器几乎什么插件mod也没有,就连原版运行也在完善中,开新版本尝鲜生存服还好,RPG服别想了,即便开发地图,等你开发好估计1.16也早不是最新版本了,好处就只有更新的新地狱,极不推荐
  • 1.7.10>>此版本的MOD支持数目先前是最多的,如果开Mod服可以在此选择,但是如今1.12.2mod核心发布和MOD的更新撼动了1.7.10的地位,一般推荐

总体而言,选择版本的原则——稳中求新

尽量保证你的发展版本拥有市面上大多支持的RPG插件;

在此基础上尽量追求新版本;

如果不是特殊情况,不要换版本(特殊指大量插件需要新版本才能用或者此版本真的已经与时代脱节)

向上提升版本难度远远小于往下降低版本。后者几乎不可能。


最重要的配置

服务端本身都带有一些配置文件,插件服如下图

绿——核心;蓝——内容文件;红——配置文件

服务端根目录文件.jpg

依赖于BukkitAPI的服务端必定有bukkit.yml

依赖于SpigotAPI的服务端必定有spigot.yml

Paper端是广为人知的高度优化端,有paper.yml可配置大量优化


如何配置server.properties?

此文件是最基本的服务端文件,设置了一些必备项目,对RPG有重要影响的项目如下,建议修改成的项目已标红

  • generate-structures=false

此选项的含义是是否生成结构体计算(结构就是女巫小屋、村庄有效门一类)

如果你的服务端类型不带有探索元素或依赖于原版这些机制,务必关掉它

有意愿保留结构体的mod服请慎重考虑

另外,你还要删除每个世界里的一些已经有的结构体文件:\world\data\ 里的Temple Village Mineshaft.dat Fortress Stronghold.dat一系列与结构有关的文件

1.13扁平化之后,存储结构体的文件从原本的data文件里移动到了区块文件里,删除区块会把它们一并删除

  • allow-nether=false

此选项决定是否开启地狱,视情况而定,世界越少越节省资源,删除后还需要把世界名_the_nether文件删除

  • 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

把上面的某个玩家设置为其他等级即可

如果想让玩家获得管理员权限,给他“*”权限也很类似,不过原版的一些命令无法使用。

  • player-idle-timeout=0

影响玩法的选项,但是很少被提及,它的作用是玩家如果不处于交互状态,有多久会被踢出服务器(单位分钟)

ESS有AFK相关选项和这个类似,但是略有不同

这个选项改成0后玩家就不会被服务器当作挂机踢出,当然看你的设置如何了,0是减少资源消耗的(但可以忽略不计)

  • spawn-protection=0

出生点保护,可以阻挡大部分插件的有效功能,这就是为什么非OP有最高权限的玩家没法改动出生点附近的任何东西的原因

比如我拥有*权限,却不可以破坏出生点周围的方块,原因就在这里,

但是你仍然可以通过某些途径来影响,比如创世神、脚本方块的操作等不是由OP直接呼出的操作

设置为0,它的意义不是很大

  • pvp=true

PVP设置,此选项可能不会起效,但是有些PVP插件管理的优先度比这个要低,有些比这个要高,保险起见,按照最原本的想法设置,另外再加PVP管理也未尝不可

  • snooper-enabled=false

是否定期发送统计数据到http://snoop.minecraft.net?我不建议任何访问外国网站的功能在RPG服务器开启,除了占用资源以外对你来说什么作用都没有

  • enable-command-block=true

是否允许使用命令方块

我做RPG的习惯,常用命令方块执行一些指令,十分方便,比如/tp @p[r=2,lm=20] X Y Z

这类指令用原版的一些控制,大部分插件的指令只要带上@p @a 等都可以正确采集变量

实际上有些情况下,使用命令方块远远比脚本插件简易好用。

  • level-name=world

默认世界的名字,不要用除英文以外的任何字符

部分字符,例如 ' (单引号)可能需要在前面加反斜杠号 \ 才能被正常应用

  • view-distance=3

最关键设置,视距,加载的区块范围,对性能的改善立竿见影,

此选项在spigot.yml也有一个一样的,同改。

单世界RPG服务器建议设置4

多世界RPG服务器建议设置3

如果你混入了生存玩法,建议在3-5,虽然会占用资源,但是过低的视距会导致玩家游戏体验糟糕

特殊情况:设置为2,先前我有一个必须内存设置1G以上才能正常运行的服务器从5改到2,结果用500-1000M内存带六个人也不会卡,

仅限纯RPG可以有这种操作,这操作导致我服务器MM怪物只能刷在玩家附近等诡异现象(采用了随机刷怪)

  • snooper-enabled=false

是否定期发送服务器数据到http://snoop.minecraft.net?个人认为连外网的操作无非会增加服务器因为连接超时而导致刷错、线程卡死的概率

  • use-native-transport=true

在Linux系统上数据包收发优化


如何配置bukkit.yml?

  • allow-end: false

建议false即为关闭末地,一般来说RPG服用不到那个世界,当然看情况

  • 实体限制
spawn-limits:
  monsters: 35
  animals: 10
  water-animals: 2
  ambient: 2

此设置项代表着一个玩家可以附带最多多少生物,依次为怪物、动物、水动物、蝙蝠,

建议在此基础上减去 (你的常驻玩家数/4+1),事实证明,这个数目可能还是过大了,没有必要生成太多生物,除非你的RPG玩法是割草(一大堆怪物开个无双全砍死)

  • 区块回收
chunk-gc:
  period-in-ticks: 400
  load-threshold: 300

默认: 600 0

建议: 400 200-400

性能影响: 中

┗多长时间回收一次区块

┗一次回收多少区块

┗如果世界是开放的(生存世界),可能第二项要设置多一些。

不过如果装载了Nospawnchunks插件会定时回收全部区块(出生点区块可设置不清理)

这样可以更快地卸载区块,意味着消耗更少的TPS

  • 游戏刻控制实体
ticks-per:
  animal-spawns: 400
  monster-spawns: 20
  autosave: 12000

分别指多少tick可以生成一个动物、怪物,自动保存间隔

  • autosave

服务器自动使用/save-all指令的间隔(tick)

示例用法:

1意味着服务器将尝试每个tick都自动保存(不知道这样会不会造成什么严重后果)。

如果设置为1则会保证你的服务器绝不出现地图回档的情况,不过性能不足的服务器慎用,人家照常五分钟保存一次,如果你一秒保存20次,这个问题就可想而知了,估计会崩服

6000将意味着服务器将尝试每5分钟自动保存一次世界。

低于0的值将改成bukkit的默认值即为不保存(如果没有其他保存插件,直接关控制台的话会回档,部分插件不会回档)。

MC原版 默认值: 6000

Bukkit 默认值: 0 注: 许多Bukkit服务器已经使用插件来保存,因此决定在Bukkit中禁用此功能(部分bukkit核心你找不到autosave的原因)

因为Minecraft默认设置会给许多服务器造成很大的延迟,并且会造成资源赘余。

如果你希望启用此选项,请记住该设置是以tick为单位设置的,因此应设置为一个相当高的数字(峰值服务器效率为6000=5分钟)。

自动保存这里提一下,单机著名的死亡卡顿问题就是由此引发的,不过spigot和bukkit已经大幅度优化自动保存了。

你可以装自动保存插件比如Autosaveworld,这样这个autosave就可以改成0


如何配置spigot.yml?

  • late-bind: true

false的话,玩家可以在插件加载完之前就加入游戏,可能会导致一些不该做的行为发生 服务器的载入顺序是地图→插件

1.14+此选项不可修改,默认为false

  • 属性设置
attribute:
    maxHealth:
      max: 2000000000
    movementSpeed:
      max: 2000000000
    attackDamage:
      max: 2000000000

这三项自定义,但是一定要是你服务器最大的一些数据,否则无法有实体属性超过这些数值

默认是2048.0,这就是为什么玩家最多只有2048生命值

  • item-dirty-ticks: 30

这个项目基本没人谈过,它的含义是物品深度监测间隔。

这里需要谈及:

这一项控制 item-dirty 检查.

MC本身会在每tick都监测一次物品状态

因为它监测了所有NBT数据,所以这一项无意识巨额消耗

水龙头则只是监测基本数据如数量/附加值/种类数据并每以默认20秒进行一次深度监测

深度监测设置为30,可以缓解服务器运行压力

  • 世界设置
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?

  • enable-player-collisions: false

是否开启玩家碰撞,1.9+才会有的,视情况而定

  • max-auto-save-chunks-per-tick: 8

顾名思义.对于1.13 +这是非常重要的,因为1.13+服务器保存相当低效 请注意:确保这个时间比自动保存间隔要短否则就会导致还没有保存好区块又开始下一轮保存.把这设置得太低可能会使得没有保存的区块出问题.如果你有超过40个玩家,你应当设置在8以保证安全

  • optimize-explosions: true

是否开启新爆炸算法?新算法可以立刻清除被炸死的实体,有一定的优化作用(我惯用爆炸效果制作技能)

  • disable-chest-cat-detection: true

默认猫站在箱子上面你是开不了的,个人认为这个特性除了吃资源以外没屁用

  • container-update-tick-rate: 2

箱子和物品栏打开时,内容的更新间隔(tick),设置到4以上会让玩家觉得放东西很卡

  • max-entity-collisions: 2

每秒处理多少实体碰撞,减少将会消耗更少TPS(spigot也有的)

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

提一点,Mythicmobs的怪物设置项Despawn: false 可以无视这个设置,作为世界BOSS十分有用(不然只要旁边没有玩家就会清理)

  • 非玩家箭头清理

non-player-arrow-despawn-rate: 60 此项如果设置为-1,则遵从spigot的箭矢消失设置,单位为tick,基本上用于骷髅射击玩家的箭矢什么时候销毁 60即为3秒,属于玩法类,如果你想让玩家一直插着箭也可以改的很大

  • 活跃箭头清理

creative-arrow-despawn-rate: 60 和上一项类似,但是是那种无法取回的箭矢比如无限弓发射的箭矢

  • 防止玩家进入未加载区块

prevent-moving-into-unloaded-chunks: true 探索类玩法或者生存玩法或者高速移动的玩法需要这个选项,它的作用顾名思义,有时候如果你移动速度过快,你会跑到游戏没加载好的地方里,过一段时间加载完毕你才能正常移动,把这个设置为true后,玩家无法进入未加载完毕的区块。

  • use-faster-eigencraft-redstone: true

这个设置可以减少冗余红石更新高达95%而不破坏原版设备。经测试运算加速10倍! RPG可能也会用得到红石,所以提一下,纯RPG改不改红石没区别 注意:如果你用插件改变红石算法,则需要考虑更改选项,因为插件倾向于阻止红石行为。

  • armor-stands-tick: false

一些物品会被当作生物(实际上指的就是实体,需要tick进行运算),这个选项意味着没有运算的盔甲架将不能被水推动,RPG无关选项,关闭 注:物品展示栏会被PaperSpigot抵消全部运算,这个是写死的,动不了

  • per-player-mob-spawns: true

这也算RPG无关选项,如果有生存/家园世界才考虑 开启后实现了每个玩家的生成限制,而不是Bukkit的随机算法。这可以防止其他人(大型农场)影响服务器的实体生成。

  • 假矿
anti-xray:
  enabled: false
  engine-mode: 1

默认: false

建议: true

性能影响: N/A

反矿透

┗虽然这个设置为true会降低TPS,但Paper的反X光矿透是最有效的!模式设置为1主要针对客户端,但模式2更有效

注意:版本早于1.12.2的Paper用户应该考虑使用这个插件作为替代(原帖的建议)而不是开启Paper的反矿透,

1.12.2-的paper反矿透可能不是那么卓越,当然你最好自己测试下哪个消耗更少

这些服务端反矿透无法阻止玩家使用空心材质包来透视

16=4个区块 32=16个区块 48=36个区块 64=64个区块 80=100个区块 96=144个区块 112=196个区块 128=256个区块 paper服务端的优势之一,自带假矿防止矿透,RPG玩法较多干脆关闭它 如果有世界有挖矿功能,请设置为2防止假矿,其他假矿插件可以删除了

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
  • suggest-player-names-when-null-tab-completions: false

这一项的含义是插件不可用Tab补全时是否提供一个在线玩家清单,

就好比我键入指令/rpginv item xuanzhou 时再按下TAB键会显示的内容,

由于某些插件(例子里举的是RPG背包插件,如果设为true,此时会补全的是在线玩家列表,如果设置为false,就不会补全)

  • async-chunks: true

服务器是否应异步加载和保存区块,以提高性能

  • disable-player-crits: true

顾名思义,禁用原版暴击,这个暴击的触发条件是玩家下方有高于一个方块(玩家跳跃高度似乎是1.25米),RPG服主大多不愿意看到玩家用跳劈的方式打出1.5倍伤害

  • restrict-player-reloot: false

限制同一个玩家来回抢夺同一个容器,对于RPG服是无用选项,请关闭


插件的选择

该去哪里找插件

国内

MCBBS—>国内最大的MC插件平台,插件种类多而丰富,门槛高,国内找不出更全的平台;

几乎国内全部原创插件都有在此平台发布(除定制插件外);

插件搬运可能存在着部分糙搬、审核不严、付费插件搬运少、搬运者积极性低等现象;

┣QQ群—>有些所谓聊天交流技术群,里面充斥着各类明面上分享的付费插件,你或许可以轻易得到梦寐以求的插件,但是出了问题难以处理,

有些插件并不能一眼看出是不是有后门或者其他什么严重的东西

┣某些论坛—>部分论坛抄袭大量MCBBS内容,不只是复制搬运插件帖,更有无授权剽窃原创插件的行为,插件种类较少

┣网易论坛—>这方面目前尚未形成体系

┗某些所谓交流网站—>存在大量低质量、后门插件,莫要贪小便宜

国外

Bukkit—>国外知名插件网站,老牌中大型国外插件很可能在此处发布

SpigotMC—>国外知名插件网站,各类国外插件最有可能在此处发布

PaperMC—>Paper贡献者所构建的网站,插件较少且大多是为paper适配

Github—>部分插件作者只在Github上发布作品

┣某些不正经网站—>存在大量看似免费付费插件的后门插件

Curse—>就插件而言,收集了大量Bukkit插件,主要是提供mod下载

在MCBBS找插件的注意事项

  • 搜索插件可以使用搜索引擎(在浏览器搜索框键入site:mcbbs.net 关键词 关键词2) 站内搜索(很不方便) 站外工具(比如这个 但是没有站内那么灵活)

搜索时注意提取关键词用空格分开,勿要加标点,比如我要找可以绑定NPC命令的插件则可以用百度搜索

"site:mcbbs.net NPC 命令 绑定"结果大概就能锁定了

换个方法搜"我的世界服务器可以给NPC绑定指令的插件"

看样子同样可以拿到答案,得益于搜索引擎的智能化识别关键词,但是换个插件可能就搜不到了

  • 不要以帖子所示的内容为准,搬运帖很可能已经过期或者搬运内容本身就不合格

这种现象在mcbbs十分常见,一部分有高亮、优秀加分的搬运插件仍然不合格(可能是申请时合格但图挂了一类)

  • 以搬运帖作为参考,切记搬运帖只是搬运者对于插件认识的表现而非原作者的想法,你可以站在搬运者的角度试图理解,一般情况下是可以大致掌握插件用法的
  • 要真正了解一款插件,无论何时,最重要的是去看原帖,固然需要一定的英语基础而且外国人的思维方式可能与我们有差异,但是此举值得,掌握一款好插件比埋没一款看似不好的插件远远要好
  • 站内目前搬运插件的积极性不高,你最好尽快适应去Spigot和Bukkit官网找插件,自己研究透后,如果mcbbs没搬运,可以申请作者授权并搬运过来,不要指望二搬可以征得原搬运者的同意(除非原搬运者长期不活跃)
  • 就算是原作者帖内写的版本都对不上你的服务器,也不要放弃,可以放到服务端试一试,还是有可能成功的
  • MCBBS目前原创插件数量巨大、种类繁多,加了高亮、优秀、精华或者后面附带一些正面评价图标的帖子一般来说具有更好的评价、效果

但是依旧是那一点:只是部分用户、版主认为好,不代表你也要认为它好,按照你自己的要求和想法判断是不是"好插件",对你来说是否有用才是评判标准

原创插件作者为了让更多人用好自己的插件,一般都会在帖子或明面上看得见的地方详细说明使用方法和注意事项,如果有不明白的可以回帖或者私信去问,有BUG可以反馈

原创插件作者需要支持与鼓励,如果你觉得好,建议加分鼓励创作

在mcbbs发表的原创插件并不一定安全,先前就出现过几起发布后大火的原创插件竟然存在后门的事件

就RPG服务端而言插件须知

你的态度>版本>实用性>多插件配合>优化>功能>作者态度>搬运者态度

你的态度决定你要找什么
版本决定了你找的插件能不能用
实用性决定了你的插件能否正常
多插件配合决定了此插件的存活时间

你的插件如果是一座孤岛,没有其他插件联动而市面上却有其他插件可以与类似插件联动,你的插件就确实活性,有些地方发展会受挫 举个例子,为什么到现在各个服务器的虚拟游戏货币种类基本上都是Vault货币和PlayerPoints点券两种? 这是约定俗成的习惯,其他商店、抽奖等涉及到游戏币的插件基本只会考虑这两种货币,而不会考虑第三种 这也是为什么几乎没有第三种服务器货币的原因,如果有个人写出来,其他插件作者会提供联动支持吗?显然很困难。

优化决定了此插件是否能不过于干涉服务器本身正常运行

功能即功能

作者态度决定了这个插件以后有没有可能更新,出了BUG能找他询问解决与否

搬运者态度什么也决定不了

插件越少越好,适用于任何类型服务器,RPG尤为重要

在保证玩法丰富的基础上避免太多插件,减少冗杂赘余,尤其避免插件重复功能

服务端根目录配置能实现的决不用插件|一个插件能实现的绝不两个插件|现在没用的插件不要留


常用插件和注意事项

基础插件——Essentials

  • 应当取舍的Essentials(X)

如今基础插件有勃兴的势头。诸如CMI、UltiTools等基础插件确实不错,甚至可以说多方面超越ESS。

但是ESS老有老的好处——部分插件默认与Ess有挂钩而不能识别其他基础插件。这一趋势终归会被高兼容度取代。

不少基础插件实际的确表现优良,但目前来看支持它的其他插件并不多,如果稳中求新稳在先则优先考虑稳定的Ess(X),

基础插件的功能够用就行了,本身它也不是吃资源吃太过分。

不过这里建议如果ESS这种多个jar文件组装的插件,可以只选择部分装载。

高版本还是使用其他基础插件好了,ESS已然有些适应不了时代了。

  • 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里设置好,把它们都删除吧!

  • 参考配置

如果需要可以自取,本身用于RPG服

  1. 注意事项
  2. 不少插件尤其是管理插件的命令会与Ess冲突,一般来说Ess优先级比其他插件低,如果你要使用Ess指令请在指令前加"e" /egive /etp /ekit……即可
  3. Ess有一项设置可能会超过其他插件,也就是覆盖其他插件的设置(通常不会,与加载优先级有关)
  • respawn-listener-priority: lowest

设置为 lowest, 如果你想使用 Multiverse 处理重生

设置为 high, 如果你想使用 EssentialsSpawn插件 处理重生

设置为 highest, 如果你想强制使用 EssentialsSpawn插件 处理重生

一般来说,安装了多世界的插件,玩家出现死亡总会到主城的现象就是因为这个,改成lowest

  • Ess的建造(Build)控制有一点不好,与方块的交互、物品右键会禁用
build: true
use: true

建议改成true后给玩家组加essentials.build权限,或者

把EssentialsAntiBuild插件删除

Ess的Build控制明显不灵活,太差劲了,改用其他的保护插件(Worldguard),删掉还节省一部分资源!

  • 防止服务器插件被看
non-ess-in-help: false
hide-permissionless-help: true

这样输入/help就只会显示Ess指令帮助


NPC插件——Citizens

  • Citizens2的作用

顾名思义,给服务器增加生物外观的NPC,本身插件不具有太多功能,但是仍然可以:

命名、移动、传送到、传送来、发送文本、巡逻、装备物品、设置外观、换皮肤、改基本状态

有一些个人认为没有必要加入的功能在这里往下拉查看

它更多是作为一个基础性插件,由其他插件引申出支持功能与之联动,

  • Citizens2付费

试问一下,一般人常用的Citizens2有多少是去Spigot官网购买的呢?(笑)

可见国内的正版意识问题也不能光怪用户

可能有人觉得没这个必要吧……

詹金斯构建

Spigot发布帖

Bukkit发布帖

  • 配置文件注意事项
区块加载
chunks:
    always-keep-loaded: true

这个选项的含义是,如果玩家不在NPC所在区块时是否保留区块,设置为true是为了防止有NPC的区块频繁被加载

列表显示
player:
    remove-from-list: true

如果设置为false,人形NPC会被当作是玩家,其他插件也会这样认为,可能会导致NPC某种情况下刷出成就、被全服奖励给予一类的问题,

实际上这个选项即使设置为true,某些情况也会导致不正常,为了防止过多不正常,建议还是设置true

/npc playerlist 可以打开单独某个NPC的玩家身份,也算是可自定义了

成就
advanced:
  check-minecraft-version: false

我觉得没有谁想给NPC成就检查,NPC要成就没有什么用处,似乎RPG服要原版成就也不常见

存储
storage:
  save-task:
    delay: 36000

需要知道,Citizens的NPC不是时时刻刻都在保存的,和其他插件不同,他默认有较大的保存间隔,

设置为36000代表着半小时保存一次,如果你在保存之前重载NPC,你会发现服务器刚刚做出的修改全部被废除

若要手动保存,请使用指令/citizens save,此指令通常用于关服之前手动保存一次NPC

需要注意:

/citizens reload 是重载,它的效果是把后台Citizens文件夹里的内容载入到服务端

/citizens save 是保存,它的效果是把前台(游戏中)的内容保存到后台文件夹里

不要前后台同时修改,前台修改好就/citizens save保存下,后台改好就/citizens reload 重载下

大部分插件的自动保存间隔都很短,或者检测到前台更改数据时后台也同步更改,但是有一部分不是例如mypet/citizens/……

一方面出于文件可能过于巨大,另一方面出于设计者的习惯,你需要注意插件的保存载入方法是怎么样的。

常见误区:在前台修改了一些NPC后,用重载指令一重载,发现后台的文件没变,前台游戏中的修改NPC全部变回去了

尽量不要创建NPC!!!

NPC对于资源消耗相当大,一个超大型RPG服务端里,消耗最大的就是NPC插件,用Yum监测下发现占用性能达到60%,而技能插件占20%,Mythicmobs只是占到8%,属性插件4%,状态插件3%,其他几乎可以忽略不计。

原因是我创建了大量不必要的NPC分散在各个世界,导致这些世界不断加载活跃区块

建议有些功能可以不用或少用NPC,比如传送可以用菜单、脚本方块、命令方块或把多个传送点合并在一个NPC里

一些可能有用的指令,都需要选中后操作,[]为可选项

/npc sel [ID]|选中NPC,它的选中目标是离指令发出者最近而并非看着哪个NPC,你也可以事先在后台查出ID再选中

/npc tph |把NPC传送到你的位置

/npc tp |传送到你选中的NPC

/npc id |显示当前NPCID

/npc copy [id] |复制NPC到当前你的位置

这些都是容易忘记的但是很实用的指令

附属插件——CommandNPC

这个插件很显而易见的功能就是给NPC绑定指令并设置条件,本身NPC插件并没有这个功能,目前来看作者已经好几年了,好在插件一直支持到1.16

用法: /npc sel 选中NPC

/npc cmdadd -o --t right 指令

①提一下某些插件的指令内项目的形式,大部分插件都是固定了位置

如下图/插件名+种类+玩家+数量+时间……一类的

而有一类则是带标识符检测的,相对来说更灵活更准确

比如我要创建一个NPC指令,以OP身份随机执行一项已设置的指令且必须左键NPC,左键后有10tick延迟,使用冷却100tick,消耗金钱20,需要玩家拥有myperm.vip.cc权限,指令内容是打开VIP.yml的CC菜单

/npc cmdadd -o -r --v 20 --t left --d 10 --cd 100 --p myperm.vip cc open VIP

附属插件——Sentinel(Sentry)

可以让你的NPC获得更多功能,如果你想创建城镇卫兵可以用一用

它很棒,但我反对

Mythicmobs同样可以制作卫兵[不攻击玩家或反击玩家,主动攻击怪物]而且灵活性比这个高得多,如果你的技术力不够高,用这个也可以

后面会介绍Mythicmobs一些功能,在我看来这插件对于上手一定时间的人来说完全没有必要

上文提到,尽量要做太多NPC,用这个插件的卫兵无非增加NPC数目从而拖慢服务器运行速度

附属插件——NPCDestinations

MCBBS站内搬运,作用是让NPC获得一些移动、聊天、区块保护机制,身为附属它也有附属Animations addon Farmer addon Rancher

可与JobsReborn(职业) LightAPI(灯光) PlotSquared(地皮) BetonQuest(任务)联动,功能强大

适用于追求更高端NPC控制的人,对于探索|王国类RPG服或许有用

权限插件——易上手的GroupManager(Plus)/PermissionsEX

RPG权限基本操作:

1.权限组默认设置:一定要只有一个默认权限组(default: true)让玩家默认可以进入

2.玩家的权限组继承:玩家可以共有多个权限组,拥有其中包含的权限,包括负权限

3.正负权限:

正权限即为权限,不需要加如何符号,表示用户拥有此权限,OP默认拥有几乎全部插件权限

负权限需要在正权限前加"-"表示用户不拥有此权限,含义和不加权限不同,有些插件的权限是默认分配给所有用户的,如果你要限制的话需要加上负权限,OP加上负权限也视为不拥有此权限

4.自造权限:

这一招属于基本操作,但是仍然知道的人数似乎并不乐观,并不是只有插件设计了这个权限才能算是权限,权限只是可能附带了某些插件的使用权。

同样你可以自造权限,只是和任何插件都无直接关联,你可以用自造权限实现:

简易天赋系统、菜单项目的使用与可视化等各类可支持权限控制的各种功能。

一些属性插件的权限限制某种程度上说也是自造权限,只是监测物品lore并联结了插件。

举例:我给这个A副本菜单设置了拥有custom.1111的权限可见(其他插件功能),然后分给玩家组custom.1111权限,玩家就可以打开这个A菜单了;设置B菜单权限要求:custom.2222,然后我弄一个任务名叫A副本的旷日大战,可以奖励玩家此权限,玩家完成此任务后就可以开启B菜单进入B副本了,以此类推进入C|D|E|F……

选择GM与PEX的理由:

依旧是那个理由——稳中求新,GM和PEX作为相对来说老牌的权限插件,表现一直很稳定,

权限、命令都很简易,上手方便,

其中PEX支持数据库和UUID,此外大体相同

这里是一部分插件的配置,可以参考一下,建议别直接复制

PEX详细教程 GM详细教程

    - essentials.home
    - -essentials.balancetop
    - essentials.suicide
    - essentials.back
    - essentials.balance
    - essentials.tpahere
    - -essentials.balance.others
    - gps.commands.stop
    - gps.commands.start
    - playmoresounds.sound.*
    - 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
    - -residence.expand
    - -residence.create
    - -residence.*
    - -residence.buy
    - -residence.sell
    - -residence.rename
    - -residence.randomtp
    - -residence.delete
    - gj on
    - rpginventory.keep.items
    - rpginventory.keep.armor
    - rpginventory.keep.rpginv
    - rpginventory.user
    - 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

建议入门者采用这两种的其一,但是追求更高级的插件联动、更高版本的支持请往下看