스톤에이지 8.0 구축 가이드6
========================================================
05. 빌드 — MySQL 준비 (옵션, 실제론 우회됨)
========================================================
원래 SA 서버 계열은 계정 DB가 필요합니다. 지수팩은 보통
MySQL/MariaDB를 전제로 하고, 구형 죽창팩 일부는 Access나
파일 기반을 쓰기도 합니다. 우리 환경은 MySQL을 깔되 인증은
소스 패치로 우회합니다.
--------------------------------------------------------
[ DB / 테이블 생성 ]
--------------------------------------------------------
sudo mysql -e "
CREATE DATABASE IF NOT EXISTS sa;
USE sa;
CREATE TABLE IF NOT EXISTS logindata (
Name varchar(64) NOT NULL PRIMARY KEY,
PassWord varchar(64)
);"
--------------------------------------------------------
[ 왜 우회하는가 ]
--------------------------------------------------------
Ubuntu MySQL의 root 기본 인증이 auth_socket plugin입니다.
그런데 SAAC config(acserv.cf)는 비밀번호 인증을 가정합니다.
- SAAC config: sql_PS 123456789 (password)
- 실제 root : auth_socket (password 무시)
=> mysql_real_connect 실패 => 모든 SQL 쿼리 실패
권한을 바꿀 수 있으면 정석대로 user/password를 맞추면 됩니다.
바꿀 수 없거나 귀찮으면 SAAC 소스에서 "DB 실패해도 진행"하도록
우회합니다. worker(acwk)가 이미 인증을 대신하므로 의미상 OK.
(상세 우회 지점은 14번 패치 파일 참조.)
--------------------------------------------------------
[ 설정 파일 줄바꿈 주의 ]
--------------------------------------------------------
acserv.cf / setup.cf 같은 서버 설정은 반드시 LF 줄바꿈.
Windows에서 편집해 CRLF가 되면 chop()이 \r 을 남겨
비밀번호/경로가 깨집니다. 변환: sed -i 's/\r$//' file
--------------------------------------------------------
다음: 06_빌드_클라이언트.txt

야추리아 님의 최근 댓글