简介
JDynmapGriefPrevention 是一款基于原版 Dynmap-Griefprevention 插件修改而来的增强工具,专为我的服务器设计并加入了独特功能。该插件可在 Dynmap 地图上以不同样式/颜色(管理员、用户、已使用、未使用)显示 GriefPrevention 领地信息,并根据玩家离线时长动态更新,同时在领地弹窗中显示相关信息。所有功能均可通过配置文件调整,并支持重载。下面来看看它的特色功能吧!
(原版插件:http://dev.bukkit.org/bukkit-plugins/dynmap-griefprevention/)
这款插件是我服务器地图三年多来从未重置的重要原因之一——我总是能及时清理不再需要的领地。这对于模组服务器尤其关键,例如那些因玩家在附近活动而持续加载、运行的机器可能会严重拖累服务器 TPS。
重要说明
版本兼容性
- v2.5+ 不再强制依赖 Dynmap 插件。部分功能(如将领地信息导出为 CSV 文件、通过指令传送至领地、查看领地统计)可在无 Dynmap 环境下执行。
- v2.4+ 重新同时支持 UUID 和名称(Name)两种模式的服务器。配置文件开头提供了版本相关信息。
- v2.0+ 为提升性能和可维护性,已完全重写,并停止同时支持新旧版本服务器。
- 对于 **UUID 模式** 服务器(CraftBukkit/Minecraft ≥ 1.7.5,GriefPrevention ≥ 8.1),请使用 v2.0+。- 对于 **名称模式** 服务器(CraftBukkit/Minecraft < 1.7.5,GriefPrevention < 8.1),请使用 v1.0。测试环境
v2.5.1 已在以下环境中成功测试(理论上兼容更多版本):
- GriefPrevention v10.5.7 / Dynmap v2.3-SNAPSHOT-1131 / git-Spigot-7d15d07-c194444 (MC: 1.9)
- GriefPrevention v10.5.7 / Dynmap v2.1-SNAPSHOT-1091 / git-Spigot-8a983f9-e81edfc (MC: 1.8)
- GriefPrevention v9.1 / Dynmap 2.0.0-61 / git-Cauldron-MCPC-Plus-1.7.10-1.1240.06.213 (MC: 1.7.10)
- GriefPrevention 7.6.2 / Dynmap 1.6 / MC 1.4.7 (Tekkit Lite)
前置需求与依赖
必需插件
- GriefPrevention
可选/条件依赖
- Dynmap
- v2.5+ 已不再强制需要,但若未安装则无法在地图上显示领地(这是插件的核心功能)。无 Dynmap 时仍可使用部分有限功能(如导出领地信息至 CSV 文件)。- 如果使用 Forge 版的 Dynmap,可能需要放置适用于你 Dynmap 版本的 `Dynmap CB Bridge` 插件到插件文件夹。- 下载地址:http://minecraft.curseforge.com/mc-mods/60743-dynmapcbbridge/files- Essentials
- 仅 v0.75 版本需要。v0.85+ 已不再需要。核心功能
- 在 Dynmap 上显示用户领地(默认红色)和管理员领地(默认蓝色),并根据所有者离线时长显示为“废弃”状态(默认绿色)。
- 兼容 UUID 和名称模式服务器,可在有/无 Dynmap 环境下运行(无 Dynmap 时无法显示领地)。
- 计算领地所有者离线时间,若超过配置中设定的限制,则将该领地显示为“过期”(默认绿色)。
- 若领地仍有活跃的建造者(受信任玩家),且其离线时间小于限制,则领地边框会显示为不同颜色(默认黑边绿填充)——表示领地仍被使用,即使所有者不在线。
- 为优化性能,仅当所有者离线时间超过限制后,才会计算建造者的离线时间。
- 在 Dynmap 的两个不同图层上分别显示“已使用”和“未使用”(完全绿色)的领地(括号内显示领地数量)。
- 在领地弹窗中显示领地 ID、宽度、高度、面积、坐标(附传送指令
/tppos)。 - 玩家可通过指令查看一个包含其所有或受信任领地的 Dynmap 图层(管理员也可查看其他玩家的)。
- 支持在领地信任列表中使用括号内的“信任词”(如
[xyz]),若启用此功能,可防止领地完全过期。 - 对“all”或“public”授予容器信任的领地会以不同的填充色显示(默认紫色),便于他人知晓他们可以在该地做什么。
- 通过指令将所有领地信息和统计数据导出至 CSV 文件。
- 提供两个传送指令:可传送至指定领地 ID 或坐标。
- 所有文本均可本地化/翻译和更改颜色。
- 针对高性能优化,即使面对大量领地也能流畅运行(使用自定义插件统计图表来监控性能,以便进一步优化)。
- 所有配置和消息均可通过
/reload指令在运行时立即重载,且文档详尽。
安装与配置
安装步骤
- 解压 ZIP 文件。
- 将
.jar插件文件复制到服务器的plugins文件夹中。 - 启动服务器。配置文件将在
plugins/JDynmapGriefprevention文件夹内自动生成。
- 或者:将示例 `JDynmapGriefPrevention` 目录及其配置文件直接复制到服务器的 `plugins` 目录。- 根据需求编辑配置选项后,启动服务器,领地应会显示在你的 Dynmap 上。
- 配置更改也可在运行时通过
/jdgp reload指令重载。
配置变量
以下变量可用于配置文件中的 HTML 信息弹窗
%owneruuid%- 领地所有者的 UUID(不适用于管理员领地或名称模式服务器)%owner%- 领地所有者的名称%ownerdays%- 所有者已离线的天数%cwidth%- 领地的宽度%cheight%- 领地的高度%csize%- 领地的面积(宽 x 高)%claimid%- 领地的 ID%coords%- 领地一个角落的坐标%coordx%- x 坐标%coordy%- y 坐标%coordz%- z 坐标%managers%- 领地子管理员的逗号分隔列表%builders%- 领地建造者(/trust)的逗号分隔列表%containers%- 拥有容器信任(/ct)的玩家逗号分隔列表%accessors%- 拥有访问信任(/at)的玩家逗号分隔列表
指令列表
以下指令均可在游戏内或控制台使用(传送指令 tp 除外):
/jdgp- 显示版本信息和帮助屏幕/jdgp reload- 重载配置文件更改并立即执行领地更新(计划的更新任务将被取消,下一个任务将在配置中定义的“周期”秒后执行)/jdgp claims- 显示玩家的领地(拥有的/受信任的)。添加<name>可查看其他玩家的领地(需要管理员权限)/jdgp tp <id>- 传送至 ID 为<id>的领地中心
- 或使用 `/jdgp tp <x> <z>` 传送至指定坐标(y 坐标将自动取该位置最高可站立方块)。如果该坐标处有领地,传送后领地边框会高亮显示(约 2-3 秒)/jdgp disable- 在运行时禁用插件(需要输入两次以确认)/jdgp cancel- 在确认步骤中取消禁用指令/jdgp stats- 输出领地统计信息/jdgp export- 将领地信息和统计数据导出到插件目录内的.csv文件
统计信息解读
执行 /jdgp stats 后,输出信息含义如下:
- Claims / Owners:领地总数 / 所有者总数
- Bui:建造信任玩家总数(/trust)
- Con:容器信任玩家总数(/ct)
- Acc:访问信任玩家总数(/at)
- Man:权限信任玩家总数(/pt)
- Parent claims:主领地数量
- Subdiv claims:子分区领地数量
- Used:已使用领地总数
- **A**:管理员领地数量(默认蓝色)- **N**:所有者仍活跃的用户领地数量(默认红色)- **B**:所有者离线但建造者仍活跃的用户领地数量(默认黑边绿填充)- Unused:所有者及所有建造者均超过限制天数未活跃的用户领地数量
权限节点
jdynmapgriefprevention.admin- 包含所有权限(管理员和玩家)
- `jdynmapgriefprevention.admin.reload` (对应 `/jdgp reload`)- `jdynmapgriefprevention.admin.disable` (对应 `/jdgp disable`)- `jdynmapgriefprevention.admin.cancel` (对应 `/jdgp cancel`)- `jdynmapgriefprevention.admin.claims` (对应 `/jdgp claims <name>`)- `jdynmapgriefprevention.admin.teleport` (对应 `/jdgp tp ...`)- `jdynmapgriefprevention.admin.export` (对应 `/jdgp export`)jdynmapgriefprevention.player- 仅包含玩家权限
- `jdynmapgriefprevention.player.claims` (对应 `/jdgp claims`)- `jdynmapgriefprevention.player.stats` (对应 `/jdgp stats`)通过 /jdgp 显示的指令帮助行,仅当玩家拥有该指令权限时才会出现。
本地化语言文件(v2.3+)
插件已内置英文(en)和德文(de)语言文件,并在首次启动时复制到磁盘。如需其他语言,请下载对应文件,复制到插件文件夹内的 lang 目录中,并在配置中更改 Locale 设置。
可用语言文件链接(历史版本)
- v2.5
- 俄语:http://pastebin.com/4YPmgrkx (下载为 `Messages_ru.properties`,感谢 DmitryRendov)- v2.4
- 英语:http://pastebin.com/5SL39REf (下载为 `Messages_en.properties`)- 德语:http://pastebin.com/fRKZaNaA (下载为 `Messages_de.properties`)- 西班牙语:http://pastebin.com/GGJufdCv (下载为 `Messages_es.properties`)- v2.3
- 英语:http://pastebin.com/ieAifriE (下载为 `Messages_en.properties`)- 德语:http://pastebin.com/DJKcwfSp (下载为 `Messages_de.properties`)- 日语:http://pastebin.com/U4Sgh0rt (下载为 `Messages_jp.properties`,感谢 LEE3KFC!)- 波兰语:http://pastebin.com/CVPr19Uh (下载为 `Messages_pl.properties`,感谢 Captancorc!)使用提示
- 保存到磁盘后,请确保文件扩展名没有多余的
.txt等。文件名可能以小写m开头,但这通常不影响使用。 - 文件采用纯 UTF-8 格式。在 Windows 上(标准 CMD 代码页为 850),控制台可能无法正确显示字符。你可能需要在启动服务器的批处理脚本中,通过
chcp命令(更改代码页)显式设置为你国家的代码页。
- 例如,对于德语系统,`chcp 65000`(UTF-7)可能有效。`65001` 是 UTF-8 代码页。如果无效,请搜索“windows codepage <你的国家>”获取正确的数字。- 参考列表:https://msdn.microsoft.com/en-us/library/windows/desktop/dd317756(v=vs.85).aspx- 在 Linux 系统中,使用
locale命令设置 UTF-8 语言环境通常没有问题。 - 游戏本身会正确显示字符(即使系统未安装特定语言包)。
查看示例
- 动态地图示例:http://dynmaptk.crafttekk.de (MC 1.4.7 Tekkit Lite - 名称模式服务器)
- 性能提示:当领地数量很多时,在 Firefox 浏览器中可能无法流畅移动地图或缩放。在 Internet Explorer 中表现更好。在 Firefox 中,你可以在地址栏输入
about:config,将browser.cache.use_new_backend的值从0改为1,这可以显著提升性能。你也可以在移动地图时取消勾选 Dynmap 的领地图层。
插件统计(MCStats / PluginMetrics)
本插件使用 PluginMetrics 收集使用此插件的服务器的匿名技术使用和统计信息。这对插件作者决定未来发展方向非常有帮助。
- JDGP 插件统计页面:http://mcstats.org/plugin/JDynmapGriefPrevention
- 了解更多:点击链接查看收集了哪些信息(除了基本数据,我还添加了一些自定义图表):
- https://forums.bukkit.org/threads/mcstats-plugin-metrics-r7-easy-advanced-plugin-statistics.77352/要禁用插件统计,请在配置中使用相应选项,或在插件文件夹的 PluginMetric 配置文件中将 opt-out 设置为 true 以禁用所有插件的统计。
请注意:JDynmapGriefPrevention 本身除了上述 PluginMetrics 外,不收集任何信息,也不会自动进行任何下载/上传。
反馈与支持
如果你有任何想法、有意义的建议、功能/指令请求,或任何问题,请随时告诉我!我非常乐意收到任何有意义的反馈!
如果你喜欢这个插件,并且认同发布和维护它需要大量的空闲时间,你可以通过以下 PayPal 链接捐赠以支持我的工作:
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=58PKL625WCVXW
如果你使用/喜欢这个插件,请点击右侧信息或版本面板上的“星星”并留下简短的评论来为它投票!这应该用不了一分钟。
我的其他作品
- JWebConsole:为 Minecraft 设计的彩色网页控制台(PHP)—— 美观、简单、实用
- https://www.spigotmc.org/resources/jwebconsole.8780/