john180
引言
Essentials插件作为一个服务器必备的基础插件,现在基本所有服务器都在使用。其功能十分强大而且覆盖面十分广。但是大多数服主对这款插件的了解大多是比较粗浅的。这篇教程为大家总结了许多非常实用的,但是大多数人并不了解的Essentials功能。
在此之前已经有一个比较基础的Essentials教程了。
http://www.mcbbs.net/thread-9416-1-1.html
+倒霉の忍者+

虽然作者已经弃坑不再更新,不过相关的Essential基本说明还是通用的,所以推荐大家先去看看。同时上述教程帖子中提到的部分本帖也将不再赘述,提到相关问题将会简略带过。由于config文件已经有全部汉化版而且已经有全部中文注释,所以在本篇教程中也不会对配置文件再进行解释。

注:
本教程可以说是对于Essentials wiki的翻译,其中夹杂了我的个人理解,如果我的教程有任何错误欢迎指出。
同时附上Essentials wiki地址
http://wiki.mc-ess.net/wiki/Main_Page



索引


0.基础教学

1.备份相关设置

2.help指令相关设置

3.kits工具包相关设置

4.建筑控制相关设置

5.list玩家列表相关设置

6.chat聊天格式相关设置

7.木牌相关设置




最后更新:2014.7.3



john180
本帖最后由 john180 于 2014-6-29 18:15 编辑

1.备份相关设置

在保存服务器地图方面,我们一般会使用AutoSaveWorld这个插件,但是其实Essentials本身就有地图备份相关的功能,此功能已经能满足大部分服主的要求,而不需要去安装新的插件。

为了使用Essentials的备份功能我们首先得在config文件中开启相关功能


  1. <font size="3"><font color="#a0522d">backup:
  2.   # 时间间隔,以分钟为单位.
  3.   interval: 30
  4.   # 除非你在这加入一个有效的备份命令或脚本,否则这个功能是无用的.
  5.   # 使用命令 'save-all' 简单的强制保存世界,而不使用备份.
  6.   # 命令: 'rdiff-backup World1 backups/World1'</font></font>
复制代码
这里我是用的是汉化过的config.yml中默认状态的配置
为了能使用Essentials的地图备份功能你需要新建一个bat文件,不过如果你不想这么麻烦,而是只要简单地保存地图,你可以这么设置。
  1. backup:
  2.   interval: 60
  3.   command: 'save-all'
复制代码
这样每过一小时服务器就会自动save all


如果你想更进一步的对地图进行备份,你首先得在服务端根目录 (注意不是Essentials目录或者plugin目录) 新建一个bat文件。
然后黏贴如以下内容
  1. @echo off
  2. "C:\Program Files\7-Zip\7z.exe" a "backups/%date:~0,4%-%date:~5,2%-%date:~8,2%-%time:~0,2%-%time:~3,2%-%time:~6,2%".7z -r world world_nether
  3. pause
复制代码

注意:我在测试中使用的是7zip压缩工具,前面为文件路径请根据各自情况修改(如果使用其他压缩工具不保证能否压缩成功)
-r 后面的内容为要备份的世界,如果你要添加更多的世界,输入世界的名字 当中以空格间隔。
启动后的效果就是在服务器根目录新建backup文件夹,压缩文件的文件名为当前服务器日期。

例:


年-月-日-小时-分钟-秒



john180
本帖最后由 john180 于 2014-6-29 18:15 编辑

2.help指令相关设置

/help对于玩家来说是个比较有用的指令,当你忘记某个指令时可以输入这个来查询,但是现在help指令渐渐成为了一个比较鸡肋的指令,因为过多的插件导致help列出的指令过多,因而当你要想查找某个指令时你得花费大量的时间一页一页的找。如今Essentials插件的help设置能让你的help列表彻底脱胎换骨。

Essentials插件提供了3种设置方式以提供不同的/help显示效果。Essentials会尽可能的遍历所有服务器插件然后获取其中所有的指令,但是如果插件未按标准编写,即在plugin.yml中没有注册过的指令是不会出现在help列表中的。

1.

  1. non-ess-in-help: true
  2. hide-permissionless-help: true
复制代码
这种模式下help会显示所有玩家有权限使用的指令。你同样也可以通过给予玩家
  1. essentials.help.<插件名>
复制代码
此权限来时玩家可以在help菜单中查看该插件所有指令。


2.

  1. non-ess-in-help: true
  2. hide-permissionless-help: false
复制代码
在此模式下所有的指令都将在help中显示,无论玩家是否有权限执行这些指令。


3.

  1. non-ess-in-help: false
复制代码
在此模式下玩家只能看到一些基础的并且玩家有权限使用的指令。


高级定制

如果这样的设置你还不满足,你想更进一步的定制/help指令,Essentials提供了一个更加强大的功能。

你可以通过在Essentials插件目录中添加一个help.txt来自定义/help指令显示的内容。help.txt中的内容将会完全取代默认的help指令列表。

例子

  1. #欢迎
  2. 欢迎你{PLAYER}
  3. 来自: {ADDRESS}
  4. 服务器IP:{IP}
  5. 你现在的存款:{BALANCE}
复制代码
欢迎 代表章节名称(每个章节名称前面必须加#)玩家输入/help 欢迎
则会显示


(help.txt必须以UTF-8无BOM编码保存)
你可以定义多个章节来做到不同的章节显示不同的插件指令
而且完美支持所有颜色代码
这样玩家就不用面对那杂乱无章的指令列表了
在编辑help.txt时可以添加如下变量
  1. 玩家展示名称: {PLAYER}

  2. 用户名: {USERNAME}

  3. 服务器IP: {IP}

  4. 玩家IP: {ADDRESS}

  5. 金钱: {BALANCE}

  6. 未读email: {MAILS}

  7. 当前世界名: {WORLD}

  8. 世界列表: {WORLDS}

  9. 在线玩家数: {ONLINE}

  10. 特殊玩家: {UNIQUE}

  11. 玩家列表: {PLAYERLIST}

  12. 服务器时间: {TIME}

  13. 服务器日期: {DATE}

  14. 游戏中PM/AM: {WORLDTIME12}

  15. 游戏中时间: {WORLDTIME24}

  16. 游戏中日期: {WORLDDATE}

  17. 插件列表: {PLUGINS}

  18. bukkit版本: {VERSION}
复制代码





john180
本帖最后由 john180 于 2014-7-3 11:57 编辑

3.kits工具包相关设置

kit工具包是Essentials的一个重要功能,你可以用它来发放新手礼包,发放奖励甚至用它来做个系统商店都是可以的。

熟练的使用kit相关功能可以使你避免在服务器中再安装不必要的插件。


首先先是kit每个工具包的格式


  1. kits:
  2.   <kit name>:
  3.     delay: <delay between usage>
  4.     items:
  5.       - <item number> <amount> <meta>
  6.       - <item number> <amount> <meta>
复制代码
另附上中文config文件内容
  1. kits:
  2.   tools:
  3.     delay: 10
  4.     items:
  5.       - 272 1
  6.       - 273 1
  7.       - 274 1
  8.       - 275 1
  9.   dtools:
  10.     delay: 600
  11.     items:
  12.       - 278 1 efficiency:1 durability:1 fortune:1 name:&4Giga_Drill_Breaker lore:这钻头是突破天际的钻头
  13.       - 277 1 digspeed:3 name:矮人 lore:挖掘|挖掘|挖洞
  14.       - 298 1 color:255,255,255 name:白色的帽子 lore:美好的一天,美好的一天
  15.       - 279:780 1
  16.   notch:
  17.     delay: 6000
  18.     items:
  19.       - 397:3 1 player:Notch
  20.   color:
  21.     delay: 6000
  22.     items:
  23.       - 387 1 title:&4书_&9与_&6颜色 author:Essentials lore:游戏内的颜色代码 book:颜色
  24.   firework:
  25.     delay: 6000
  26.     items:
  27.       - 401 1 name:愤怒的苦力帕 color:red fade:green type:creeper power:1
  28.       - 401 1 name:星空 color:yellow,orange fade:blue type:star effect:trail,twinkle power:1
  29.       - 401 2 name:太阳风 color:yellow,orange fade:red shape:large effect:twinkle color:yellow,orange fade:red shape:ball effect:trail color:red,purple fade:pink shape:star effect:trail power:1
复制代码
1. delay代表的是领取此工具包的延迟 如果你设置为3600那么这个工具包只能每小时领一次如果你设置为 -1 那么这个工具包只能领取一次。
2.你可以可以在config中对每个工具包定义他的使用价格如
  1. kit-tools: 100
复制代码
那么使用tools这个工具包将花费玩家100$

3.由以上两个示例我们可以看到kit工具包指令支持几乎mc中所有的道具。不过你也许不知道kit工具包中的道具也是支持变量的如
  1.       - 278 1 efficiency:1 durability:1 fortune:1 name:&4Giga_Drill_Breaker lore:{PLAYER}的超级钻石镐
复制代码
效果就是


其余变量可参考 help相关指令设置 中的变量

4.kit工具包同样也支持在工具包中包含金钱
设置格式如下
  1. - $500
复制代码
注意 $符号 不要更改。


另附  essentials自带的nbt代码

4.关于kit工具包中书本的相关设置
你可以在Essentials插件根目录新建一个book.txt
内容可按如下示例
  1. #Colors
  2. Minecraft colors:
  3. &0 &&0  &1 &&1  &2 &&2  &3 &&3
  4. &4 &&4  &5 &&5  &6 &&6  &7 &&7
  5. &8 &&8  &9 &&9  &a &&a  &b &&b
  6. &c &&c  &d &&d  &e &&e  &f &&f
  7. &0
  8. &&k &kMagic&r   &&l &lBold
  9. &&m &mStrike&r  &&n &nUline
  10. &&o &oItalic&r   &&r &rReset
复制代码
#Colors 代表了书本的章节名字
我们可以看到在kit包中要调用一本书的格式如下

  1. - 387 1 title:&4书_&9与_&6颜色 author:Essentials lore:游戏内的颜色代码 book:颜色
复制代码

下面给出每个项的介绍

  1. Title
  2. 书本的标题,支持颜色代码,与book.txt中的章节名无关
  3. 格式
  4. title:<title>

  5. Author
  6. 书本作者,支持颜色代码
  7. 格式
  8. author:<author>

  9. Lore
  10. 书本的描述。
  11. 格式
  12. lore:<description>

  13. Book
  14. 这里填写的书本的章节名,对应book.txt中#后面的章节名字。
  15. 格式
  16. book:<section name>
复制代码



5.kit工具包的权限设定也非常的方便你可以给予玩家以下权限,来单独限制玩家可使用的工具包
  1. essentials.kits.<kitname>
复制代码

Essentials的木牌控制相关

领取工具包需要一个个输入指令,这样子未免有些太麻烦了,不过不要紧Essentials提供了完整的木牌系统来简化你的操作。

为了启用木牌领取工具包你首先得在config文件中找到

  1. enabledSigns:
复制代码
并将 - kit 前面的#去除,然后重启插件。

牌子输入格式如下



<kitName>代表了工具包名称,如tools

[group]代表了可使用这个牌子的用户组,如果不设置那么根据玩家是否拥有essentials.kits.<kitname> 权限来判断玩家是否可以使用牌子获取工具包.或者你可以在这一项输入 Everyone 代表所有玩家都可以使用。

[cost]代表了使用的花费如果不设置默认为免费


    以上为示例
(花费前面必须加$)






john180
本帖最后由 john180 于 2014-6-29 20:08 编辑

4.建筑控制相关设置

权限系统基本是每个服主的必修课,Essentials的建筑控制正是基于权限系统对玩家一切使用方块的行为进行限制,从而可以使服主完全限制玩家的行为,包括放置,破坏,扔掉,拾取,使用指定方块,并且可以限制玩家与指定方块交互,如限制玩家使用按钮,开关等。

首先是最基本的建筑权限

  1. essentials.build
复制代码
给予玩家此权限代表了玩家可以使用并放置所有方块。


如果当一个玩家没有 Essentials.build权限或者 build: false那么Essentials接着会检查如下权限

  1. essentials.build.place.<id>
  2. essentials.build.place.<id>:<data>
  3. essentials.build.break.<id>
  4. essentials.build.break.<id>:<data>
  5. essentials.build.interact.<id>
  6. essentials.build.interact.<id>:<data>
  7. essentials.build.craft.<id>
  8. essentials.build.craft.<id>:<data>
  9. essentials.build.pickup.<id>
  10. essentials.build.pickup.<id>:<data>
  11. essentials.build.drop.<id>
  12. essentials.build.drop.<id>:<data>
复制代码
以上都是最基础的英文单词,相信大家都看的懂我就不一个个翻译了。

唯一需要解释的是 interact 权限 这代表了玩家与方块交互 例如使用按钮等。

但是放置方块,或者破坏方块也属于交互的一种,所以如果你想让一个玩家能放置或者破坏一个方块你需要同时给予那个玩家与此方块交互和放置两个权限。


通过给予玩家以上权限你就可以做到例如单独让玩家可以破坏某个方块,或者玩家只可以按按钮不能破坏方块之类的功能。

那如果你想单独让玩家不能破坏某个方块该如何设置呢

这里首先得说明一下groupmanager的权限设置格式

大家都知道如果我输入


  1. /mangaddp builder essentials.build.place.1
复制代码
就是给予builder用户组放置石头的权限

而如果我输入

  1. /mangaddp builder -essentials.build.place.1
复制代码
这两个指令之间只相差了一个 - 但是效果完全相反,添加了此权限玩家将不能放置石头。 - 代表了移除玩家的此权限。

当一个玩家同时拥有

  1. essentials.build.place.1
  2. -essentials.build.place.1
复制代码
这两个权限时玩家将无法放置石头

因为在groupmanager判断权限时优先判断 -权限 这意味着就算你拥有建筑权限 你被加入了-essentials.build.place.1 那么你也是无法放置石头的。

以此为基础我们可以单独设置玩家不可以放置,使用的方块。
如果你想一次设定多个方块 你可以用 * 来代替 如羊毛方块的ID是35 一直到35:15

你可以给予玩家 Essentials.build.place.35:* 来给予玩家所有羊毛方块的放置权限



第一页 上一页 下一页 最后一页