[Daily Poll] 작업일지(1-a) - 마인크래프트 서버 설치
이번에도 역시 의식의 흐름대로...
전문가들이 본다면 뭘 당연한 걸 적어놨나 싶겠지만, 그냥 공부한 걸 복습할 겸 기록하고 있다.
집에 있던 N100 미니PC를 아이들과 함께 노는 마인크래프트 서버로 사용하고 있었는데, 이 서버를 오라클 클라우드의 인스턴스에 설치해 보았다.
심플하게 바닐라 서버만 실행하면 되기에 openjdk21 설치 후, minecraft 서버를 간단하게 실행하면 끝이다.
하지만 이걸로 외부에서 접속할 수는 없다. 이 인스턴스는 VCN과 Subnet 안에 위치하고 있기에, 외부의 접속 요청이 이 서버까지 도달할 수가 없기 때문이다.
간단하게 표현을 해 보자면
(내 PC의 마인크래프트) - (VCN) - (Subnet) - (Instance)
이렇게 구성되어 있을 때 마인크래스트 접속 요청이 25565번으로 가게 되는데, (내 PC) - (VCN) 사이에서 VCN 가 이걸 통과시켜 주지 않기 때문이다.
이전 글대로 서버 인프라를 구축했다면, VCN 과 Subnet 이 동일한 보안 규칙을 사용하게 된다. 그래서 VCN 혹은 Subnet 둘 중 아무데서나 보안 탭 > 보안 규칙으로 들어간 다음 25565 포트를 열어주면 된다.
인터넷을 찾아보면 다양한 솔루션들이 나오는데, 무작정 따라하면 안되고...
내가 확인한 바로는 ubuntu 계열이라면 iptables 를 직접 사용하거나 ufw 추가로 설치해서 사용하면 되는 것 같다. Redhat 계열은 firewalld 를 사용하는 솔루션을 찾으면 된다.
ufw 가 좀 더 편리하다고 하는데, 그냥 포트 하나 추가하는데 굳이... iptables 사용하는 명령어도 찾으면 다 나오는 걸...
한국에 있는 춘천 리전이라 느리지도 않고, N100 보다도 더 성능이 좋은 거 같다.
그런데 게임을 하고 있으니 갑자기 누군가 접속해서 뭐라하고 바로 나간다.
'뭐지?' 하고 봤더니...
--------------
[16:02:16] [Server thread/INFO]: matscan joined the game
[16:02:16] [Server thread/INFO]: <matscan> Hello. I'm a friendly bot that scans the internet for Minecraft servers.
[16:02:17] [Server thread/INFO]: <matscan> This server isn't whitelisted, which means griefers can and probably will join it. To avoid this you must whitelist the server with the commands '/whitelist on' and '/whitelist add <player>'.
[16:02:17] [Server thread/INFO]: <matscan> If it was meant to be public, please ensure that the server is taking frequent backups to prevent permanent damage in the event that it is targeted.
[16:02:17] [Server thread/INFO]: <matscan> - mat | FAQ: https://matdoes.dev/matscan
[16:02:19] [Server thread/INFO]: matscan lost connection: Disconnected
--------------
whitelist 설정하라고 하고 나갔다. 착한 친구네. 다행히 내가 접속해 있는 동안 왔다 가서 볼 수 있었지, 그게 아니었다면 굳이 마크 서버 로그를 볼 일이 없었을텐데.
어쨌거나 마크 기본 포트를 쓰는데다 보안 규칙에 소스를 0.0.0.0/0 했더니 어디서나 접속이 되기에 문제가 있긴 하다. 바로 whitelist on 하고 나와 아이들 계정만 허용해 주었다.
아차 마지막으로 서버를 실행할 때 ssh 접속해서 실행했는데, 그냥 터미널에서 실행하면 터미널 종료되면 마크 서버도 종료된다. nohup 을 써야 하나 했는데, 누군가 screen 을 추천해줘서 보니 이게 훨씬 낫다.
오늘은 여기까지. 끝.
댓글
댓글 쓰기