|
|
(未显示同一用户的5个中间版本) |
第1行: |
第1行: |
| {{急需改进|缺少概述表|需要重新调整段落结构以易于读者阅读|存在维基语法错误}} | | {{急需改进|缺少概述表|存在维基语法错误}} |
| Dynmap 是一个像谷歌地图一样的、为 Minecraft 服务器设计的地图插件,让你可以在浏览器查看地图。 | | Dynmap 是一个像谷歌地图一样的、为 Minecraft 服务器设计的地图插件,让你可以在浏览器查看服务器地图。 |
|
| |
|
| 你可以使用 Dynmap 的集成的网络服务器立即上手,也可以将其部署到 Apache 等现有的网络服务器,易于使用。 | | 你可以使用 Dynmap 的集成的网络服务器立即上手,也可以将其部署到 Apache 等现有的网络服务器,易于使用。 |
第7行: |
第7行: |
|
| |
|
| 原始的项目是由 k-red 开发。 | | 原始的项目是由 k-red 开发。 |
|
| |
| ==安装==
| |
| 见:[[Dynmap/安装]]
| |
|
| |
| ==配置==
| |
| 这里我们将会介绍配置的结构和如何编辑配置。
| |
|
| |
| 文件 plugins/dynmap/configuration.txt 的配置为 YAML 格式,这种格式使用锁紧结构,很重要的一点就是不能含有任何TAB,只能有空格,所以你必须将正确数量的空格放置在配置之前。
| |
|
| |
| 仅作为参考,你可以查看这里的默认配置: https://github.com/webbukkit/dynmap/blob/recommended/src/main/resources/configuration.txt.
| |
|
| |
| 配置文件包含 4 部分,以部件、全局设定、世界模板、世界的顺序排列。全局设定更改渲染和Dynmap的(内部)Web服务器的表现,这是很显然的。一个示例全局设定:
| |
| <pre>
| |
| # How often a tile gets rendered (in seconds).
| |
| renderinterval: 1
| |
| </pre>
| |
| 注意: 在版本 v0.20,默认的 configuration.txt file 被分离了, templates: 章节被移动到了 templates/ 目录, worlds: 章节被移动到了 worlds.txt 文件。用户不是必须更改他们现有的 configuration.txt - configuration.txt 定义的模板或世界仍然生效,并且会覆盖 templates/ 下的相同名称的模板。推荐已经使用的用户,尽快将 worlds: 章节(如果已经设置),从 configuration.txt 移动到 worlds.txt,放置以后的更新可能出现的冲突和影响。当然,现有的用户最好也把 templates: 章节从 configuration.txt 移动到新的文件 templates/custom-templates.txt。
| |
|
| |
| 部件(Component)
| |
|
| |
| 部件部分看起来像这样:
| |
| <pre>
| |
| components:
| |
| - class: org.dynmap.ClientConfigurationComponent
| |
|
| |
| - class: org.dynmap.InternalClientUpdateComponent
| |
| sendhealth: true
| |
| allowwebchat: true
| |
| webchat-interval: 5
| |
| ...
| |
| </pre>
| |
| 每个不换都可以认为是Dynmap的一个单独的特性,可以被单独开启或者关闭。有些不见基于其他的部件,但是我们不会深入。配置文件中的部件都以 - class: ... 开头,接着是部件的设置。
| |
|
| |
| 作为示例,我们会关闭处理聊天气泡的部件。这个部件看起来像这样:
| |
| <pre>
| |
| ...
| |
| - class: org.dynmap.ClientComponent
| |
| type: chatballoon
| |
| focuschatballoons: false
| |
| ...
| |
| </pre>
| |
| 我们可以通过删除这几行来关闭这个部件,但是更安全的方法是将他们变为注释。这个示例中:
| |
| <pre>
| |
| ...
| |
| - class: org.dynmap.ClientComponent
| |
| type: chat
| |
| #- class: org.dynmap.ClientComponent
| |
| # type: chatballoon
| |
| # focuschatballoons: false
| |
| - class: org.dynmap.ClientComponent
| |
| type: chatbox
| |
| showplayerfaces: true
| |
| messagettl: 5
| |
| ...
| |
| </pre>
| |
| 确保 # 之前仍然有正确的空格数。 保存配置后,重载Dynmap,刷新浏览器,聊天气泡不会再出现了。 同样的方法可以用来启用已经禁用的部件。
| |
|
| |
| 查看更多的部件和他们的配置可以查看部件配置。
| |
|
| |
| 世界与模板
| |
|
| |
| 在这个配置你会看到一个 world 章节(从 0.20 开始),可以在 worlds.txt 找到(之前是在 configuration.txt 的底部)。这个章节可以留空 - Dynmap将会找到服务器加载的所有世界,并提供一个默认的地图设定,基于使用 模板,定义于 templates: 章节。从 0.20 开始,模板定义从 configuration.txt 移动到了单独的文件,在 templates/ 目录中。但是之前的方式仍然生效。
| |
|
| |
| 关于世界设置的全面的介绍,查看世界与模板设定。
| |
|
| |
| 模板
| |
|
| |
| 默认有 3 种模板:普通,地狱和空岛。模板基于世界的环境自动选择 - normal 为普通的世界,nether 为地狱世界,skylands 为空岛世界。在 0.20 版本中,这些定义可以在 templates/ 目录找到,使用相应的名称“ templates/normal.txt,templates/nether.txt 和 templates/skylands.txt。
| |
|
| |
| 在 0.20,模板的名称可以使用 configuration.txt 中的 deftemplatesuffix 设定来变更。如果设置了,那么世界使用的模板的名称将会添加 - 和 deftemplatesuffix 设定的结果:所以设定 deftemplatesuffix 为 hires 将会造成 normal-hires 模板启用于所有的普通世界,nether-hires 启用于所有的地狱世界,skylands-hires 启用于所有的空岛世界。这会允许Dynmap(和其他的用户)使用预置的前缀设定,可以在 deftemplatesuffix 轻松设定。在 0.20版本,提供了 3 中默认的模板。
| |
|
| |
| *默认 (normal,nether,skylands)
| |
| *lowres 模板集 (normal-lowres, nether-lowres, skylands-lowres - 提供更低解析度的地图(默认的2倍)。
| |
| *hires 模板集 (normal-hires, nether-hires, skylands-hires - 提供更高解析度的地图 - 大概是默认地图的8倍 - 'lowres' 版本用于平原和洞穴地图。
| |
|
| |
| 在所有的情况下,模板的定义可以在 templates/ 目录找到,使用对应的名称,加上 .txt (比如 normal-hires 可以在 templates/normal-hires.txt 找到)。
| |
|
| |
| 世界
| |
|
| |
| 配置文件中,在模板章节附近还有一个世界设置。在 0.20 版本,推荐的配置文件的位置是 worlds.txt 文件。这里我们可以指定每个世界的单独的设置。我们会使用一些例子让你理解。
| |
|
| |
| 基本上每个世界都有一些默认的值。 title 设置为世界的名称, template 设置为世界的环境(如果 deftemplatesuffix 在 configuration.txt 中被定义,那么有一个短横线和 deftemplatesuffix 跟随)。这个世界的模板可以覆盖这些值,但是这些世界设定里的值可以覆盖模板的设定。
| |
|
| |
| 如果你有 3 个世界,名称为 world, nether 和 alternative,然后你像让他们以明确的顺序显示,你可以将其放入你的配置里:
| |
| <pre>
| |
| worlds:
| |
| - name: world
| |
| - name: alternative
| |
| - name: nether
| |
| </pre>
| |
| 这样他们就以 world, alternative, nether的顺序出现。
| |
|
| |
| 更改某个世界的标题,你可以在配置添加title的配置:
| |
| <pre>
| |
| worlds:
| |
| - name: world
| |
| title: "My Super Awesome World"
| |
| - name: alternative
| |
| - name: nether
| |
| </pre>
| |
| 你可以对所有的世界都这样做。
| |
|
| |
| 如果你想要关闭某个世界,比如世界alternative,你可以在配置添加 enable: false:
| |
| <pre>
| |
| worlds:
| |
| - name: world
| |
| title: "My Super Awesome World"
| |
| - name: alternative
| |
| enabled: false
| |
| - name: nether
| |
| </pre>
| |
| 你可以使用这个设置在你的模板里停用所有某一环境的世界。
| |
|
| |
| 如果你想要更改某个世界的特定的设置,你可以使用这个设置。这个设置还包含了 maps: 属性,这样你就可以指定世界使用的地图了:
| |
| <pre>
| |
| - name: world
| |
| title: "My Super Awesome World"
| |
| center:
| |
| x: 100
| |
| y: 64
| |
| z: 0
| |
| maps:
| |
| - class: org.dynmap.flat.FlatMap
| |
| name: flat
| |
| title: "Flat"
| |
| prefix: flat
| |
| colorscheme: default
| |
| </pre>
| |
| 这将让这个世界,设置中心为 (100,64,0),并且只在侧边栏显示平坦地图。
| |
|
| |
| 最终如果你有多个世界使用相同的设置,你可以添加一个模板到 templates: 部分(或者最好添加一个自定义分模板文件到 templates/ 目录),然后指定这些世界的模板。
| |
| <pre>
| |
| templates:
| |
| mycustomtemplate:
| |
| enabled: true
| |
| maps:
| |
| - class: org.dynmap.flat.FlatMap
| |
| name: flat
| |
| title: "Flat"
| |
| prefix: flat
| |
| colorscheme: ovocean
| |
| ...
| |
| worlds:
| |
| - name: world
| |
| template: mycustomtemplate
| |
| - name: nether
| |
| template: mycustomtemplate
| |
| - name: alternative
| |
| </pre>
| |
| 这里 world 和 nether 都使用 mycustomtemplate 模板,但是 alternative 会使用 normal 模板(因为这个示例中 alternative 有普通的世界环境)。
| |
|
| |
| 就像上面你能看见的一样,每个 FlatMap 或者 KzedMap 地图都可以设置一个特定的颜色主题。颜色主题可以在 plugins/dynmap/colorschemes/, 也可以在这里看到。一个关于这些的简介可以在颜色主题找到。
| |
|
| |
| 在 0.20 版本,一个新的地图种类出现了 - HDMap。这种地图种类,支持更高解析度的地图渲染,并且支持使用材质包,并且支持所有 FlatMap 和 KzedMap 的特性,但是更加灵活(允许自定义的观察角度,自定义的观察方向和缩放大小,等等)。有关配置 HDMaps 的详细信息,请查看HD Map 配置。
| |
| ==基础插件设定==
| |
| 这些设定是 configuration.txt 文件中的第一级设定,一般来说,会覆盖插件的基础设置,但与特殊的部件、地图和世界无关。有关部件的设定,详见部件设定。
| |
|
| |
| 核心设置包含以下内容:
| |
|
| |
| *deftemplatesuffix : 这个设定是可选的,字符串值。用于控制世界使用的模板,如果没有指定,那么普通的世界将会使用 normal 模板,地狱世界将会使用 nether 模板,末地世界将会使用 the_end 模板。当指定并且不为空后,使用的模板的名称将会是世界名加上下划线加上定义的内容。(比如 deftemplatesuffix 设置为XXX,普通的世界将会使用 normal_XXX 模板而不是 normal 模板。地狱世界将会使用 nether_XXX 模板,末地世界将会使用 the_end_XXX 模板)。查看高分辨率地图设定获得更多的信息。默认的模板有 vlowres, lowres, hires, 和 "" (留空)。
| |
|
| |
| *display-whitelist : 如果为 false(默认),用户是可见的直到他们使用了 /dynmap hide 命令,如果设置为 true,用户默认是不可见的直到他们使用了 /dynmap show 命令。
| |
|
| |
| *renderinterval : 这个设置为小数,以秒计算,用于控制多久之后tiles(比如玩家)需要被更新和处理。将这个设置的过低可能给服务器带来由于重复更新tiles的计算而额外的负担。默认为 0.5 秒,大多数的服务器设置为高于 0.2 的值都不会有问题。
| |
|
| |
| *renderacceleratethreshold : 这个设置为一个整数,用于设定处理从 renderinterval 到 renderaccelerateinterval 的tile更新队列的大小。这用于防止大量tiles的积累(玩家大量跑图创建新的区块时),不用以很快的速度处理常规的更新。
| |
|
| |
| *renderaccelerateinterval : 这个设定为以秒为单位的小数值,用于当tiles更新队列长度超过了 renderacceleratethreshold 的值而使用的类似 renderinterval 的值。
| |
|
| |
| *tiles-rendered-at-once : 这个设定控制异步渲染的更新tiles的最大数量。如果没有设置,那么默认的值会是处理器数量的一半。将这个值设置的偏小可以减少在大量加载更新tiles(如新生成的大量区块)时CPU的峰值使用量。
| |
|
| |
| *usenormalthreadpriority : 这个设定当设置为 true,会将渲染线程的优先度设置为普通(与最低优先度相比)。这可以帮助Windows下的渲染性能,但是可能会造成与其他进程的CPU使用竞争。大多数的Linux JVM忽略优先度。
| |
|
| |
| *zoomoutperiod : 这个设定为以秒为单位的整数,指定了移出的tiles的更新频率。用于防止由于玩家的重复改变(比如挖矿)而造成不必要的tiles的重新生成。默认的值为 60 秒。
| |
|
| |
| *enabletilehash : 此选项为 true 或者 false,用于启用tile数据的hash代码,可以用于避免在重新渲染后(比如tile不可见的方块)值没有发生变化的tile的重新编码。这减少了处理的负载、移出的处理和网页客户端的连接处理。
| |
|
| |
| *render-triggers : 这个设定为字符串列表,用于启用检测或者更新地图tile的不同的机制。定义的触发器如下:
| |
|
| |
| **chunkloaded : 这个触发器当地图的区块加载时更新tiles。这个触发器不再被推荐 - 使用 chunkgenerated ,因为 chunkloaded 可能造成大量的不必要的tiles的计算。在 v0.31 被删除。
| |
|
| |
| **playermove : 这个触发器在玩家移动时更新tiles。这个触发器不被推荐,因为会造成大量不必要的重新计算。
| |
|
| |
| **playerjoin : 这个触发器会在玩家登陆后的周围的区域更新tiles。
| |
|
| |
| **blockplaced : 这个触发器在玩家放置方块后更新tiles。(推荐)
| |
|
| |
| **blockbreak : 这个触发器会在玩家破坏方块后更新tiles。(推荐)
| |
|
| |
| **leavesdecay : 这个触发器会在玩家砍树后树叶掉落更新tiles。(推荐)
| |
|
| |
| **blockburn : 这个触发器会在火破坏一个方块后更新tiles。(推荐)
| |
|
| |
| **blockfaded : 这个触发器会在一个方块消失后(比如冰或雪融化)更新tiles。(推荐)
| |
|
| |
| **blockspread : 这个触发器会在一个方块传播(岩浆或水的流动)时更新tiles。
| |
|
| |
| **chunkgenerated : 这个触发器会在新的地图生成新的区块时更新tiles。(推荐)
| |
|
| |
| **pistonmoved : 这个触发器会在活塞伸出或收回时更新tiles。(推荐)
| |
|
| |
| **explosion : 这个触发器会在方块被爆炸摧毁后更新tiles。(推荐)
| |
|
| |
| **blockfromto : 这个触发器会在方块流入新的方块(水、岩浆)更新tiles。(推荐)
| |
|
| |
| **blockphysics : 这个触发器会在方块进行物理移动(掉落的沙砾、水、岩浆、沙子)时更新tiles。(推荐)
| |
|
| |
| **structuregrow : 这个触发器会在树枝长成树或者蘑菇长成巨型蘑菇时更新tiles。
| |
|
| |
| **blockgrow : 这个触发器会在方块生长(作物和蘑菇)时更新tiles。
| |
|
| |
| **blockredstone : 这个触发器会在红石电流更新了一个方块时更新tiles。(在你有高频的红石机械运作时小心使用)
| |
|
| |
| *webpage-title : 这个设定为一个字符串,用于指定Dynmap网页的标题。如果没有设定,将会尝试使用 server.properties 中的 'server-name',如果没有设置或者为 'Unknown Server',那么将自动设置为 'Minecraft Dynamic Map'。
| |
|
| |
| *tilespath : 这个设定为一个字符串,用于指定地图tiles生成的路径(可以是Dynmap插件目录相对路径或者绝对路径),(并且是内部服务器使用的路径)。
| |
|
| |
| *webpath : 这个设定为一个字符串,用于指定内部服务器的根目录。所有内部服务器使用的文件(除了地图tiles)都会基于这个路径。可以是Dynmap插件目录相对路径或者绝对路径。
| |
|
| |
| *webserver-bindaddress : 这个设定为一个IP地址,控制内部服务器的网络接口绑定的地址。默认为 0.0.0.0,将会让服务器绑定在所有的接口(应该对绝大部分的配置都是正确的)。设置为 127.0.0.1 会让其只绑定在本地网络(如果一个外部的Web服务器在同一台机器使用时可以这样做)。其他的值必须与网络地址匹配(不是防火墙外的公共地址或者代理)。
| |
|
| |
| *webserver-port : 这个设定为一个整数,指定了内部的Web服务器绑定的端口。默认为 8123。注意大多数的操作系统需要使用root权限运行程序才能将端口绑定至 1024 以下的端口。
| |
|
| |
| *max-sessions : 这个设定为一个整数,设置Web服务器活跃的最大的异步会话数量(限制会话使用的资源和线程)。默认的值为 30。
| |
|
| |
| *http-response-headers : 这个设置为一串属性/值对,提供了在所有的HTTP相应中添加自定义的header值。这个属相下的值为header的值。见下示例:
| |
| <pre>
| |
| http-response-headers:
| |
| Access-Control-Allow-Origin: "http://mydomain.com"
| |
| X-Another-Header: "Another Header Value"
| |
| </pre>
| |
| *disable-webserver : 如果设置为 true ,内部的Web服务器将会关闭(这需要使用外部Web服务器,和JSONFileClientUpdateComponent部件),其他的配置选项需要将其设置为 false 。
| |
|
| |
| *allow-symlinks : 如果设置为 true , webpath 或 tilespath 目录下的目录允许含有符号链接(symbolic link)。如果设置为 false ,内部Web服务器将不会使用符号链接(推荐实验一下,因为几乎所有的外部Web服务器都会使用)。
| |
|
| |
| *timesliceinterval : 此设置为以秒为单位的小数,指定处理 /dynmap fullrender 时tile处理的最小时间段。默认的值为 0.0 (无延迟)。非 0 的值可以在全部渲染时减少服务器的负载,但是会显著增长处理的时间。
| |
|
| |
| *maxchunkspertick : 此设置为一个整数,限制一个服务器tick中地图区块加载的数量。因为加载地图区块是Bukkit服务器主线程的主要负载源,这可以用来限制可能由于地图处理导致的卡顿。
| |
|
| |
| *progressloginterval : 此设置为一个整数,是全部渲染请求是记录进度的间隔。默认(并且最小)的值为 100。
| |
|
| |
| *parallelrendercnt : 此设置是可选的,为一个整数,用于在全部渲染时使用多于一条线程进行处理。这个设定表明了异步线程的数量,应该限制为服务器处理器的数量(或者少于)。设置此将会增加CPU的使用,可能会使用更多的内存。在设置为等于或者超过系统的处理器数量时应该保持注意。
| |
|
| |
| *updaterate : 此设置为以毫秒为单位的整数,指定Web客户端应该多长时间查询服务器的更新(无论是tiles更新 聊天信息或者玩家的位置更新)。设置更高的值会减少Web服务器的流量负载。
| |
|
| |
| *fullrenderplayerlimit : 此设置是可选的,设定了当玩家登陆的数量超过多少后停止处理全部渲染/范围渲染的值。默认为 0(停用),设置为 1 会在任何玩家登陆时停止处理全部渲染/范围渲染。
| |
|
| |
| *showplayerfacesinmenu : 这个设定为 true或者false,用于控制在网页托盘中是否显示在线玩家。默认显示(true)。
| |
|
| |
| *sidebaropened : 此设置为一个字符串,用于控制侧边栏菜单开启(true),固定(pinned)或者默认关闭(false)。默认为 false。
| |
|
| |
| *joinmessage : 此设置为一个字符串,用来控制玩家加入服务器时网页显示的消息。%playername% 用来表示玩家的名称。
| |
|
| |
| *quitmessage : 此设置为一个字符串,用来控制玩家退出服务器时网页显示的消息。%playername% 用来表示玩家的名称。
| |
|
| |
| *spammessage : 此设置为一个字符串,当网页聊天用户试图发送过多的信息时显示。
| |
|
| |
| *webprefix : 此设置为一个字符串,用于给接收到的网页聊天添加前缀。'&color;' 可以用来代替Bukkit颜色代码。
| |
|
| |
| *websuffix : 此设置为一个字符串,用于给接收到的网页聊天添加后缀。'&color;' 可以用来代替Bukkit颜色代码。
| |
|
| |
| *showlayercontrol : 此设置可为 true 或 false,用于控制覆盖层是否显示(设置为 false 会造成覆盖层的不显示,即使定义了记号层)。默认为 true。
| |
|
| |
| *check-banned-ips : 此设置可为 true 或 false,用于控制内部Web服务器是否检查 banned-ips.txt 来阻塞已经被禁止的IP连接到网页。
| |
|
| |
| *persist-ids-by-ip : 如果为 true,玩家的IP地址和联系的玩家ID是持久的,将会在服务器关闭或重启后被保存()if true, player IP addresses and the associated player IDs are persistent, and will be saved on server shutdown and reloaded on server startup (允许累加玩家的已知IP)。默认为 true。(0.29及之后的版本)
| |
|
| |
| *defaultzoom : 此设置为一个整数,指定了网页被第一次加载时默认的缩放的大小。
| |
|
| |
| *defaultworld : 此设置为一个字符串,指定了网页被第一次加载时默认显示的世界。
| |
|
| |
| *defaultmap : 此设置为一个字符串,指定了网页被第一次加载时默认显示的地图。
| |
|
| |
| *followzoom : 此设置为可选的设置,为一个整数,指定了当网页选择了要跟随的玩家时,默认的缩放等级。
| |
|
| |
| *followmap : 此设置为可选的设置,为一个字符串,指定了当网页选择了要跟随的玩家时,默认显示的地图。
| |
|
| |
| *verbose : 此设置可为 true 或 false,控制Dynmap插件启动时的信息的详细程度。设置为 false 将会明显减少显示的信息和细节。
| |
|
| |
| *hideores : 此设置可为 true 或 false,控制是否隐藏所有的矿物方块,让他们变得和普通的石块(防止利用地图寻找裸露的矿物)。默认为 false。
| |
|
| |
| *better-grass : 此设置可为 true 或 false,控制是否渲染草地和雪地的侧面,就像 BetterGrass Mod 一样。默认为 false。
| |
|
| |
| *smooth-lighting : 此设置可为 true 或 false,提供所有地图都支持的平滑光照的设定。设置为 true 可以在使用的所有地图上开启平滑光照,此选项也是每个着色器的基础设定,可以在单独的地图上开启这个特性。开启此特性将会增加 10% 的渲染成本。
| |
|
| |
| *use-generated-textures: 此设置如果设置为 true,那么将导致基于材质包的高解析度地图使用Minecraft客户端相同的纹理来渲染水、岩浆和火焰。如果设置为 false,老的材质 texture.png 和 misc/water.png 将会使用。(0.29之前的结果)设置之后需要进行一次全地图的渲染才能得到正确的结果。
| |
|
| |
| *correct-water-lighting: 此设置如果设置为 true,将会导致基于材质包的高解析度地图渲染器像Minecraft客户端一样处理水的光照。如果设置为 false,那么将会使用老的水 - 也就会更暗。(0.29之前的结果)设置之后需要进行一次全地图的渲染才能得到正确的结果。
| |
|
| |
| *fetchskins : 此设置可为 true 或 false,控制服务器在玩家登陆时是否尝试获取玩家的皮肤。如果设置为 false,默认的皮肤将会显示在所有玩家身上。默认为 true。
| |
|
| |
| *refreshskins : 此设置可为 true 或 false,控制每次玩家登陆时刷新皮肤数据。如果设置为 false,已有的文件将永远不会刷新(如果是管理员手动上传皮肤数据那么很有用)。默认为 true。
| |
|
| |
| 网页接口的用户登陆安全设定
| |
|
| |
| 网页支持的基于用户登陆的安全系统可以在这里设置:
| |
|
| |
| *login-enabled : 此设置可为 true 或 false,启用登陆安全支持(如果设置为 true)。
| |
|
| |
| *login-required : 此设置可为 true 或 false,强迫所有的用户登陆才能进入网页。(如果设置为 true)
| |
| ==部件设定==
| |
| Dynmap的界面和接口通过一些部件构成。不是所有的部件都可以被开启,并且有些必须开启。
| |
|
| |
| 见:[[Dynmap/部件设定]]
| |
|
| |
| ==世界&模板设定==
| |
| 有很多用于控制地图和界面的可配置的设置,大多数都可以使用模板设置 - 这是很正常的,因为模板本质上是用来设置世界没有指定的某些设置的集合。
| |
|
| |
| 按道理来说,任何定义的世界都应该有一些默认的设置,按照他们的环境(普通、地狱、空岛)分为不同的模板 - 设置继承于默认的与环境名称相同的模板。如果 deftemplatesuffix 设置,模板的名称将变成环境加 '-' 加上设置的后缀。所以设置 deftemplatesuffix 为 hires 让普通的世界使用 normal-hires 模板,而地狱使用 nether-hires 模板。
| |
|
| |
| 除了这些由模板继承的设置,给定的设置可以通过在 worlds:(在 worlds.txt,或者 configuration.txt) 部分指定选项来给出自定义的设置。当给定世界的选项在配置文件出现,任何在配置中提供的设置将会覆盖对应的继承自模板的设定。
| |
|
| |
| 除了世界的名称和地图以外,所有的世界设定都是可选的,并且拥有默认的值,地图通常由模板提供。因此,在worlds:部分下的设定只能包含世界名称:
| |
| <pre>
| |
| worlds:
| |
| - name: world1
| |
| - name: world2
| |
| </pre>
| |
| 这可以用来控制世界的顺序,因为定义的世界总是根据这里的顺序排列。
| |
|
| |
| 一份更加复杂的示例世界设置如下:
| |
| <pre>
| |
| worlds:
| |
| - name: world
| |
| title: "My Great World"
| |
| enabled: true
| |
| template: mycustomtemplate
| |
| sendposition: true
| |
| sendhealth: true
| |
| fullrenderlocations:
| |
| - x: 100
| |
| y: 64
| |
| z: 2000
| |
| visibilitylimits:
| |
| - x0: -1000
| |
| z0: -1000
| |
| x1: 1000
| |
| z1: 1000
| |
| hiddenlimits:
| |
| - x0: 100
| |
| z0: 0
| |
| x1: 200
| |
| z1: 0
| |
| hidestyle: stone
| |
| center:
| |
| x: 0
| |
| y: 64
| |
| z: 0
| |
| bigworld: false
| |
| extrazoomout: 0
| |
| maps:
| |
| - class: org.dynmap.flat.FlatMap
| |
| ....
| |
| </pre>
| |
| 可用的设定如下
| |
|
| |
| *name : 设置世界的名称,必须独一无二,不能从模板继承。
| |
|
| |
| *title : 如果设置,此字符串为世界的标签,默认留空。
| |
|
| |
| *enabled : 如果启用(设置为 true),将会启用该世界的地图,或者禁用(设置为 false)。所有的世界都是默认启用的,所以将其设置为 false 只能防止生成地图和显示在网页上。
| |
|
| |
| *template : 如果设置,此选项覆写模板的默认世界设置。如果没有设置,那么将会使用基于世界环境的模板的设置(普通、地狱或空岛),如果设置了 deftemplatesuffix,还会在后面跟上 -deftemplatesuffix。这个设定不能由模板继承而来。
| |
|
| |
| *sendposition : 如果设置为 false,这将导致该世界的所有玩家的位置信息全部隐藏,设置此属性为 true 时,如果全局 sendposition 设置为 false,那么仍然不显示位置信息。如果没有设置此选项,默认为 true。
| |
|
| |
| *sendhealth : 如果设置为 false,这将导致该世界的所有玩家的生命信息全部隐藏,设置此属性为 true 时,如果全局 sendhealth 设置为 false,那么仍然不显示生命信息。如果没有设置此选项,默认为 true。
| |
|
| |
| *fullrenderlocations : 如果设置,这组世界坐标列表(每个坐标由x,y和z坐标组成)定义了一组附加位置(如果一个/dynmap fullrender命令由游戏玩家发出,那么为除了x=0,y=64,z=0,或玩家的当前位置的坐标)来开始一次完全渲染。讲道理,fullrender 就像画图软件中的油漆桶一样 - 如果地图在区块之间有间隙,比如地图使用传送门或者传送来探索,那么从一个点开始的完全渲染可能无法到达地图生成的全部区块: 添加到 fullrenderlocations 中的坐标点也会使这些区块被渲染。
| |
|
| |
| *visibilitylimits : 如果设置,那么这个列表代表的矩形能够用来限制渲染的区域:矩形外的区域将不会被精确呈现,而是使用某种形式填充(见下 hidestyle)。如果列表为空,那么将没有限制,地图将会渲染到生成的所有区块的边缘位置。每个矩形由两个坐标对 - x0, z0, 和 x1, z1 组成。从 1.5-alpha-3 开始,可以使用 x, z 作为圆心, r 作为半径的原型区域。
| |
|
| |
| *hiddenlimits : 如果设置,那么这个列表代表的矩形与 visibilitylimits 相反 - 定义了隐藏的世界特定区域(使用 hidestyle 的设置来填充)。如果定义了 'visibilitylimits' 和 'hiddenlimits',那么首先使用 'visibilitylimits'(确定可见区域),然后使用 'hiddenlimits' 来进一步限制渲染的区域。每个矩形由两个坐标对 - x0, z0, 和 x1, z1 组成。从 1.5-alpha-3 开始,可以使用 x, z 作为圆心, r 作为半径的原型区域。
| |
|
| |
| *hidestyle : 如果 visibilitylimits 和/或 hiddenlimits 设置限制了世界的可见区域,则 hidestyle 设置用于控制如何显示这些无法显示的区块。有以下 3 种设置:stone,用石块填满隐藏区域,ocean,用海填满隐藏的地区,或 air,使隐藏区域为空(如世界地图的生成部分的边缘)。默认值为stone。
| |
|
| |
| *center : 如果设置,此选项提供该世界的地图的视点中心。该坐标包括了 x, y 和 z 的坐标。如果没有设置,则使用世界的出生点坐标。
| |
|
| |
| *bigworld : 如果设置,则将使用 FlatMap 或 KzedMap 地图种类的替代的文件结构,这个结构更加适合拥有数万数十万的 tiles 的大型世界。HDMap 始终使用这种结构,不会被此设置影响。默认为 false,当使用 true 则启用这种文件结构。如果更改了此设置,则需要使用 /dynmap fullrender 开初始化全新的地图。
| |
|
| |
| *extrazoomout : 如果设置,那么这将指定地图默认的缩小等级。这能让地图查看器提供更多的缩放等级,也能生成其他的缩放等级的 tiles(基于原始的tiles):每一级将会缩小两倍的大小,每一级 4 个tiles将会缩小为 1 个tiles。启用此设置将会增加tiles文件数量和磁盘使用量的 25% - 33%,但是可以在大型世界更高的找到方位。默认为 0(无附加的缩小)。
| |
|
| |
| *maps : 如果设置,那么 maps 部分提供了按地图查看器显示的顺序用于渲染世界的所有的设置,如果在 worlds: 部分设置,则替换世界模板提供的地图设置。有关地图定义的详细信息,参见地图配置和高解析度地图配置。
| |
| ===颜色主题===
| |
| 从Dynmap0.14开始内置4中颜色主题文件:default.txt, flames.txt, ovocean.txt, 和 sk89q.txt。
| |
|
| |
| 使用不同的颜色主题可以将 configuration.txt 内的 colorscheme: default 选项更改为你想用的颜色主题(颜色主题文件去掉 .txt)。
| |
|
| |
| 这里是一些示例的每种颜色主题在相同地形的渲染图。由于角度差异,平面地图和默认的渲染采用不同的地形采样。点击查看完整大小。
| |
|
| |
| [https://github.com/FrozenCow/dynmap/blob/master/colorschemes/default.txt Default 颜色主题]
| |
|
| |
| [[文件:-Dynmap-01.png]][[文件:-Dynmap-02.png]]
| |
|
| |
| [https://github.com/FrozenCow/dynmap/blob/master/colorschemes/flames.txt Flames 颜色主题]
| |
|
| |
| [[文件:-Dynmap-03.png]][[文件:-Dynmap-04.png]]
| |
|
| |
| [https://github.com/FrozenCow/dynmap/blob/master/colorschemes/ovocean.txt ovocean 颜色主题]
| |
|
| |
| [[文件:-Dynmap-05.png]][[文件:-Dynmap-06.png]]
| |
|
| |
| [https://github.com/FrozenCow/dynmap/blob/master/colorschemes/sk89q.txt sk89q 颜色主题]
| |
|
| |
| [[文件:-Dynmap-07.png]][[文件:-Dynmap-08.png]]
| |
|
| |
| ===世界配置===
| |
| configuration.txt 以掳爱那个部分呢需要在设置 Dynmap 的多世界时检查。第一个仅用于服务端的地图渲染,另一部分是关于浏览器怎样显示地图(当然还有什么地图)。
| |
|
| |
| 以下是 configuration.txt 的这两部分,你可以看见这个示例包含了两个世界:world 和 nether。 世界 world 有两张地图,但是这看起来可能不是很显而易见,因为看起来像是只有一张地图。实际上我们设置了两个渲染器,地图有两个前缀,这指定了 minecraft_server/plugins/dynmap/web/tiles/world/ 中的 tiles 的文件名。这些前缀对于这些世界必须是独一无二的。
| |
|
| |
| 另一个世界叫 nether,只有一张地图。注意此地图有一个特殊的设置 maximumheight,这指定了渲染器不渲染的部分,这是为地狱环境准备的选项,因为地狱的上方全是基岩,不用渲染。
| |
|
| |
| 服务端的部分
| |
| <pre>
| |
| # The maptypes Dynmap will use to render.
| |
| worlds:
| |
| - name: world
| |
| maps:
| |
| - class: org.dynmap.kzedmap.KzedMap
| |
| renderers:
| |
| - class: org.dynmap.kzedmap.DefaultTileRenderer
| |
| prefix: t
| |
| maximumheight: 127
| |
| - class: org.dynmap.kzedmap.CaveTileRenderer
| |
| prefix: ct
| |
| maximumheight: 127
| |
| - name: nether
| |
| maps:
| |
| - class: org.dynmap.kzedmap.KzedMap
| |
| renderers:
| |
| - class: org.dynmap.kzedmap.DefaultTileRenderer
| |
| prefix: nt
| |
| maximumheight: 64
| |
| </pre>
| |
| 网页的部分
| |
| <pre>
| |
| web:
| |
| defaultworld: world
| |
| worlds:
| |
| - title: World
| |
| name: world
| |
| maps:
| |
| - type: KzedMapType
| |
| title: Surface
| |
| name: surface
| |
| prefix: t
| |
| - type: KzedMapType
| |
| title: Cave
| |
| name: cave
| |
| prefix: ct
| |
| - title: Nether
| |
| name: nether
| |
| maps:
| |
| - type: KzedMapType
| |
| title: Surface
| |
| name: nether
| |
| prefix: nt
| |
| </pre>
| |
| 如何进行
| |
| 保证:
| |
|
| |
| *你的世界文件夹在 minecraft_server 的根部目录,比如 minecraft_server/world 和 minecraft_server/nether。
| |
| *你的世界文件夹就在 minecraft_server 文件夹中,和 craftbukkit*.jar 同级,而不是什么子目录。
| |
| *你的世界文件夹没有去怪的符号,只有数字字母和下划线。
| |
| *服务器部分和网页部分的世界的 name 设置都匹配你的世界文件夹的名称,比如 world 或 nether。注意这些名称是大小写敏感的。
| |
| *defaultmap 匹配网页部分的一张地图的名称,再次注意这些名称是大小写敏感的!
| |
| *如果你更改了 prefix 变量,那么应该在服务端部分和网页部分同时更改。
| |
| *重启服务器后,在世界中放置和破坏一些方块看看效果。你的角色应该在世界上可见,你可以点击你的角色来快速到达角色所在的世界。
| |
| ==高分辨率地图设定==
| |
| 见:[[Dynmap/高分辨率地图设定]]
| |
|
| |
|
| ==支持的基于Forge的Mod== | | ==支持的基于Forge的Mod== |
第514行: |
第43行: |
| * Twilight Forest | | * Twilight Forest |
| * XyCraft | | * XyCraft |
| | |
| ==支持的服务端== | | ==支持的服务端== |
| Dynmap 包括了除了 CraftBukkit 的其他版本。其他的最新的版本可以在[http://www.minecraftforum.net/topic/1543523-dynmap-dynamic-web-based-maps-for-minecraft/ 这里]找到。目前有 3 个Dynmap主要的平台: | | Dynmap 包括了除了 CraftBukkit 的其他版本。其他的最新的版本可以在[http://www.minecraftforum.net/topic/1543523-dynmap-dynamic-web-based-maps-for-minecraft/ 这里]找到。目前有 3 个Dynmap主要的平台: |
第521行: |
第51行: |
| *[https://github.com/webbukkit/DynmapSpout/ DynmapSpout] | | *[https://github.com/webbukkit/DynmapSpout/ DynmapSpout] |
|
| |
|
| Spigot | | ;Spigot |
|
| |
|
| Spigot 通过 Bukkit Dynmap 被完全支持。 | | Spigot 通过 Bukkit Dynmap 被完全支持。 |
|
| |
|
| MinecraftForge | | ;MinecraftForge |
|
| |
|
| 很多版本的 MinecraftForge 都是支持的,可以使用 DynmapForge 项目。所有的 Forge 版本的 Dynmap 都需要特定的 Forge 版本,升级 Forge 版本也需要升级到对应的 DynmapForge 版本。你应该按照如下的方法来安装或者升级: | | 很多版本的 MinecraftForge 都是支持的,可以使用 DynmapForge 项目。所有的 Forge 版本的 Dynmap 都需要特定的 Forge 版本,升级 Forge 版本也需要升级到对应的 DynmapForge 版本。你应该按照如下的方法来安装或者升级: |
第533行: |
第63行: |
| *如果是升级,那么删除 'mods' 下老的 'Dynmap-x.y.zip'。 | | *如果是升级,那么删除 'mods' 下老的 'Dynmap-x.y.zip'。 |
|
| |
|
| MCPC+ | | ;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 服务器上。 | | 目前 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 |
|
| |
|
| BukkitForge mod,一个基于 Forge 的 Mod,添加了Bukkit 的 API,是不被 Dynmap 的 Bukkit 版本支持的。可以使用 DynmapForge 版本,并且搭配 DynmapCBBridge 插件。安装过程与上方的 MCPC+ 相同。 | | BukkitForge mod,一个基于 Forge 的 Mod,添加了Bukkit 的 API,是不被 Dynmap 的 Bukkit 版本支持的。可以使用 DynmapForge 版本,并且搭配 DynmapCBBridge 插件。安装过程与上方的 MCPC+ 相同。 |
|
| |
|
| Tekkit Classic | | ;Tekkit Classic |
|
| |
|
| Tekkit Classic,和更老的 MCPC (没有+ - v1.2.5),被 DynmapBukkit 支持。 | | Tekkit Classic,和更老的 MCPC (没有+ - v1.2.5),被 DynmapBukkit 支持。 |
|
| |
|
| Tekkit-Lite | | ;Tekkit-Lite |
|
| |
|
| Tekkit-Lite 被 DynmapForge 支持,而不是 Bukkit Dynmap。按照上方 Forge 的安装方式安装 Dynmap。 | | Tekkit-Lite 被 DynmapForge 支持,而不是 Bukkit Dynmap。按照上方 Forge 的安装方式安装 Dynmap。 |
|
| |
|
| Spout | | ;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。 | | Spout 服务器被 DynmapSpout 的实验项目支持(Spout 进行的重构使对其进行支持不切实际)。安装至 Spout 与 Bukkit 相同(解压到 plugins 目录)。注意:这个项目是给 Spout 服务器使用而不是 Bukkit 上的 Spout 插件。Spout插件可以使用 Bukkit Dynmap。 |
|
| |
|
| 从 Bukkit Dynmap 迁移到 Forge Dynmap | | ;从 Bukkit Dynmap 迁移到 Forge Dynmap |
|
| |
|
| 将 Bukkit Dynmap 迁移到 Forge Dynmap 可以按照以下方式进行: | | 将 Bukkit Dynmap 迁移到 Forge Dynmap 可以按照以下方式进行: |
第571行: |
第104行: |
| *按照安装对应 Forge 版本的方法安装。 | | *按照安装对应 Forge 版本的方法安装。 |
|
| |
|
| ===Tekkit=== | | ==安装== |
| [http://www.technicpack.net/tekkit/ Tekkit] 是一个将大量的 Minecraft Mods 整合在 Bukkit 服务器的服务端。Dynmap 支持 Tekkit,目前的 Dynmap 版本会自动检测 Mod,和他们的方块ID,渲染支持的方块。目前支持 Tekkit v3.1.3 | | 见:[[Dynmap/安装]] |
| | |
| | ==配置== |
| | 见:[[Dynmap/配置]] |
|
| |
|
| ==命令== | | ==命令== |
第583行: |
第119行: |
| 用于启动Web界面的URL可以有多个参数,可以用于改变发送给玩家的默认界面效果。这可以用来在加载WebUI时加载指定的世界或者地图,或者一个指定的缩放大小,或者将地图的中心设置为某个指定的世界坐标。 | | 用于启动Web界面的URL可以有多个参数,可以用于改变发送给玩家的默认界面效果。这可以用来在加载WebUI时加载指定的世界或者地图,或者一个指定的缩放大小,或者将地图的中心设置为某个指定的世界坐标。 |
|
| |
|
| 参数由一串属性-值组成,每个的参数格式就像这样: | | 参数由一串属性-值组成,每个的参数格式就像这样:<code>attribute-id=value</code> |
| | |
| attribute-id=value | |
| | |
| 基础的URL必须含有一个问号 (?) 在第一个参数之前,每个参数之间必须以这个符号间隔,所以,如果这是默认的dynmap链接:
| |
|
| |
|
| http://mygreatserver:8123/ | | 基础的URL必须含有一个问号 (?) 在第一个参数之前,每个参数之间必须以这个符号间隔,所以,如果这是默认的dynmap网址:<code><nowiki>http://mygreatserver:8123/</nowiki></code> |
|
| |
|
| 那么,直接打开 'fred' 世界并且显示 'surface' 地图的网页,就可以像这样:
| | 那么,直接打开“fred”世界并且显示“surface”地图的网页,就可以像这样:<code><nowiki>http://mygreatserver:8123/?worldname=fred&mapname=surface</nowiki></code> |
|
| |
|
| http://mygreatserver:8123/?worldname=fred&mapname=surface | | 如果你想要使用一个外置的服务器,格式也是一样的 - 添加问号,使用 & 分隔参数:<code><nowiki>http://mycoolapacheserver.com/dynmap?worldname=fred&mapname=surface</nowiki></code> |
|
| |
|
| 如果你想要使用一个外置的服务器,格式也是一样的 - 添加问号,使用 & 分割:
| | 可用的参数如下: |
| | |
| http://mycoolapacheserver.com/dynmap?worldname=fred&mapname=surface
| |
| | |
| 可用的参数有以下:
| |
|
| |
|
| * worldname - 这个指定了世界的名称(不是标题)。如果没有定义,那么会显示第一个默认的世界(除非在 _configuration.txt里设置了显示哪个世界)。 | | * worldname - 这个指定了世界的名称(不是标题)。如果没有定义,那么会显示第一个默认的世界(除非在 _configuration.txt里设置了显示哪个世界)。 |
第613行: |
第141行: |
| * nogui - 如果设置为 'true',那么WebUI将会关闭所有的控制面板,就像只显示地图层一样。 | | * nogui - 如果设置为 'true',那么WebUI将会关闭所有的控制面板,就像只显示地图层一样。 |
| * nocompass - 如果设置为 'true',那么UI上的指南针将会隐藏。(v2.2-alpha-1) | | * nocompass - 如果设置为 'true',那么UI上的指南针将会隐藏。(v2.2-alpha-1) |
| ==使用标记==
| |
| Dynmap 支持添加数据到地图的机制,这些数据统称为Markers标记,由记号(标记图标),区域标记和折线标记构成。
| |
|
| |
| 标记组
| |
|
| |
| 标记的收集和组织被称为Marker Sets标记集,每个标记集是一个图层,可以使用网页的层选择器选择,每个标记都包含在特定的标记集中。默认情况下,总有一个标签为 Markers 的标记集,用于包括没有被手动分配的标记。删除标记集将会删除集合中的所有标记。
| |
|
| |
| 新的标记集可以通过使用 /dmarker addset <markerset-label> 或 /dmarker addset id:<markerset-id> 命令来创建,这个命令可以添加其他的参数: prio:<N> 用于控制图层的相对于其他的标记集的优先度顺序;hide:<true|false> 用于控制默认情况下是否可见(选中)或不可见(未选中);minzoom:<N> 用于控制标记集可见的最小的缩放程度,如果为达到此缩放将不会可见。
| |
|
| |
| 对已有标记集的设置可以通过使用 /dmarker updateset <markerset-label> 或 /dmarker updateset id:<markerset-id> 命令,可以使用 prio:<N>,hide:<true|false> 或 newlabel:<new-label> 参数。
| |
|
| |
| 在 0.32 版本,选项 showlabels:<true|false|null> 被加入支持。此选项为 true 或 false 时,将会启用或禁用标记集的标签的可见性(禁用时,如果鼠标悬浮在某标记上,标签仍然会显示)。值 null 将会使用全局设置(由 configuration.txt 中的 markers 部件的 showlabels 设置指定)。
| |
|
| |
| 标记集(除了默认的 Markers 集合)可以使用 /dmarker deleteset <markerset-label> 或 /dmarker deleteset id:<markerset-id> 命令删除。
| |
|
| |
| 记号
| |
|
| |
| 记号是最常见的地图标记 - 简单的图标和一些描述性的标签和弹出窗口。每个记号都有一个在世界中的坐标(X Y Z 和世界 ID),一个记号图标 ID,一个标签,和一个可选的描述。记号图标 ID 可以是标准记号 ID(本页底部) 中的一个,也可以对应安装的图标(查看下方的 记号图标 部分)。
| |
|
| |
| 记号可以通过以下方法添加:
| |
|
| |
| */dmarker add <marker-label> icon:<icon-id> set:<markerset-id> - 此命令必须由一个在线的玩家使用,这将在玩家的位置添加一个记号,如果 set 没有被提供,那么记号将会创建于默认的标记集。如果 icon 没有被提供,那么将会使用默认的记号图标(default,一个房子)。
| |
|
| |
| */dmarker add id:<marker-id> <marker-label> icon:<icon-id< set:<markerset-id> - 与上方相同,但需要提供 独立 ID。
| |
|
| |
| *使用牌子 - 如果 markers 部件的 enablesigns 设定被弃用,那么拥有对应权限的用户可以使用特殊标签的牌子来创建记号。牌子的第一行必须是 [dynmap],之后,除了格式为 set: <标记集ID> 或 icon:<图标ID>(允许设置为特殊的图标,如果没有设置,那么将使用默认的 sign 图标)的行数都将被包含在此记号的标签中。如果记号被成功创建,牌子的 [dynmap],set:,icon: 行都会被删除。如果这个牌子之后被破坏,那么地图上对应的记号将被删除。
| |
|
| |
| 创建后,记号可以使用以下的命令编辑:
| |
|
| |
| */dmarker movehere <marker-label> set:<markerset-id> 或 /dmarker movehere id:<marker-id> set:<markerset-id> - 此命令将会移动指定的记号到玩家的位置,注意:如果要选择不在默认集中的记号,那么 markerset-id 是必要的。
| |
|
| |
| */dmarker update <marker-label> set:<markerset-id> icon:<icon-id> newlabel:<new-label> 或 /dmarker update id:<marker-id> set:<markerset-id> icon:<icon-id> newlabel:<new-label> - 注意:如果要选择不在默认集中的记号,那么 markerset-id 是必要的。
| |
|
| |
| 记号可以使用 /dmarker delete <marker-label> set:<markerset-id> 或 /dmarker delete id:<marker-id> set:<markerset-id> 命令来删除。
| |
|
| |
| 可以使用 /dmarker list set:<markerset-id> 命令来列出所有已有的记号和属性。
| |
|
| |
| 记号图标
| |
|
| |
| 记号图标是用于给记号提供图标的图像,Dynmap 提供了一些默认的标准图标,全部都在下方的图片中,它们是预设的,并且不可以被删除。可以使用 /dmarker icons 命令来列出所有可用的图标。
| |
|
| |
| 新的图标可以通过以下几步来安装:
| |
|
| |
| *将 PNG 格式的图像文件复制进 Bukkit 的服务器文件夹,图片应该为 8x8,16x16 或 32x32 的大小。
| |
|
| |
| *运行命令 /dmarker addicon id:<icon-id> <icon-label> file:<path-to-image-file> - 如果成功,图片文件将被导入(所以不用放在第一次复制的地方)。
| |
|
| |
| 更新已有的图标的图片可以使用 /dmarker updateicon id:<icon-id> newlabel:<new-label> file:<path-to-image-file> 命令。
| |
|
| |
| 删除已有的图片可以使用 /dmarker deleteicon id:<icon-id> 命令。
| |
|
| |
| [[文件:-Dynmap-09.png]]
| |
|
| |
| 区域记号
| |
|
| |
| 区域标记用于在地图上方式 3D 或者 2D 的轮廓,区域标记由 2 个或者更多个的 X Z 坐标点序列组成的长方形(如果是两个点则是矩形的对角)或者多边形(如果是三个或者更多的点,则是多边形的有序的角序列,从第一个连接到最后一个再连回第一个点)。可选的,你可以设置设置最小和最大的 Y 值,将二维模型拓展为三维模型(顶部和底部是平坦的)。
| |
|
| |
| 可以设置颜色属性(#RRGGBB)和线段重量(0-N)和透明度(0.0-1.0)控制填充区域的颜色和外观。
| |
|
| |
| 创建一个区域之前必须提供一组角,可以通过以下步骤完成:
| |
|
| |
| *运行 /dmarker addcorner 命令来将玩家的当前位置添加为一个角
| |
|
| |
| *运行 /dmarker addcorner <x> <y> <z> 或 /dmarker addcorner <x> <y> <z> <world> 命令来添加指定的坐标点为一个角
| |
|
| |
| 添加的角可以使用 /dmarker clearcorners 命令来清除。
| |
|
| |
| 添加角之后,可以使用 /dmarker addarea <area-label> set:<markerset-id> 或 /dmarker addarea id:<area-id> <area-label> set:<markerset-id> 命令来创建一个区域标记。可以使用这些命令来设置附加的属性,或者使用 /dmarker updatearea id:<area-id> set:<markerset-id> 或 /dmarker updatearea <area-label> set:<markerset-id> 命令来更新已有的区域的属性。可用的选项包括:
| |
|
| |
| *color - 轮廓颜色 (#RRGGBB 格式)
| |
|
| |
| *fillcolor - 填充颜色 (#RRGGBB 格式)
| |
|
| |
| *opacity - 轮廓的不透明度 (0.0 = 透明, 1.0 = 实体)
| |
|
| |
| *fillopacity - 填充的不透明度 (0.0 = 透明, 1.0 = 实体)
| |
|
| |
| *weight - 轮廓的重量(0=最小,越大越粗)
| |
|
| |
| *ytop - 区域最大的 Y 轴高度 (默认=64)
| |
|
| |
| *ybottom - 区域最小的 Y 轴高度 (默认=64)
| |
|
| |
| 注意:现有的区域无法更新,必须删除后重新创建新的区域。另外,当使用 /dmarker addarea 命令创建区域后,当前的角列表将会重置。
| |
|
| |
| 你可以使用 /dmarker deletearea id:<area-id> set:<markerset-id> 命令删除一个区域标记。
| |
|
| |
| 已经存在的区域和他们的属性可以使用 /dmarker listareas set:<markerset-id> 命令显示。
| |
|
| |
| 圆形标记
| |
|
| |
| 圆形标记用于在地图上放置二维圆形(或椭圆)轮廓,此区域使用圆形的轮廓,通过一个中心点(XYZ)和一个半径(圆形)或 X 和 Z 半径(椭圆)来创建。
| |
|
| |
| 轮廓边缘的外观可以通过设置颜色属性(#RRGGBB),线条重量(0-N)和透明度(0.0-1.0)来设置。
| |
|
| |
| 圆形标记可以通过使用 /dmarker addcircle <circle-label> set:<markerset-id> 或 /dmarker addcircle id:<circle-id> <circle-label> set:<markerset-id> 命令来创建。可以使用这些命令来设置附加的属性,或者使用 /dmarker updatecircle id:<circle-id> set:<markerset-id> 或 /dmarker updatecircle <circle-label> set:<markerset-id>命令来更新已有的圆形标记的属性。可用的选项包括:
| |
|
| |
| * x - 中心的 X 坐标(默认为使用命令的玩家的坐标点 X 坐标)
| |
| * y - 中心的 Y 坐标(默认为使用命令的玩家的坐标点 Y 坐标)
| |
| * z - 中心的 Z 坐标(默认为使用命令的玩家的坐标点 Z 坐标)
| |
| * radius - 圆的半径(默认为 1)
| |
| * radiusx - 椭圆的 X 轴半径(默认为 1)
| |
| * radiusz - 椭圆的 Z 轴半径(默认为 1)
| |
| * world - 中心的世界(默认为使用命令的玩家的世界)
| |
| * color - 轮廓颜色 (#RRGGBB 格式)
| |
| * fillcolor - 填充颜色 (#RRGGBB 格式)
| |
| * opacity - 轮廓的不透明度 (0.0 = 透明, 1.0 = 实体)
| |
| * fillopacity - 填充的不透明度 (0.0 = 透明, 1.0 = 实体)
| |
| * weight - 轮廓的重量(0=最小,越大越粗)
| |
|
| |
| 使用 /dmarker deletecircle id:<circle-id> set:<markerset-id> 删除一个圆形标记。
| |
|
| |
| 已经存在的圆形标记和他们的属性可以使用 /dmarker listcircles set:<markerset-id> 命令显示。
| |
|
| |
| 折线标记
| |
|
| |
| 折线标记将连接的线段放置在地图上,每个折线标记由一个或多个 XYZ 坐标构成。以及可选的描述弹出窗口,重量和透明度设置。
| |
|
| |
| 轮廓边缘的外观可以通过设置颜色属性(#RRGGBB),线条重量(0-N)和透明度(0.0-1.0)来设置。
| |
|
| |
| 创建一个折线之前必须提供一组角,可以通过以下步骤完成:
| |
|
| |
| *运行 /dmarker addcorner 命令来将玩家的当前位置添加为一个角
| |
|
| |
| *运行 /dmarker addcorner <x> <y> <z> 或 /dmarker addcorner <x> <y> <z> <world> 命令来添加指定的坐标点为一个角
| |
|
| |
| 添加的角可以使用 /dmarker clearcorners 命令来清除。
| |
|
| |
| 添加角之后,可以使用 /dmarker addline <line-label> set:<markerset-id> 或 /dmarker addline id:<line-id> <line-label> set:<markerset-id> 命令来创建一个折线标记。可以使用这些命令来设置附加的属性,或者使用 /dmarker updateline id:<line-id> set:<markerset-id> 或 /dmarker updateline <line-label> set:<markerset-id> 命令来更新已有的折线的属性。可用的选项包括:
| |
|
| |
|
| *color - 轮廓颜色 (#RRGGBB 格式)
| | ==地图标记== |
| | | 见:[[Dynmap/地图标记]] |
| *opacity - 轮廓的不透明度 (0.0 = 透明, 1.0 = 实体)
| |
| | |
| *weight - 轮廓的重量(0=最小,越大越粗)
| |
| | |
| 注意:现有的折线无法更新,必须删除后重新创建新的折线。另外,当使用 /dmarker addline 命令创建折线后,当前的角列表将会重置。
| |
| | |
| 你可以使用 /dmarker deleteline id:<line-id> set:<markerset-id> 命令删除一个折线标记。
| |
| | |
| 已经存在的折线和他们的属性可以使用 /dmarker listlines set:<markerset-id> 命令显示。
| |
|
| |
|
| ==自定义方块== | | ==自定义方块== |
第789行: |
第179行: |
| * 一个 目录,包含使用的材质文件 | | * 一个 目录,包含使用的材质文件 |
|
| |
|
| 解压文件并将 minecraft.obj 导入到渲染/建模软件 | | 解压文件并将 minecraft.obj 导入到渲染/建模软件。 |
| | |
| ==开发者== | | ==开发者== |
| Dynmap 项目包含了多个部分,可以支持多个服务器平台,也可以帮助我们清楚地发布API。用来构建 'dynmap'(Bukkit 的 Dynmap 插件)的有以下几部分(按照构建顺序): | | Dynmap 项目包含了多个部分,可以支持多个服务器平台,也可以帮助我们清楚地发布API。用来构建 'dynmap'(Bukkit 的 Dynmap 插件)的有以下几部分(按照构建顺序): |
第800行: |
第191行: |
|
| |
|
| *[https://github.com/webbukkit/dynmap dynmap] - 真正的 Dynmap Bukkit 的部分,包括了那些与服务器无关的代码。 | | *[https://github.com/webbukkit/dynmap dynmap] - 真正的 Dynmap Bukkit 的部分,包括了那些与服务器无关的代码。 |
| | |
| ===如何编译Dynmap=== | | ===如何编译Dynmap=== |
| 编译 Dynmap 使用 [http://maven.apache.org/ Maven]。使用 Maven 的 mvn install 命令你就可以将项目安装在你的 Maven 仓库,这样就可以用于编译其他需要用此项目作为依赖的项目。基本的方法为,使用 git clone 下载代码,使用 mvn install 编译代码。 | | 编译 Dynmap 使用 [http://maven.apache.org/ Maven]。使用 Maven 的 mvn install 命令你就可以将项目安装在你的 Maven 仓库,这样就可以用于编译其他需要用此项目作为依赖的项目。基本的方法为,使用 git clone 下载代码,使用 mvn install 编译代码。 |
第808行: |
第200行: |
| *DynmapCore - git://github.com/webbukkit/DynmapCore.git | | *DynmapCore - git://github.com/webbukkit/DynmapCore.git |
|
| |
|
| Dynmap for Bukkit | | ;Dynmap for Bukkit |
|
| |
|
| 复制并按顺序编译这些项目来编译 Bukkit 的 Dynmap: | | 复制并按顺序编译这些项目来编译 Bukkit 的 Dynmap: |
第824行: |
第216行: |
| 包含 Dynmap 的 ZIP 文件位于 dynmap/target/dynmap-*-bin.zip. | | 包含 Dynmap 的 ZIP 文件位于 dynmap/target/dynmap-*-bin.zip. |
|
| |
|
| Dynmap for 原版Spout | | ;Dynmap for 原版Spout |
|
| |
|
| 复制并按顺序编译这些项目来编译 Spout 原版服务器的 Dynmap: | | 复制并按顺序编译这些项目来编译 Spout 原版服务器的 Dynmap: |
第846行: |
第238行: |
| * IRC: irc://irc.esper.net/#dynmap ([http://webchat.esper.net/?nick=Webuser&channels=dynmap&prompt=0 在线]) | | * IRC: irc://irc.esper.net/#dynmap ([http://webchat.esper.net/?nick=Webuser&channels=dynmap&prompt=0 在线]) |
|
| |
|
| | | ==参考== |
| ==参考文献== | |
| * https://github.com/webbukkit/dynmap/wiki | | * https://github.com/webbukkit/dynmap/wiki |
| * https://pluginscdtribe.github.io/wiki/dynmap/ | | * https://pluginscdtribe.github.io/wiki/dynmap/ |
| * http://www.mcbbs.net/thread-728931-1-1.html | | * http://www.mcbbs.net/thread-728931-1-1.html |