- 欢迎来到Minecraft插件百科!
- 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
- 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289
Dynmap:修订间差异
第114行: | 第114行: | ||
*nginx 在Centos下使用Nginx建立Dynmap (由 LukeHandle 提供); | *nginx 在Centos下使用Nginx建立Dynmap (由 LukeHandle 提供); | ||
===Debian+Apache=== | ===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=== |
2018年7月22日 (日) 07:36的版本
Dynmap 是一个像谷歌地图一样的、为 Minecraft 服务器设计的地图插件,让你可以在浏览器查看地图。
你可以使用 Dynmap 的集成的网络服务器立即上手,也可以将其部署到 Apache 等现有的网络服务器,易于使用。
Dynmap 可以使用不同的渲染器渲染你的地图,有的适用于高性能,而有的可以展示更详细的细节。
原始的项目是由 k-red 开发。
联络方式
用户相关
不使用内部服务器安装
我们猜测
- 你对你正在使用的独立Web服务器有相当的经验
- 你的Web服务器与CraftBukkit运行在同一台机器上
- 你的Web服务器支持PHP (仅用于Web到Minecraft的聊天)
- 如果你在使用Linux,你应该知道如何使用终端和chmod。
将以下信息:
- class: org.dynmap.InternalClientUpdateComponent sendhealth: true allowwebchat: true webchat-interval: 5 #- class: org.dynmap.JsonFileClientUpdateComponent # writeinterval: 1 # sendhealth: true # allowwebchat: false
更改为
#- class: org.dynmap.InternalClientUpdateComponent # sendhealth: true # allowwebchat: true # webchat-interval: 5 - class: org.dynmap.JsonFileClientUpdateComponent writeinterval: 1 sendhealth: true allowwebchat: false
关闭内部更新机制并开启json文件更新机制,这将在 writeinterval 的间隔后在你的web路径写入文件 standalone/dynmap_world.json。
将 plugins/dynmap/web 中的文件复制进你的Web服务器中的某个文件夹,将 configuration.txt 的指向 tilespath 和 webpath 更改至你放置Web文件的地方。
Linux
# tile文件放置的路径 tilespath: /path/to/web/server/dynmap/web/tiles # web文件放置的路径 webpath: /path/to/web/server/dynmap/web
或 Windows
# tile文件放置的路径 tilespath: c:\\path\\to\\web\\server\\dynmap\\web\\tiles # web文件放置的路径 webpath: c:\\path\\to\\web\\server\\dynmap\\web
现在重启你的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:
$ chmod -R 775 standalone
这允许 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包。
首先,我们需要开启需要的模组,输入以下命令:
sudo a2enmod rewrite proxy_http
首先我们必须重定向 /dynmap/up/ 和 /dynmap/standalone/ 到Dynmap的内部Web服务器。
请保证你在 /etc/apache2/sites-available/default 后有这一段内容:
... 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>
重启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,保证你在有以下几段,注意,这些语句不必相邻。
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule rewrite_module modules/mod_rewrite.so
接下来,我们必须将 /dynmap/up/ 和 /dynmap/standalone 重定向到Dynmap的内部Web服务器。编辑以下内容到 /etc/httpd/conf/httpd.conf 的末尾:
... 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>
注意这会对所有的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,保证以下模块开启:
server.modules = ( "mod_access", "mod_rewrite", "mod_proxy", "mod_fastcgi" )
现在我们需要让Web服务器的tiles可用,并且将代理 /dynmap/up/重定向至Dynmap的内部服务器。将以下内容添加至 /etc/lighttpd/lighttpd.conf 的末尾:
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 )) ) }
重启 lighttpd (sudo /etc/rc.d/lighttpd restart)
现在应该在 http://mywebserver/dynmap/ 显示在线玩家了。