KKuTu
KKuTu copied to clipboard
그림퀴즈 PR
이전에 모리끄투 등 일부 서버에서 사용중인 그림퀴즈를 공개합니다.
끄투코리아의 그림퀴즈 소스와는 완전 다른 소스입니다.
그림퀴즈 소스에서 파일 경로 관련 오류발견
실수로 PC버전의 CSS가 누락되었던것같습니다.
시간이 초과되면 오류를 뿜으며 서버가 재부팅됩니다.
[2019-01-09 22:29:59] ERROR OCCURRED ON THE MASTER! :8496 [2019-1-9 22:29:59] ERROR: TypeError: Cannot read property 'NaN' of undefined TypeError: Cannot read property 'NaN' of undefined at exports.Room.turnHint (C:\Users\user\Desktop\Private\KKuTu-master\Server\lib\Game\games\drawing.js:113:21) at Timeout._onTimeout (C:\Users\user\Desktop\Private\KKuTu-master\Server\lib\Game\games\drawing.js:100:55) at ontimeout (timers.js:436:11) at tryOnTimeout (timers.js:300:5) at listOnTimeout (timers.js:263:5) at Timer.processTimers (timers.js:223:10) [2019-01-09 22:30:00] ERROR OCCURRED! This worker will die in 10 seconds. :8496 [2019-1-9 22:29:59] ERROR: TypeError: Cannot read property 'NaN' of undefined TypeError: Cannot read property 'NaN' of undefined at exports.Room.turnHint (C:\Users\user\Desktop\Private\KKuTu-master\Server\lib\Game\games\drawing.js:113:21) at Timeout._onTimeout (C:\Users\user\Desktop\Private\KKuTu-master\Server\lib\Game\games\drawing.js:100:55) at ontimeout (timers.js:436:11) at tryOnTimeout (timers.js:300:5) at listOnTimeout (timers.js:263:5) at Timer.processTimers (timers.js:223:10) [2019-01-09 22:30:03] ERROR OCCURRED ON THE MASTER! :8496 [2019-1-9 22:30:03] ERROR: TypeError: Cannot read property 'NaN' of undefined TypeError: Cannot read property 'NaN' of undefined at exports.Room.turnHint (C:\Users\user\Desktop\Private\KKuTu-master\Server\lib\Game\games\drawing.js:113:21) at Timeout._onTimeout (C:\Users\user\Desktop\Private\KKuTu-master\Server\lib\Game\games\drawing.js:101:55) at ontimeout (timers.js:436:11) at tryOnTimeout (timers.js:300:5) at listOnTimeout (timers.js:263:5) at Timer.processTimers (timers.js:223:10) [2019-01-09 22:30:03] ERROR OCCURRED! This worker will die in 10 seconds. :8496 [2019-1-9 22:30:03] ERROR: TypeError: Cannot read property 'NaN' of undefined TypeError: Cannot read property 'NaN' of undefined at exports.Room.turnHint (C:\Users\user\Desktop\Private\KKuTu-master\Server\lib\Game\games\drawing.js:113:21) at Timeout._onTimeout (C:\Users\user\Desktop\Private\KKuTu-master\Server\lib\Game\games\drawing.js:101:55) at ontimeout (timers.js:436:11) at tryOnTimeout (timers.js:300:5) at listOnTimeout (timers.js:263:5) at Timer.processTimers (timers.js:223:10)
이 소스를 사용해도 되나요?
버그가 있을 수 있습니다만 저희 서버에서는 사용합니다.
시간이 초과되면 오류를 뿜으며 서버가 재부팅됩니다.
[2019-01-09 22:29:59] ERROR OCCURRED ON THE MASTER! :8496 [2019-1-9 22:29:59] ERROR: TypeError: Cannot read property 'NaN' of undefined TypeError: Cannot read property 'NaN' of undefined at exports.Room.turnHint (C:\Users\user\Desktop\Private\KKuTu-master\Server\lib\Game\games\drawing.js:113:21) at Timeout._onTimeout (C:\Users\user\Desktop\Private\KKuTu-master\Server\lib\Game\games\drawing.js💯55) at ontimeout (timers.js:436:11) at tryOnTimeout (timers.js:300:5) at listOnTimeout (timers.js:263:5) at Timer.processTimers (timers.js:223:10) [2019-01-09 22:30:00] ERROR OCCURRED! This worker will die in 10 seconds. :8496 [2019-1-9 22:29:59] ERROR: TypeError: Cannot read property 'NaN' of undefined TypeError: Cannot read property 'NaN' of undefined at exports.Room.turnHint (C:\Users\user\Desktop\Private\KKuTu-master\Server\lib\Game\games\drawing.js:113:21) at Timeout._onTimeout (C:\Users\user\Desktop\Private\KKuTu-master\Server\lib\Game\games\drawing.js💯55) at ontimeout (timers.js:436:11) at tryOnTimeout (timers.js:300:5) at listOnTimeout (timers.js:263:5) at Timer.processTimers (timers.js:223:10) [2019-01-09 22:30:03] ERROR OCCURRED ON THE MASTER! :8496 [2019-1-9 22:30:03] ERROR: TypeError: Cannot read property 'NaN' of undefined TypeError: Cannot read property 'NaN' of undefined at exports.Room.turnHint (C:\Users\user\Desktop\Private\KKuTu-master\Server\lib\Game\games\drawing.js:113:21) at Timeout._onTimeout (C:\Users\user\Desktop\Private\KKuTu-master\Server\lib\Game\games\drawing.js:101:55) at ontimeout (timers.js:436:11) at tryOnTimeout (timers.js:300:5) at listOnTimeout (timers.js:263:5) at Timer.processTimers (timers.js:223:10) [2019-01-09 22:30:03] ERROR OCCURRED! This worker will die in 10 seconds. :8496 [2019-1-9 22:30:03] ERROR: TypeError: Cannot read property 'NaN' of undefined TypeError: Cannot read property 'NaN' of undefined at exports.Room.turnHint (C:\Users\user\Desktop\Private\KKuTu-master\Server\lib\Game\games\drawing.js:113:21) at Timeout._onTimeout (C:\Users\user\Desktop\Private\KKuTu-master\Server\lib\Game\games\drawing.js:101:55) at ontimeout (timers.js:436:11) at tryOnTimeout (timers.js:300:5) at listOnTimeout (timers.js:263:5) at Timer.processTimers (timers.js:223:10)
@lshqqytiger 해당 오류를 인지하였고, 수정 절차에 들어갔습니다. @dalbodeule님 레프지토리 해당 Branch에 이와 기타 잡것을 수정하는 Pull Request를 넣어 놓았으니, 참고하시면 좋겠네요 :D
이런식으로 옆으로 치우칩니다.(저만 그런가요?)
저는 정상이네요.
현재 작동 여부가 검증되지 않은 최적화 패치가 Push 되었습니다.
중요: 일부 파일이 Conflict를 일으키고 있습니다.
이번 그림퀴즈 최적화 패치는 diff를 이용하여 그림 데이터 중 바뀐 부분만 서버와 클라이언트 간 전달하도록 만들었습니다.
그림 데이터 중 바뀐 부분만 전달하도록 하여 데이터 통신량을 줄일 수 있도록 하였습니다.
데이터의 유실에 대비하여 서버나 플레이어가 요청할 경우 원래 데이터를 요청/전달할 수 있게 되어있습니다.
머지를 해주세요
제가 수정을 잘못해서 일수도 있겠지만 한가지 색상으로 그림을 그렸을때 다른 색상을 사용하기 전까지는 다른사람에게 표시되지 않는것 같습니다.
https://github.com/JJoriping/KKuTu/assets/62054933/0bd84d74-9f9c-4b3e-b89c-9590aa7010b4
제가 수정을 잘못해서 일수도 있겠지만 한가지 색상으로 그림을 그렸을때 다른 색상을 사용하기 전까지는 다른사람에게 표시되지 않는것 같습니다.
문제가 없는 것 같습니다.
혹시 다른 색도 써보셨나요? 검은색은 잘되더라고요.
다른색으로 확인 결과 처음에는 인식이 되지 않다가 다른 색깔로 변경 후 다시 변경하면 정상적으로 표시되는 것 같습니다.
전부다 적용하였지만 콘솔에 해당 오류가 뜹니다
이것만이 아니라 게임중 몇초인지 안뜨고,초가 지나면 문제 발생으로 튕깁니다.
fabric.min.js 파일이 누락된 것으로 보입니다.
fabric.min.js를 직접 다운로드 시켜서 했지만 이런 오류가 뜹니다.
이 줄을 추가하셨나요?
일단 안 그려지는 것은 해결하였습니다.
그런데 그리면 상대에게 그린 내용이 전달이 안됩니다.
콘솔 내용 첨부하겠습니다.
kkutu.pug코드는 저번에 수정할때 같이 추가했습니다. 그런데 저런 오류가 납니다.
diff-match-patch-compressed.js 파일이 제대로 로드되고 있는지 Network 탭에서 확인해보세요.
오류가 뜨면서 게임 서버 실행이 안됩니다 터미널 내용 첨부합니다
internal/modules/cjs/loader.js:818 throw err; ^
Error: Cannot find module 'diff-match-patch' Require stack:
- /root/KKuTu/Server/lib/Game/kkutu.js
- /root/KKuTu/Server/lib/Game/master.js
- /root/KKuTu/Server/lib/Game/slave.js
- /root/KKuTu/Server/lib/Game/cluster.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15)
at Function.Module._load (internal/modules/cjs/loader.js:667:27)
at Module.require (internal/modules/cjs/loader.js:887:19)
at require (internal/modules/cjs/helpers.js:74:18)
at Object.
(/root/KKuTu/Server/lib/Game/kkutu.js:24:24) at Module._compile (internal/modules/cjs/loader.js:999:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10) at Module.load (internal/modules/cjs/loader.js:863:32) at Function.Module._load (internal/modules/cjs/loader.js:708:14) at Module.require (internal/modules/cjs/loader.js:887:19) { code: 'MODULE_NOT_FOUND', requireStack: [ '/root/KKuTu/Server/lib/Game/kkutu.js', '/root/KKuTu/Server/lib/Game/master.js', '/root/KKuTu/Server/lib/Game/slave.js', '/root/KKuTu/Server/lib/Game/cluster.js' ] }
package.json에 변경 사항이 있는 PR의 경우 npm install
을 해주셔야 합니다.
오류가 뜨면서 게임 서버 실행이 안됩니다 터미널 내용 첨부합니다
internal/modules/cjs/loader.js:818 throw err; ^
Error: Cannot find module 'diff-match-patch' Require stack:
- /root/KKuTu/Server/lib/Game/kkutu.js
- /root/KKuTu/Server/lib/Game/master.js
- /root/KKuTu/Server/lib/Game/slave.js
- /root/KKuTu/Server/lib/Game/cluster.js at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15) at Function.Module._load (internal/modules/cjs/loader.js:667:27) at Module.require (internal/modules/cjs/loader.js:887:19) at require (internal/modules/cjs/helpers.js:74:18) at Object. (/root/KKuTu/Server/lib/Game/kkutu.js:24:24) at Module._compile (internal/modules/cjs/loader.js:999:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10) at Module.load (internal/modules/cjs/loader.js:863:32) at Function.Module._load (internal/modules/cjs/loader.js:708:14) at Module.require (internal/modules/cjs/loader.js:887:19) { code: 'MODULE_NOT_FOUND', requireStack: [ '/root/KKuTu/Server/lib/Game/kkutu.js', '/root/KKuTu/Server/lib/Game/master.js', '/root/KKuTu/Server/lib/Game/slave.js', '/root/KKuTu/Server/lib/Game/cluster.js' ] } 모듈 미설치 문제였습니다 해결하였습니다
이런 오류가 뜹니다
[2024-01-12 21:30:45] ERROR OCCURRED! This worker will die in 10 seconds. :8496 [2024-1-12 9:30:45 ├F10: PM┤] ERROR: Error: Cannot find module '../const' Require stack: - C:\Users\모자이크\Desktop\KKuTu-master\KKuTu-master\Server\lib\Game\games\drawing.js - C:\Users\모자이크\Desktop\KKuTu-master\KKuTu-master\Server\lib\Game\kkutu.js - C:\Users\모자이크\Desktop\KKuTu-master\KKuTu-master\Server\lib\Game\master.js - C:\Users\모자이크\Desktop\KKuTu-master\KKuTu-master\Server\lib\Game\slave.js - C:\Users\모자이크\Desktop\KKuTu-master\KKuTu-master\Server\lib\Game\cluster.js Error: Cannot find module '../const' Require stack: - C:\Users\모자이크\Desktop\KKuTu-master\KKuTu-master\Server\lib\Game\games\drawing.js - C:\Users\모자이크\Desktop\KKuTu-master\KKuTu-master\Server\lib\Game\kkutu.js - C:\Users\모자이크\Desktop\KKuTu-master\KKuTu-master\Server\lib\Game\master.js - C:\Users\모자이크\Desktop\KKuTu-master\KKuTu-master\Server\lib\Game\slave.js - C:\Users\모자이크\Desktop\KKuTu-master\KKuTu-master\Server\lib\Game\cluster.js at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15) at Function.Module._load (internal/modules/cjs/loader.js:667:27) at Module.require (internal/modules/cjs/loader.js:887:19) at require (internal/modules/cjs/helpers.js:74:18) at Object.
Server\lib\Game\games\drawing.js
파일의 19번째 줄 부근의 내용이 어떻게 되나요?
Server\lib\Game\games\drawing.js
파일의 19번째 줄 부근의 내용이 어떻게 되나요?
/** 라고 써있습니다
저는 부근이라고 말씀드렸습니다. 그리고 19번째 줄에 /**
이 있으면 제대로 병합하신 것이 아닙니다.