50 likes | 218 Views
1-1. Matchserver 설정. 1) Server.ini file a) [DB] - DNS = GunzDB DNS 이름 - USERNAME = id - PASSWORD = password b) [server] -MAXUSER = 1000~2000 <- 최대 유저 접속 허용수
E N D
1-1. Matchserver설정 • 1) Server.ini file • a) [DB] • - DNS = GunzDB DNS 이름 • - USERNAME = id • - PASSWORD = password • b) [server] • -MAXUSER = 1000~2000 <- 최대 유저 접속 허용수 • - SERVERID = 1~25<- 이것은 DB의 ServerStatus의 Serverid칼럼값과같아야하고 25가 넘으면 다른분류가 된다. • - SERVERNAME = “” • - FREELOGINIP =“" : 인원수 제한없이 접속 가능 IP기술 • - KEEPERIP="192.168.0.175" : LocalIP(키퍼랑 서버는 같은곳에서 동작한다.) • - DEBUGIP="" : 인원수 제한없이 접속 가능. 개발자 용. • - MONITORIP="u-gunz-gm02.pubgame.ijji.com" : 모니터 사용하지 않음. LOCAL IP기술. • - MONITORPORT=9000 : 모니터 포트, 고정. • - DEBUG="0" : 0:일반 서버, 1:디버그 서버. • - MODE="test" : 서버타입(normal:일반, clan:클랜, quest, test:퀘스트서버) • - COUNTRY="JPN" : 국가명을 써주면 됨. • - LANGUAGE="JPN" : 국가언어. • - USETICKET="0" : 0 고정. 사용 안함. • - GAMEGUARD="1" : 핵 방지 프로그램(0:사용하지 않음, 1:사용) • c) [FILTER] • - USE="1" : 특정 나라의 IP나 특정 IP를 접속하지 못하게 할때 사용. • - ACCEPT_INVALID_IP="1" : DB에 IP가 없을 수 있기 때문에 그런 유저들의 접속 허용 설정. • d) [ENVIRONMENT] • - USE_HSHIELD="0" : GAMEGUARD를 사용함 • - USE_XTRAP="0" : GAMEGUARD를 사용함 • - USE_EVENT="1" : 서버에서 이벤트 사용 유무. • - USE_FILECRC="1" : filelistcrc.txt안의 값과 비교. (파일 리스트 리소스 변형 방지) • - USE_MD5="1" : 클라실행시 자동으로 구해서 로그인시 서버로 전송 실행파일의 MD5값 비교.(실행파일 변형 방지) • - USE_RESOURCECRC32CACHECKECK="1" : 동적으로 CRC검사. 게임시작하고 있는 유저가 착용하고 있는 아이템의 CRC구해서 검사 • f) [POWERLEVELING] • - USE_POWERLEVELING_DB_BLOCK="1" : DB에 저장되어 있으면 경험치 획득을 못하게 한다. • - POWERLEVELING_DB_BLOCKTIME="21600" : 유효 시간. 21600분(15일)동안 경험치 획득 못함
1-2. Matchserver설정 1) Channal.xml - name = string.xml 에 기술되있는 채널의 이름값 - maxplayers = 현재 채널의 최대 플레이어수 - rule = channelrule.xml 에 기술되 있는 7가지 값중 하나여야 한다. - levelmin = 이 채널에 들어갈수있는 최소 레벨 - levelmax = 이 채널에 들어갈수있는 최대 레벨 ex) <CHANNEL name="STR:CHANNEL_NOVICE_NAME_1" maxplayers="200" rule="quest"/> <CHANNEL name="STR:CHANNEL_NEWBIE_NAME_1" maxplayers="200" rule="newbie" levelmin='1' levelmax='5'/> 2) Channalrule.xml - id = 해당채널에서 사용할수있는 게임타입 - name = 해당채널에서 사용할수있는맵 그 외 파일들 * Event.xml : 활성아 된 이벤트 id기술 - Event id= 현재활성화된 이벤트 id * EventList.xml : 각 이벤트를 기술(xml안에 예제있음) - id = 이벤트 아이디 - EventID = 이벤트 종류 * npcset.xml : 퀘스트에서 나올 몬스터의id들을 기술 . . . . ex) <GAMETYPE id="5" /> <MAP name="Mansion" />
2. 건즈DB 설정 • Serverstatus테이블 설정 • 건즈의MatchServer는 연결된 GunzDB에 계속 자신의 상태를 전송하는대 이 때 전송하는 테이블이 Serverstatus이다. • - ServerID = server.ini 파일에 기술했던 server id • - CurrPlayer = 서버가 갱신 • - MaxPlayer = server.ini 파일에 기술했던 maxplayer값 • - Time = 서버가 갱신 • - IP = 서버 ip • - Port = 건즈port 는 6000번이다. • - ServerName = 해당 server.ini 파일에 기술했던 servername • - Opened = 1: opened, 0: not opened • - type = 1 은 테스트모드이므로 설정하면 안된다. 2 일반,3 클랜, 4 퀘스트 • LocatorStatus테이블 설정 • 전즈의로케이터정보는GunzDB의 LocatorStatus테이블에 저장되며 Locator로부터 업데이트 받는다. • - LocatorID = Locator.ini 에 기술되있는 Locator id값 • - IP = 로케이터가 위치한 컴퓨터의 ip값 • - Port = 로케이터의Port 는 8900 이다. • - 나머지 인자는 로케이터가 업데이트하여준다.
3. Agent, Keeper, Locator 설정 MatchAgent설정 : AgentConfig.xml - ADDRESS * ip = 현재 서버 ip , * tcpport = 5100, * udpport = 7778 - MATCHSERVERADDRESS * ip = 매치서버 IP , * tcpport = 6000 2) ServerKeeper설정 : ServerKeeperconfig.xml 3) Locator 설정 : Locator.ini [DB] - DNS = GunzDB DNS 이름 - USERNAME = id - PASSWORD = password [NETWORK] - IP = 설치 서버 IP - PORT= 8900 [FILTER] - ID="1“ - LOCATOR_UID_HIGH="0" - LOCATOR_UID_LOW="4“ - MAX_ELAPSED_UPDATE_SERVER_STATUS_TIME="30000" */ms 서버의 정보를 DB에서 가져오는 간격 - UDP_LIVE_TIME="1000" */ms UDP큐에 저장되있을수 있는 시간 - MAX_FREE_RECV_COUNT_PER_LIVE_TIME="99999999999999“ 큐에 저장되있는동안받을수 있는 최대 값. 넘어서면 공격자로 취급. 테스트 용. 정상 수치는 9/s번. - BLOCK_TIME="1" */ms Block리스트에 등록되있는 시간. - UPDATE_UDP_MANAGER_ELAPSED_TIME="2000" *UDP큐 업데이트 간격. Recv,Send,Block큐가 모두 같이 업데이트 됨. - MARGIN_OF_ERROR_MIN="2" 서버정보 마지막 업데이트 시간중 가장 큰값과 비교하여 이값이상 차이가 나면 죽은서버로 간주 검사하고 싶은 값보다 +1해줘야 함. - USE_COUNTRY_CODE_FILTER="yes" - GMT_DIFF="9" - ELAPSED_TIME_UPDATE_LOCATOR_LOG="10000000" - ELAPSED_TIME_UPDATE_COUNTRYCODEFILTER_LOG="0" - ACCEPT_INVALID_IP="0" - TEST_SERVER="1"
3. Gap 설정 1) IIS 에 설치후 web.config파일에서 각DB를 셋팅하여 준다. <add key="GameDBConn" value="Server=172.20.150.98;User ID=game;Password=anqlanql;database=GunzDB;" /> <add key="WebDBConn" value="Server=172.20.150.98;User ID=admweb;pwd=dnawlrdu;database=AdmWebDB;" /> <add key="LogDBConn" value="Server=172.20.150.98;uid=game;pwd=anqlanql;database=LogDB;" /> 2) AdmWebDB에서 members 테이블에 직접 Admin 계정을 하나 추가시켜준다. 이후 계정은 Admin 계정으로 로그인해서 웹에서 추가