마인크래프트 서버를 운영하기 전, 혹은 운영하는 중에 어떠한 것들을 고려해 보면 좋을까? PC or 호스팅부터 리눅스 vs 윈도우, 서버 코어, 유지비, 보안 대책까지 상세하게 알아보도록 한다.
│PC or 호스팅

PC(개인용 컴퓨터)로 연다면 전기세나 기타 비용을 제하고 보았을 때 추가적으로 소요되는 비용은 거의 없다고 봐도 무방하다. 다만 개인적인 용도로 쓰는 PC를 서버로 사용하게 되는 만큼 여러 불편도 감수해야 한다.
호스팅을 선택한다면 PC와는 별개의 IDC 센터에 입주된 컴퓨터를 이용하는 것이므로 편하게 운영할 수 있다. 또한 정전이나 점검 등 이변이 없는 한 컴퓨터는 24시간 가동되므로 완벽한 24시간 운영이 가능해진다. 하지만 구매비, 설치비, 경우에 따라 트래픽 비용 등 여러 가지 이유로 비용이 많이 소요될 수 있다.
따라서 자신이 열고 싶은 서버의 특성에 따라 방법을 정해야 한다. 만약 소규모로 몇몇 지인들과 즐길 예정이라면 24시간 운영은 사실상 필요 없다. 이런 경우 PC를 선택하는 것이 옳을 것이다. 반대로 여러 플레이어를 받고 다양한 콘텐츠를 제공하는 서버를 열려고 한다면 호스팅을 선택하는 걸 추천한다.
│리눅스 vs 윈도우

많은 사람들이 서버를 열 때 리눅스(Linux)를 선택하라곤 한다. 아마도 리눅스는 쓸데없는 기능들을 전부 빼고 필요한 것들만 설치할 수 있어 윈도우(Windows)에 비해 가벼운 운영이 가능하기 때문일 것이다. 그렇지만 리눅스가 아무리 장점이 많다고 해도 리눅스를 평생 사용해 본 적이 없다면 운영은커녕 서버 열기부터 난감할 수 있다.
만약 정말로 리눅스 사용에 자신이 없다면 윈도우 서버(Windows Server)를 사용하는 것도 하나의 대안이 될 수 있다. 리눅스에 비해 익숙하고 개인용 윈도우에 비해 한결 가벼운 것이 장점이다. 특히 우리에게 익숙한 윈도우 GUI를 그대로 사용하므로 따로 학습하지 않아도 긴급한 때에 빠른 대응이 쉽다.
즉, 본인이 긴급상황이나 오류에 어느 정도 대응이 가능할 정도로 리눅스를 알고 있다면 리눅스를 선택하는 것이 좋고, 리눅스를 사용해 본 적이 아예 없다면 윈도우 서버를 선택하는 게 차선책이 될 수 있다.
│서버 코어

마인크래프트는 공식적인 서버 코어인 바닐라(Vanilla)를 제공하고 있다. 그럼 바닐라로만 열면 만사 OK일까? 물론 자신이 마인크래프트에서 기본적으로 제공되는 기능으로만 운영할 생각이라면 그래도 상관없다. 그렇지만 몇몇 지인들과만 할 게 아니라면 다양한 기능을 추가해 주는 기능인 플러그인(Plugin)을 사용해야 하는데, 바닐라는 이런 플러그인을 사용할 수 없다.
당연히 바닐라에도 장점은 있다. 마인크래프트는 주기적으로 대규모 업데이트가 이루어지는 편인데, 비공식 코어는 여러 개인이 모여 개발하는 경우가 대부분이라서 새로운 버전 대응이 늦다. 반면 공식 코어(바닐라)는 개발사에서 직접 만드니 새로운 버전이 나오면 이와 동시에 새 버전에 맞는 파일을 받을 수 있다.
그렇다면 어떤 종류의 코어들이 있을까? 현재 사용 가능한 코어들 중 가장 일반적이면서 대표적인 것들은 다음과 같다.
Spigot은 개발이 활발하게 이루어지고 있으므로 가장 빠르게 최신 버전을 만나볼 수 있는 장점이 있다. 이것을 한층 더 개선한 것이 Paper인데, Spigot의 모든 기능에 여러 가지 설정을 추가적으로 지원하여 서버를 입맛대로 최적화시키기에 안성맞춤이다.
둘 중 어느 것을 사용해도 플러그인을 사용할 수 있지만, 개인적으로 조금 더 세부적인 설정이 가능한 Paper를 추천하는 편이다.
│유지비

여러 비용들 중 고정적으로 지출되는 항목은 바로 호스팅이다. 24시간 안정적으로 열기 원한다면 호스팅 사용은 필수인데, 업체와 서버 종류(가상 서버, 물리 서버)에 따라 가격대가 천차만별이다.
유명 업체인 카페24를 기준으로 가상 서버는 월 5,500 원부터, 물리 서버는 그 10배 이상으로 책정되어 있다. 물론 여기서 고려해야 될 점은 제일 싼 가상 서버로는 게임 서버 운영이 사실상 불가능하다는 것이다. 소규모 인원이라도 제대로 받으려면 최소 월 50,000 원 이상은 지출할 수 있어야 한다.
또한 사람이 많이 들어와 기본 제공 트래픽을 초과할 시 많게는 수십만 원의 트래픽 요금이 청구되는 경우가 있으니 주의가 필요하다.
이외 운영 규모에 따라 도메인, 플러그인, 홈페이지 제작 비용 등이 나갈 수 있다.
│보안 대책

이제 웬만한 것들을 모두 정했다면 보안 대책도 세워야 한다. 보안 대책을 세우는 이유는 공격으로 인한 운영 차질을 미연에 방지하기 위해서이다. 필자는 보안 대책을 세울 적에 안에서의 보안과 밖에서의 보안으로 나눠 생각하면 좋다고 본다.
– 안에서의 보안
안에서의 보안은 말 그대로 권한 탈취를 방지하는 등 내부적인 대책이다. 이것에는 아무에게나 최고 관리자 권한(OP) 주지 않기, 아무 데서나 플러그인 받지 않기 등이 있다.
특히 아무 데서나 플러그인을 받지 않는 건 생각보다 매우 중요한데, 공식 플러그인 배포 처가 아닌 네이버 블로그 등지에 개인이 업로드한 플러그인들은 운이 없다면 내부에 백도어 코드가 심어져 있는 것을 받게 될 수도 있기 때문이다.
– 밖에서의 보안
이렇게 안에서의 보안을 철저히 신경 써도 밖에서의 보안을 함께 고려하지 않는다면 소용없다. 분산 서비스 거부 공격(디도스, DDoS) 등 외부적인 요인을 차단하는 대책도 세워야 한다.
디도스 공격은 호스팅 사용 시 특히 취약할 수밖에 없는데, 대부분 호스팅사에서는 1~2회 이상 공격을 받을 시 서비스를 직권 해지한다는 약관이 존재하기 때문이다. 즉 피해는 피해대로 보고 서버 운영까지 강제로 접게 되는 대참사가 일어날 수 있다. 그러니 만반의 대비를 해야 될 필요성이 있다.
디도스 공격을 막을 수 있는 대표적인 방법은 아래와 같다.
– 디도스 방어 존
디도스 방어 존은 호스팅(IDC) 차원에서 디도스를 막아내는 방법이다.
즉 집안에 도둑을 막아내는 경호원을 여럿 두는 거나 마찬가지로 진짜 서버 IP를 공격자가 탈취하여도 공격이 최대한 먹히지 않게 해준다. 다만 이 방법은 가격이 평균 월 100만 원 정도로 개인이 부담하기엔 매우 비싸다. 그래도 사용하고 싶다면 이용 중인 호스팅 홈페이지를 참조해 보면 될 것이다.
– 디도스 완화 서비스
반면 디도스 완화 서비스는 뒷문을 모두 잠그고 정문 한 곳에 검문소를 두는 방법이다. 가격은 무료부터 존재하며 웬만하면 월 10만 원 내외로 디도스를 방어할 수 있다.
단점으로는 해외 디도스 완화 서비스를 이용한다면 핑이 높아져 서버 플레이가 힘들어질 수 있고 진짜 IP가 노출되었다면 소용없어진다. 공격자가 검문소를 피해 뒷문으로 침입하면 어찌할 방도가 없기 때문이다.
이 방법을 사용할 때 가장 유의해야 할 것은 진짜 IP가 노출되지 않도록 하는 것이다.
디도스 완화 서비스에는 무료인 MCVKR 등이 있다.