欢迎来到Minecraft插件百科!
对百科编辑一脸懵逼?
帮助:快速入门
带您快速熟悉百科编辑!
因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289
查看“Dynmap”的源代码
←
Dynmap
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于这些用户组的用户执行:
用户
、
自动确认用户
、
巡查者
您可以查看和复制此页面的源代码。
Dynmap 是一个像谷歌地图一样的、为 Minecraft 服务器设计的地图插件,让你可以在浏览器查看地图。 你可以使用 Dynmap 的集成的网络服务器立即上手,也可以将其部署到 Apache 等现有的网络服务器,易于使用。 Dynmap 可以使用不同的渲染器渲染你的地图,有的适用于高性能,而有的可以展示更详细的细节。 原始的项目是由 k-red 开发。 =联络方式= * [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 在线]) =用户相关= ==不使用内部服务器安装== 我们猜测 *你对你正在使用的独立Web服务器有相当的经验 *你的Web服务器与CraftBukkit运行在同一台机器上 *你的Web服务器支持PHP (仅用于Web到Minecraft的聊天) *如果你在使用Linux,你应该知道如何使用终端和chmod。 将以下信息: <pre> - class: org.dynmap.InternalClientUpdateComponent sendhealth: true allowwebchat: true webchat-interval: 5 #- class: org.dynmap.JsonFileClientUpdateComponent # writeinterval: 1 # sendhealth: true # allowwebchat: false </pre> 更改为 <pre> #- class: org.dynmap.InternalClientUpdateComponent # sendhealth: true # allowwebchat: true # webchat-interval: 5 - class: org.dynmap.JsonFileClientUpdateComponent writeinterval: 1 sendhealth: true allowwebchat: false </pre> 关闭内部更新机制并开启json文件更新机制,这将在 writeinterval 的间隔后在你的web路径写入文件 standalone/dynmap_world.json。 将 plugins/dynmap/web 中的文件复制进你的Web服务器中的某个文件夹,将 configuration.txt 的指向 tilespath 和 webpath 更改至你放置Web文件的地方。 Linux <pre> # tile文件放置的路径 tilespath: /path/to/web/server/dynmap/web/tiles # web文件放置的路径 webpath: /path/to/web/server/dynmap/web </pre> 或 Windows <pre> # tile文件放置的路径 tilespath: c:\\path\\to\\web\\server\\dynmap\\web\\tiles # web文件放置的路径 webpath: c:\\path\\to\\web\\server\\dynmap\\web </pre> 现在重启你的Minecraft服务器。加入你的服务器并(随机)放置一些方块来激活Dynmap给你的地图生成tiles。 你也可以输入 dynmap fullrender worldname 于你的服务器控制台来渲染整个 worldname 世界。 现在刷新你的浏览器,应该在 http://mywebserver/dynmap/ 显示你的在线人数,保持更新。 ===故障排除=== 如果你没有在地图看见任何tiles,检查tiles目录来查看他们是否已经被生成。如果没有任何tiles,那么可能Minecraft没有在web路径写入tiles的权限,或者你没有正确填写 tilespath 。 如果你没有看见任何玩家或者他们没有移动,前往 http://mywebserver/standalone/dynmap_world.json ( world 是世界的名称)。你应该能看见一些代码,并且随着时间流逝刷新能看见代码的改变、 如果没有这个文件或者这个文件没有更新,那么你可能填写了错误的 webpath 。 在 Linux,如果web到Minecraft的聊天没有工作,你应该 chmod 'standalone' 文件夹到 775 或者 777: <pre> $ chmod -R 775 standalone </pre> 这允许 sendmessage.php 创建json文件。这一步是必须的,因为是你的Web服务器创建文件而不是Minecraft服务器。 如果在IIS web到Minecraft的聊天没有运行,你可能要安装PHP。 ==在Linux下建立动态地图插件== 我们猜测 *你的Minecraft服务器目录为 /opt/minecraft_server/。 *你安装了最新的CraftBukkit *你的Minecraft服务器托管于 localhost。 安装并测试Dynmap: *将文件 dynmap.jar 和文件夹 dynmap 复制到 /opt/minecraft_server/plugins/。 *重启你的Minecraft服务器。 *加入你的Minecraft服务器。 *放置一些方块。 *开启浏览器。 *前往 http://localhost:8123/。 你应该在左上方看到了你的地图和名字。一旦你点击了名称,地图会平移到你的位置,你应该能看见一部分生成的地图。 发布 如果你想让你的地图能被其他人访问,你需要做这两步: *将 TCP 端口 8123 转发。 *将地图托管到大型Web服务器上,大型Web服务器必须能够访问Minecraft服务器,详细见下。 大型Web服务器 如果你正在托管一个 Apache 或者 Lighttpd 服务器,你可能想要让Dynmap地图可以被网页相同的URL访问,像 http://www.yourwebsite.com/dynmap/ 而不是 http://www.yourwebsite.com:8123/。如果是这样,你可以在下方选择你的Web服务器。 *Debian/Ubuntu 上的 apache2: 在Debian下使用Apache建立Dynmap; *Arch Linux 上的 apache/httpd: 在Arch Linux下使用apache/https建立Dynmap; *Arch Linux 上的 lighttpd: 在Arch Linux下使用Lighttpd建立Dynmap; *nginx 在Centos下使用Nginx建立Dynmap (由 LukeHandle 提供); ===Debian+Apache=== 我们猜测: *你安装了 Apache2。 *你的 www-root 目录在: /srv/http/。 *你应该可以通过 http://localhost:8123/ 成功访问Dynmap。 这个示例展示了如何将你的Dynmap部署在Apache的 http://mywebserver/dynmap/。 *先创建文件夹 /srv/http/dynmap/. *将 web 目录下的文件复制到 /srv/http/dynmap/ 的zip包。 首先,我们需要开启需要的模组,输入以下命令: <pre> sudo a2enmod rewrite proxy_http </pre> 首先我们必须重定向 /dynmap/up/ 和 /dynmap/standalone/ 到Dynmap的内部Web服务器。 请保证你在 /etc/apache2/sites-available/default 后有这一段内容: <pre> ... Alias /dynmap/tiles /opt/minecraft_server/plugins/dynmap/web/tiles/ RewriteEngine on RewriteRule /dynmap/up/(.*) http://localhost:8123/up/$1 [P,L] RewriteRule /dynmap/standalone/(.*) http://localhost:8123/standalone/$1 [P,L] </VirtualHost> <Directory /opt/minecraft_server/plugins/dynmap/web/tiles/> Order allow,deny Allow from all </Directory> <Proxy http://localhost:8123/*> Order deny,allow Allow from all </Proxy> </pre> 重启Apache2 (sudo /etc/init.d/apache2 restart). 现在应该在 http://mywebserver/dynmap/ 显示在线玩家了。 ===Arch Linux+apache/httpd=== 我们猜测: *你安装了 apache-httpd。 *你的 www-root 目录在: /srv/http/。 *你应该可以通过 http://localhost:8123/ 成功访问Dynmap。 这个示例展示了如何将你的Dynmap部署在apache-httpd的 http://mywebserver/dynmap/。 *先创建文件夹 /srv/http/dynmap/. *将 web 目录下的文件复制到 /srv/http/dynmap/ 的zip包。 在 /etc/httpd/conf/httpd.conf,保证你在有以下几段,注意,这些语句不必相邻。 <pre> LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule rewrite_module modules/mod_rewrite.so </pre> 接下来,我们必须将 /dynmap/up/ 和 /dynmap/standalone 重定向到Dynmap的内部Web服务器。编辑以下内容到 /etc/httpd/conf/httpd.conf 的末尾: <pre> ... Alias /dynmap/tiles /opt/minecraft_server/plugins/dynmap/web/tiles/ RewriteEngine on RewriteRule /dynmap/up/(.*) http://localhost:8123/up/$1 [P,L] RewriteRule /dynmap/standalone/(.*) http://localhost:8123/standalone/$1 [P,L] <Directory /opt/minecraft_server/plugins/dynmap/web/tiles/> Order allow,deny Allow from all </Directory> <Proxy http://localhost:8123/*> Order deny,allow Allow from all </Proxy> </pre> 注意这会对所有的VirtualHost生效,如果你有多个虚拟主机,那么推荐你将这些代码放入。 重启Apache/httpd (sudo /etc/rc.d/httpd restart) 现在应该在 http://mywebserver/dynmap/ 显示在线玩家了。 ===Arch Linux+Lighttpd=== 我们猜测: *你安装了 lighttpd。 *你的 www-root 目录在: /srv/http/。 *你应该可以通过 http://localhost:8123/ 成功访问Dynmap。 开始 *先创建文件夹 /srv/http/dynmap/. *将 web 目录下的文件复制到 /srv/http/dynmap/ 的zip包。 这个示例展示了如何将你的Dynmap部署在lighthttpd的 http://mywebserver/dynmap/。 在 /etc/lighttpd/lighttpd.conf,保证以下模块开启: <pre> server.modules = ( "mod_access", "mod_rewrite", "mod_proxy", "mod_fastcgi" ) </pre> 现在我们需要让Web服务器的tiles可用,并且将代理 /dynmap/up/重定向至Dynmap的内部服务器。将以下内容添加至 /etc/lighttpd/lighttpd.conf 的末尾: <pre> alias.url += ( "/dynmap/tiles/" => "/home/minecraft/minecraft_server/plugins/dynmap/web/tiles/" ) url.rewrite-once += ( "^/dynmap/up/(.*)" => "/up/$1", "^/dynmap/standalone/(.*)" => "/standalone/$1" ) $HTTP["url"] =~ "^/up/" { proxy.server = ( "" => (( "host" => "127.0.0.1", "port" => 8123 )) ) } $HTTP["url"] =~ "^/standalone/" { proxy.server = ( "" => (( "host" => "127.0.0.1", "port" => 8123 )) ) } </pre> 重启 lighttpd (sudo /etc/rc.d/lighttpd restart) 现在应该在 http://mywebserver/dynmap/ 显示在线玩家了。 ===Centos+Nginx=== 在 CentOS 6.X 使用 Nginx 建立 Dynmap ====介绍==== 之前我们介绍了使用Nginx(或者Apache)来建立你的Dynmap而不是内置的Jetty服务器,如果你正在托管你自己的网站(并且已经开放了80端口),那么这将允许你将你的地图建立在 http://map.example.com/ 而不是 http://map.example.com:8123/ (设置DNS记录超出了本文的讨论范围)。 注意:这篇文章猜测你的Web服务器与Minecraft服务器是分离的,这个例子里,我使用 192.168.1.2 建立Minecraft服务器而使用 192.168.1.3 建立Nginx服务器。 如果你选择在同一个服务器运行,那么请在配置里将192.168.1.2更改为127.0.0.1 - 只是记住这可能不是最好的解决方式(这时候代理可能有用?)。 ====CentOS==== 为什么是 CentOS? 来自 Wikipedia: CentOS(Community Enterprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定发布的源代码所编译而成。 由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。 从安装的时候,我选择了'最小安装'的ISO,接着安装任何我可能需要的模块。 我推荐安装尽可能少的东西,接着添加缺少的东西而不是一次性安装所有的东西。 CentOS ISO镜像都在这里。 x86_64 最小安装 ISO 在 /6.X/isos/x86\_64/CentOS-6.X-x86_64-minimal.iso,这与你使用的镜像相关(X替换为最近的版本 - 本文写作的时候 - 6.4 - 翻译的时候已经7.4了)。 安装CentOS并在安装的时候设置好网络而不是启动时手动设置 /etc/sysconfig/network-scripts/ifcfg-eth0 来配置你的网络。 一个静态的IP地址是非常重要的,或者使用DHCP服务器(经常是路由器)。你可能需要配置SSHd,但这不是必须的。 ====安装 Nginx, PHP 和 PHP-FPM==== 按照这里或者网上的指示安装Nginx。这样如果你安装了 x86_64 CentOS 你就可以在root登陆下使用以下命令。 <pre> rpm -ivh http://mirror.yandex.ru/epel/6/x86_64/epel-release-6-7.noarch.rpm rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm </pre> 在 "配置 Nginx" 部分,我个人使用了 /var/www/map.example.com/public_html 和 /var/www/map.example.com/logs,但这决定于你。 Note: Also create a folder for the cache eg. /var/www/cache and run chown nginx:nginx /var/www/cache. ====设置"站点"==== 在 /etc/nginx/sites-available/map.example.com 的文件处,更改为以下信息。 <pre> proxy_cache_path /var/www/cache levels=1:2 keys_zone=map:8m max_size=1g inactive=24h; server { server_name map.example.com; access_log /var/www/map.example.com/logs/access.log; error_log /var/www/map.example.com/logs/error.log; root /var/www/map.example.com/public_html; location / { proxy_pass http://[IP OF MINECRAFT SERVER]:9999/; proxy_set_header Host $host; proxy_cache map; proxy_cache_key "$host$uri"; proxy_cache_valid 200 302 60m; proxy_cache_valid 404 10m; proxy_cache_use_stale error timeout invalid_header updating http_500 http_503 http_504; proxy_connect_timeout 10; } } </pre> 将 proxy_pass 更改为你的Dynmap服务器的IP和端口。 ====完成==== 运行这个命令: service nginx reload 来重载命令 保证 80 端口被防火墙(iptables)开放,并且公共IP有一个DNS的A记录连接到 map.example.com 域名。 打开 http://map.example.com ===Nginx=== 这里介绍了如何使用Nginx作为外部Web服务器搭建Dynmap 网页服务(非代理服务器)。 我们推测你已经完成了以下步骤: *你所安装的 Dynmap 根目录在 /srv/dynmap *你正确地安装了 Nginx 服务,并且懂得如何使用它来搭建一台PHP在线聊天系统 *你所安装的 Dynmap 和内置网页服务器已经正确运行在 8123 端口 以下展示出 Dynmap 运行在Nginx时的默认配置文件。为了更好的进行数据处理,我特意将Nginx中的php-fpm配置命名为 "php5-fpm.sock"。 <pre> server { listen 80; server_name minecraft.example.com; root /srv/dynmap/; index index.html; access_log /var/log/nginx/minecraft.example.com-access_log; error_log /var/log/nginx/minecraft.example.com-error_log; location / { try_files $uri $uri/ =404; } location ~ \.php$ { try_files $uri =404; fastcgi_index index.php; fastcgi_pass php5-fpm-sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include /etc/nginx/fastcgi_params; } } </pre> 这些配置会运用到 Dynmap 下所有的URL行中。 如果你想使用 MultiCraft 作为 Dynmap 的后台管理系统也是极好的。 以下是使用Nginx搭建 Dynmap 时使用 MultiCraft 管理的配置: <pre> server { listen 80; server_name minecraft.example.com; root /srv/dynmap/; index index.html; access_log /var/log/nginx/minecraft.example.com-access_log; error_log /var/log/nginx/minecraft.example.com-error_log; location / { try_files $uri $uri/ =404; } location /admin { alias /srv/multicraft/; index index.php; } location ~ ^/admin/(.*\.php)$ { alias /srv/multicraft/$1; fastcgi_pass php5-fpm-sock; fastcgi_param SCRIPT_FILENAME $request_filename; include /etc/nginx/fastcgi_params; } location ~ \.php$ { try_files $uri =404; fastcgi_index index.php; fastcgi_pass php5-fpm-sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include /etc/nginx/fastcgi_params; } } </pre> 你需要在确保以上所有步骤正确完成以及配置项无误后,你还需要给 Dynmap 和网页服务器对 standalone/dynmap_webchat.json 文件赋予足够的读写权限用于网页在线聊天系统。 如果你们有关于Nginx+PHP5 FPM等的非 Dynmap类问题,可以前往 [http://www.cryptkcoding.com/2011/08/running-wordpress-with-nginx-php-fpm-apc-and-varnish/ 原作者的博客] 进行详细的提问。 ==在Windows下建立动态地图插件== 我们猜测: *你的Minecraft服务器目录位于D:\minecraft_server\。 *你安装了最新的 CraftBukkit *你的Minecraft服务器托管在 localhost。 安装并测试Dynmap: *将 dynmap.jar 和文件夹 dynmap 复制到 D:\minecraft_server\plugins\. *(重新)启动你的Minecraft服务器 *加入你的Minecraft服务器。 *放置几个方块。 *开启浏览器。 *前往 http://localhost:8123/。 你应该看到了你的地图的名字显示在左上角。当你点击名字后,地图将会平移到你的位置,并且你应该看到了已经生成的一部分的世界。 发布 如果你想让地图能被其他的人访问,你需要做以下几步: *将 TCP 端口 8123 转发。 *将地图托管到大型Web服务器上,大型Web服务器必须能够访问Minecraft服务器,详细见下。 大型Web服务器 如果你正在托管一个 Apache 或者 Lighttpd 服务器,你可能想要让Dynmap地图可以被网页相同的URL访问,像 http://www.yourwebsite.com/dynmap/ 而不是 http://www.yourwebsite.com:8123/。如果是这样,你可以在下方选择你的Web服务器。 *IIS: 使用IIS的URL重写和ARR模块建立Dynmap(感谢Kekec852的帮助!); *IIS: 使用IIS建立Dynmap; (这还不是一个列表啊!如果你使用了其他的服务器,并且你知道如何配置它们,请将其添加至Wiki) ===IIS+URL重写+ARR模块=== 这个页面猜测: *你基本了解如何配置和管理IIS服务器。 *Web服务器的根目录位于 C:\Inetpub\wwwroot\。 *你的 IIS 和 CraftBukkit 在同一台机器运行。 *你安装了[http://www.iis.net/downloads/microsoft/url-rewrite URL Rewrite]和[http://www.iis.net/downloads/microsoft/url-rewrite ApplicationRequestRouting]模块。 开始 *创建目录 C:\Inetpub\wwwroot\dynmap\。 *将仓库找到的'web'文件夹下的内容放入 C:\Inetpub\wwwroot\dynmap\。 有两种选择: *创建文件夹 C:\Inetpub\wwwroot\dynmap\tiles\ 并且编辑 configuration.txt 并且保证你的 tilespath 设置设置为 C:\Inetpub\wwwroot\dynmap\tiles\。 <pre> # The path where the tile-files are placed. tilespath: C:\Inetpub\wwwroot\dynmap\tiles </pre> 或者 *在IIS中创建虚拟文件夹,通过在IIS中右键Dynmap文件夹并点击 Add Virtual Directory 命名为 tiles (别名) 然后 Physical path 指向 dynmap插件文件夹/web/tiles 接着是重写的部分 *在IIS中选择Dynmap文件夹。点击URL Rewrite图标,接着 Add rule(s);选择 Reverse proxy。在入站规则(inbound rule)中输入 127.0.0.1:8123 并且点击ok。在询问是否启用反向代理(reverse proxy)时选择 Yes。 *打开你的Web文件夹 (C:\Inetpub\wwwroot\dynmap\) 开启 web.config 然后将内容更改为: <pre> <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <clear /> <rule name="ReverseProxyInboundRule1" stopProcessing="true"> <match url="up/(.*)" /> <action type="Rewrite" url="http://127.0.0.1:8123/up/{R:1}" /> </rule> <rule name="ReverseProxyInboundRule2" stopProcessing="true"> <match url="standalone/(.*)" /> <action type="Rewrite" url="http://127.0.0.1:8123/standalone/{R:1}" /> </rule> </rules> </rewrite> </system.webServer> </configuration> </pre> 有些版本的(7.x)的IIS不会自动给Dynmap需要的 *.json 文件分配正确的MIME类型(导致加载这些文件时出现406或者404错误,比如 Markers API)。 解决这个问题,请按照[http://support.microsoft.com/kb/942050 这里]的指示,来将MIME类型 'application/json' 定义为 'json' 文件拓展。 更多让IIS6和IIS7正确处理 JSON 的细节,请查看 http://www.sencha.com/forum/showthread.php?33266-Some-Problem-with-JSON&p=229858&viewfull=1#post229858 ===IIS=== 这个页面猜测: *你的Web服务器的地址为 C:\Inetpub\wwwroot\。 *你的 IIS 和 CraftBukkit 在同一台机器运行。 *你的 IIS 开启了 ASP.NET http://support.microsoft.com/kb/315122。 开始: *创建目录 C:\Inetpub\wwwroot\dynmap\。 *创建目录 C:\Inetpub\wwwroot\dynmap\tiles\。 *将仓库找到的'web'文件夹下的内容放入 C:\Inetpub\wwwroot\dynmap\。 你现在应该有这个文件 C:\Inetpub\wwwroot\dynmap\up.aspx。 *前往 minecraft_server/plugins/dynmap/configuration.txt 并确保你将 tilespath 设置为 C:\Inetpub\wwwroot\dynmap\tiles\: <pre> # The path where the tile-files are placed. tilespath: C:\Inetpub\wwwroot\dynmap\tiles </pre> *重启你的Minecraft服务器 *加入你的Minecraft服务器,随机放置一些方块,激活Dynmap生成tiles。 如果一切正常,你应该能在 C:\Inetpub\wwwroot\dynmap\tiles\ 找到一些新的 'PNG' 文件。你也可以前往 http://yourwebserver/dynmap/ 。 这时候应该显示地图,并且也会显示不能更新(玩家位置和地图更新)的错误。 创建或打开 C:\Inetpub\wwwroot\dynmap\standalone\config.js 文件,将内容替换为如下: <pre> var config = { url: { configuration: 'up.aspx?path=configuration', update: 'up.aspx?path=world/{world}/{timestamp}', sendmessage: 'up.aspx?path=sendmessage', login: 'up.aspx?path=login', register: 'up.aspx?path=register', tiles : 'tiles/', markers : 'tiles/' } }; </pre> 现在刷新你的浏览器。现在应该在 http://mywebserver/dynmap/ 显示在线的玩家。 故障排除 前往你的Web服务器,开启一个浏览器。前往 http://localhost/dynmap/up.aspx?path=configuration。这里应该显示一些代表你的 configuration.txt 中配置的文本,如果显示的是一些错误,那么分析这些错误。如果你不确定要怎么做,请在 IRC 联系我们或者前往论坛求助。 有些版本的(7.x)的IIS不会自动给Dynmap需要的 *.json 文件分配正确的MIME类型(导致加载这些文件时出现406或者404错误,比如 Markers API)。解决这个问题,请按照这里的指示,来将MIME类型 'application/json' 定义为 'json' 文件拓展。 更多让IIS6和IIS7正确处理 JSON 的细节,请查看 http://www.sencha.com/forum/showthread.php?33266-Some-Problem-with-JSON&p=229858&viewfull=1#post229858 ==通过托管服务建立Dynmap== 基本上这都不会工作,因为Dynmap服务器作为Web服务器创建tiles文件通常需要文件读写权限(相对于一些允许使用FTP或者SFTP的文件传输的服务)。下面的一些链接显示了一些非官方的,一些用户已经成功的解决方案: Xenon 托管服务; ===Xenon托管服务=== 很多人都注意到了,在Xenon或者其他全时间的托管服务上运行Dynmap是不会工作的,并且尝试进入页面会给你一个黑屏。这个教程希望能帮助你在几步内解决这个问题,它需要你有自己的托管服务,(以我来说,1and1.com) 开始,下载最新版的Dynmap: http://webbukkit.org/jenkins/public/dynmap/dynmap-recommended-bin.zip - 然后像其他插件一样上传你的插件。 解压文件,打开你的FTP应用(FileZilla就很好)并登入你的web托管服务。你需要放入Xenon不允许的 JS 文件,到你的web托管的某个文件夹。不要忘记将 "config.js" 复制。记住到这个文件夹的URL地址(对我来说就是 www.mavbear.com/map/web/js)。 打开任意的文本编辑器,开启 "web/index.html" 文件,你会看到像这几行一样的: <script type="text/javascript" src="js/jquery.json.js"></script> 这里需要注意 "js/jquery.json.js" - 你将会需要将其重命名为你的实际的文件夹地址,这个例子里,我是 "http://www.mavbear.com/map/web/js/jquery.json.js"。 对每一行以"js"的都这样样做,底部的 "config.js" 也需要这样。 保存 index.html 文件,上传覆盖已经出现在你的Minecraft服务器的文件。 接着打开 map.js,前往 403 行(v0.70.1,可能在新版本改变): loadjs('js/' + type + '.js', function() { 替换为 loadjs('(YOUR URL HERE)/js/' + type + '.js', function() { 重新上传 'map.js' 文件到你的web托管服务(不是Minecraft服务器)。 这个部分是必要的,者可以让你看见地图的玩家,还能使用聊天服务,否则你将只能看见地图。 这就是完整的教程了!希望能够帮助你。 ===配置=== 这里我们将会介绍配置的结构和如何编辑配置。 文件 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 配置。 ===基础插件设定===
本页使用的模板:
模板:Info
(
查看源代码
)
模板:急需改进
(
查看源代码
)(受保护)
返回
Dynmap
。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
编辑相关
百科公告
编辑帮助
互助客栈
贡献分数
测试沙盒
发布条目
插件分类
管理
安全
聊天
编程
经济
修正
娱乐
综合
信息
机械
角色
传送
网页
整地
创世
付费
其它
工具
链入页面
相关更改
特殊页面
页面信息
相关网站
MCMOD百科
Minecraft中文百科
Minecraft纪念论坛
Minecraft百度贴吧
虚无世界Wiki