140 likes | 246 Views
Contact Information. Ttokka™ Webpage ( http://sw4u.net/~ttokka ) 팀장 : 권오현 ( dikafryo@korea.com ) ( 기획 , Server Engine part) 팀원 : 권성태 ( glley_0714@hotmail.com ) ( 도큐먼트작성 , 게임개발 – Hexa) 박형근 ( phoenix_nova@hotmail.com ) ( 도큐먼트작성, 게임개발 – 장기 )
E N D
Contact Information Ttokka™ Webpage (http://sw4u.net/~ttokka) • 팀장 : 권오현 (dikafryo@korea.com) (기획, Server Engine part) • 팀원 : 권성태 (glley_0714@hotmail.com)(도큐먼트작성, 게임개발 – Hexa) • 박형근 (phoenix_nova@hotmail.com)(도큐먼트작성, 게임개발 – 장기) • 조병철 (diyworld@korea.com) (홈페이지 제작, 게임개발 – Tetris)
Contents • 본 Project의 선정 이유 • 일반적인 Network 기반의 Game Server • 개발 진행중인 Server-engine 구조 • 본 Project의 향후 이용측면 • 앞으로(미래의) 개발 과제
C/S Project 선정 이유 • 게임은 21C 미래의 핵심 산업의 중심(게임과무관했던 AT&T, IBM, Microsoft 등의 거대회사들이 속속 Online 게임산업에 참여) • 컴퓨터는 사람의 지능을 따라올수 없다는 결론 • 온라인 게임의 새로운 가능성 • 게임을 통한 새로운 온라인 문화가 형성 • 초고속망의 보급화로 Online 게임의 거대왕국
일반적 Network기반 Server 1 Thread xx Users • 구현의 복잡 • 일반적인 추천 서버방식
C/S 상세구조도 Database Client 1 Web Server Client 2 Client 3 1차 접근, ActiveX를 통해 데이터 전송 … 게임 서버 Client 4000 게임서버 접속 게임환경 제공
Client 흐름도 웹화면 -asp (로그인) • WebServer 과 DB와의 연동 • (ID, Password 체크) 게임별 page (게임방와, 접속자수) • 게임에 맞는 자료(게임머니, 점수)를 DB에서 받음 • ActiveX로 해서 클라이언트로 제공 ActiveX 구동 • 웹페이지로 부터 받은 자료를 이용하여 Registry자료를 검색 하여 APP 구동하며 을 붙여 준다 APP (게임 프로그램 실행) • CmdLine을 통해 들어온 ID및 PWD 등 기타 자료를 이용 게임 서버에 접속. 게임방을 만들고 실행 한다. 게 임
소켓 통신방식 G A M E S E R V E R C L I E N T 시작 시작 연결 대기 소켓 생성 서버소켓 생성 No 연결 요구 연결시도 Yes 소켓생성 No 연결 설정 로그인 Yes 데이터 송수신 데이터 송수신 DATA No No 연결 해제 연결 해제 Yes Yes 소켓 종료 소켓 종료
확장된 서버 구조도 Database Client 1 Web Server 부하파악 Client 2 Client 3 1차 접근, ActiveX를 통해 데이터 전송 … 게임 서버1 Client 4000 게임서버 접속 게임환경 제공 게임 서버2
해킹 방지 기법 2 • 해킹 보안이 없는 예) receive(data) • Data(attack1, User, 53, 108)(고유번호 53인 사용자를 108의 데미지로 공격) • 공격자가 108이란 수치를 악의적으로 변경가능 • 해킹 보안이 있는 예 • Data(accack1, User, 53, w) • (고유번호 53인 사용자를 w라는 무기로 공격) • 서버측에서 사용자가 w무기를 가지고 있는지 Check 후 데미지를 계산하여 처리
서로 한번씩 놓아서 놓을 곳에 없어 못놓으면 진다. Game Play 각게임마다 서버는 보드 크기의 배열을 가진다. **m_board 를 송수신 각 사용자가 놓을 블록의 위기가 잘못된것인지 아닌지 판단. 참고 : m_board[7][7] 블록 테트리스
Server측 보안 체크 • 각각의 게임마다 **m_board 를 가지고 있다. • 처음 m_board 의 내용과 다음차례의 플레이어가전송한 m_board를 비교후 룰에맞는지 체크한다.
미래 개발과제 • 현재 Webpage – 게임 의 2단계 관계를 • Webpage – 대기실(채팅) – 게임 의 3단계로 세분화DB는 처음대기실입장, 접속종료시에만 읽고 쓰도록 • 게임 추가시, CMsg, Cgame 2개의 클래스만 게임에 맞게 수정함으로써 게임서버 구축가능 • Server 프로그램 1개 200명접속 • 컴퓨터에 20개 Server프로그램 실행시 4000명