BLOG
게임 개발

AWS 이용해서 테라리아 모바일 서버 개설하기


Sept. 11, 2022, 4:12 p.m.



얼마 전에 모바일 테라리아를 하는데 군대 친구들과 온라인으로 할 필요가 있어서 서버를 개설했다. 군대 안에서 하려다 보니 어떻게 할까 고민하다가 사지방 컴으로 AWS를 이용해서 열었었는데 그 과정을 공유하고자 한다. (지금은 전역해서 안한다....)


1. EC2 인스턴트 생성하기

먼저 서버를 열기 위해서는 EC2 인스턴스를 생성해야 된다. 천천히 알아보자.

먼저 AWS에 가입해야한다. 가입이 되어있고 결제 설정도 다 되어있다면 다음으로 넘어가자.

EC2에 들어가면 아마 아래와 같은 화면이 나올 것이다. 여기서 인스턴스 시작을 누른다!

Quick Starrt에서 윈도우 서버를 고른다. 테라리아 모바일 서버는 윈도우 운영체제에서 돌릴 수 있다.

그 밑으로 내려가면 인스턴스 유형을 정할 수 있다. 말하자면 서버의 성능을 결정하는 것인데 테라리아 모바일 서버 정도는 아주 성능이 낮은 인스턴스도 가능하다. t2.micro정도면 충분하다. 만약 AWS를 처음 이용하는 사람이라면 1년동안 프리티어로 무료로 사용할 수도 있다.

그 다음 키 페어를 만들어야 한다. 키페어는 만들어진 서버에 접속할 때 필요한데 rsa 암호화를 이용한다. .pem 파일로 암호화 되어 저장되며 이것을 EC2 홈페이지에서 복호화 한 뒤에 그 암호를 사용하여 서버에 접속하게 될 것이다. 암호화 파일이 있다면 해당 파일을 누르고 없다면 새 키 페어 생성을 누른다.

새 키 페어 생성을 눌렀다면 아래와 같은 화면이 나오는데 키 페어 이름을 입력하고 키 파일 형식을 .pem으로 지정한뒤 생성을 누른다.

생성을 누르면 바로 .pem 파일이 다운로드 받아질 것이다. 이 파일은 다시 만들 수 없기 때문에 소중히 드라이브에 보관하도록 하자.

그 다음은 네트워크 설정이다. 오른쪽 위에 편집 버튼을 누르면 아래와 같은 화면이 나오게 된다.

기본적으로 rdp(3389) 포트가 열려있다. 우리가 RDP를 이용해서 서버에 접속해야 하기 때문이다. 한 가지 포트를 더 열어야 한다. 바로 테라리아 서버에서 사용하는 7777포트이다. 새로 추가해주자.

보안그룹 규칙 추가를 누르면 아래와 같이 입력할 수 있는 칸이 생기는데 거기에 이렇게 입력한다.

사용자 지정 TCP로 설정하고 포트 범위를 7777로 설정. 소스 유형을 위치 무관으로 한다. 그래야 어디서든 접속 할 수 있다.

여기까지 설정 했다면 완료되었다. 인스턴스 시작을 누르면 된다.

EC2의 인스턴스 목록을 보면 이렇게 방금 생성한 서버가 보이는 것을 볼 수 있다. 대기 중에서 실행 중으로 바뀌면 실행이 완료된 것.

여기까지 되었다면 인스턴스 생성은 끝났다.


2. 인스턴스에 접속하기

자 이제 열심히 만든 인스턴스에 접속해서 서버를 실행할 차례이다. 여러 단계를 거쳐야 하므로 천천히 따라해보자.

만든 인스턴스를 누르고 오른쪽 위의 연결을 누른다. 그러면 인스턴스에 연결 창이 뜨는데 RDP 클라이언트를 누른다. 아래와 같이 나올 것이다.

여기서 암호 가져오기를 누른다.

Browse를 눌러 이전에 만든 키 페어 파일(.pem 파일) 을 가져온다. 좀 긴 영어가 쭈루룩 들어올텐데 암호 해독을 누르면 암호 해독이 된다.

암호 해독이 되었다면 해당 암호를 복사 한 후 원격 데스크톱 파일 다운로드를 누른다.

서버에 연결할 수 있는 .rdp 파일이 다운로드 될 것이다.

해당 파일을 실행한다. 확인 누르고 넘어가면 사용자 자격 증명을 입력하란다. 여기에 아까 복사한 암호를 넣으면 된다.

좀 기다리면 윈도우 서버가 새로운 창에 실행이 될 것이다!


3. 모바일 서버 실행 준비하기

자 이제 이 윈도우에 테라리아 모바일 서버 파일을 넣어야 한다. (서버말고 컴퓨터에서)아래 링크에 접속해보자.

테라리아 홈페이지

홈페이지에 접속해서 맨 밑으로 내리면 서버를 다운로드 받을 수가 있다. Mobile dedicated server를 클릭해서 압축파일을 다운로드 받자.

다운로드가 완료되면 압축을 풀자. 압축을 풀면 폴더 안에 Windows 폴더가 보일 것이다. 해당 폴더를 우클릭 해서 복사한다.

그 다음 rdp로 접속한 서버에 들어가 붙여넣기 해준다.

복사가 완료되면 폴더 안에 들어가서 start-server 배치파일을 실행해보자. 뭔 에러가 뜰 것이다.

잘 읽어보면 Microsoft.xna.Framework라는 것을 불러오지 못한다고 한다. 그럼 설치해 주는게 인지상정.

다시 접속한 서버 말고 외부 컴퓨터에서 아래 링크에 접속해 준다.

Microsoft.xna.Framework

다운로드 한 파일을 아까와 마찬가지로 복사해서 접속한 윈도우 서버로 옮겨준다.

실행해서 설치 해준다. 설치를 완료 한 후 서버 안에서 TerrariaServer.exe 파일을 실행하면 서버가 정상적으로 잘 실행되는 모습을 볼 수 있다.

하지만 아쉽게도 이게 끝이 아니다. 방화벽 설정까지 마쳐 줘야한다. 실행한 서버를 닫아주자.

서버 안에서 윈도우버튼을 눌러 설정에 들어와준다. 검색에 Firewall 이라고 치면 아래 화면과 같은 설정에 들어올 수 있을 것이다.

자. 여기서 Advanced settings에 들어가준다.

그러면 아래와 같은 화면이 뜰 텐데 Inbound와 Outbound 각각 7777포트를 열어줘야 한다. New Rule를 클릭하자.

여기서 Port를 클릭하고 다음.

Specific local ports에 7777 누르고 다음

그다음 Allow the connection을 선택하고 완료될때까지 다음 누르면 된다. 이름은 대충 Terraria 정도로 지어주면 된다.

왼쪽 상단에 OutBound Rule에 들어가서 똑같은 방법으로 New Rule을 눌러 7777 포트를 열어주자.

방화벽 설정이 완료되었다면 다시 TerrariaServer.exe를 클릭해 실행하자.


4. 모바일 서버 실행하고 설정. 게임에서 접속하기

실행을 하게 되면 맵을 고르라고 하는데 n을 눌러 새로 맵을 생성해주면 된다. 맵의 크기, 난이도, 시드를 설정할 수 있고 다 설정하면 서버가 맵을 생성한다. 생성이 완료되면 다시 맵을 고르라고 나온다. 여기서 내가 생성한 맵의 번호를 누르고 엔터.

최대 동시접속 플레이어를 물어보는데(Max players) 적당히 입력하고 엔터.

Server port 입력하라고 나오는데 우리는 이미 7777로 포트를 열어놨기 때문에 아무것도 입력하지 말고 엔터.

Automatically foward port? 물어보는데 y 입력하고 엔터.

마지막으로 서버의 비밀번호 입력하라고 나오는데 원하는 비밀번호 입력하고 엔터 누르면 된다. 안만들고 싶으면 빈칸으로 놔두고 엔터를 누르자.

이렇게 나온다면 서버 실행이 성공적으로 완료된 것이다. 이제 접속하는 일만 남았다.

테라리아 모바일을 실행해보자.

멀티플레이를 누르고 온라인을 누른다. 그리고 서버 추가를 누른다.

이렇게 나올텐데 여기에 서버의 ip 주소를 입력하면 된다. 서버의 ip 주소는 어떻게 알 수 있냐면 바로 접속할때 쓴 rdp 파일에 쓰여있다.

빨간 줄 쳐있는데를 보면 -로 구분이 되어있는데 테라리아에 입력할 때는 .으로 구분해서 입력한다.

사진같은 경우는 43.201.31.171로 입력하면 되겠다.

입력하고 접속을 누르면 성공적으로 서버에 접속이 될 것이다. 서버에 접속이 되면 서버 프롬프트에도 아래와 같이 로그가 뜬다.

여기에는 서버에 접속한 플레이어들이 채팅한 기록같은 것도 모두 볼 수 있다.


이렇게 AWS EC2를 사용해서 테라리아 모바일 서버를 개설하는 방법을 알아보았다. 잘 활용해서 재밌게 플레이하길 바란다. 추가로 테라리아 서버 파일중에 serverconfig라는 텍스트 파일이 있는데 해당 파일로 여러가지 설정을 할 수도 있다.

마지막으로 EC2 인스턴스는 접속을 하던 안하던 만들어 놓으면 요금이 시간마다 나가기 때문에 서버를 사용하지 않는다면 인스턴스를 중단해놓자. (종료를 누르면 인스턴스가 아예 삭제되므로 조심)

AWS 테라리아 모바일 서버



Search