본문 바로가기
놀러오세요 동물의 숲/놀동숲 통신

melonDS를 사용해 PC로도 놀동숲 통신을 즐겨보자!

by Nogojiri 2020. 4. 11.

본 게시글은 디시인사이드 놀러오세요 동물의숲 마이너 갤러리에 게시한 글의 변경 사항을 실시간으로 수정하는 데에 용이하도록 할 목적으로 작성되었습니다.

 

시작하기에 앞서서, 에뮬레이터 중 melonDS를 고른 이유를 설명해드리겠습니다.

우선 melonDS는 DeSmuME에 비해서 속도가 굉장히 빠릅니다. 두 에뮬레이터 모두 프레임이 낮으면 게임 속도까지 느려져버리는데, DeSmuME이 20~30fps를 뽑아내는 환경에서도 melonDS는 60fps을 기본 보장하여 쾌적한 플레이 환경을 제공합니다.

게다가 melonDS는 통신 기능이 공식적으로 제공됩니다. DeSmuME은 개발을 완료하기도 전에 통신 기능을 버렸지만(지금 가능한 것은 비공식적으로 개발된 버전), 여기서 통신 기능 개발자가 개발팀에서 나와 독자적으로 melonDS를 만들어서 에뮬레이터 최초로 NDS 통신 기능을 제공하여 지금까지 문제 없이 지원하고 있는 것입니다.

따라서 melonDS를 사용하면 통신을 하기까지의 과정이 조금 더 편리해질 뿐더러, 쾌적한 환경에서 게임을 플레이할 수 있어서 melonDS를 택했습니다.

 

-준비물-

네트워크 패킷 스니핑 라이브러리 (WinPcap)

에뮬레이터 (melonDS)

닌텐도 DS 바이오스/펌웨어 파일 (bios7.bin, bios9.bin, firmware.bin)

놀러오세요 동물의 숲 한글판 롬 파일 (*.nds) (WfcPatcher를 통한 SSL 패치가 불필요합니다)

 

WinPcap과 melonDS를 미리 다운받아놓아도 좋지만 천천히 설명해보겠습니다. 참고로 닌텐도 DS 바이오스/펌웨어 파일과 놀러오세요 동물의 숲 롬 파일을 배포하는 것은 불법이므로 여러분들께서 직접 찾아보시기 바랍니다.

그럼 본격적으로 melonDS로 통신하는 방법을 알아보겠습니다.

(가독성을 위해 에뮬레이터 화면을 수평 배열로 설정함)

 

일단 에뮬레이터를 구동할 컴퓨터나 노트북을 무조건 공유기에 유선 연결해야 합니다. 스마트폰의 모바일 데이터를 켜서 USB 테더링을 해도 괜찮지만, 공유기에 유선 연결하기가 절대적으로 불가능한 환경이 아니라면 추천하지는 않습니다. 그래도 어떻게 하는지는 알아봅시다.

 

USB 케이블로 PC를 스마트폰에 연결하고, 스마트폰에서 모바일 데이터와 USB 데이터를 켜줍니다. 삼성 갤럭시 안드로이드 9 기준 '설정>연결>모바일 핫스팟 및 테더링'으로 들어가 USB 테더링을 눌러 켜주면 됩니다.

 

그리고 PC에서 '제어판>네트워크 및 인터넷>네트워크 연결(윈도우10 기준 '네트워크 연결 보기'를 검색해 바로 진입)'로 들어가 이더넷이 제대로 연결되어있는지 확인합니다. 위의 사진과 같이 되어있으면 연결된 것입니다. (프로그램을 내려받아야 하기 때문에 Wi-Fi사용 안 함으로 바꿔줄 필요는 없음)

 

그럼 이제 준비물 중 WinPcap과 melonDS를 내려받을 차례입니다.

melonDS는 닌텐도 DS 에뮬레이터이고, WinPcap은 게임을 가상으로 구동하는 melonDS가 인터넷에 연결할 수 있도록 해주는 라이브러리입니다.

 

WinPcap은 링크를 타고 들어가 설치 파일을 내려받아서 실행하면 설치됩니다.

 

melonDS는 링크를 타고 들어가 압축 파일(*.7z)을 내려받아서 압축 해제(알집 기준 '선택한 폴더 하위에 압축파일명으로 폴더 생성(F)'를 체크해 바탕화면에 바로 압축 해제하면 편함)하면 됩니다.

 

그리고 닌텐도 DS 바이오스/펌웨어 파일은 bios7.bin, bios9.bin, firmware.bin이라는 이름으로 melonDS 폴더에 옮기면 됩니다. melonDS.exe와 같은 위치에 있어야 인식이 가능합니다.

 

melonDS를 구동할 준비가 끝났으니, 이제 melonDS 폴더에서 에뮬레이터 파일인 melonDS.exe를 실행합니다.

 

상단의 'Config>Wifi settings'로 들어갑니다.

 

다음과 같은 화면에 진입하게 되면 Bind socket to any addressDirect mode를 모두 체크하고 Network adapter이더넷으로 지정해주면 에뮬레이터 설정은 끝입니다.

참고로 사진에 표시된 IP 주소는...

 

명령 프롬프트에서 'ipconfig' 명령어를 입력했을 때 나오는 '이더넷 어댑터 이더넷'의 IPv4 주소와 일치해야 합니다. 그런데 아마 같을 것이므로 밑의 과정을 진행하는 도중에 오류가 난 것이 아니면 굳이 확인할 필요는 없습니다.

 

이제 상단의 'File>Open ROM...'으로 들어가 놀러오세요 동물의 숲 롬 파일(*.nds)을 열어줍시다.

 

시작 화면에서 '다른 일>Wi-Fi 설정>시작하기'를 순서대로 선택해서 Wi-Fi 커넥션 설정에 진입합니다.

 

거기서 '옵션>Wi-Fi 유저 정보를 삭제'를 순서대로 선택합니다.

 

'예>예>예'를 순서대로 선택해서 Wi-Fi 유저 정보를 삭제한 뒤 종료합니다. 이 Wi-Fi 유저 정보라는 것은 액세스 포인트 접속에 성공했을 때 생성되는 것으로 보이며, 게임 내 친구 코드 또한 Wi-Fi 유저 정보를 삭제하면 리셋되어 재발급받아야 합니다. 그리고 밑의 모든 과정을 마치고 나면, 오류가 나서 처음부터 다시 설정하는 것이 아니라면 다시 이 과정을 거쳐야 하는 경우는 없습니다.

 

아무튼간에 다시 롬 파일을 열어 Wi-Fi 커넥션 설정에 진입합니다.

 

이번에는 'Wi-Fi 접속 경로 설정>접속 경로 1(미설정)>액세스 포인트를 검색'을 순서대로 선택해 이용 가능한 액세스 포인트를 찾습니다.

 

그러면 사진과 같이 melonAP라는 이름의 액세스 포인트가 잡히는데, '결정>예'를 순서대로 선택해 접속 테스트를 시직합니다.

 

그리고 사진과 같이 에러 코드 20110의 에러가 발생하면 성공입니다. 왜 꼭 이 20110번 에러가 떠야 성공인지는 이따가 설명하겠습니다. 다음을 선택합니다.

 

그럼 다시 Wi-Fi 접속 경로 설정에 진입하게 되는데, 접속 경로 1에 방금 시도한 연결의 정보가 저장되어있습니다. 접속 경로 1(설정됨)을 선택합니다.

 

스크롤을 맨 밑으로 내려 자동으로 DNS 주소 받기아니오로 설정합니다.

 

기본 설정 DNS를 자신이 접속하고자 하는 사설 서버의 IP 주소로 설정합니다. 보조 DNS는 기본 설정 DNS 주소로 접속하는 데 실패했을 때 접속을 시도하는 서버의 주소입니다. 뭔지 잘 모르겠거나 필요가 없다고 생각되면 그냥 0.0.0.0으로 놔두는 것이 좋습니다. 참고로 우리나라를 기준으로 가장 통신 속도가 빠른 사설 서버의 IP 주소는 172.104.88.237입니다.

 

사진과 같이 설정을 마쳤으면 접속 테스트를 선택해 접속 테스트를 다시 진행합니다.

 

사진과 같이 접속에 성공했다는 메시지가 뜨면 성공입니다. 눈치 채셨겠지만, 아까 20110번 에러가 발생한 것은 DNS 주소를 자동으로 받았기 때문입니다. DNS 주소를 자동으로 받으면, 게임스파이에서 운영하다가 2014년에 서비스를 종료한 닌텐도 Wi-Fi 커넥션의 서버로 접속됩니다. 따라서 Wi-Fi 커넥션 서비스가 종료되었다는 에러 메시지가 뜬 것입니다. 하지만 RiiConnect24, Wiimmfi 등에서 정상적으로 서비스중인 사설 서버의 IP를 입력하면 접속에 성공할 수 있는 것입니다. (위에서 소개해드린 172.104.88.237 사설 서버는 barronwaffles라는 서버 개발자가 서비스중인 것으로 보입니다. 제보 환영)

만약 20110번 에러가 발생해야 하는 과정에서 에러 코드 52000 등의 다른 에러가 발생했다면?

접속 테스트는 DNS에 접속하기 전에 액세스 포인트에 먼저 접근합니다. 그런데 자동으로 받은 DNS 주소로 접속했다가 Wi-Fi 커넥션 서비스가 종료되었다는 20110번 에러를 뱉어내기도 전에 다른 에러가 발생한 것이라면, 액세스 포인트에 접근하지 못했다는 의미입니다. 이는 WinPcap을 제대로 설치하지 않았거나(또는 호환되지 않거나), 이더넷 연결의 문제이거나, melonDS의 와이파이 설정을 잘못 건드린 경우 중 하나일 것입니다.

 

접속 테스트가 종료되면 설정을 저장을 선택해서 접속 경로 1에 방금 성공한 연결의 정보를 저장해줍니다. 여기까지의 과정을 모두 마쳤다면 '아마' 성공할 것입니다.

 

정말로 통신이 되는지는 관문의 오른쪽 문지기에게서 친구 코드를 받아봐야 알 수 있습니다. 문지기에게서 친구 코드를 받다가 무한 로딩에 걸리는 경우는 대개 melonDS의 'System>Reset'이나 'System>Stop'을 선택하고 다시 롬 파일을 열어서 Wi-Fi 커넥션 설정에 진입했다가 다시 진행하면 제대로 되는 것으로 보입니다.

위의 과정을 모두 거치고도 문지기에게서 친구 코드를 받는 중에 생긴 오류의 제보는 환영입니다.

 

그리고 웬만하면 중고로라도 DS 기기랑 정품 칩(하다못해 세이브파일 관리를 명분삼아 R4칩이라도) 사서 즐기는 걸 추천합니다. 에뮬레이터쪽이 성능이나 그래픽 면에서는 더 우월하지만, 결국 바이오스/펌웨어 파일이랑 롬 파일을 가져다 쓰는 건 저작권 침해입니다. 그렇다고 파일을 내려받는다고 불법은 아니니까 경찰서 가서 "저... 제가 컴퓨터로 닌텐도 에뮬레이터를 실행시켰는데요..." 이랬다가 얼굴 빨개져서 집으로 돌아오지 마시고, 바이오스/펌웨어 파일이랑 롬 파일을 배포하지 않도록 합시다.

댓글