쉽게 따라하는 끄투 서버 만들기

이번에는 마인크래프트 서버 개발에 이은 끄투 서버 개발기입니다. 끄투는 쪼리핑(github.com/JJoriping)님이 개발하신 웹 게임으로서 끝말잇기 게임으로 유명합니다. 원래 이 게임은 쪼리핑님이 운영하시다가 모종의 이유로 운영을 그만 두시고 오픈소스로 전환하여 대중에게 공개했는데요, 개발 과정에서 여러가지 문제점이 있었지만 그 문제를 해결할 정도로 개발기를 상세히 적어 둔 자료가 없어 포스팅을 하게 되었습니다.

1. 시작하기

이번에는 Windows Server 운영체제와 AWS를 사용할 것입니다. GCP가 크레딧이 300달러로 많긴 하지만 윈도우 서버 운영체제 사용 시 라이센스 문제로 인해 월 가격이 거의 두배로 뛰어 부득이하게 학생들에게 제공되는 AWS Educate 계정을 사용하였습니다. 상단 설명, 하단 사진 구성으로 되어 있습니다.

  • AWS에서 Windows Server 2019 인스턴스를 생성합니다. 상세한 방법은 인터넷에 잘 올라와 있기에 이번 포스팅에서 다루지는 않겠습니다.

  • RDP를 이용해 가상 데스크탑으로 연결합니다. - 설치의 편의를 위함입니다. RDP로 접속하려면 암호가 필요합니다. 암호 가져오기를 클릭합니다. 4 인스턴트 생성 과정에서 발급한 키페어 파일을 업로드해 암호를 획득해 가상 데스크탑으로 접속합니다. 5

2. 준비하기

  • 먼저 레포지토리를 내려받기 위해 인터넷 보안 설정을 풀어주어야 합니다. (보안 측면에선 추천해 드리고 싶지 않습니다.) 사진대로 그대로 따라와 주시면 정상적으로 IE를 사용할 수 있습니다. 1 2 3 IE 보안을 풀어주긴 했지만 추후 있을 테스트를 위해 크롬 등 다른 브라우저를 다운받아줍니다. (저는 크로미움 엣지를 사용했습니다.)

  • https://github.com/JJoriping/KKuTu 에서 ZIP 파일로 다운받아 압축을 풀어 준비합니다. (중요사항 2020.02.23일 기준으로 최근 버전은 도커 추가 관련으로 서버 오픈시 웹 서버는 열리지만 게임 서버가 정상적으로 오픈되지 않습니다. 그렇기 때문에 구 버전인 https://github.com/JJoriping/KKuTu/tree/5663dd47d53b05c6c16f1e0568eef5b5095e3ca2 을 다운받아 사용하시기 바랍니다.) 6

  • node.js를 설치합니다. (버전 6 이상이면 됩니다.) https://nodejs.org/dist/v12.16.1/node-v12.16.1-x64.msi 7

  • 설치 후 cmd를 열어 npm install -g grunt grunt-cli를 입력해 자바스크립트 러너인 grunt를 설치합니다. 8 9

  • PostgreSQL을 설치합니다. 버전은 상관 없는 듯 하여 12.2 버전으로 다운받았습니다. https://www.enterprisedb.com/thank-you-downloading-postgresql?anid=1257365 - 설치 과정에서 암호를 요구하는데 잘 기억해 두시기 바랍니다. 10

3. db 세팅

설치 후 이 과정이 핵심입니다.

  • cmd를 열어 postgreSQl 설치 경로의 bin으로 이동해 경로를 복사합니다. 11 12
  • 데이터베이스를 생성하기 위해 createdb -U “postgres” “main”을 입력합니다. - main이라는 이름으로 데이터베이스를 생성하라는 명령어 (암호 입력을 요구할 경우 설치 과정에서 설정한 암호를 입력해줍니다.) 13
  • 위에서 압축을 풀어 둔 레포지토리 파일 상위에 db.sql 파일을 찾아 경로를 복사해 둡니다. 14
  • psql -U “postgres” -d “main” -f “경로” 를 입력합니다. 15 이렇게 하면 db 구축이 완료됩니다.

4. 세부 설정

  • 최상위 디렉토리의 server-setup.bat을 실행시켜줍니다.
  • ./Server/lib/sub 디렉토리에서 여러가지를 수정해 줄 것입니다. 처음 파일에 들어오면 auth와 global 파일은 뒤에 .inc 라고 되어 있을 것입니다. 이는 예제 파일로서 뒤에 inc만 빼 주시면 됩니다. 18 global.json 파일에서 pass와 pg_password 값을 수정해주고 에러가 발생할 경우 포트를 8090 따위로 바꿔 주시면 됩니다. 17 이렇게 하면 기본 설정은 끝sk게 됩니다.

5. 서버 열기

  • Server 디렉토리의 run.bat 파일을 실행시킵니다. (사진은 에러로 인해 담지 못했습니다. 추후 수정하겠습니다)

수고하셨습니다.
궁금한 점은 언제든 메일이나 댓글로 물어보시면 제 능력이 닿는 데까지 도와드리겠습니다. 감사합니다.

카테고리:

업데이트:

댓글남기기