KR100900666B1 - 온라인 게임 서비스 방법 및 시스템 - Google Patents
온라인 게임 서비스 방법 및 시스템 Download PDFInfo
- Publication number
- KR100900666B1 KR100900666B1 KR1020070043628A KR20070043628A KR100900666B1 KR 100900666 B1 KR100900666 B1 KR 100900666B1 KR 1020070043628 A KR1020070043628 A KR 1020070043628A KR 20070043628 A KR20070043628 A KR 20070043628A KR 100900666 B1 KR100900666 B1 KR 100900666B1
- Authority
- KR
- South Korea
- Prior art keywords
- game
- client
- online
- server
- data
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 230000001186 cumulative effect Effects 0.000 claims description 32
- 238000007689 inspection Methods 0.000 claims description 16
- 230000036541 health Effects 0.000 claims description 14
- 238000010304 firing Methods 0.000 claims description 11
- 239000000284 extract Substances 0.000 claims description 6
- 230000007103 stamina Effects 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims 1
- 238000010200 validation analysis Methods 0.000 abstract description 5
- 230000002452 interceptive effect Effects 0.000 abstract description 3
- 238000013502 data validation Methods 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/23—Reliability checks, e.g. acknowledgments or fault reporting
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2924/00—Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
- H01L2924/30—Technical effects
- H01L2924/35—Mechanical effects
- H01L2924/351—Thermal stress
- H01L2924/3512—Cracking
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Primary Health Care (AREA)
- Signal Processing (AREA)
- Marketing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Human Resources & Organizations (AREA)
- Virology (AREA)
- Economics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
본 발명은 온라인 게임 서비스 방법 및 시스템에 관한 것으로, 이 방법은 온라인 게임 진행 중에 제1 게임 클라이언트에서 생성되는 게임 데이터로부터 특성값을 추출하는 단계, 추출된 특성값을 기준값과 비교하여 게임 데이터의 유효성을 검사하는 단계, 그리고 검사 결과 유효한 게임 데이터를 이용하여 게임을 진행하는 단계를 포함한다. 본 발명에 의하면, 온라인 게임 진행 중에 게임 데이터의 유효성 검사를 실시간으로 수행함으로써 악의적 사용자가 게임 데이터를 조작하여 게임 진행을 방해하거나 게임 결과를 왜곡하는 것을 차단할 수 있다.
온라인 게임, 게임 데이터, 유효성 검사, 특성값, 기준값
Description
도 1은 본 발명의 실시예에 따른 온라인 게임 서비스 시스템을 설명하기 위한 블록도이다.
도 2는 도 1에 도시한 사용자 단말기의 한 예를 도시한 도면이다.
도 3은 본 발명의 한 실시예에 따른 게임 데이터 검사 방법을 도시한 흐름도이다.
도 4는 본 발명의 다른 실시예에 따른 게임 검사 방법의 흐름도이다.
<도면의 주요 부분에 대한 부호의 설명>
10: 통신망, 100: 사용자 단말기,
110: 웹 브라우저, 120: 게임 클라이언트 런칭부,
130: 게임 클라이언트, 131: 게임 실행 모듈,
135: 게임 검사 모듈, 200: 웹 서버,
300: 게임 서버
본 발명은 온라인 게임 서비스 방법 및 시스템에 관한 것이다.
최근 들어, 컴퓨터 관련 정보 통신 기술이 발전함에 따라 게임 산업도 급속도로 발전하고 있다. 종래의 컴퓨터 게임은 단순한 줄거리의 아케이드 게임이나 비디오 게임이 주종을 이루고 있었으나, 멀티미디어 기술과 네트워크 기술의 발전에 따라 현재는 이전과는 전혀 다른 차원의 게임이 속속 개발되고 있다. 특히, 초고속 인터넷의 보급은 다중 사용자(multi-user) 온라인 게임이라는 새로운 게임 분야를 탄생시킴으로써 게임 산업을 획기적으로 발전시키는 계기가 되었다. 다중 사용자 온라인 게임은 원격지에 있는 불특정의 사람들이 공간적인 제약 없이 서로 경쟁하면서 게임을 즐기는 방식으로 수행되기 때문에 종래의 컴퓨터 게임들보다 흥미가 배가되어 대중적으로 많은 인기를 끌고 있다.
그런데 일부 사용자들이 다중 사용자 온라인 게임을 하면서 승리를 위해 부정한 방법을 사용하여 게임 데이터를 조작하는 경우가 종종 발생하고 있다. 악의적 사용자가 클라이언트에 설치된 게임 프로그램을 해킹해서 게임 데이터를 자신에게 유리하게 조작한 후 다른 클라이언트로 전송하면 이를 수신한 다른 클라이언트는 상대방에 유리하게 조작된 게임 데이터를 그대로 이용하여 게임을 수행하기 때문에 정직한 사용자에게 게임이 불리하게 진행될 수 있다. 이러한 게임 데이터 조작을 통해서 정상적인 게임 진행을 방해하는 행위는 다른 정직한 사용자들의 게임 의욕을 잃게 하고 나아가 해당 게임의 이용 자체를 중단하게 만들 수 있는 문제점이 있다.
본 발명이 이루고자 하는 기술적 과제는 게임 데이터 조작 여부 또는 게임 해킹 여부를 판정하여 게임 조작을 방지할 수 있는 온라인 게임 서비스 방법 및 시스템을 제공하는 것이다.
이러한 기술적 과제를 이루기 위한 본 발명의 한 태양에 따른 온라인 게임 서비스 방법은, 온라인 게임 진행 중에 제1 게임 클라이언트에서 생성되는 게임 데이터로부터 특성값을 추출하는 단계, 상기 추출된 특성값을 기준값과 비교하여 상기 게임 데이터의 유효성을 검사하는 단계, 그리고 상기 검사 결과 유효한 게임 데이터를 이용하여 게임을 진행하는 단계를 포함한다.
상기 게임 데이터가 상기 제1 게임 클라이언트와 함께 게임을 수행하는 제2 게임 클라이언트에 전달되는 단계를 더 포함하고, 상기 유효성 검사는 상기 제2 게임 클라이언트에서 수행될 수 있다.
상기 유효성 검사는 상기 제1 게임 클라이언트에서 수행되며, 상기 검사 결과 유효한 게임 데이터를 상기 제1 게임 클라이언트와 함께 게임을 수행하는 제2 게임 클라이언트에 전달하는 단계를 더 포함할 수 있다.
본 발명의 다른 태양에 따른 온라인 게임 서비스 방법은, 게임 서버가 온라인 게임 진행 중에 제1 게임 클라이언트에서 생성되는 게임 데이터를 수신하고 상기 게임 데이터로부터 특성값을 추출하는 단계, 상기 추출된 특성값을 기준값과 비교하여 상기 게임 데이터의 유효성을 검사하는 단계, 그리고 상기 검사 결과 유효한 게임 데이터를 상기 제1 게임 클라이언트와 함께 게임을 수행하는 제2 게임 클 라이언트에 전송하는 단계를 포함한다.
상기 특성값은 상기 온라인 게임에서 사용되는 자동차의 속도, 아이템의 누적 사용 회수, 무기의 누적 발사 회수, 게임 캐릭터의 체력 및 마력의 누적 감소분, 그리고 사용자가 내놓는 카드 패 중 적어도 하나를 포함하며, 상기 기준값은 상기 자동차의 최대 속도, 상기 아이템의 최대 사용 회수, 상기 무기의 최대 발사 회수, 상기 게임 캐릭터의 최대 체력 및 마력, 그리고 상기 사용자가 보유한 카드 패 중 적어도 하나를 포함할 수 있다.
상기 특성값 추출 단계는, 상기 자동차의 위치 좌표로부터 상기 자동차의 속도를 산출하는 단계, 상기 아이템의 사용 이벤트로부터 상기 아이템의 누적 사용 회수를 산출하는 단계, 상기 무기의 발사 이벤트로부터 상기 무기의 누적 발사 회수를 산출하는 단계, 상기 게임 캐릭터가 입는 데미지로 인한 체력 및 마력의 감소분으로부터 상기 게임 캐릭터의 체력 및 마력의 누적 감소분을 산출하는 단계, 그리고 상기 사용자가 내놓은 카드 패를 특성값으로 추출하는 단계 중 적어도 하나를 포함할 수 있다.
본 발명의 다른 태양에 따른 컴퓨터로 읽을 수 있는 매체는 상기한 방법 중 어느 하나를 컴퓨터에 실행시키기 위한 프로그램을 기록한다.
본 발명의 다른 태양에 따른 온라인 게임 서비스 시스템은, 게임 클라이언트를 복수의 사용자 단말기에 전송하여 설치하는 제1 서버, 그리고 상기 복수의 사용자 단말기가 상호 접속하여 게임 데이터를 교환하며 온라인 게임을 진행할 수 있도록 하는 제2 서버를 포함하며, 상기 게임 클라이언트는 상기 게임 데이터로부터 특 성값을 추출하고 상기 추출된 특성값을 기준값과 비교하여 유효성 여부를 검사하며, 상기 검사 결과 유효한 게임 데이터를 이용하여 게임을 수행한다.
상기 게임 클라이언트는 상기 검사 결과 유효한 게임 데이터를 게임을 함께 수행하는 상대 게임 클라이언트에 전송하여 게임 진행에 반영되도록 할 수 있다.
상기 게임 클라이언트는 게임을 함께 수행하는 상대 게임 클라이언트로부터 전달받은 상기 게임 데이터로부터 상기 특성값을 추출하고 상기 유효성 검사를 수행할 수 있다.
본 발명의 다른 태양에 따른 온라인 게임 서비스 시스템은 게임을 함께 수행하는 제1 및 제2 게임 클라이언트가 게임 데이터를 교환하며 온라인 게임을 진행하도록 하는 게임 서버를 포함하며, 상기 게임 서버는, 상기 제1 게임 클라이언트로부터 전달받은 게임 데이터의 유효성을 검사하는 게임 검사 모듈, 그리고 상기 검사 결과 유효한 게임 데이터를 상기 제2 게임 클라이언트에 전달하여 게임 진행에 반영되도록 하는 게임 진행 모듈을 포함한다.
상기 게임 서버는 상기 게임 데이터로부터 특성값을 추출하고 상기 추출된 특성값을 기준값과 비교하여 상기 게임 데이터의 유효성을 검사할 수 있다.
상기 특성값은 상기 온라인 게임에서 사용되는 자동차의 속도, 아이템의 누적 사용 회수, 무기의 누적 발사 회수, 게임 캐릭터의 체력 및 마력의 누적 감소분, 그리고 사용자가 내놓는 카드 패 중 적어도 하나를 포함하며, 상기 기준값은 상기 자동차의 최대 속도, 상기 아이템의 최대 사용 회수, 상기 무기의 최대 발사 회수, 상기 게임 캐릭터의 최대 체력 및 마력, 그리고 상기 사용자가 보유한 카드 패 중 적어도 하나를 포함할 수 있다.
첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
도 1은 본 발명의 실시예에 따른 온라인 게임 서비스 시스템을 설명하기 위한 블록도이다.
도 1을 참고하면, 본 발명의 실시예에 따른 온라인 게임 서비스 시스템은 웹 서버(200) 및 게임 서버(300)를 포함하며, 통신망(10)을 통하여 복수의 사용자 단말기(100)와 연결되어 있다.
웹 서버(200)는 온라인 게임을 사용자에게 제공하기 위해서 게임 관련 웹 페이지를 사용자 단말기(100)에 제공한다. 웹 서버(200)가 제공하는 웹 페이지에서 회원 가입, 사용자 인증 처리 및 게임 시작 등의 동작이 수행될 수 있다. 또한, 웹 서버(200)는 사용자 단말기(100)에 설치되어 있는 게임 클라이언트(130, 도 2 참조)가 게임 서버(300)에 접속하는데 필요한 정보, 예를 들면, 게임 버전, 게임 서버의 IP 주소(internet protocol address) 등의 정보를 제공하며, 사용자 단말기(100)에 게임 클라이언트(130)가 설치되어 있지 않으면 게임 클라이언트(130)를 설치하고, 게임 클라이언트(130)가 구 버전인 경우에는 신 버전의 게임 클라이언트(130)로 업데이트 한다.
게임 서버(300)는 게임 진행 모듈(도시하지 않음)을 포함하며, 사용자 단말기(100)와 교신하여 사용자가 온라인 게임을 할 수 있도록 한다. 보다 자세하게는 게임 서버(300)는 게임 클라이언트(130)가 게임 서버(300)에 접속하면 게임 정보 데이터베이스(도시하지 않음)로부터 게임 정보를 읽어 게임 클라이언트(130)에 전송한다. 그리고 게임 진행 모듈는 사용자가 채널 및 게임방을 선택하고 해당 게임방에 소정 인원이 입장하면 게임방에 입장한 사용자 정보 및 게임의 초기 실행에 필요한 게임 데이터를 각 게임 클라이언트(130)에 전송하여 같은 게임방에 입장한 게임 클라이언트(130)가 상호 접속해서 게임을 진행할 수 있도록 한다.
통신망(10)은 구내 정보 통신망(local area network, LAN), 도시권 통신망(metropolitan area network, MAN), 광역 통신망(wide area network, WAN), 인터넷 등을 가리지 않고, 통신 방식도 유선, 무선을 가리지 않으며 어떠한 통신 방식이라도 상관없다.
사용자 단말기(100)는 사용자가 온라인 게임을 하기 위하여 온라인 게임 시스템과 교신하는 장치로서, 통신망(10)을 통하여 웹 서버(200), 게임 서버(300) 및 다른 사용자 단말기(100)에 접속하여 정보를 주고받는다. 사용자 단말기(100)는 데스크톱 컴퓨터뿐만 아니라 노트북 컴퓨터, 워크스테이션, 팜톱(palmtop) 컴퓨터, 개인 휴대 정보 단말기(personal digital assistant, PDA), 웹 패드 등과 같이 메모리 수단을 구비하고 마이크로 프로세서를 탑재하여 연산 능력을 갖춘 단말기로 이루어질 수 있다.
도 2는 도 1에 도시한 사용자 단말기의 한 예를 도시한 도면이다.
도 2를 참고하면, 사용자 단말기(100)는 웹 브라우저(110), 게임 클라이언트 런칭부(120) 및 게임 클라이언트(130)를 포함할 수 있다.
웹 브라우저(110)는 웹 정보를 검색하는 데 사용되는 응용 프로그램으로서, 웹 서버(200)에 접근하여 웹 서버(200)가 제공하는 게임 페이지를 사용자 단말기(100)에 표시한다. 사용자가 게임 페이지에 표시되어 있는 게임 시작 버튼을 클릭하면 웹 브라우저(110)는 게임 클라이언트 런칭부(120)를 실행시킨다.
게임 클라이언트 런칭부(120)는 게임 클라이언트(130)를 실행시키며 액티브 X(active X) 컴포넌트로 구현될 수 있다. 게임 클라이언트 런칭부(120)는 게임 클라이언트(130)를 실행하는 데 필요한 여러 가지 정보를 온라인 게임 서비스 시스템으로부터 받아온다. 또한, 게임 클라이언트 런칭부(120)는 게임 클라이언트(130)가 구 버전일 경우 새로운 버전의 게임 클라이언트(130)를 게임 서비스 시스템으로부터 다운로드받을 수 있다.
게임 클라이언트(130)는 게임 서버(300)와 함께 게임을 진행하는 상대 게임 클라이언트에 접속하여 온라인 게임을 실행한다. 또한 게임 클라이언트(130)는 게임 진행 중에 상대 게임 클라이언트로부터 전달되는 게임 데이터의 유효성을 검사할 수 있다. 보다 상세하게는 게임 클라이언트(130)는 게임 실행 모듈(131)과 게임 검사 모듈(135)을 포함할 수 있다.
게임 실행 모듈(131)은 게임 서버(300) 또는 상대 게임 클라이언트로부터 전달되는 각종 게임 데이터와 사용자의 마우스 또는 키보드 입력에 기초하여 고유의 게임 프로세스를 수행하고 그에 따른 게임 화면과 음향을 사용자 단말기(100)에 출력한다.
게임 검사 모듈(135)은 상대 게임 클라이언트로부터 전달된 게임 데이터의 유효성을 검사한다. 게임 검사 모듈(135)은 유효한 게임 데이터만을 게임 실행 모듈(131)에 전달하여 게임 진행에 반영되도록 할 수 있다.
그러면 도 3을 참고하여 본 발명의 실시예에 따른 게임 데이터 검사 방법에 대하여 상세하게 설명한다.
도 3은 본 발명의 한 실시예에 따른 게임 데이터 검사 방법을 도시한 흐름도이다.
도 1 내지 도 3을 참고하면, 먼저 게임 클라이언트(130)는 게임 데이터 검사에 이용되는 기준값을 게임 서버(300)로부터 제공받는다(S310). 기준값은 게임 실행 초기에 게임 서버(300)로부터 제공받을 수 있으며, 게임 클라이언트(130)가 사용자 단말기(100)에 설치되면서 설정될 수도 있다. 기준값은 검사 대상이 되는 각 게임 데이터에 대해서 사전에 준비된다.
이후 게임 검사 모듈(135)은 게임 진행 중에 상대 게임 클라이언트로부터 전달되는 게임 데이터로부터 특성값을 산출하고(S320) 기준값과 비교하여 해당 게임 데이터의 유효성을 검사한다(S330). 특성값을 산출하는 방법은 게임 데이터의 성격에 따라 다를 수 있다.
A 및 B 두 사용자가 자동차 경주를 하는 게임을 가정하면, A 및 B 사용자의 게임 클라이언트(이하, 각각 A 및 B 게임 클라이언트라 함)는 자동차의 위치 좌표에 대응하는 게임 데이터를 서로 교환하면서 게임을 진행할 수 있다. 또한 게임의 흥미를 위해 상대방 자동차의 주행을 방해하는 특수 아이템이 게임에 적용된다면 A 및 B 게임 클라이언트는 해당 아이템의 사용 여부에 대응하는 게임 데이터도 서로 교환하면서 게임을 진행할 수 있다.
이때 상대 게임 클라이언트에서 전달되는 자동차 위치 좌표의 유효성 검사를 위해서 자동차 속도를 특성값으로 이용하고 기준값은 이 게임에서 가능한 자동차 최대 속도를 이용할 수 있다. 그리고 아이템 사용 여부는 아이템 누적 사용 회수가 특성값으로 이용되고 기준값은 아이템 사용 최대 허용치가 이용될 수 있다.
예를 들어, B 게임 클라이언트의 게임 검사 모듈(135)이 A 게임 클라이언트로부터 A 게임 클라이언트의 자동차(이하, A 자동차라 함)의 이전 위치 좌표로 A(X, Y)를 전달받은 후 새로운 위치 좌표로 A'(X, Y)를 전달받으면 아래 수식에 의해 A 자동차의 속도 Av(X, Y)를 계산할 수 있다.
여기서, T는 이전 위치 좌표 전달 후 새로운 위치 좌표가 전달되기까지의 시간이다.
B 게임 클라이언트는 이렇게 산출된 A 자동차의 속도 Av(X, Y)를 자동차 최대 속도 Vmax와 비교하여 허용 범위에 있으면 게임 데이터 A'(X, Y)가 유효한 것으로 판단하고 반대의 경우에는 유효하지 않은 것으로 판단할 수 있다.
한편 B 게임 클라이언트는 A 게임 클라이언트에서 특수 아이템을 사용할 때마다 아이템 누적 사용 회수를 하나씩 증가시키면서 기준값인 아이템 사용 최대 허용치와 비교하고 허용 범위에 있으면 게임 데이터가 유효한 것으로 판단하고 반대의 경우에는 유효하지 않은 것으로 판단할 수 있다.
또 다른 예로서, FPS(First Person Shooting) 게임의 경우, 각 무기마다 할당될 수 있는 최대 탄환 수효를 기준값으로 둘 수 있으며 탄환 또는 미사일을 발사할 때마다 이벤트를 발생시켜 누적시킨 숫자를 특성값으로 이용할 수 있다. 이 경우 이벤트가 발생할 때마다 특성값을 기준값과 비교하여 특성값이 기준값을 초과하면 유효하지 않은 게임 데이터로 판단할 수 있다.
대전 격투 게임이나 RPG(Role Playing Game) 게임의 경우, 게임 캐릭터가 입는 데미지로 인한 체력이나 마력 등의 감소분을 누적한 값을 특성값으로 이용할 수 있고, 게임 캐릭터가 가질 수 있는 체력이나 마력 등의 최댓값을 기준값으로 이용할 수 있다. 이 경우 누적된 값이 최댓값을 초과하면 유효하지 않은 게임 데이터로 판단할 수 있다.
여기서 설명한 기준값 및 특성값은 일례일 뿐이고, 각 게임에서 게임 데이터마다 적절한 특성값과 기준값을 사용하여 유효성을 검사할 수 있음은 물론이다. 또한 예를 든 게임 이외에도 스포츠 게임, 액션 게임, 캐주얼 게임, 보드 게임 등에서 사용되는 각종 게임 데이터들도 유효성 검사의 대상이 될 수 있다.
다음으로, 게임 검사 모듈(135)은 게임 데이터 검사 결과 유효한 것으로 판단하면, 해당 게임 데이터를 게임 실행 모듈(131)에 전달하여 게임 진행에 반영되도록 한다(S340).
반대로 검사 결과, 게임 데이터가 유효하지 않은 것으로 판단하면, 해당 게임 데이터를 폐기하고(S350) 게임 서버(300)에 상대 게임 클라이언트로부터 유효하지 않은 게임 데이터가 전달된 것을 통지한다(S360).
이후 게임 서버(300)는 게임 검사 모듈(135)로부터 유효하지 않은 게임 데이터를 사용한 것으로 통지된 게임 클라이언트 사용자에 대해서 게임 이용 중지 등의 제재 조치를 취할 수 있다.
지금까지 게임 클라이언트(130)가 상대 게임 클라이언트로부터 전달받은 게임 데이터의 유효성을 검사하는 것으로 설명하였으나 실시예에 따라서 자신의 게임 클라이언트가 상대 게임 클라이언트로 전달하는 게임 데이터에 대해서도 게임 데이터의 유효성을 검사하고 유효한 경우에만 상대 게임 클라이언트로 전달하도록 구현할 수도 있다.
한편 게임 데이터의 유효성 검사가 사용자 단말기(100)에서 수행되는 경우에 대해서 설명하였으나 실시예에 따라서 게임 서버(300)가 게임 데이터의 유효성 검사를 수행하도록 구현할 수도 있다. 이 경우 게임 검사 모듈은 게임 서버(300)에 설치되며 게임 클라이언트(130)에는 게임 검사 모듈이 포함되지 않을 수 있다. 게임 서버(300)의 게임 진행 모듈은 게임 데이터의 유효성 검사 결과에 따라 게임을 진행할 수 있다.
도 4는 본 발명의 다른 실시예에 따른 게임 검사 방법의 흐름도이다.
도 1 및 도 4를 참조하면, 먼저 게임 서버(300)는 게임 진행 중에 게임 클라이언트로부터 게임 데이터가 전달되면(S410) 해당 게임 데이터에 대한 특성값을 산출한다(S420).
이후 게임 서버(300)는 산출된 특성값을 미리 저장되어 있는 해당 게임 데이터의 기준값과 비교하여 유효성 여부를 검사한다(S430).
검사 결과 게임 데이터가 유효하면, 게임 서버(300)는 게임 데이터를 전달한 게임 클라이언트와 함께 게임을 수행하고 있는 상대 게임 클라이언트에 해당 게임 데이터를 전송하여(S440) 게임 진행에 반영되도록 한다(S450).
한편 검사 결과 게임 데이터가 유효하지 않으면, 게임 서버(300)는 해당 게임 데이터를 폐기하여(S460) 상대 게임 클라이언트에 전달되지 않도록 한다. 또한 게임 서버(300)는 해당 게임 데이터를 전송한 게임 클라이언트 사용자에 대하여 게임 이용 중지나 게임방에서 강제 퇴장시키는 등의 제재 조치를 취할 수 있다.
예를 들면, 고스톱이나 포커 같은 카드 게임의 경우, 게임 서버(300)는 각 게임 클라이언트에 카드 패를 분배하고 각 게임 클라이언트가 보유하고 있는 카드 패를 기억해 둔다. 그리고 각 사용자가 게임을 진행하면서 내놓은 카드 패가 해당 사용자가 보유하고 있는 카드 패 중 어느 하나인지 확인하는 방식으로 유효성 검사를 수행할 수 있다. 사용자가 내놓은 카드 패가 게임 서버(300)가 기억하고 있는 카드 패 중 어느 하나가 아니라면 유효하지 않은 카드 패를 사용한 것으로 판단하고, 해당 사용자에게 제재를 가할 수 있다. 이때 기준값은 게임 서버(300)가 분배하여 각 사용자가 보유하고 있는 카드 패가 될 것이며, 특성값은 각 사용자가 게임을 진행하면서 내놓는 카드 패가 될 것이다.
필요에 따라 게임 서버(300)가 게임 데이터의 유효성 검사를 수행하지 않고 별도로 구비된 미들웨어 서버가 게임 데이터의 유효성 검사를 전담하여 수행할 수도 있다.
지금까지 게임 진행 중에 유효성 검사를 수행하는 것으로 설명하였으나 게임 이 종료된 후 별도의 프로세스로 게임 데이터의 유효성을 검사할 수도 있다. 또한 이러한 유효성 검사를 게임 진행 중에 실시간으로 수행하는 것으로 설명하였으나 반드시 실시간으로 할 필요는 없고, 경우에 따라 시차를 두고 유효성 검사를 수행할 수도 있다.
본 발명의 실시예는 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터로 읽을 수 있는 매체를 포함한다. 이 매체는 지금까지 설명한 게임 데이터 검사 방법을 실행시키기 위한 프로그램을 기록한다. 이 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 이러한 매체의 예에는 하드디스크, 플로피디스크 및 자기 테이프와 같은 자기 매체, CD 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 자기-광 매체, 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 구성된 하드웨어 장치 등이 있다. 또는 이러한 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상에서 본 발명의 바람직한 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
이와 같이 본 발명에 의하면, 악의적 사용자가 게임 데이터를 조작하여 게임 진행을 방해하거나 게임 결과를 왜곡하는 것을 게임 데이터의 유효성 검사를 온라인 게임 진행 중에 실시간으로 수행하여 차단할 수 있다.
또한 정상적 사용자에게는 게임 데이터 조작을 통한 게임 진행 방해나 게임 결과 왜곡 등이 이루어지지 않는다는 신뢰를 줌으로써 게임에 보다 흥미를 가지게 할 수 있다.
Claims (13)
- 온라인 게임을 함께 수행하는 제1 및 제2 게임 클라이언트와 게임 서버의 온라인 게임 서비스 방법으로서,상기 제1 게임 클라이언트가 상기 게임 서버로부터 미리 정해져 있는 기준값을 수신하는 단계,상기 제1 게임 클라이언트가 상기 온라인 게임 진행 중에 상기 제1 게임 클라이언트에서 생성되는 게임 데이터로부터 특성값을 추출하는 단계,상기 제1 게임 클라이언트가 상기 추출된 특성값을 상기 기준값과 비교하여 상기 게임 데이터의 유효성을 검사하는 단계, 그리고상기 제1 게임 클라이언트가 상기 검사 결과 유효한 게임 데이터를 상기 제2 게임 클라이언트에 전달하고, 유효하지 않은 게임 데이터를 폐기한 후 상기 게임 서버에 통지하는 단계를 포함하며,상기 특성값은 상기 온라인 게임에서 사용되는 자동차의 속도, 아이템의 누적 사용 회수, 무기의 누적 발사 회수, 게임 캐릭터의 체력 및 마력의 누적 감소분, 그리고 사용자가 내놓는 카드 패 중 적어도 하나를 포함하며,상기 기준값은 상기 자동차의 최대 속도, 상기 아이템의 최대 사용 회수, 상기 무기의 최대 발사 회수, 상기 게임 캐릭터의 최대 체력 및 마력, 그리고 상기 사용자가 보유한 카드 패 중 적어도 하나를 포함하는온라인 게임 서비스 방법.
- 온라인 게임을 함께 수행하는 제1 및 제2 게임 클라이언트와 게임 서버의 온라인 게임 서비스 방법으로서,상기 제1 게임 클라이언트가 상기 게임 서버로부터 미리 정해져 있는 기준값을 수신하는 단계,상기 제1 게임 클라이언트가 상기 온라인 게임 진행 중에 상기 제2 게임 클라이언트에서 생성되는 게임 데이터를 수신하고 상기 게임 데이터로부터 특성값을 추출하는 단계,상기 제1 게임 클라이언트가 상기 추출된 특성값을 상기 기준값과 비교하여 상기 게임 데이터의 유효성을 검사하는 단계, 그리고상기 제1 게임 클라이언트가 상기 검사 결과 유효한 게임 데이터를 상기 온라인 게임에서 이용하고, 유효하지 않은 게임 데이터를 폐기한 후 상기 게임 서버에 통지하는 단계를 포함하며,상기 특성값은 상기 온라인 게임에서 사용되는 자동차의 속도, 아이템의 누적 사용 회수, 무기의 누적 발사 회수, 게임 캐릭터의 체력 및 마력의 누적 감소분, 그리고 사용자가 내놓는 카드 패 중 적어도 하나를 포함하며,상기 기준값은 상기 자동차의 최대 속도, 상기 아이템의 최대 사용 회수, 상기 무기의 최대 발사 회수, 상기 게임 캐릭터의 최대 체력 및 마력, 그리고 상기 사용자가 보유한 카드 패 중 적어도 하나를 포함하는온라인 게임 서비스 방법.
- 삭제
- 온라인 게임을 함께 수행하는 제1 및 제2 게임 클라이언트와 게임 서버의 온라인 게임 서비스 방법으로서,상기 게임 서버가 상기 온라인 게임 진행 중에 상기 제1 게임 클라이언트에서 생성되는 게임 데이터를 수신하고 상기 게임 데이터로부터 특성값을 추출하는 단계,상기 게임 서버가 상기 추출된 특성값을 기준값과 비교하여 상기 게임 데이터의 유효성을 검사하는 단계, 그리고상기 게임 서버가 상기 검사 결과 유효한 게임 데이터를 상기 제2 게임 클라이언트에 전송하는 단계를 포함하며,상기 특성값은 상기 온라인 게임에서 사용되는 자동차의 속도, 아이템의 누적 사용 회수, 무기의 누적 발사 회수, 게임 캐릭터의 체력 및 마력의 누적 감소분, 그리고 사용자가 내놓는 카드 패 중 적어도 하나를 포함하며,상기 기준값은 상기 자동차의 최대 속도, 상기 아이템의 최대 사용 회수, 상기 무기의 최대 발사 회수, 상기 게임 캐릭터의 최대 체력 및 마력, 그리고 상기 사용자가 보유한 카드 패 중 적어도 하나를 포함하는온라인 게임 서비스 방법.
- 삭제
- 제1항, 제2항 및 제4항 중 어느 한 항에서,상기 특성값 추출 단계는,상기 자동차의 위치 좌표로부터 상기 자동차의 속도를 산출하는 단계,상기 아이템의 사용 이벤트로부터 상기 아이템의 누적 사용 회수를 산출하는 단계,상기 무기의 발사 이벤트로부터 상기 무기의 누적 발사 회수를 산출하는 단계,상기 게임 캐릭터가 입는 데미지로 인한 체력 및 마력의 감소분으로부터 상기 게임 캐릭터의 체력 및 마력의 누적 감소분을 산출하는 단계, 그리고상기 사용자가 내놓은 카드 패를 특성값으로 추출하는 단계중 적어도 하나를 포함하는 온라인 게임 서비스 방법.
- 컴퓨터에 제1항, 제2항 및 제4항 중 어느 한 항의 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.
- 제1 및 제2 게임 클라이언트를 각각 제1 및 제2 사용자 단말기에 전송하여 설치하는 제1 서버, 그리고상기 제1 및 제2 사용자 단말기가 상호 접속하여 게임 데이터를 교환하며 온라인 게임을 진행할 수 있도록 하며, 상기 제1 및 제2 게임 클라이언트에 미리 정해져 있는 기준값을 전송하는 제2 서버를 포함하며,상기 제1 게임 클라이언트는 상기 온라인 게임 중에 상기 제1 게임 클라이언트에서 생성되는 게임 데이터로부터 특성값을 추출하고 상기 추출된 특성값을 상기 기준값과 비교하여 유효성 여부를 검사하며, 상기 검사 결과 유효한 게임 데이터를 상기 제2 게임 클라이언트에 전달하고 유효하지 않은 게임 데이터를 폐기한 후 상기 제2 서버에 통지하며,상기 특성값은 상기 온라인 게임에서 사용되는 자동차의 속도, 아이템의 누적 사용 회수, 무기의 누적 발사 회수, 게임 캐릭터의 체력 및 마력의 누적 감소분, 그리고 사용자가 내놓는 카드 패 중 적어도 하나를 포함하며,상기 기준값은 상기 자동차의 최대 속도, 상기 아이템의 최대 사용 회수, 상기 무기의 최대 발사 회수, 상기 게임 캐릭터의 최대 체력 및 마력, 그리고 상기 사용자가 보유한 카드 패 중 적어도 하나를 포함하는온라인 게임 서비스 시스템.
- 삭제
- 제1 및 제2 게임 클라이언트를 각각 제1 및 제2 사용자 단말기에 전송하여 설치하는 제1 서버, 그리고상기 제1 및 제2 사용자 단말기가 상호 접속하여 게임 데이터를 교환하며 온라인 게임을 진행할 수 있도록 하며, 상기 제1 및 제2 게임 클라이언트에 미리 정해져 있는 기준값을 전송하는 제2 서버를 포함하며,상기 제1 게임 클라이언트는 상기 온라인 게임 진행 중에 상기 제2 게임 클라이언트에서 생성되는 게임 데이터를 수신하고 상기 제2 게임 클라이언트의 게임 데이터로부터 특성값을 추출하고 상기 추출된 특성값을 상기 기준값과 비교하여 유효성 여부를 검사하며, 상기 검사 결과 유효한 게임 데이터를 상기 온라인 게임에서 이용하고 유효하지 않은 게임 데이터를 폐기한 후 상기 제2 서버에 통지하며,상기 특성값은 상기 온라인 게임에서 사용되는 자동차의 속도, 아이템의 누적 사용 회수, 무기의 누적 발사 회수, 게임 캐릭터의 체력 및 마력의 누적 감소분, 그리고 사용자가 내놓는 카드 패 중 적어도 하나를 포함하며,상기 기준값은 상기 자동차의 최대 속도, 상기 아이템의 최대 사용 회수, 상기 무기의 최대 발사 회수, 상기 게임 캐릭터의 최대 체력 및 마력, 그리고 상기 사용자가 보유한 카드 패 중 적어도 하나를 포함하는온라인 게임 서비스 시스템.
- 게임을 함께 수행하는 제1 및 제2 게임 클라이언트가 게임 데이터를 교환하며 온라인 게임을 진행하도록 하는 게임 서버를 포함하며,상기 게임 서버는,상기 온라인 게임 진행 중에 상기 제1 게임 클라이언트로부터 전달받은 게임 데이터로부터 특성값을 추출하고 상기 추출된 특성값을 기준값과 비교하여 상기 게임 데이터의 유효성을 검사하는 게임 검사 모듈, 그리고상기 검사 결과 유효한 게임 데이터를 상기 제2 게임 클라이언트에 전달하여 게임 진행에 반영되도록 하는 게임 진행 모듈을 포함하며,상기 특성값은 상기 온라인 게임에서 사용되는 자동차의 속도, 아이템의 누적 사용 회수, 무기의 누적 발사 회수, 게임 캐릭터의 체력 및 마력의 누적 감소분, 그리고 사용자가 내놓는 카드 패 중 적어도 하나를 포함하며,상기 기준값은 상기 자동차의 최대 속도, 상기 아이템의 최대 사용 회수, 상기 무기의 최대 발사 회수, 상기 게임 캐릭터의 최대 체력 및 마력, 그리고 상기 사용자가 보유한 카드 패 중 적어도 하나를 포함하는온라인 게임 서비스 시스템.
- 삭제
- 삭제
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070043628A KR100900666B1 (ko) | 2007-05-04 | 2007-05-04 | 온라인 게임 서비스 방법 및 시스템 |
JP2008120520A JP2008272487A (ja) | 2007-05-04 | 2008-05-02 | オンラインゲームサービス方法及びオンラインゲームサービスシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070043628A KR100900666B1 (ko) | 2007-05-04 | 2007-05-04 | 온라인 게임 서비스 방법 및 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090001628A KR20090001628A (ko) | 2009-01-09 |
KR100900666B1 true KR100900666B1 (ko) | 2009-06-01 |
Family
ID=40051176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070043628A KR100900666B1 (ko) | 2007-05-04 | 2007-05-04 | 온라인 게임 서비스 방법 및 시스템 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2008272487A (ko) |
KR (1) | KR100900666B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101997777B1 (ko) * | 2019-01-25 | 2019-07-08 | 넷마블 주식회사 | 이상 감지 장치 및 이의 동작 방법 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104079525B (zh) * | 2013-03-25 | 2015-11-11 | 腾讯科技(深圳)有限公司 | 一种防止外挂的方法和服务器 |
KR101345237B1 (ko) * | 2013-06-18 | 2013-12-27 | 마운트게임즈(주) | 게임 제공 서버 및 이를 이용한 게임 제공 방법, 프로그램이 수록된 기록 매체 |
KR101645097B1 (ko) | 2014-10-23 | 2016-08-02 | 한국철도공사 | 철도차량용 차륜 고정장치 |
KR20160094143A (ko) | 2015-01-30 | 2016-08-09 | 한국철도공사 | 철도차량의 이탈방지장치 |
KR102476075B1 (ko) * | 2015-07-22 | 2022-12-08 | 주식회사 넥슨코리아 | 게임 플레이 장치, 게임 제공 장치, 변조감지방법 및 실시간게임제재방법 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060048472A (ko) * | 2004-06-23 | 2006-05-18 | 가부시키가이샤 세가 | 온라인 게임 부정 검출방법 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001022644A (ja) * | 1999-07-08 | 2001-01-26 | Square Co Ltd | 情報処理装置、情報制御方法、ゲーム装置、ゲーム制御方法及びセーブデータ改竄判定装置並びにメモリユニット |
JP4484377B2 (ja) * | 2001-01-30 | 2010-06-16 | キヤノン株式会社 | データ管理方法 |
JP3619220B2 (ja) * | 2002-08-09 | 2005-02-09 | 株式会社コナミコンピュータエンタテインメントジャパン | ゲームプログラム、及び装置 |
JP4597617B2 (ja) * | 2004-09-14 | 2010-12-15 | 株式会社カプコン | ゲームシステム、ゲームプログラム、及び記録媒体 |
JP4683615B2 (ja) * | 2005-01-14 | 2011-05-18 | 株式会社バンダイナムコゲームス | ネットワークランキングシステム及びプログラム |
JP4765384B2 (ja) * | 2005-04-21 | 2011-09-07 | 株式会社セガ | ゲームシステム |
-
2007
- 2007-05-04 KR KR1020070043628A patent/KR100900666B1/ko active IP Right Grant
-
2008
- 2008-05-02 JP JP2008120520A patent/JP2008272487A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060048472A (ko) * | 2004-06-23 | 2006-05-18 | 가부시키가이샤 세가 | 온라인 게임 부정 검출방법 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101997777B1 (ko) * | 2019-01-25 | 2019-07-08 | 넷마블 주식회사 | 이상 감지 장치 및 이의 동작 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20090001628A (ko) | 2009-01-09 |
JP2008272487A (ja) | 2008-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10789816B2 (en) | Promoting competitive balance in multiplayer gaming | |
CN117915996A (zh) | 使用分布式分类账上的代币来跟踪唯一游戏内数字资产 | |
JP4890552B2 (ja) | モバイル画像認識を介した双方向性 | |
US8821247B2 (en) | Online gaming with embedded real world monetary wins via lotteries and skill-based wagering | |
KR100900666B1 (ko) | 온라인 게임 서비스 방법 및 시스템 | |
JP2020535940A (ja) | 技能ベースの構成及び非技能ベースの構成を支持する、動的に構成可能な賭けベースの賭博デバイス | |
JP4220532B2 (ja) | サーバシステム及びデータ管理販売方法 | |
JP6511537B2 (ja) | ダーツゲーム不正行為判別方法及びサーバ | |
KR20110021069A (ko) | 게임 장치 및 게임 장치의 게임 데이터 인증 방법 | |
JP3520263B2 (ja) | ゲームシステム及びゲーム報酬分配プログラム | |
US20200406147A1 (en) | Systems and methods for detecting and preventing fraudulent in-app activities | |
US9196115B1 (en) | Performance based basketball scoring system | |
US11986737B2 (en) | System and method for fraud prevention in esports | |
CN106139590A (zh) | 控制对象的方法和装置 | |
JP2014217597A (ja) | ゲームサーバ、ゲーム制御方法、ゲームシステム、ゲームプログラム及び記録媒体 | |
KR101190497B1 (ko) | 온라인 게임 서비스의 자동 플레이 방지 방법 및 서버 | |
KR20070048896A (ko) | 다자간 온라인 게임 시스템 및 방법 | |
US10213696B2 (en) | Adaptation of gaming applications to participants | |
Yampolskiy | Detecting and controlling cheating in online poker | |
KR20190068767A (ko) | 온라인 멀티플레이어 게임의 에임 해킹 프로그램 탐지 방법 | |
US20200368624A1 (en) | Method securing data integrity of online golf games | |
Laato et al. | Technical cheating prevention in location-based games | |
JP7168863B2 (ja) | プログラム、情報処理装置および情報処理システム | |
US11305196B1 (en) | Promoting fair online game play through disadvantaged interactions with online gaming | |
US20230245531A1 (en) | Systems and methods for facilitating betting in a game |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120329 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20170328 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20180328 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20190325 Year of fee payment: 11 |