스톤에이지 8.0 구축 가이드 20
========================================================
20. 시행착오 (4) — 캐릭터 선택 (시도 10)
========================================================
로그인/서버선택은 되는데 캐릭터 목록이 안 뜨거나 acwk
관련으로 막히는 단계. 지수팩 'S' 핸드셰이크가 여기서 결정타.
--------------------------------------------------------
[ ❌ 버전 문자 핸드셰이크 실패 ('S' vs 'N') ]
--------------------------------------------------------
클라 netproc.cpp:482 가 if(c_temp[0]=='S') 하드코딩.
서버 net.c:2299 는 'N' 전송. -> 영원히 불일치.
원인: 현재 netproc 은 지수팩(shiqi.hk) 변종('S'+TEA+VMP).
해결: GitHub 원본 netproc 으로 통째 교체(_SA_VERSION='N',
6-param ClientLogin).
--------------------------------------------------------
[ ❌ "server load too high" ]
--------------------------------------------------------
원인 1: acwk 바이너리 자체가 없음. Makefile 에 ${WK} 빌드가
주석 처리(지수팩 배포 흔함). -> wk/ 에서 수동 빌드.
원인 2: acwk 프로세스가 안 떠 있음. ps 로 확인 후 재시작.
--------------------------------------------------------
[ ❌ acwk 등록됐는데 무응답 -> timeout ]
--------------------------------------------------------
원인: acwk 는 두 연결(csd=WGS, afd=SAAC) 생성. -c 9400 으로
주면 둘 다 SAAC 로 가서 양쪽 worker 등록. 메인 루프는
afd 만 read -> SAAC 가 csd 슬롯 고르면 영원히 안 읽음.
해결: dummy WGS 를 다른 포트(9201)에 띄우고 acwk -c 9201.
--------------------------------------------------------
[ ❌ 죽은 worker slot 누적 / SAAC 재시작 -3 ]
--------------------------------------------------------
slot: cWork_write 실패 시 정리 + continue 패치(14번).
-3 : TIME_WAIT 점유. SO_REUSEADDR 패치(14번).
--------------------------------------------------------
다음: 21_시행착오_게임진입.txt

야추리아 님의 최근 댓글