
앞 선 글들을 통해 Oracle Cloud 환경 설정과 원격 접속을 위한 준비를 마쳤다.
이번에는 실제로 클라우드에 서버를 올려 외부에서의 접속을 테스트해보려고 한다.
여기서는 개발중인 Embers 게임의 Dedicated Server를 활용한다.
서버를 구동하기 위해서는 서버 파일을 VM Instance에 업로드해야 한다. 여기서는 파일 업로드를 위해 FileZilla를 사용하려고 한다.

새 사이트를 만들고, 프로토콜을 SFTP로, 호스트에 Public IP를 기입하고, 포트는 생략해도 된다. 로그온 유형은 키 파일로, 사용자에 powershell로 ssh에 접근했던 이름을 기입하고, 키 파일에 그 전에 다운받았던 key 파일의 경로를 넣어준다.

0.0.0.0으로 설정한다.
VM Instance에 설치한 Ubuntu는 Linux 기반 OS이므로 유니티에서 Dedicated Server를 빌드할 때 Linux로 빌드해야한다. 유니티에서 Linux Dedicated Server를 빌드하기 위해서는 추가 모듈을 설치해야한다. 추가 모듈은 Unity Hub에서 설치해주면 된다.

모듈을 설치하고, 유니티 에디터에서 빌드할 때 프로파일을 Linux Server로 두고 빌드하면 된다.

VM Instance에 server라는 디렉토리를 만들고, 방금 만든 빌드파일을 업로드해줬다.

powershell로 vm instance에 접속한다. (이에 대한 방법은 이전 글에 설명되어 있다.)

명령어 창에 tmux를 입력하고 tmux에 접속한다. tmux를 통해 로컬 PC에서 터미널의 접속이 끊겨도 세션을 유지할 수 있게 해준다.
Unity Server 빌드 파일을 저장한 server 디렉토리에 접근해서, x86_64 파일을 실행한다.

만약 Permission denied가 표시된다면, 아래의 명령어로 실행 권한을 부여한다.
chmod +x [FileName]
ex) chmod +x Embers.x86_64
x86_64 파일을 실행하면 Dedicated Server가 정상적으로 오픈되는 모습을 확인할 수 있다.
- 접속된 세션 나가기
Ctrl + b → d
- 현재 실행 중인 세션 확인
tmux ls
- 현재 실행 중인 세션에 다시 접속
tmux attach -t [세션번호]
세션 번호는 `tmux ls` 명령어를 입력하면 출력된다.
여기까지 Oracle Cloud에 Unity Dedicated Server를 올려 호스팅하는 방법을 알아보았다.
이 글에서 예시로 사용된 Embers는 MMORPG이므로 Database를 사용한다. 이 때문에 사용하는 VM Instance에 DB Server도 돌리고 있으며, 이에 대한 자세한 설명은 다음 글에서 설명하도록 하겠다.