[心得] Dynmap与游戏分开 独立运作的方法

楼主: tonylo2ooo (Logo)   2016-11-10 19:49:03
※ 引述《kiney (西提王国Citynoland)》之铭言:
: 想请位各位,服务器有安装 Dynmap
: 但不知道他能否拖出来独立运作呢?
: 也就是服务器关闭的时候他依然可以运作呢?
: 我试着进去他的 web资料夹 打开 index.html
: 无法像一般网站一样开启
: 不知道各位有没有人知道怎么让他独立运作呢?
不想把问题讲得太复杂,简单来说
dynmap插件本身就像一个小服务器,他对特定端口(port)输出资料
你不开minecraft server + dynmap 就等于没有小服务器帮你运作
另外写一个小服务器去读那些已经处理好的图档也很没意义,
等于重新发明轮子,我提供你一个做法,是我确定可以用的。
另外,因为中文相关资料很少,以下重要google 用名词(你还是得自学一些东西)
我通通都用英文,方便你接下去查你遇到的技术问题
技术文开始:
这种情形你多半是有两台机器,或是想让server关的时候还是可以被人家读地图
我当初有这需求是因为有人拿dynmap server 发动DOS攻击,
但我服务器不能关小地图(没地图的领地占有不好玩,加上资源稀少要查地图)
如果你本来的server用了16G内存去开 另一台只是作为读地图用
例如只要少少的1G, 甚至800M
你还是得开两个spigot or bukkit server,
因为你不想重新写一套读dynmap格式的服务器
假设游戏server ip : 112.114.116.118 , map server ip: 112.666.118.666
想要有分散两地的服务器但是用同样的域名,你得另外学
(例如 game server : play.opserver.com, map server : map.opserver.com)
也就是你一样开两个server 的程式,地图server不要用25565 port开
(同一台机器的话会冲)
而且要设定白名单,并且不要让任何人连进来(他只是拿来跑dynmap plugin的)
可以弄个25566 25567 随便,然后只要注意你的dynmap port是多少即可
他默认是8123,所以你实际是会用到的网址是
112.114.116.118 叫玩家minecraft连这里
想给人看小地图 http://112.666.118.666:8123
接下来你需要做异地备份,把game server的map region档拷贝(并且覆蓋)
map server的region档,让map server的dynmap plugin去render tile as png images.
如果你想要呈现世界名称 my_creative_world 的地图,并且拷贝到map server
那你就要安装异地备份的软件,从
112.114.116.118 的server路径下/my_creatvie_world/region/
里头,所有的 r.X.Y.mca 档案 (chunk file)
通通备份到 112.666.118.666 的server路径下/my_creative_world/region中
至于你map server要不要叫my_creative_world 其实随便你
反正你只是要呈现(render)到网页上
但dynmap有一些地方会把你地图名称显示出来,为了玩家不要混淆
还是建议用一样的名字,以防有太多世界要复制 自己忘记怎对应
PS:
这边的r.X.Y.mca 的X,y 会是整数,
存著某一个区块的地图资料,转换到实际座标的话可以用这个网站
https://dinnerbone.com/minecraft/tools/coordinates/
至于异地备份软件 可以考虑linux 内建的scp
(或是你的异地 是本机, 随便,看map server跟game server
有没有在同一个机器上,有的话不用花网络资源)
scp -r [email protected]/*
作者: cs8425 (cs)   2016-11-11 02:07:00
搞这么复杂做啥... map server用别的帐号开softlink到地图档 让权限是唯读就好了
楼主: tonylo2ooo (Logo)   2016-11-11 02:09:00
因为他说关闭不晓得是哪种,所以假设关机的我只是提供我当初被DOS的方法(得把网络分开)不过也没很复杂吧,我只是怕原po新手讲细一点熟的就想成duplicate多少东西,你讲的方法连帐号都不用换不也可以吗, 同一台机器开两个server跨路径
作者: Flymok   2016-11-17 22:03:00
不是只要到设定档里把 disable-webserver: false 改 true同一台机器上额外架好 http server(apache, lighttpd etc.把 plugins/dynmap/web/ 下的东西复制到 wwwroot (自订的再参考 Setting up without the Internal Web Serverhttps://goo.gl/AUPd7M 的内容设定好就好了?你写的说明根本更复杂...
继续阅读

Links booklink

Contact Us: admin [ a t ] ucptt.com