<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://mineplugin.org/index.php?action=history&amp;feed=atom&amp;title=Dynmap%2F%E5%AE%89%E8%A3%85</id>
	<title>Dynmap/安装 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://mineplugin.org/index.php?action=history&amp;feed=atom&amp;title=Dynmap%2F%E5%AE%89%E8%A3%85"/>
	<link rel="alternate" type="text/html" href="https://mineplugin.org/index.php?title=Dynmap/%E5%AE%89%E8%A3%85&amp;action=history"/>
	<updated>2026-04-06T14:19:16Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://mineplugin.org/index.php?title=Dynmap/%E5%AE%89%E8%A3%85&amp;diff=15783&amp;oldid=prev</id>
		<title>Ff98sha：​创建页面，内容为“==不使用内部服务器安装== 我们猜测 *你对你正在使用的独立Web服务器有相当的经验 *你的Web服务器与CraftBukkit运行在同一台机…”</title>
		<link rel="alternate" type="text/html" href="https://mineplugin.org/index.php?title=Dynmap/%E5%AE%89%E8%A3%85&amp;diff=15783&amp;oldid=prev"/>
		<updated>2021-08-16T12:55:09Z</updated>

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