> For the complete documentation index, see [llms.txt](https://guides.mclotus.kr/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://guides.mclotus.kr/helps/privacy-protect.md).

# 마인팜 서버에서의 개인정보 이슈

안녕하세요. 이 글은 도원경 유저분들 뿐만 아니라, 마인팜 유저 여러분께 올리는 글입니다!

여러분. 도원경을 제외한 대부분의 마인팜 서버에서 관리진이 유저분들의 섬 채팅과 지역채팅 기록을 실시간으로 확인할 수 있다는 사실을 아시나요?

### 섬 플러그인의 진실

대부분의 마인팜 서버에서는 SuperiorSkyblock2 이라는 섬 플러그인을 사용하고 있습니다.

해당  플러그인에서는 '/island admin spy' 라는 명령어를 제공하는데요.

이 명령어를 사용하면, 스파이 모드가 켜지게 되며, 이는 여러분의 섬 채팅이 관리진에게 실시간 전송되는 기능입니다. 하단 코드를 참고해 주세요.

| /island admin spy 명령어 사용 시 실행되는 코드                                  | 스파이 모드 on/off 코드                                                    | 섬 채팅 실행 코드 (spy 모드가 켜져있는 사람에게 채팅을 전송하는 코드 포함)                       |
| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
| <img src="/files/tIJJULpYZ2IZLukE3YcP" alt="" data-size="original"> | <img src="/files/5RMVwKYwJYPwmcIr62tR" alt="" data-size="original"> | <img src="/files/lQJmLLlj5e9udlaBdKb0" alt="" data-size="original"> |

놀랍게도, 이는 해당 플러그인 제작사 홈페이지에도 공식적으로 명시된 내용입니다. [\[링크 참고\]](https://wiki.bg-software.com/superiorskyblock/overview/commands-and-permissions/admin-commands#island-admin-spy)

정말 끔찍합니다. **그래서 도원경은 SuperiorSkyblock2 플러그인에 내장된 섬 채팅 기능을 아예 사용하지 않고, 자체적으로 구현한 섬 채팅 기능을 사용하고 있습니다.**

|     도원경의 섬 채팅 실행 코드 (보시면 알겠지만, 오로지 섬원 목록만 가져와 섬원에게만 메세지를 전송합니다.)    |
| :-----------------------------------------------------------------: |
| <img src="/files/HayYBv6WgQ3F7SRSU1s7" alt="" data-size="original"> |

### 섬 채팅만 안전하면 괜찮을까?

섬 채팅만 확인하지 않는다면 괜찮을까요? 아닙니다.

대부분의 서버에서는 CoreProtect 라는 테러 방지 시스템을 사용하고 있는데요.

이 CoreProtect 에서는 유저 여러분의 모든 채팅 기록을 로그하여, 어드민이 명령어로 채팅 기록을 확인할 수 있는 기능이 포함되어 있습니다.

|                      도원경 외부 테스트 서버에서의 테스트 내용 공유                     |
| :-----------------------------------------------------------------: |
| <img src="/files/gWZ1djjY9VJaKH1GOH3S" alt="" data-size="original"> |

다행히 해당 플러그인에서는 설정으로 해당 기능을 끌 수 있는 시스템이 있어, **도원경은 해당 설정을 꺼 놓고 서버를 운용중입니다.**

|                              도원경 설정 공유                              |                   도원경에서 채팅 내역이 기록되지 않아 확인할 수 없는 사진                  |
| :-----------------------------------------------------------------: | :-----------------------------------------------------------------: |
| <img src="/files/IjW6eNRINu6ICWFOMtoq" alt="" data-size="original"> | <img src="/files/OrjwosUrYJ4hrkMXdRtK" alt="" data-size="original"> |

### 여기서 끝이 아니다.

글이 길어져서 죄송합니다. 하지만 여러분, 대부분의 서버는 Bukkit 기반의 (spigot/paper 포함) 서버 구현체로 서버를 운용하고 있는데요.

무서운 점은, 이 Bukkit 기반의 서버에서는 모든 채팅 내용이 콘솔에 로그 된다는 점입니다.

|                     이런 식으로 말이죠. (도원경 외부 콘솔입니다.)                     |
| :-----------------------------------------------------------------: |
| <img src="/files/tf2N6TpXwSVB5ev6YiHg" alt="" data-size="original"> |

위에 설명드린 SuperiorSkyblock2 도 스파이 모드 온오프와 관계없이 콘솔에 무조건 섬 채팅 메세지를 전송합니다.&#x20;

또, 서버마다 다르겠지만 지역채팅 등의 민감한 채팅 내용도 시스템에 따라 콘솔에 메세지를 보내기도 합니다.

|                             도원경의 채팅 시스템                             |
| :-----------------------------------------------------------------: |
| <img src="/files/NMISCJ8BLAONBpZXckpi" alt="" data-size="original"> |

다행히 **도원경은 기획 단계에서부터 유저분들의 개인정보 침해에 문제 의식을 갖고 제작되었기 때문에 콘솔이나 관리진이 유저분들의 민감채팅을 확인할 수 있는 기능을 아예 제거하고, 원천 차단하고 있습니다.**

Bukkit 서버의 경우 플레이어 채팅 발생 시 AsyncPlayerChatEvent 라는 이벤트가 호출되어 코드를 실행하는데요. [\[링크 참고\]](https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/event/player/AsyncPlayerChatEvent.html)

위 코드를 보시면 아시겠지만, **도원경에서는 민감 채팅의 경우 플레이어 채팅 이벤트 발생 시 아예 이벤트 호출을 취소하고, 위 페이지에 보여드렸던 자체 제작 코드만을 실행해 콘솔에 섬 채팅이나 지역채팅 등이 로그되는 현상도 원천 차단하고 있습니다.**

### 마치는 글

이 글을 공유하면 문제의식조차 느끼지 못하는 일부 어드민 분들께 비난받을 수 있다는 사실을 알고 있습니다. 하지만, 마인팜을 사랑해주시는 유저분들 덕분에 마인팜 서버가 존재한다는 것을 생각하면, 마인팜 유저분들의 권리를 챙기는 건 누구보다도 어드민이 먼저여야 한다고 생각합니다. 코드가 검증되지 않은 서버에서는 가급적이면 지역채팅이나 섬 채팅을 이용하지 않으시길 바라겠습니다. 읽어주셔서 감사합니다.
