• 欢迎来到Minecraft插件百科!
  • 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
  • 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289

“Dynmap”的版本间的差异

来自Minecraft插件百科
跳转至: 导航搜索
不使用内部服务器安装
 
(未显示4个用户的46个中间版本)
第1行: 第1行:
Dynmap 是一个像谷歌地图一样的、为 Minecraft 服务器设计的地图插件,让你可以在浏览器查看地图。
+
{{急需改进|缺少概述表|存在维基语法错误}}
 +
Dynmap 是一个像谷歌地图一样的、为 Minecraft 服务器设计的地图插件,让你可以在浏览器查看服务器地图。
  
 
你可以使用 Dynmap 的集成的网络服务器立即上手,也可以将其部署到 Apache 等现有的网络服务器,易于使用。
 
你可以使用 Dynmap 的集成的网络服务器立即上手,也可以将其部署到 Apache 等现有的网络服务器,易于使用。
第7行: 第8行:
 
原始的项目是由 k-red 开发。
 
原始的项目是由 k-red 开发。
  
=联络方式=
+
==支持的基于Forge的Mod==
* [http://forums.bukkit.org/threads/misc-dynmap-v0-12-1-realtime-minecraft-maps-314.489/ Bukkit 论坛]
+
支持以下的Mod,尽管这些Mod的老版本可能不支持,当前版本的某些方块也可能不支持:
* [http://dev.bukkit.org/server-mods/dynmap/ BukkitDev 项目页面]
+
 
* IRC: irc://irc.esper.net/#dynmap ([http://webchat.esper.net/?nick=Webuser&channels=dynmap&prompt=0 在线])
+
* Advanced Machines - IC2
 +
* Advanced Power Management - IC2
 +
* Advanced Solar Panels - IC2
 +
* BetterWorlds
 +
* BuildCraft
 +
* Charging Bench - IC2
 +
* Compact Solars - IC2
 +
* ComputerCraft
 +
* Equivalent Exchange 2
 +
* Ender Storage
 +
* ExtraBees
 +
* Extrabiomes XL (v2.x and v3.x)
 +
* Extrabiomes - Bunyan
 +
* Forestry (updated in 1.4)
 +
* Forgotten Nature
 +
* Greg's Lighting
 +
* IndustrialCraft 2
 +
* Iron Chest
 +
* LC Trees++
 +
* Millenaire
 +
* MystCraft
 +
* Metallurgy 2
 +
* NetherOres
 +
* RailCraft
 +
* Red Power 2
 +
* SuperSlopes
 +
* TerraFirmaCraft
 +
* ThaumCraft
 +
* Thermal Expansion
 +
* Tubestuff
 +
* Twilight Forest
 +
* XyCraft
 +
 
 +
==支持的服务端==
 +
Dynmap 包括了除了 CraftBukkit 的其他版本。其他的最新的版本可以在[http://www.minecraftforum.net/topic/1543523-dynmap-dynamic-web-based-maps-for-minecraft/ 这里]找到。目前有 3 个Dynmap主要的平台:
 +
 
 +
*[https://github.com/webbukkit/dynmap/ Bukkit Dynmap]
 +
*[https://github.com/webbukkit/DynmapForge/ DynmapForge]
 +
*[https://github.com/webbukkit/DynmapSpout/ DynmapSpout]
 +
 
 +
;Spigot
 +
 
 +
Spigot 通过 Bukkit Dynmap 被完全支持。
 +
 
 +
;MinecraftForge
 +
 
 +
很多版本的 MinecraftForge 都是支持的,可以使用 DynmapForge 项目。所有的 Forge 版本的 Dynmap 都需要特定的 Forge 版本,升级 Forge 版本也需要升级到对应的 DynmapForge 版本。你应该按照如下的方法来安装或者升级:
 +
 
 +
*下载对应的 ZIP 文件,对应 MC 版本。
 +
*解压整个 ZIP 文件,包括子目录,至服务器的根目录。
 +
*如果是升级,那么删除 'mods' 下老的 'Dynmap-x.y.zip'。
 +
 
 +
;MCPC+
 +
 
 +
目前 MCPC+ 的版本(v1.4.7 或之后) 只被 DynmapForge mods 支持对应的 Forge 版本。CraftBukkit 版本不被支持。安装请按照以下步骤。 你可以使用 DynmapCBBridge 来兼容使用的 Bukkit 的插件的数据(可以在[http://www.minecraftforum.net/topic/1543523-dynmap-dynamic-web-based-maps-for-minecraft/ 这里]找到)。这是一个 Bukkit 插件,所以应该放在 'plugins' 目录,并且只支持那些基于 Forge 的 Bukkit 服务器上。
 +
 
 +
;BukkitForge
 +
 
 +
BukkitForge mod,一个基于 Forge 的 Mod,添加了Bukkit 的 API,是不被 Dynmap 的 Bukkit 版本支持的。可以使用 DynmapForge 版本,并且搭配 DynmapCBBridge 插件。安装过程与上方的 MCPC+ 相同。
 +
 
 +
;Tekkit Classic
 +
 
 +
Tekkit Classic,和更老的 MCPC (没有+ - v1.2.5),被 DynmapBukkit 支持。
 +
 
 +
;Tekkit-Lite
 +
 
 +
Tekkit-Lite 被 DynmapForge 支持,而不是 Bukkit Dynmap。按照上方 Forge 的安装方式安装 Dynmap。
 +
 
 +
;Tekkit
 +
[http://www.technicpack.net/tekkit/ Tekkit] 是一个将大量的 Minecraft Mods 整合在 Bukkit 服务器的服务端。Dynmap 支持 Tekkit,目前的 Dynmap 版本会自动检测 Mod,和他们的方块ID,渲染支持的方块。目前支持 Tekkit v3.1.3
 +
 
 +
;Spout
 +
 
 +
Spout 服务器被 DynmapSpout 的实验项目支持(Spout 进行的重构使对其进行支持不切实际)。安装至 Spout 与 Bukkit 相同(解压到 plugins 目录)。注意:这个项目是给 Spout 服务器使用而不是 Bukkit 上的 Spout 插件。Spout插件可以使用 Bukkit Dynmap。
 +
 
 +
;从 Bukkit Dynmap 迁移到 Forge Dynmap
  
=用户相关=
+
将 Bukkit Dynmap 迁移到 Forge Dynmap 可以按照以下方式进行:
==不使用内部服务器安装==
 
我们猜测
 
*你对你正在使用的独立Web服务器有相当的经验
 
*你的Web服务器与CraftBukkit运行在同一台机器上
 
*你的Web服务器支持PHP (仅用于Web到Minecraft的聊天)
 
*如果你在使用Linux,你应该知道如何使用终端和chmod。
 
  
将以下信息:
+
*将 <base>/plugins/dynmap 目录(包括所有数据和子目录)移动到 Forge 服务器上的 <base>/dynmap 目录。
 +
*编辑 configuration.txt: 替换 'render-triggers' 为以下信息:
 
<pre>
 
<pre>
  - class: org.dynmap.InternalClientUpdateComponent
+
    render-triggers:
    sendhealth: true
+
      - blockupdate
    allowwebchat: true
+
      #- blockupdate-with-id
    webchat-interval: 5
+
      #- lightingupdate
  #- class: org.dynmap.JsonFileClientUpdateComponent
+
      - chunkpopulate
  #  writeinterval: 1
+
      - chunkgenerate
  #  sendhealth: true
+
      #- none
  # allowwebchat: false
 
 
</pre>
 
</pre>
 +
*删除 <base>/plugins/dynmap.jar
 +
*按照安装对应 Forge 版本的方法安装。
 +
 +
==安装==
 +
见:[[Dynmap/安装]]
 +
 +
==配置==
 +
见:[[Dynmap/配置]]
 +
 +
==命令==
 +
见:[[Dynmap/命令]]
 +
 +
==权限==
 +
见:[[Dynmap/权限]]
 +
 +
==网页参数==
 +
用于启动Web界面的URL可以有多个参数,可以用于改变发送给玩家的默认界面效果。这可以用来在加载WebUI时加载指定的世界或者地图,或者一个指定的缩放大小,或者将地图的中心设置为某个指定的世界坐标。
 +
 +
参数由一串属性-值组成,每个的参数格式就像这样:<code>attribute-id=value</code>
 +
 +
基础的URL必须含有一个问号 (?) 在第一个参数之前,每个参数之间必须以这个符号间隔,所以,如果这是默认的dynmap网址:<code><nowiki>http://mygreatserver:8123/</nowiki></code>
 +
 +
那么,直接打开“fred”世界并且显示“surface”地图的网页,就可以像这样:<code><nowiki>http://mygreatserver:8123/?worldname=fred&mapname=surface</nowiki></code>
 +
 +
如果你想要使用一个外置的服务器,格式也是一样的 - 添加问号,使用 & 分隔参数:<code><nowiki>http://mycoolapacheserver.com/dynmap?worldname=fred&mapname=surface</nowiki></code>
 +
 +
可用的参数如下:
 +
 +
* worldname - 这个指定了世界的名称(不是标题)。如果没有定义,那么会显示第一个默认的世界(除非在 _configuration.txt里设置了显示哪个世界)。
 +
* mapname - 这个指定了显示的地图的名称(不是标题),如果没有指定,那么将会显示选中的世界的第一个地图!(除非在_configuration.txt中设置了显示哪张地图)。
 +
* zoom - 指定的缩放大小(0为最高的缩放),如果没有提供,。那么将会使用默认的缩放大小(除非在_configuration.txt中指定了默认的缩放大小)。
 +
* x - 这个指定了X坐标(展示的世界的坐标),如果没有指定,那么将会显示center定义的x坐标(一般为0)。
 +
* y - 这个指定了Y坐标(展示的世界的坐标),如果没有指定,那么将会显示center定义的y坐标(一般为0)。
 +
* z - 这个指定了Z坐标(展示的世界的坐标),如果没有指定,那么将会显示center定义的z坐标(一般为0)。
 +
* nopanel - 如果设置为true,那么地图显示的侧边栏将会移除。
 +
* chatname - 如果设置为一个字符串,WebUI将会将其转变为发送者发送的聊天消息使用的名称。这将只有在 'trustclientname' 设置为 true时才会生效,作为 'allowurlname' 的附加。在0.28及以后的版本中支持。
 +
* playername - 如果定义了并将其设置为玩家的账户的名称,并且玩家在线或者开启WebUI后一会儿玩家加入了服务器,WebUI将会将地图初始化在给定玩家的位置。
 +
* hidechat - 如果设置为 'true',那么WebUI将会关闭所有的聊天输入和输出模块(气泡,输入框,聊天栏)。
 +
* nogui - 如果设置为 'true',那么WebUI将会关闭所有的控制面板,就像只显示地图层一样。
 +
* nocompass - 如果设置为 'true',那么UI上的指南针将会隐藏。(v2.2-alpha-1)
 +
 +
==地图标记==
 +
见:[[Dynmap/地图标记]]
 +
 +
==自定义方块==
 +
见:[[Dynmap/自定义方块]]
  
更改为
+
==导出世界为WavefrontOBJ格式==
<pre>
+
在 Dynmap v1.9.3 中,我们支持了将地图生成并导出为 Wavefront OBJ 格式的文件,这个特性由 jmc-2-obj 工具启发而来,允许管理员(或控制台)选择并导出他们的部分世界为模型文件,用于其他支持 Wavefront OBJ 格式的建模软件的导入 - 包括了 Blender(一个免费开源的渲染和动画套件),Cinema 4D,Maya,3D Studio Max 和其他的软件。这些导出的模型可以用于 Dynmap 不支持的高级渲染(保举哦了更高级的光照和反射)。由于 Dynmap 导出的 OBJ 格式文件与 jmc-2-obj 软件产生的非常相似,所以针对 jmc-2-obj 的模型的导入和处理与 Dynmap 的 OBJ 导出非常相似。
  #- class: org.dynmap.InternalClientUpdateComponent
+
 
  #  sendhealth: true
+
导出和处理使用新的 /dynmapexp 命令完成,此命令可以设置一些属性来控制导出:
  #  allowwebchat: true
+
 
  #  webchat-interval: 5
+
* x0, y0, z0 : 这些是最小的 X, Y, 和 Z 轴的长方体/矩形棱柱的值
  - class: org.dynmap.JsonFileClientUpdateComponent
+
* x1, y1, z1 : 这些是最大的 X, Y, 和 Z 轴的长方体/矩形棱柱的值
    writeinterval: 1
+
* world : 用于导出的世界的名称
    sendhealth: true
+
* byChunk : 如果设置为 true,这将会生成整个区块的所有方块的对象
    allowwebchat: false
+
* byBlockID : 如果设置为 true,这将会生成所有给定方块ID的对象
</pre>
+
* byBlockIDData : 如果设置为 true,这将会生成所有给定方块ID和方块元数据的对象
关闭内部更新机制并开启json文件更新机制,这将在 writeinterval 的间隔后在你的web路径写入文件 standalone/dynmap_world.json。
+
* byTexture : 如果设置为 true,这将会生成所有给定材质的方块的对象
 +
* shader : 指定用于导出的使用的材质的着色器,默认情况下使用 stdtexture,只有基于材质包的着色器才支持
 +
 
 +
/dynmapexp 的子命令包括了:
 +
 
 +
* /dynmapexp set : 允许设置导出的属性(如上),附加的属性可以在同一个命令使用,如 /dynmapexp set x0 0 y0 0 z0 100。
 +
* /dynmapexp radius : 只能由一个游戏中的玩家使用:此命令会指定导出的世界为玩家所在的世界,并设置半径为玩家所在位置的半径,Y 轴为 0-255 的所有方块。
 +
* /dynmapexp info : 显示当前导出的属性
 +
* /dynmapexp pos0 : 此命令只能由玩家在游戏中使用:设置导出范围的第一个点
 +
* /dynmapexp pos1 : 此命令只能由玩家在游戏中使用:设置导出范围的第二个点
 +
* /dynmapexp reset : 重置导出属性为默认值
 +
* /dynmapexp export : 初始化一个导出,创建一个叫 .zip 的文件(默认在 dynmap 文件夹下的 export 文件夹,可以在 exportpath 中设置)。导出是异步处理的,并且会耗费几分钟完成,用时取决于选区的大小
 +
* /dynmapexp purge : 删除上一个导出
 +
 
 +
完成后,ZIP文件中将会包含以下内容:
 +
 
 +
* 一个 minecraft.obj 文件,包含导出的模型(可能非常大)
 +
* 一个 .mtl 文件,包含材质列表(对应每个minecraft材质)
 +
* 一个 目录,包含使用的材质文件
 +
 
 +
解压文件并将 minecraft.obj 导入到渲染/建模软件。
 +
 
 +
==开发者==
 +
Dynmap 项目包含了多个部分,可以支持多个服务器平台,也可以帮助我们清楚地发布API。用来构建 'dynmap'(Bukkit 的 Dynmap 插件)的有以下几部分(按照构建顺序):
 +
 
 +
*[https://github.com/webbukkit/DynmapCoreAPI DynmapCoreAPI] - 这是无关平台的 Dynmap API:插件编写者可以使用这个接口来在任何平台使用 Dynmap(通过将插件转换为 org.dynmap.DynmapCoreAPI 示例)
 +
 
 +
*[https://github.com/webbukkit/DynmapCore DynmapCore] - 这个服务器平台的 Dynmap 核心:几乎所有的网页和渲染都在这里(我们尽可能多的往里放)。在这里构建的结果是不可运行的 - 他们被放入 dynmap 的其他部分(比如,DynmapSpout 支持 Spout 平台)。
 +
 
 +
*[https://github.com/webbukkit/dynmap-api dynmap-api] - Dynmap 的 Bukkit 部分的 API - 定义了 org.dynmap.DynmapAPI 接口,包括了 Bukkit 的调用,通过配合 DynmapCoreAPI(DynmapAPI 继承),将插件实例转为 org.dynmap.DynmapAPI 来使用公布的接口。
  
将 plugins/dynmap/web 中的文件复制进你的Web服务器中的某个文件夹,将 configuration.txt 的指向 tilespath 和 webpath 更改至你放置Web文件的地方。
+
*[https://github.com/webbukkit/dynmap dynmap] - 真正的 Dynmap Bukkit 的部分,包括了那些与服务器无关的代码。
  
 +
===如何编译Dynmap===
 +
编译 Dynmap 使用 [http://maven.apache.org/ Maven]。使用 Maven 的 mvn install 命令你就可以将项目安装在你的 Maven 仓库,这样就可以用于编译其他需要用此项目作为依赖的项目。基本的方法为,使用 git clone 下载代码,使用 mvn install 编译代码。
  
 +
Dynmap 的核心系统基本不需要依赖项,核心用于实现特殊的框架,比如 Bukkit 和 Spout。在你编译某平台的框架之前,你应该复制并按顺序编译这些项目:
  
Linux
+
*DynmapCoreAPI - git://github.com/webbukkit/DynmapCoreAPI.git
<pre>
+
*DynmapCore - git://github.com/webbukkit/DynmapCore.git
# tile文件放置的路径
 
tilespath: /path/to/web/server/dynmap/web/tiles
 
  
# web文件放置的路径
+
;Dynmap for Bukkit
webpath: /path/to/web/server/dynmap/web
 
</pre>
 
或 Windows
 
<pre>
 
# tile文件放置的路径
 
tilespath: c:\\path\\to\\web\\server\\dynmap\\web\\tiles
 
  
# web文件放置的路径
+
复制并按顺序编译这些项目来编译 Bukkit 的 Dynmap:
webpath: c:\\path\\to\\web\\server\\dynmap\\web
 
</pre>
 
现在重启你的Minecraft服务器。加入你的服务器并(随机)放置一些方块来激活Dynmap给你的地图生成tiles。
 
  
你也可以输入 dynmap fullrender worldname 于你的服务器控制台来渲染整个 worldname 世界。
+
*dynmap-api - git://github.com/webbukkit/dynmap-api.git
 +
*dynmap - git://github.com/webbukkit/dynmap.git
  
现在刷新你的浏览器,应该在 http://mywebserver/dynmap/ 显示你的在线人数,保持更新。
+
或者将以下复制进你的终端:
 +
<pre>
 +
git clone git://github.com/webbukkit/DynmapCoreAPI.git && (cd DynmapCoreAPI && mvn install)
 +
git clone git://github.com/webbukkit/DynmapCore.git && (cd DynmapCore && mvn install)
 +
git clone git://github.com/webbukkit/dynmap-api.git && (cd dynmap-api && mvn install)
 +
git clone git://github.com/webbukkit/dynmap.git && (cd dynmap && mvn install)
 +
</pre>
 +
包含 Dynmap 的 ZIP 文件位于 dynmap/target/dynmap-*-bin.zip.
  
===故障排除===
+
;Dynmap for 原版Spout
如果你没有在地图看见任何tiles,检查tiles目录来查看他们是否已经被生成。如果没有任何tiles,那么可能Minecraft没有在web路径写入tiles的权限,或者你没有正确填写 tilespath 。
 
  
如果你没有看见任何玩家或者他们没有移动,前往 http://mywebserver/standalone/dynmap_world.json ( world 是世界的名称)。你应该能看见一些代码,并且随着时间流逝刷新能看见代码的改变、 如果没有这个文件或者这个文件没有更新,那么你可能填写了错误的 webpath 。
+
复制并按顺序编译这些项目来编译 Spout 原版服务器的 Dynmap:
  
在 Linux,如果web到Minecraft的聊天没有工作,你应该 chmod 'standalone' 文件夹到 775 或者 777:
+
*[https://github.com/SpoutDev/SpoutAPI SpoutAPI] - git://github.com/SpoutDev/SpoutAPI.git
 +
*[https://github.com/SpoutDev/Vanilla SpoutVanilla] - git://github.com/SpoutDev/Vanilla.git
 +
*[https://github.com/webbukkit/DynmapSpout DynmapSpout] - git://github.com/webbukkit/DynmapSpout.git
 +
或者将以下复制进你的终端:
 
<pre>
 
<pre>
$ chmod -R 775 standalone
+
git clone git://github.com/webbukkit/DynmapCoreAPI.git && (cd DynmapCoreAPI && mvn install)
 +
git clone git://github.com/webbukkit/DynmapCore.git && (cd DynmapCore && mvn install)
 +
git clone git://github.com/SpoutDev/SpoutAPI.git && (cd SpoutAPI && mvn install)
 +
git clone git://github.com/SpoutDev/Vanilla.git && (cd Vanilla && mvn install)
 +
git clone git://github.com/webbukkit/DynmapSpout.git && (cd DynmapSpout && mvn install)
 
</pre>
 
</pre>
这允许 sendmessage.php 创建json文件。这一步是必须的,因为是你的Web服务器创建文件而不是Minecraft服务器。
+
包含 Dynmap 的 ZIP 文件位于 DynmapSpout/target/DynmapSpout-*-bin.zip.
  
如果在IIS web到Minecraft的聊天没有运行,你可能要安装PHP。
+
==联系方式==
 +
* [http://forums.bukkit.org/threads/misc-dynmap-v0-12-1-realtime-minecraft-maps-314.489/ Bukkit 论坛]
 +
* [http://dev.bukkit.org/server-mods/dynmap/ BukkitDev 项目页面]
 +
* IRC: irc://irc.esper.net/#dynmap ([http://webchat.esper.net/?nick=Webuser&channels=dynmap&prompt=0 在线])
  
==在Linux下建立动态地图插件==
+
==参考==
 +
* https://github.com/webbukkit/dynmap/wiki
 +
* https://pluginscdtribe.github.io/wiki/dynmap/
 +
* http://www.mcbbs.net/thread-728931-1-1.html

2021年8月16日 (一) 22:01的最新版本

Commons-emblem-issue.png
Minecraft插件百科提醒您,此条目或需要大幅度整改,建议新用户不要模仿此条目格式建立新条目。

原因在于:

  • 缺少概述表
  • 存在维基语法错误
若您清楚改善现状的方法,可以尝试帮忙改进

Dynmap 是一个像谷歌地图一样的、为 Minecraft 服务器设计的地图插件,让你可以在浏览器查看服务器地图。

你可以使用 Dynmap 的集成的网络服务器立即上手,也可以将其部署到 Apache 等现有的网络服务器,易于使用。

Dynmap 可以使用不同的渲染器渲染你的地图,有的适用于高性能,而有的可以展示更详细的细节。

原始的项目是由 k-red 开发。

支持的基于Forge的Mod

支持以下的Mod,尽管这些Mod的老版本可能不支持,当前版本的某些方块也可能不支持:

  • Advanced Machines - IC2
  • Advanced Power Management - IC2
  • Advanced Solar Panels - IC2
  • BetterWorlds
  • BuildCraft
  • Charging Bench - IC2
  • Compact Solars - IC2
  • ComputerCraft
  • Equivalent Exchange 2
  • Ender Storage
  • ExtraBees
  • Extrabiomes XL (v2.x and v3.x)
  • Extrabiomes - Bunyan
  • Forestry (updated in 1.4)
  • Forgotten Nature
  • Greg's Lighting
  • IndustrialCraft 2
  • Iron Chest
  • LC Trees++
  • Millenaire
  • MystCraft
  • Metallurgy 2
  • NetherOres
  • RailCraft
  • Red Power 2
  • SuperSlopes
  • TerraFirmaCraft
  • ThaumCraft
  • Thermal Expansion
  • Tubestuff
  • Twilight Forest
  • XyCraft

支持的服务端

Dynmap 包括了除了 CraftBukkit 的其他版本。其他的最新的版本可以在这里找到。目前有 3 个Dynmap主要的平台:

Spigot

Spigot 通过 Bukkit Dynmap 被完全支持。

MinecraftForge

很多版本的 MinecraftForge 都是支持的,可以使用 DynmapForge 项目。所有的 Forge 版本的 Dynmap 都需要特定的 Forge 版本,升级 Forge 版本也需要升级到对应的 DynmapForge 版本。你应该按照如下的方法来安装或者升级:

  • 下载对应的 ZIP 文件,对应 MC 版本。
  • 解压整个 ZIP 文件,包括子目录,至服务器的根目录。
  • 如果是升级,那么删除 'mods' 下老的 'Dynmap-x.y.zip'。
MCPC+

目前 MCPC+ 的版本(v1.4.7 或之后) 只被 DynmapForge mods 支持对应的 Forge 版本。CraftBukkit 版本不被支持。安装请按照以下步骤。 你可以使用 DynmapCBBridge 来兼容使用的 Bukkit 的插件的数据(可以在这里找到)。这是一个 Bukkit 插件,所以应该放在 'plugins' 目录,并且只支持那些基于 Forge 的 Bukkit 服务器上。

BukkitForge

BukkitForge mod,一个基于 Forge 的 Mod,添加了Bukkit 的 API,是不被 Dynmap 的 Bukkit 版本支持的。可以使用 DynmapForge 版本,并且搭配 DynmapCBBridge 插件。安装过程与上方的 MCPC+ 相同。

Tekkit Classic

Tekkit Classic,和更老的 MCPC (没有+ - v1.2.5),被 DynmapBukkit 支持。

Tekkit-Lite

Tekkit-Lite 被 DynmapForge 支持,而不是 Bukkit Dynmap。按照上方 Forge 的安装方式安装 Dynmap。

Tekkit

Tekkit 是一个将大量的 Minecraft Mods 整合在 Bukkit 服务器的服务端。Dynmap 支持 Tekkit,目前的 Dynmap 版本会自动检测 Mod,和他们的方块ID,渲染支持的方块。目前支持 Tekkit v3.1.3

Spout

Spout 服务器被 DynmapSpout 的实验项目支持(Spout 进行的重构使对其进行支持不切实际)。安装至 Spout 与 Bukkit 相同(解压到 plugins 目录)。注意:这个项目是给 Spout 服务器使用而不是 Bukkit 上的 Spout 插件。Spout插件可以使用 Bukkit Dynmap。

从 Bukkit Dynmap 迁移到 Forge Dynmap

将 Bukkit Dynmap 迁移到 Forge Dynmap 可以按照以下方式进行:

  • 将 <base>/plugins/dynmap 目录(包括所有数据和子目录)移动到 Forge 服务器上的 <base>/dynmap 目录。
  • 编辑 configuration.txt: 替换 'render-triggers' 为以下信息:
    render-triggers:
      - blockupdate
      #- blockupdate-with-id
      #- lightingupdate
      - chunkpopulate
      - chunkgenerate
      #- none
  • 删除 <base>/plugins/dynmap.jar
  • 按照安装对应 Forge 版本的方法安装。

安装

见:Dynmap/安装

配置

见:Dynmap/配置

命令

见:Dynmap/命令

权限

见:Dynmap/权限

网页参数

用于启动Web界面的URL可以有多个参数,可以用于改变发送给玩家的默认界面效果。这可以用来在加载WebUI时加载指定的世界或者地图,或者一个指定的缩放大小,或者将地图的中心设置为某个指定的世界坐标。

参数由一串属性-值组成,每个的参数格式就像这样:attribute-id=value

基础的URL必须含有一个问号 (?) 在第一个参数之前,每个参数之间必须以这个符号间隔,所以,如果这是默认的dynmap网址:http://mygreatserver:8123/

那么,直接打开“fred”世界并且显示“surface”地图的网页,就可以像这样:http://mygreatserver:8123/?worldname=fred&mapname=surface

如果你想要使用一个外置的服务器,格式也是一样的 - 添加问号,使用 & 分隔参数:http://mycoolapacheserver.com/dynmap?worldname=fred&mapname=surface

可用的参数如下:

  • worldname - 这个指定了世界的名称(不是标题)。如果没有定义,那么会显示第一个默认的世界(除非在 _configuration.txt里设置了显示哪个世界)。
  • mapname - 这个指定了显示的地图的名称(不是标题),如果没有指定,那么将会显示选中的世界的第一个地图!(除非在_configuration.txt中设置了显示哪张地图)。
  • zoom - 指定的缩放大小(0为最高的缩放),如果没有提供,。那么将会使用默认的缩放大小(除非在_configuration.txt中指定了默认的缩放大小)。
  • x - 这个指定了X坐标(展示的世界的坐标),如果没有指定,那么将会显示center定义的x坐标(一般为0)。
  • y - 这个指定了Y坐标(展示的世界的坐标),如果没有指定,那么将会显示center定义的y坐标(一般为0)。
  • z - 这个指定了Z坐标(展示的世界的坐标),如果没有指定,那么将会显示center定义的z坐标(一般为0)。
  • nopanel - 如果设置为true,那么地图显示的侧边栏将会移除。
  • chatname - 如果设置为一个字符串,WebUI将会将其转变为发送者发送的聊天消息使用的名称。这将只有在 'trustclientname' 设置为 true时才会生效,作为 'allowurlname' 的附加。在0.28及以后的版本中支持。
  • playername - 如果定义了并将其设置为玩家的账户的名称,并且玩家在线或者开启WebUI后一会儿玩家加入了服务器,WebUI将会将地图初始化在给定玩家的位置。
  • hidechat - 如果设置为 'true',那么WebUI将会关闭所有的聊天输入和输出模块(气泡,输入框,聊天栏)。
  • nogui - 如果设置为 'true',那么WebUI将会关闭所有的控制面板,就像只显示地图层一样。
  • nocompass - 如果设置为 'true',那么UI上的指南针将会隐藏。(v2.2-alpha-1)

地图标记

见:Dynmap/地图标记

自定义方块

见:Dynmap/自定义方块

导出世界为WavefrontOBJ格式

在 Dynmap v1.9.3 中,我们支持了将地图生成并导出为 Wavefront OBJ 格式的文件,这个特性由 jmc-2-obj 工具启发而来,允许管理员(或控制台)选择并导出他们的部分世界为模型文件,用于其他支持 Wavefront OBJ 格式的建模软件的导入 - 包括了 Blender(一个免费开源的渲染和动画套件),Cinema 4D,Maya,3D Studio Max 和其他的软件。这些导出的模型可以用于 Dynmap 不支持的高级渲染(保举哦了更高级的光照和反射)。由于 Dynmap 导出的 OBJ 格式文件与 jmc-2-obj 软件产生的非常相似,所以针对 jmc-2-obj 的模型的导入和处理与 Dynmap 的 OBJ 导出非常相似。

导出和处理使用新的 /dynmapexp 命令完成,此命令可以设置一些属性来控制导出:

  • x0, y0, z0 : 这些是最小的 X, Y, 和 Z 轴的长方体/矩形棱柱的值
  • x1, y1, z1 : 这些是最大的 X, Y, 和 Z 轴的长方体/矩形棱柱的值
  • world : 用于导出的世界的名称
  • byChunk : 如果设置为 true,这将会生成整个区块的所有方块的对象
  • byBlockID : 如果设置为 true,这将会生成所有给定方块ID的对象
  • byBlockIDData : 如果设置为 true,这将会生成所有给定方块ID和方块元数据的对象
  • byTexture : 如果设置为 true,这将会生成所有给定材质的方块的对象
  • shader : 指定用于导出的使用的材质的着色器,默认情况下使用 stdtexture,只有基于材质包的着色器才支持

/dynmapexp 的子命令包括了:

  • /dynmapexp set : 允许设置导出的属性(如上),附加的属性可以在同一个命令使用,如 /dynmapexp set x0 0 y0 0 z0 100。
  • /dynmapexp radius : 只能由一个游戏中的玩家使用:此命令会指定导出的世界为玩家所在的世界,并设置半径为玩家所在位置的半径,Y 轴为 0-255 的所有方块。
  • /dynmapexp info : 显示当前导出的属性
  • /dynmapexp pos0 : 此命令只能由玩家在游戏中使用:设置导出范围的第一个点
  • /dynmapexp pos1 : 此命令只能由玩家在游戏中使用:设置导出范围的第二个点
  • /dynmapexp reset : 重置导出属性为默认值
  • /dynmapexp export : 初始化一个导出,创建一个叫 .zip 的文件(默认在 dynmap 文件夹下的 export 文件夹,可以在 exportpath 中设置)。导出是异步处理的,并且会耗费几分钟完成,用时取决于选区的大小
  • /dynmapexp purge : 删除上一个导出

完成后,ZIP文件中将会包含以下内容:

  • 一个 minecraft.obj 文件,包含导出的模型(可能非常大)
  • 一个 .mtl 文件,包含材质列表(对应每个minecraft材质)
  • 一个 目录,包含使用的材质文件

解压文件并将 minecraft.obj 导入到渲染/建模软件。

开发者

Dynmap 项目包含了多个部分,可以支持多个服务器平台,也可以帮助我们清楚地发布API。用来构建 'dynmap'(Bukkit 的 Dynmap 插件)的有以下几部分(按照构建顺序):

  • DynmapCoreAPI - 这是无关平台的 Dynmap API:插件编写者可以使用这个接口来在任何平台使用 Dynmap(通过将插件转换为 org.dynmap.DynmapCoreAPI 示例)
  • DynmapCore - 这个服务器平台的 Dynmap 核心:几乎所有的网页和渲染都在这里(我们尽可能多的往里放)。在这里构建的结果是不可运行的 - 他们被放入 dynmap 的其他部分(比如,DynmapSpout 支持 Spout 平台)。
  • dynmap-api - Dynmap 的 Bukkit 部分的 API - 定义了 org.dynmap.DynmapAPI 接口,包括了 Bukkit 的调用,通过配合 DynmapCoreAPI(DynmapAPI 继承),将插件实例转为 org.dynmap.DynmapAPI 来使用公布的接口。
  • dynmap - 真正的 Dynmap Bukkit 的部分,包括了那些与服务器无关的代码。

如何编译Dynmap

编译 Dynmap 使用 Maven。使用 Maven 的 mvn install 命令你就可以将项目安装在你的 Maven 仓库,这样就可以用于编译其他需要用此项目作为依赖的项目。基本的方法为,使用 git clone 下载代码,使用 mvn install 编译代码。

Dynmap 的核心系统基本不需要依赖项,核心用于实现特殊的框架,比如 Bukkit 和 Spout。在你编译某平台的框架之前,你应该复制并按顺序编译这些项目:

Dynmap for Bukkit

复制并按顺序编译这些项目来编译 Bukkit 的 Dynmap:

或者将以下复制进你的终端:

git clone git://github.com/webbukkit/DynmapCoreAPI.git && (cd DynmapCoreAPI && mvn install)
git clone git://github.com/webbukkit/DynmapCore.git && (cd DynmapCore && mvn install)
git clone git://github.com/webbukkit/dynmap-api.git && (cd dynmap-api && mvn install)
git clone git://github.com/webbukkit/dynmap.git && (cd dynmap && mvn install)

包含 Dynmap 的 ZIP 文件位于 dynmap/target/dynmap-*-bin.zip.

Dynmap for 原版Spout

复制并按顺序编译这些项目来编译 Spout 原版服务器的 Dynmap:

或者将以下复制进你的终端:

git clone git://github.com/webbukkit/DynmapCoreAPI.git && (cd DynmapCoreAPI && mvn install)
git clone git://github.com/webbukkit/DynmapCore.git && (cd DynmapCore && mvn install)
git clone git://github.com/SpoutDev/SpoutAPI.git && (cd SpoutAPI && mvn install)
git clone git://github.com/SpoutDev/Vanilla.git && (cd Vanilla && mvn install)
git clone git://github.com/webbukkit/DynmapSpout.git && (cd DynmapSpout && mvn install)

包含 Dynmap 的 ZIP 文件位于 DynmapSpout/target/DynmapSpout-*-bin.zip.

联系方式

参考