OAO_miao
本帖最后由 OAO_miao 于 2020-7-5 20:09 编辑

大家看到worldguard时也许会立刻联想到worldedit插件,这两个插件都是由sk89q带头开发的。
worldguard在dev.bukkit.org能找到的最早版本发布于2011年,至今也一直在更新,但是国内较少有服务器用这个插件。
国内关于worldguard的中文资料基本都是两三年前的了,MCBBS论坛这边也很久没人搬运新版本,近期也是刚好用到了这个插件,来搬运一下好了
worldguard插件的用途和领地插件类似,但个人认为不如领地插件那样友好,没有多语言支持、设置也有些复杂。
不过保护效果比领地更强,很多功能是领地插件没有的,用途更偏向于管理员工具和地图制作方面。并不适合完全替代领地插件,用来保护服务器出生点、活动场地和各种建筑还是不错的。

基本的保护包括:
请注意:默认情况下,所有保护都是未启用的,请务必在配置文件中启用你需要的保护。
对于建筑及游戏地图的制作方面:


插件安装:

1.安装前置依赖插件:worldedit(https://dev.bukkit.org/projects/worldedit/files
2.安装worldguard 下载地址:https://dev.bukkit.org/projects/worldguard/files(用论坛附件发不上来,自己去下载吧)

(两个插件都放在plugins文件夹中)
3.重启服务器
4.编辑worldguard配置文件,根据需要启用相应保护。
5.去看wiki:https://worldguard.enginehub.org/en/latest/
(用这个插件就要做好去啃wiki的准备,现有的中文资料不多,而且太老了。)

===以下介绍内容大部分搬运自官方wiki 适用于worldguard 6.1版本 需要op权限===
lichi2050同学也搬运翻译了官方wiki的内容,比我这个帖子更详细 传送门:http://www.mcbbs.net/thread-505810-1-1.html

基本使用:
如何创建一个worldguard的保护区域?
1.首先 用worldedit选择区域范围(最简单就是木斧选择两个点啦),只支持cuboid和poly两种模式。具体见worldedit教程。



(图里的效果是客户端使用了wecui MOD)
2.输入命令/region define <区域名>

  1. /region define spawn
复制代码
即可创建一个名为spawn的区域(/region命令可以简写为/rg),区域的玩家权限和flag设置请看后面介绍。
也可以在后面加上所有者,比如
  1. /region define spawn sk89q 这样创建spawn后所有者就是sk89q了。
  2. /region define spawn Notch sk89q g:builders 这样将有多个所有者
复制代码
g:builders表示权限组的builders组。
worldguard支持创建重叠的区域,比如spawn里创建个shop区域,都是可以的,但是要注意区域的优先级和权限设置冲突。

插件权限:
默认情况下只有op可以使用,普通玩家没有权限使用worldguard插件。
如果想给玩家自己使用插件的权限 请看http://docs.enginehub.org/manual/worldguard/latest/permissions/
常用命令:
/rg define <区域名> 创建一个区域
/rg remove <区域名> 删除一个区域
/rg list 列出全部区域列表
/rg info <区域名> 查看区域权限信息,也可以拿<皮革>对方块右键查询区域信息。
/rg addowner <区域名> <玩家名或权限组> 添加所有者
/rg flag <区域名> <flag> <deny/allow> 设置区域的权限,具体见后面说明,
/rg removeowner <区域名> <玩家名或权限组> 删除所有者
/rg addmember <区域名> <玩家名或权限组> 添加用户
/rg removemember <区域名> <玩家名或权限组> 删除用户
命令后面还可以加上 -w <世界名> 来直接指定世界
比如/rg flag <区域名> <flag> <deny/allow> -w world_nether 就可以直接操作下界的区域设置,而不必先传送到下界。
其他命令:
/god <玩家> 无敌
/ungod <玩家> 取消无敌模式
/heal <玩家> 治疗玩家
/locate <玩家>可以用指南针定位玩家(看上去很好玩∑( ̄□ ̄)还没试过)
玩家名可以用*表示全部玩家,#<世界名>表示某个世界,#near表示附近玩家
下面几个命令不要随意使用:
/stopfire 停止火焰蔓延
/allowfire 允许火焰蔓延
/stoplag 停止服务器的物理活动和方块更新,并会删除实体(生物)。请不要在生存世界随意使用此命令
→_→停止后可以做出一些bug效果的东西,比如长在莹石上的甘蔗,用we放置出2x2的仙人掌。。。
/stoplag -c 取消
/stoplag -i 查看当前状态

/worldguard debug <testinteract|testplace|testdamage|testbreak> 以特定玩家的身份去进行放置/破坏方块等模拟操作,可以显示相应操作是被哪个插件所拦截。
测试时要求相应玩家在线,op准星对准测试目标使用此命令。(注意:NCP插件会判定此操作为作弊而直接拦截,使用前请先将相应玩家排除检测。)


/worldguard reload 重新加载配置文件
/worldguard version 显示worldguard插件版本

worldguard区域采用的玩家权限设置是分为不同<组>,无法给单个玩家设置某项权限。
组包括:

all - 任何人(默认)
members - 用户
owners - 所有者
nonmembers - 非用户
nonowners - 非所有者
对应有4个命令addowner/removeowner/addmember/removemember
例如:
  1. /rg addowner spawn Notch
复制代码

也可以使用g:<权限组>
  1. /rg addowner spawn g:builder
复制代码

其中,<用户>只是有区域的“使用权”,没有更改设置的权限。
默认只有op有权限更改worldguard区域设置,如果在权限组中进行了适当的配置,<所有者>将可以自己更改区域flag和添加/删除用户。
另外,每个世界还有一个全局区域__global__,可以给全局区域设置一些flag。
比如/rg flag __global__ pvp deny -w world 主世界全局禁止pvp,然后可以专门创建个区域开启pvp,作为pvp场使用。

不完整flag列表:
完整flag列表在游戏内自己看吧,官方wiki的flag列表也不完整
命令:
  1. /rg flag <区域名> <flag> <allow/deny>
  2. /rg flag <区域名> -g <组名> <flag> <allow/deny>
复制代码
如:
  1. /rg flag spawn use allow
  2. /rg flag spawn -g member build allow
复制代码

build 这个build并不只是放置/破坏方块,还包括下面的interact、use、chest-access等权限。
interact 少了放置和破坏方块的权限,不能杀动物,但仍然可以骑马,其他和上面基本一样。
block-break 破坏方块
block-place 放置方块
use 只可以<使用>各种方块了,比如工作台、末影箱、附魔台,按钮、门等,不能打开箱子和发射器这类“容器”。
chest-access 箱子权限,也包括发射器、漏斗、熔炉等具有物品储存功能的方块。
pvp 这还用解释嘛...
sleep 是否可以使用区域内的床睡觉。
vehicle-place 放置船/矿车
vehicle-destroy 是否可以破坏船或矿车(也就是打成掉落物)
lighter 点火
下面开始是针对怪物和自然事件的,不是玩家权限。
creeper-explosion 爬行者爆炸
enderdragon-block-damage 末影龙的破坏
tnt
ghast-fireball 恶魂火球
other-explosion 爆炸
fire-spread 火蔓延
enderman-grief 末影人搬方块
mob-spawning 禁止生成怪物,包括刷怪笼和刷怪蛋。
deny-spawn 禁止某些生物的生成,例如/rg flag spawn deny-spawn creeper,cow 禁止爬行者和牛的生成。
entity-painting-destroy 非玩家途径对画的破坏
entity-item-frame-destroy 非玩家途径对展示框的破坏
(这里的<非玩家>指的是像骷髅射箭、闪电等对展示框/画的破坏)
lava-fire 岩浆是否能产生火
lightning 闪电(包括/lightning命令产生的闪电)
water-flow 水流动
lava-flow 岩浆流动
**注意:默认不启用液体流动限制,需要在配置文件中启用high-frequency-flags后才有效**
snow-fall 雪是否能落在方块上
snow-melt 雪是否能融化
ice-form 结冰
ice-melt 冰块融化
mushroom-growth 蘑菇蔓延
leaf-decay 树叶凋落
grass-growth 草方块蔓延
mycelium-spread 菌丝蔓延
vine-growth 藤蔓蔓延
soil-dry 是否允许缺水的耕地方块变回泥土
fall-damage 摔落伤害
time-lock 展示给玩家的时间,时间有效范围是0-24000,可使用-和+表示相对时间。
weather-lock 展示给玩家的天气,可设置为clear或downfall
worldguard 6.1.2新增:
chorus-fruit-teleport 紫颂果传送


就先写到这吧(^0^)/~还有好多内容没写,自己去看wiki吧喵w
我这个帖子内容很有限,看完也很难达到正常使用的程度,如果不打算看wiki,建议还是不要用worldguard了,不然肯定被坑。
因为截图基本都是‘你不能在这里进行某某操作’这类提示。。。所以只发了一张图∑( ̄□ ̄),其他截图没发。


2021.12 数据,可能有更多内容大家看到worldguard时也许会立刻联想到worldedit插件,这两个插件都是由sk89q带头开发的。
worldguard在dev.bukkit.org能找到的最早版本发布于2011年,至今也一直在更新,但是国内较少有服务器用这个插件。
国内关于worldguard的中文资料基本都是两三年前的了,MCBBS论坛这边也很久没人搬运新版本,近期也是刚好用到了这个插件,来搬运一下好了
worldguard插件的用途和领地插件类似,但个人认为不如领地插件那样友好,没有多语言支持、设置也有些复杂。
不过保护效果比领地更强,很多功能是领地插件没有的,用途更偏向于管理员工具和地图制作方面。并不适合完全替代领地插件,用来保护服务器出生点、活动场地和各种建筑还是不错的。


基本的保护包括:
  • 保护各种方块不被破坏或放置(包括火方块)。
  • 限制液体流动(***需先在配置文件中启用***)
  • 保护各种容器类方块不被打开,如箱子、熔炉、发射器等。
  • 保护工作台、附魔台、末影箱、铁砧、门、拉杆、按钮、压力板...等等的使用。
  • TNT、爬行者、末影人、等产生的破坏及玩家伤害。
  • 防止从区域外向里面投放沙子、砂砾进行掩埋破坏(会直接变成掉落物)。
  • PVP保护(包括使用鱼杆打人、投掷鸡蛋、雪球、负面药水)
  • 活塞推方块。
  • 保护矿车和船。
  • 保护画和展示框、盔甲架。
  • 保护动物 包括杀死动物、喂食、用拴绳拉动物、骑乘、剪羊毛...。
  • 外部树木向区域内的生长
请注意:默认情况下,所有保护都是未启用的,请务必在配置文件中启用你需要的保护。
对于建筑及游戏地图的制作方面:

  • 防止冰、雪融化。
  • 防止水结冰。
  • 防止雪落在方块上。
  • 阻止玩家丢/捡物品。
  • 阻止草方块蔓延。
  • 阻止菌丝方块蔓延。
  • 阻止藤蔓、蘑菇的蔓延。
  • 阻止玩家在区域内使用某些命令。
  • 阻止玩家进入/离开区域(可阻止“空降”方式进入)
  • 限制插件的tp/warp等传送方式进入/离开区域。
  • 阻止使用末影珍珠瞬移。
  • 可设置区域内的&lt;重生点&gt;(在区域内死亡后会在这个重生点复活)。
  • 定义回复饥饿/血量和间隔。
  • 阻止摔落伤害
  • 区域内的gamemode
  • 区域内无敌
  • 等等...

插件安装:


1.安装前置依赖插件:worldedit(https://dev.bukkit.org/projects/worldedit/files
2.安装worldguard 下载地址:https://dev.bukkit.org/projects/worldguard/files(用论坛附件发不上来,自己去下载吧)


(两个插件都放在plugins文件夹中)
3.重启服务器
4.编辑worldguard配置文件,根据需要启用相应保护。
5.去看wiki:https://worldguard.enginehub.org/en/latest/
(用这个插件就要做好去啃wiki的准备,现有的中文资料不多,而且太老了。)


===以下介绍内容大部分搬运自官方wiki 适用于worldguard 6.1版本 需要op权限===
lichi2050同学也搬运翻译了官方wiki的内容,比我这个帖子更详细 传送门:http://www.mcbbs.net/thread-505810-1-1.html


基本使用:
如何创建一个worldguard的保护区域?
1.首先 用worldedit选择区域范围(最简单就是木斧选择两个点啦),只支持cuboid和poly两种模式。具体见worldedit教程。





(图里的效果是客户端使用了wecui MOD)
2.输入命令/region define &lt;区域名&gt;

代码:

  1. /region define spawn
即可创建一个名为spawn的区域(/region命令可以简写为/rg),区域的玩家权限和flag设置请看后面介绍。
也可以在后面加上所有者,比如

代码:

  1. /region define spawn sk89q 这样创建spawn后所有者就是sk89q了。
  2. /region define spawn Notch sk89q g:builders 这样将有多个所有者
g:builders表示权限组的builders组。
worldguard支持创建重叠的区域,比如spawn里创建个shop区域,都是可以的,但是要注意区域的优先级和权限设置冲突。


插件权限:
默认情况下只有op可以使用,普通玩家没有权限使用worldguard插件。
如果想给玩家自己使用插件的权限 请看http://docs.enginehub.org/manual/worldguard/latest/permissions/
常用命令:
/rg define &lt;区域名&gt; 创建一个区域
/rg remove &lt;区域名&gt; 删除一个区域
/rg list 列出全部区域列表
/rg info &lt;区域名&gt; 查看区域权限信息,也可以拿&lt;皮革&gt;对方块右键查询区域信息。
/rg addowner &lt;区域名&gt; &lt;玩家名或权限组&gt; 添加所有者
/rg flag &lt;区域名&gt; &lt;flag&gt; &lt;deny/allow&gt; 设置区域的权限,具体见后面说明,
/rg removeowner &lt;区域名&gt; &lt;玩家名或权限组&gt; 删除所有者
/rg addmember &lt;区域名&gt; &lt;玩家名或权限组&gt; 添加用户
/rg removemember &lt;区域名&gt; &lt;玩家名或权限组&gt; 删除用户
命令后面还可以加上 -w &lt;世界名&gt; 来直接指定世界
比如/rg flag &lt;区域名&gt; &lt;flag&gt; &lt;deny/allow&gt; -w world_nether 就可以直接操作下界的区域设置,而不必先传送到下界。
其他命令:
/god &lt;玩家&gt; 无敌
/ungod &lt;玩家&gt; 取消无敌模式
/heal &lt;玩家&gt; 治疗玩家
/locate &lt;玩家&gt;可以用指南针定位玩家(看上去很好玩∑( ̄□ ̄)还没试过)
玩家名可以用*表示全部玩家,#&lt;世界名&gt;表示某个世界,#near表示附近玩家
下面几个命令不要随意使用:
/stopfire 停止火焰蔓延
/allowfire 允许火焰蔓延
/stoplag 停止服务器的物理活动和方块更新,并会删除实体(生物)。请不要在生存世界随意使用此命令
→_→停止后可以做出一些bug效果的东西,比如长在莹石上的甘蔗,用we放置出2x2的仙人掌。。。
/stoplag -c 取消
/stoplag -i 查看当前状态


/worldguard debug &lt;testinteract|testplace|testdamage|testbreak&gt; 以特定玩家的身份去进行放置/破坏方块等模拟操作,可以显示相应操作是被哪个插件所拦截。
测试时要求相应玩家在线,op准星对准测试目标使用此命令。(注意:NCP插件会判定此操作为作弊而直接拦截,使用前请先将相应玩家排除检测。)



/worldguard reload 重新加载配置文件
/worldguard version 显示worldguard插件版本


worldguard区域采用的玩家权限设置是分为不同&lt;组&gt;,无法给单个玩家设置某项权限。
组包括:

all - 任何人(默认)
members - 用户
owners - 所有者
nonmembers - 非用户
nonowners - 非所有者
对应有4个命令addowner/removeowner/addmember/removemember
例如:

代码:

  1. /rg addowner spawn Notch

也可以使用g:&lt;权限组&gt;

代码:

  1. /rg addowner spawn g:builder

其中,&lt;用户&gt;只是有区域的“使用权”,没有更改设置的权限。
默认只有op有权限更改worldguard区域设置,如果在权限组中进行了适当的配置,&lt;所有者&gt;将可以自己更改区域flag和添加/删除用户。
另外,每个世界还有一个全局区域__global__,可以给全局区域设置一些flag。
比如/rg flag __global__ pvp deny -w world 主世界全局禁止pvp,然后可以专门创建个区域开启pvp,作为pvp场使用。


不完整flag列表:
完整flag列表在游戏内自己看吧,官方wiki的flag列表也不完整
命令:

代码:

  1. /rg flag <区域名> <flag> <allow/deny>
  2. /rg flag <区域名> -g <组名> <flag> <allow/deny>
如:

代码:

  1. /rg flag spawn use allow
  2. /rg flag spawn -g member build allow

build 这个build并不只是放置/破坏方块,还包括下面的interact、use、chest-access等权限。
interact 少了放置和破坏方块的权限,不能杀动物,但仍然可以骑马,其他和上面基本一样。
block-break 破坏方块
block-place 放置方块
use 只可以&lt;使用&gt;各种方块了,比如工作台、末影箱、附魔台,按钮、门等,不能打开箱子和发射器这类“容器”。
chest-access 箱子权限,也包括发射器、漏斗、熔炉等具有物品储存功能的方块。
pvp 这还用解释嘛...
sleep 是否可以使用区域内的床睡觉。
vehicle-place 放置船/矿车
vehicle-destroy 是否可以破坏船或矿车(也就是打成掉落物)
lighter 点火
下面开始是针对怪物和自然事件的,不是玩家权限。
creeper-explosion 爬行者爆炸
enderdragon-block-damage 末影龙的破坏
tnt
ghast-fireball 恶魂火球
other-explosion 爆炸
fire-spread 火蔓延
enderman-grief 末影人搬方块
mob-spawning 禁止生成怪物,包括刷怪笼和刷怪蛋。
deny-spawn 禁止某些生物的生成,例如/rg flag spawn deny-spawn creeper,cow 禁止爬行者和牛的生成。
entity-painting-destroy 非玩家途径对画的破坏
entity-item-frame-destroy 非玩家途径对展示框的破坏
(这里的&lt;非玩家&gt;指的是像骷髅射箭、闪电等对展示框/画的破坏)
lava-fire 岩浆是否能产生火
lightning 闪电(包括/lightning命令产生的闪电)
water-flow 水流动
lava-flow 岩浆流动
**注意:默认不启用液体流动限制,需要在配置文件中启用high-frequency-flags后才有效**
snow-fall 雪是否能落在方块上
snow-melt 雪是否能融化
ice-form 结冰
ice-melt 冰块融化
mushroom-growth 蘑菇蔓延
leaf-decay 树叶凋落
grass-growth 草方块蔓延
mycelium-spread 菌丝蔓延
vine-growth 藤蔓蔓延
soil-dry 是否允许缺水的耕地方块变回泥土
fall-damage 摔落伤害
time-lock 展示给玩家的时间,时间有效范围是0-24000,可使用-和+表示相对时间。
weather-lock 展示给玩家的天气,可设置为clear或downfall
worldguard 6.1.2新增:
chorus-fruit-teleport 紫颂果传送


就先写到这吧(^0^)/~还有好多内容没写,自己去看wiki吧喵w

我这个帖子内容很有限,看完也很难达到正常使用的程度,如果不打算看wiki,建议还是不要用worldguard了,不然肯定被坑。
因为截图基本都是‘你不能在这里进行某某操作’这类提示。。。所以只发了一张图∑( ̄□ ̄),其他截图没发。



御殇城c
好多东西吗,看着好难受啊

PS_PC
真的是吊炸天了

mcbbs2050
就是因为这个插件没法汉化
所以用的人少

tongxin13598
略屌  反正看不懂

liach
总觉得没有forgeessentials牛
worldguard真正的原帖应该是https://github.com/sk89q/worldguard

1546244979
吊炸天啊

ggmmapple
收藏 看看还有其他类似的插件没有。

117779284
汉化需要重新编译。
      大神们懒而已啦。

栗籽i
好东西,收下了

qq1297681998
挺不错的插件

wxx463236
安空岛要前置插件是这个

395210650djydjy
MCBBS有你更精彩!

a008b96
如何要保护的话,这个有点不方便。有些领地插件可以设置某个世界不让普通玩家圈地权限,这样就解决了资源世界传送点被破坏掉了。不过感觉这个插件,可以在非PVP世界划个区出来,单独开启pvp,只要玩家进去了就可以打架

fire__rain
不错不错^ω^

MikuVick
有1.6.4的吗。。{:10_522:}

a008b96
liach 发表于 2015-6-30 15:01
总觉得没有forgeessentials牛
worldguard真正的原帖应该是https://github.com/sk89q/worldguard
...

worldguard定制性很强,但易用性相对来说比较差

enter&delete
这个跟 residence 有什么区别么

用笔写寂寞
如何设置禁止warp tp传送

1263208928
不错的哦

849025143
mod物品无法使用该怎么破?神奇宝贝的。

649533269
多谢楼楼分享!{:10_492:}

血染乀
为空岛前置而来,但是仔细看了下还是不错的。

665766
好东西,我自己开枪械服,正需要呢

hear_brave
这给我主城用上就非常保护新手了!
谢谢楼主转载!

thedayof7
很棒!支持!

aaaa1250255287
这个插件有没有res领地插件的BUG

lvhengxin
不错不错,正好需要这个

Xrf.
我的天 我竟然去不了外网

姐啊岁发奋
不错的东西顶一个吧

xiaodobi2333
....打不开下载链接
无语 了

筱帥
请问如何让玩家不能出去这个保护范围么

tyb123789
flanmod能防?

BearJW
能否防止蠹虫钻进石头生成石头怪物蛋?

逍遥的小羊
我服正缺这个 谢谢楼主了

mcliv
我想在RPG世界禁止sethome 和 tpaccept 但是我输入了rg flag __global__ blocked-cmds sethome和rg flag __global__ blocked-cmds tpaccept 然后就禁了tpaccept,没禁sethome

OAO_miao
mcliv 发表于 2016-2-4 23:48
我想在RPG世界禁止sethome 和 tpaccept 但是我输入了rg flag __global__ blocked-cmds sethome和rg flag __ ...

不是分两次设置的,格式和deny-spawn的写法一样,命令间用半角逗号分隔。
必须提醒你一点 essentials的命令别名很多,你只禁止这两个命令是不够的,玩家可以用其他别名绕过对这两个命令的限制。
建议用权限组取消相应权限来实现。

mcliv
我的是生存和RPG 差不多懂了

15166549878
怎么圈一个世界???这样省事 求教

as1378905063
虽说不太懂,但还是觉得应该非常牛逼

qw1002429247
这个厉害赞一个~

王雨晴
支持1.7.10么?

黄月
我看的了,,那个设置PVP场地的指令,是不是进到那场地就会强制开启PVP功能

117779284
竟然还不汉化·

海贼王#
有1.7.10吗

qt819762430
/rg tp -s(什么意思) name    怎么搞

qt819762430
我记得能设置彩色欢迎语的
希望你能找到

Mccraft-pepsi
末影珍珠怎么禁?

那珂酱哒哟
然而普通玩家可以在OP画的保护区域内圈地...

王广强
然而 这个只能圈一部分 其他的地方还要麻烦

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