내장 웹서버를 사용하지 않고 dynmap 구동하기 - Neder/dynmap GitHub Wiki

다음과 같은 조건을 충족하는지 확인해 보세요.

  • 웹서버를 잘 다룰 수 있어야 합니다.

  • 버킷과 웹서버가 같은 컴퓨터에서 구동되어야 합니다.

  • 웹서버가 PHP를 지원해야 합니다. (web-to-Minecraft 채팅을 할 때만 사용합니다.)

    [*역주: dynmap의 채팅창에 채팅을 치면 서버에도 채팅이 나오는 것을 의미합니다]

  • 리눅스에서 이 작업을 하신다면, 터미널과 'chmod' 를 사용할 수 있어야 합니다..

해당 부분을: [*역주: configration.txt 에서 해당 부분을 검색하여 변경합니다]

  - 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'에 지정된 간격으로 웹 경로의 './standalone/dynmap_world.json' 파일에 기록을 하게 됩니다. [*역주: 웹채팅을 위한 데이터를 웹서버에서 저 파일에 기록하고, 그걸 플러그인이 writeinterval의 간격으로 읽는다는 뜻인 것 같습니다.]

이 강좌의 원문에는 나와있지 않지만, configuration의 295 라인 쯤에 있는

disable-webserver: false 의 false 를 true 로 변경해야 합니다.

'plugins/dynmap/web' 에 있는 파일들을 웹서버 디렉토리에 복사합니다. configuration.txt 에서 'tilespath' 와 'webpath' 를 웹서버 디렉토리로 설정해 주세요. [*역주: tilespath는 '(웹서버 경로)\tiles' 로, webpath 는 '(웹서버 경로)' 로 설정해야 합니다.]

리눅스는 이런 방식으로 설정하시면 됩니다.

# The path where the tile-files are placed.
tilespath: /path/to/web/server/dynmap/web/tiles

# The path where the web-files are located.
webpath: /path/to/web/server/dynmap/web

윈도우는 이런 방식으로 설정하시면 됩니다.

# The path where the tile-files are placed.
tilespath: c:\\path\\to\\web\\server\\dynmap\\web\\tiles

# The path where the web-files are located.
webpath: c:\\path\\to\\web\\server\\dynmap\\web

  [*역주: 여기서 중요한 점은 디렉토리와 디렉토리를 구분하는 표시가 '\' 가 아닌 '\\' 라는 것입니다.]

이제 서버를 재시작 하세요. 서버에 들어가서 블럭들을 막 놓아주세요.(아무거나) 그러면 dynmap이 맵 렌더링을 시작할 것입니다. 아니면 'dynmap fullrender (월드 이름)' 을 콘솔에서 입력하여 모든 월드를 렌더링 시켜버리면 됩니다.

이제 웹서버의 주소로 접속해 보세요. 과정들을 잘 따라왔다면 온라인 플레이어가 표시되고, 실시간으로 반영될 것입니다.

문제 해결

If you don't see any tiles on the map, check the tiles directory to see whether they get actually generated. If there are no tiles, it is likely that Minecraft does not have rights to write the tiles in the web-path directory your chose. Another possibility is that you have not filled in tilespath correctly.

If you don't see any players or don't see the players moving, go to http://mywebserver/standalone/dynmap_world.json (where world is the name of your world). You should see some code and hitting refresh every few seconds should change that code (the servertime should be updated). If this file is not there or you don't see the file changing, you likely have filled in the wrong webpath in the configuration.

In Linux, if web-to-mc-chat does not work, you also need to chmod the 'standalone' folder to 775 or 777:

$ chmod -R 775 standalone

This is to allow sendmessage.php to create the jsonfile. This is needed because its your Web Server creating the file and not the minecraft server.

If web-to-mc-chat does not work on IIS, you likely need to install PHP.