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

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

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

### 섬 플러그인의 진실

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

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

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

| /island admin spy 명령어 사용 시 실행되는 코드                                                                                                                                                                                                                         | 스파이 모드 on/off 코드                                                                                                                                                                                                                                           | 섬 채팅 실행 코드 (spy 모드가 켜져있는 사람에게 채팅을 전송하는 코드 포함)                                                                                                                                                                                                              |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <img src="https://4095027975-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrDWIWZAZdIYDrRFFJCqy%2Fuploads%2F941hyLOLvkbmsWql9aZZ%2Fimage.png?alt=media&#x26;token=5460162a-2064-4533-bb43-4ddb349e67d2" alt="" data-size="original"> | <img src="https://4095027975-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrDWIWZAZdIYDrRFFJCqy%2Fuploads%2FyG9W0jKK86jDdG6rhuPx%2Fimage.png?alt=media&#x26;token=17c766de-84e7-4db8-b932-6c372ce44429" alt="" data-size="original"> | <img src="https://4095027975-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrDWIWZAZdIYDrRFFJCqy%2Fuploads%2Fyzn903fUY4faXY1L5jVf%2Fimage.png?alt=media&#x26;token=928f7176-31a6-4923-9059-e9ad6818eebd" alt="" data-size="original"> |

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

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

|                                                                                                도원경의 섬 채팅 실행 코드 (보시면 알겠지만, 오로지 섬원 목록만 가져와 섬원에게만 메세지를 전송합니다.)                                                                                                |
| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| <img src="https://4095027975-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrDWIWZAZdIYDrRFFJCqy%2Fuploads%2FIVhJKYDSCQot8G0PcoKQ%2Fimage.png?alt=media&#x26;token=6410ee83-e828-4b4d-bcc9-27f6060c2d24" alt="" data-size="original"> |

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

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

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

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

|                                                                                                                 도원경 외부 테스트 서버에서의 테스트 내용 공유                                                                                                                 |
| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| <img src="https://4095027975-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrDWIWZAZdIYDrRFFJCqy%2Fuploads%2FrLWg5rbzDt5zGH2ot1am%2Fimage.png?alt=media&#x26;token=fe482f3c-aa50-4e4f-b04e-398d9f7aba93" alt="" data-size="original"> |

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

|                                                                                                                          도원경 설정 공유                                                                                                                         |                                                                                                              도원경에서 채팅 내역이 기록되지 않아 확인할 수 없는 사진                                                                                                              |
| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| <img src="https://4095027975-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrDWIWZAZdIYDrRFFJCqy%2Fuploads%2FfKUmxHhTBh0YYZuiEKKy%2Fimage.png?alt=media&#x26;token=0a791f79-2982-4a5c-b314-a92443878bad" alt="" data-size="original"> | <img src="https://4095027975-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrDWIWZAZdIYDrRFFJCqy%2Fuploads%2Fbf0O9Xsq0CJoQLAp45NA%2Fimage.png?alt=media&#x26;token=30d9173b-1876-41e1-9eaf-06234915763d" alt="" data-size="original"> |

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

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

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

|                                                                                                                 이런 식으로 말이죠. (도원경 외부 콘솔입니다.)                                                                                                                |
| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| <img src="https://4095027975-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrDWIWZAZdIYDrRFFJCqy%2Fuploads%2FzjYwS9CCxEAhlwEZSCfw%2Fimage.png?alt=media&#x26;token=4753cc13-d7e0-4572-a71b-b2be5f3a27e6" alt="" data-size="original"> |

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

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

|                                                                                                                         도원경의 채팅 시스템                                                                                                                        |
| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| <img src="https://4095027975-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrDWIWZAZdIYDrRFFJCqy%2Fuploads%2FcM0cRDB1NeT86l9xd3t8%2Fimage.png?alt=media&#x26;token=57f14add-e1d2-4a03-8b02-4128ad692c3b" alt="" data-size="original"> |

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

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

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

### 마치는 글

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