스톤에이지 8.0 구축 가이드 15
========================================================
15. 적용된 핵심 패치 — GMSV (gmsv/src/)
========================================================
GMSV 는 게임 서버 본체. 지수팩 클라의 보호/프로토콜 변형과
맞물려 아래 패치가 필요했습니다.
--------------------------------------------------------
[ net.c ]
--------------------------------------------------------
변경 1: 버전 char 'F' -> 'N'
이유: 클라 _SA_VERSION('N')과 핸드셰이크 일치시키기.
변경 2: cono_check 우회 (if(0))
이유: cono 변수가 4상태 순환하며 1상태만 연결 허용 ->
4번 중 3번 연결 거부되는 리소스 throttle 제거.
변경 3: from_acsv 우회
이유: 불필요한 throttle 제거.
--------------------------------------------------------
[ lssproto_serv.c : ClientLogin 파싱 ]
--------------------------------------------------------
변경: 5필드 파싱(mac/idx/ip) + checksum index 4 -> 7
이유: 클라는 6필드를 보냄
(cdkey, passwd, mac, selectServerIndex, ip, checksum).
원래 서버는 2필드(cdkey, passwd)만 파싱 -> mac 값을
checksum 자리에서 읽음 -> 100% mismatch.
지수팩 netproc 의 6-param ClientLogin 시그니처 대응.
--------------------------------------------------------
[ item/item_gen.c : startup 가속 ]
--------------------------------------------------------
변경: old_icache.txt 를 4800번 fopen -> 1번
이유: 루프 안에서 매번 fopen/fclose. /mnt/c/ 9P 프로토콜은
RPC 호출이라 매번 느려 startup 이 10분+ 걸림.
루프 전 1번 fopen, 후 1번 fclose 로 단축
(추가로 GMSV 를 ~/sa_gmsv ext4 에서 실행).
--------------------------------------------------------
[ 인코딩 원칙 ]
--------------------------------------------------------
GMSV + 게임 데이터(gmsv/data)는 UTF-8 가능. 단 GMSV<->SAAC
전송 escape 계층은 GBK 유지(절반 마이그레이션 금지, 30번).
--------------------------------------------------------
다음: 16_패치_클라이언트.txt

야추리아 님의 최근 댓글