Skip to content

JJoriping/KKuTu

Repository files navigation

KKuTu

한국어

글자로 놀자! 끄투 온라인

끄투는 여러분의 어휘력을 발휘할 수 있는 다양한 단어 게임들이 모여 있는 캐주얼 게임입니다. 로봇과 혼자서 게임을 할 수도 있고, 서버에 접속해 있는 다른 사람들과 함께 할 수도 있죠. 이 저장소는 여러분이 끄투를 즐기기 위해 준비해야 할 것들에 대해 알리고 있습니다.

설치 방법

Windows 환경

  1. 이 레포지토리를 내려받습니다.
  2. node.js 인스톨러를 내려받아 설치(버전 8 이상)합니다. npm과 함께 설치되어야 합니다.
  3. 명령 프롬프트에서 npm install -g grunt grunt-cli를 입력해 grunt를 설치합니다.
  4. PostgreSQL 인스톨러를 내려받아 pgAdmin(자동으로 설치됨)과 함께 설치합니다.
  5. pgAdmin을 실행시키고 SQL 파일(./db.sql)을 데이터베이스에 입력시킵니다.
  6. 배치 파일(./server-setup.bat)을 실행시킵니다.
  7. 배치 파일(./Server/run.bat)을 실행시킵니다.
    • 되도록 이 배치 파일을 직접 종료하지 말고 이를 실행시켜 나타나는 창을 종료하세요.

Linux 환경

  1. 이 레포지토리를 내려받습니다.
  2. 패키지 매니저를 이용하여 node.jsnpm을 설치(버전 8 이상)합니다.
  3. npm install -g grunt grunt-cli를 입력해 grunt를 설치합니다.
  4. 패키지 매니저를 이용하여 PostgreSQLpsql을 설치합니다.
  5. SQL 파일(./db.sql)을 데이터베이스에 입력시킵니다.
    1. 명령어를 다음 예와 같이 입력할 수 있습니다: sudo -u postgres psql --quiet main < ./db.sql
  6. 섈 스크립트 파일(./server-setup.bat)을 실행시킵니다. (Windows 전용 파일이지만 Linux에서도 작동합니다.)
  7. 경로 ./Server에서 다음 명령어들을 차례대로 실행합니다:
    1. (게임 서버) node lib/Game/cluster.js 0 1
    2. (웹 서버) node lib/Web/cluster.js 1

공통

  • PostgreSQL 데이터베이스 서버에 접속하기 위해 설정 파일(./Server/lib/sub/global.json)에서 PG_PASS 값을 반드시 수정해야 합니다.
  • 폴더 ./Server/lib/sub에 oAuth 설정 파일(auth.json)과 전역 설정 파일(global.json)을 반드시 만들어 주세요. 본 레포지토리에는 각 파일의 양식이 들어가 있습니다.
  • 본 레포지토리에는 WordNet 자료가 포함되어 있습니다. 서버를 운영할 때 반드시 사용자에게 이에 대한 라이선스를 안내해야 합니다.
  • 호스트 127.0.0.2는 웹 서버와 게임 서버 사이의 연결을 위해 예약된 주소이므로 이 주소를 사용하지 말아야 합니다.
  • 서버가 정상적으로 설치된 다음부터는 서버를 실행시키기 위해서 가장 마지막 단계만 수행하면 됩니다.
  • 서버가 성공적으로 열린 후 웹 브라우저에서 127.0.0.1(다른 사람들은 해당 컴퓨터의 외부 IP 주소)로 접속하여 끄투를 즐길 수 있습니다.
  • 랭킹 및 세션 기능 일부는 Redis 서버가 실행되어야만 작동합니다. 일단 이를 설치하지 않아도 서버가 작동할 수 있도록 조치했습니다.
  • Cloudflare를 이용하는 경우, DNS 탭의 status를 DNS only로 두세요. DNS and HTTP proxy (CDN)으로 둘 경우, 방 만들기와 방 입장이 불가합니다.

라이선스

English

Rule the words! KKuTu Online

KKuTu is a casual game containing various word games that let players use their vocabulary. Players can play alone with a robot, or play with other players who have entered to a server. This repository provides you what you have to prepare to play KKuTu.

How to Install

For Windows

  1. Download or clone this repository to your machine.
  2. Install node.js and npm(this will be installed automatically). The version should be ≥8.
  3. Open cmd and run npm install -g grunt grunt-cli to install grunt.
  4. Install PostgreSQL database server and pgAdmin(this will be installed automatically).
  5. Run pgAdmin and put the SQL file(./db.sql) into your database.
    • For further details, visit my blog.
  6. Run the batch file(./server-setup.bat).
  7. Run the batch file(./Server/run.bat).
    • If you want to close the server, it is recommended that closing not the command prompt window, but the window generated by the command.

For Linux

  1. Download or clone this repository to your machine.
  2. Install node.js and npm via a package manager. The version should be ≥8.
  3. Run npm install -g grunt grunt-cli to install grunt.
  4. Install PostgreSQL database server via a package manager.
  5. Put the SQL file(./db.sql) into your database.
    1. Run a command like: sudo -u postgres psql --quiet main < ./db.sql
  6. Run the shell script file(./server-setup.bat). (It is a batch file for Windows but it will also work on Linux.)
  7. Run these on working directory ./Server in order:
    1. (Game server) node lib/Game/cluster.js 0 1
    2. (Web server) node lib/Web/cluster.js 1

Common

  • You MUST edit the file(./Server/lib/sub/global.json) to connect to your PostgreSQL database server.
  • You MUST create two files(./Server/lib/sub/auth.json, ./Server/lib/sub/global.json) to turn on this server.
  • This repository contains some data from WordNet. Please provide users the license of WordNet when you operate this server.
  • The host 127.0.0.2 is reserved for connections between your web server and game server.
  • Once the server is successfully installed, you can do just the last step of above-mentioned guideline whenever you want to run the server.
  • You can open a browser and go to 127.0.0.1(or external IP address for other people) to play KKuTu.
  • Ranking and some session features require Redis server. This is optional.
  • If you use Cloudflare, you should set status of DNS Tab to 'DNS only'. The status 'DNS and HTTP proxy (CDN)' could disable to open and enter to a room.

License