JJoriping / KKuTu

글자로 놀자! 끄투 온라인
http://jjo.kr/kkutu
GNU General Public License v3.0
332 stars 267 forks source link

서버 포트/소셜 로그인 #1

Closed parkboo closed 7 years ago

parkboo commented 7 years ago

소스 공개 먼저 감사드립니다.

문서에 서버 포트 변경 방법과 소셜 로그인 관련 수정이 필요한 곳 설명이 있었으면 좋겠습니다.

JJoriping commented 7 years ago

우선 끄투 서버 운영에 관심을 가져 주셔서 감사드립니다.

게임 서버 포트와 데이터베이스 서버 포트를 말씀하시는 것 같은데 둘 모두 ./Server/lib/sub/global.json에 기록되어 있습니다. 게임 서버는 cluster 모듈을 통해 마스터-슬레이브 방식으로 관리되는데, 위 파일에 기재된 포트는 마스터 게임 서버의 포트이고 슬레이브 게임 서버의 포트는 여기서 416(매직 넘버를 사용한 점 양해 바랍니다)을 더한 값입니다(파일 ./Server/lib/Game/slave.js, ./Server/lib/Game/clustser.js, ./Server/lib/Web/lib/kkutu/body.js). 참고로 웹 클라이언트 소스를 변경하시는 경우 꼭 ./Server/lib/grunt 등으로 클라이언트 소스를 uglify해 주시기 바랍니다.

JJoriping commented 7 years ago

소셜 로그인 관련 부분은 해당 oAuth 제공 업체 측에서 애플리케이션을 새로 발급받으신 뒤 서버 측에서는 ./Server/lib/sub/jauth.js를 수정하시고, 클라이언트 측에서는 ./Server/lib/Web/lib/in_login.js를 수정하셔야 합니다. 다만 소셜 로그인 외에도 일반 회원 가입을 이용하시려는 분들을 위해 관련 데이터베이스 구조는 설정해 둔 상태이니 일반 회원 가입 기능을 구현해 보시는 것도 추천합니다. 웹 페이지를 새로 만들 때에는 웹 클라이언트 측에서 ./Server/lib/Web/views/(뷰 이름).pug./Server/lib/Web/lib/(JS 이름).js, ./Server/lib/Web/public/css/(CSS 이름).css 파일을 각각 생성해 주시고 uglify를 위해 ./Server/lib/Gruntfile.js를 적절히 수정해 주신 뒤 uglify 후 웹 서버(./Server/lib/Web/main.js 등)에서 해당 페이지 주소를 라우팅해 주시면 됩니다.

parkboo commented 7 years ago

감사합니다. 일단 수정해서 돌려봤는데 이런 에러가 발생하면서 로그인이 안된 것으로 계속 표시가 됩니다.

Error when querying: INSERT INTO session ("profile", "createdAt", "_id") VALUES ('{"token":"AAAANx+7hLeDxQmzghyYDfEn3dQGFyQW3eu9pW3aWalDXNGFYb/ftfEaUrbkkrcecfMrrbYW3mXRS4bOk+5j6b**","type":"naver","id":"21921449","name":"**","title":"","image":"https://phinf.pstatic.net/contactthumb/84/2014/12/1/***.jpg?type=s80","sid":"tc3RZhccMzR1FWoC62qb1OU0Whn8-"}', 1487088908, 'tc3RZhccMzR1FWoC62qb1OU0Whn8') ON CONFLICT (_id) DO UPDATE SET "profile"='{"token":"AAAANx+7hLeDxQmzghyYDfEn3dQGFyQW3eu9pW3aWalDXNGFYb/ftfEaUrbkkrcecfMrrbYW3mXRS4bOk+=","type":"naver","id":"21921","name":"","title":"","image":"https://phinf.pstatic.net/contactthumb/84/2014/12/1/.jpg?type=s80","sid":"tc3RZhccMzR1FWoC62qb1OU0Wh***"}', "createdAt"=1487088908457

Context: error: syntax error at or near "ON"

민감한 정보는 마스킹했습니다. 환경은 Ubuntu 14.04/PostgreSQL 9.3.15 입니다. DB는 잘 생성되어 있는것 같은데.. 왜그럴까요?

추가) 살짝 검색해보니 postgresql 버전이 낮아서 그런가보네요. 업데이트해보도록 하겠습니다. 추가2) postgresql 9.6으로 수정후 로그인은 잘 됐습니다. 그런데 감자 서버에 진입이 아직 안되네요. 갈길이 멀군요;; 추가3) global.json 포트값 수정 후 잘 됩니다!

parkboo commented 7 years ago

로그인 후

불러오는 중... 앞으로 1

에서 멈추어 있는데, 아래와 같이 에러가 발생합니다.

[2017-02-15 12:15:42] ERROR OCCURRED ON THE MASTER! :8080 [2/15/2017, 12:15:42 PM] ERROR: TypeError: Ajae.checkAjae is not a function TypeError: Ajae.checkAjae is not a function at new exports.Client (/home/parkboo/KKuTu/Server/lib/Game/kkutu.js:198:21) at /home/parkboo/KKuTu/Server/lib/Game/master.js:283:10 at callback (/home/parkboo/KKuTu/Server/lib/sub/collection.js:298:13) at Query.preCB (/home/parkboo/KKuTu/Server/lib/sub/collection.js:280:6) at Query.handleReadyForQuery (/home/parkboo/KKuTu/Server/lib/node_modules/pg/lib/query.js:112:10) at Connection. (/home/parkboo/KKuTu/Server/lib/node_modules/pg/lib/client.js:172:19) at emitOne (events.js:101:20) at Connection.emit (events.js:188:7) at Socket. (/home/parkboo/KKuTu/Server/lib/node_modules/pg/lib/connection.js:121:12) at emitOne (events.js:96:13)

어디가 문제일까요?

JJoriping commented 7 years ago

안녕하세요. 셧다운제 관련 코드를 덜 마무리지어서 찌꺼기가 남아 있는 모양입니다. 수정하여 커밋하였으니 다시 풀해 보시기 바랍니다.

parkboo commented 7 years ago

@JJoriping 감사합니다. 로그인 관련 문제는 해결된것 같네요. 다른 문제가 있긴한데 해결해보고 잘 안되면 다른 이슈로 문의드리겠습니다.