看板 Minecraft 關於我們 聯絡資訊
※ 引述《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]:/path/to/server/my_cool_creative/region/*.mca /my_map_server/my_cool_creative/region/ 這樣就會把112.114.116.118(game server)的地圖檔 貼到 本機(map server)的server資料夾中的region路徑下 然後map server 的dynmap plugin就可以讀了 最後,你要決定你多久備份一次,因為那些地圖檔案大小不小 我是推薦一個禮拜一次,而且挑半夜,你強一點可以設定批次處理 寫個bash檔,loop, 每N秒跑一次指令 這我就不繼續講了,可以自己查 除了scp有更好的,會自動比較異同,相同檔案(沒被修改過的檔案)不會備份的 你有需要可以自己查 要做到多好,你可以自己決定要投入多少時間 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.45.77.25 ※ 文章網址: https://www.ptt.cc/bbs/Minecraft/M.1478778546.A.7D7.html ※ 編輯: tonylo2ooo (114.45.77.25), 11/10/2016 19:54:31
cs8425: 搞這麼複雜做啥... map server用別的帳號開 11/11 02:07
cs8425: softlink到地圖檔 讓權限是唯讀就好了 11/11 02:07
tonylo2ooo: 因為他說關閉不曉得是哪種,所以假設關機的 11/11 02:09
tonylo2ooo: 我只是提供我當初被DOS的方法(得把網路分開) 11/11 02:11
tonylo2ooo: 不過也沒很複雜吧,我只是怕原po新手講細一點 11/11 02:12
tonylo2ooo: 熟的就想成duplicate多少東西,你講的方法連帳號都 11/11 02:13
tonylo2ooo: 不用換不也可以嗎, 同一臺機器開兩個server跨路徑 11/11 02:14
Flymok: 不是只要到設定檔裡把 disable-webserver: false 改 true 11/17 22:03
Flymok: 同一台機器上額外架好 http server(apache, lighttpd etc. 11/17 22:05
Flymok: 把 plugins/dynmap/web/ 下的東西複製到 wwwroot (自訂的 11/17 22:08
Flymok: 再參考 Setting up without the Internal Web Server 11/17 22:10
Flymok: https://goo.gl/AUPd7M 的內容設定好就好了? 11/17 22:11
Flymok: 你寫的說明根本更複雜... 11/17 22:14
那如果想要想台機器是分開的,不同機器的做法? 果然說明了一個道理 在網路上要找到一個問題的解答不是問那個問題 是提供一個錯誤的答案 感謝大大教學 ._. ※ 編輯: tonylo2ooo (220.137.5.96), 11/19/2016 20:02:41
Flymok: 您的教學文也是一種做法,畢竟條條大路通羅馬, 11/20 18:01
Flymok: 而且是實際驗證可以解決需求的方法,只是... 11/20 18:02
Flymok: 我不認為提出問題的人他的需求跟您一樣高深難解... 11/20 18:07
我確實小題大作了, 我當初是因為dynmap 被當成(D)DOS的對象花了很多時間 原PO要的只是原本就有的功能 ※ 編輯: tonylo2ooo (118.165.16.83), 11/21/2016 03:52:09