JJoriping / KKuTu

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

[UB/버그] 웹서버가 게임서버를 잘못된 포트에서 찾으려고 시도함 #1024

Closed Preta-Crowz closed 2 years ago

Preta-Crowz commented 2 years ago

사용 버전 및 코드

발생한 오류

서버를 구동할 때, 알 수 없는 이유로 웹서버에서 게임서버의 포트를 다른 포트로 인식하고 있습니다. 게임서버가 8496 포트에서 구동됨 웹서버에서는 8080 포트를 찾으려고 시도함

추정 원인

게임서버를 구동 할 때, 메인 포트에 416을 더해서 실행합니다. 하지만 웹서버는 메인 포트를 바로 찾으려고 시도하고 있는것으로 보입니다. 다만, 기존에는 해당 현상이 발생하지 않다가 갑자기 발생한 것으로 보아 원인에 대해 상세한 조사가 필요한 상태입니다. (본 소스로 기존에 서버 구동이 잘 되었습니다.)

Preta-Crowz commented 2 years ago

Node.JS 버전 문제로 확인되었으나, 버전과 관계 없이 코드상 해당 현상이 항상 발생해야 하는 것으로 보입니다. 즉, 구버전에서 정상 동작 하는것을 UB로 판단, 해당 이슈는 계속 열어두겠습니다.

Preta-Crowz commented 2 years ago

UB 판단 근거

웹서버에서 게임서버를 찾는 부분은 실제로 메인 포트 자체를 찾도록 되어있습니다. 웹서버에서 게임서버를 찾는 구문

하지만 게임서버는 416+i가 더해진 포트를 사용하도록 되어있습니다. 게임서버의 포트 설정 구문

이 두 구문이 정상적으로 동작한다면 웹서버가 접근하는 포트는 게임서버가 사용하지 않는 포트이므로, 정상동작이 될 수 없다는 판단입니다. 그러나 Node.js의 구버전에서 서버가 잘 찾아지므로, UB에 해당한다 판단합니다.

Preta-Crowz commented 2 years ago

416 더한거 슬레이브 포트로 확인, 정상이네요 코드 분석 다시 하러 갑니다