KR20090001628A - 온라인 게임 서비스 방법 및 시스템 - Google Patents

온라인 게임 서비스 방법 및 시스템 Download PDF

Info

Publication number
KR20090001628A
KR20090001628A KR1020070043628A KR20070043628A KR20090001628A KR 20090001628 A KR20090001628 A KR 20090001628A KR 1020070043628 A KR1020070043628 A KR 1020070043628A KR 20070043628 A KR20070043628 A KR 20070043628A KR 20090001628 A KR20090001628 A KR 20090001628A
Authority
KR
South Korea
Prior art keywords
game
client
data
online
game data
Prior art date
Application number
KR1020070043628A
Other languages
English (en)
Other versions
KR100900666B1 (ko
Inventor
고영준
Original Assignee
엔에이치엔(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엔에이치엔(주) filed Critical 엔에이치엔(주)
Priority to KR1020070043628A priority Critical patent/KR100900666B1/ko
Priority to JP2008120520A priority patent/JP2008272487A/ja
Publication of KR20090001628A publication Critical patent/KR20090001628A/ko
Application granted granted Critical
Publication of KR100900666B1 publication Critical patent/KR100900666B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/23Reliability checks, e.g. acknowledgments or fault reporting
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/30Technical effects
    • H01L2924/35Mechanical effects
    • H01L2924/351Thermal stress
    • H01L2924/3512Cracking

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

온라인 게임 서비스 방법 및 시스템{ONLINE GAME SERVICE METHOD AND SYSTEM}
도 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)를 계산할 수 있다.
Av(X, Y)={A'(X, Y)-A(X, Y)}/T
여기서, 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. 온라인 게임 진행 중에 제1 게임 클라이언트에서 생성되는 게임 데이터로부터 특성값을 추출하는 단계,
    상기 추출된 특성값을 기준값과 비교하여 상기 게임 데이터의 유효성을 검사하는 단계, 그리고
    상기 검사 결과 유효한 게임 데이터를 이용하여 게임을 진행하는 단계
    를 포함하는 온라인 게임 서비스 방법.
  2. 제1항에서,
    상기 게임 데이터가 상기 제1 게임 클라이언트와 함께 게임을 수행하는 제2 게임 클라이언트에 전달되는 단계를 더 포함하고,
    상기 유효성 검사는 상기 제2 게임 클라이언트에서 수행되는 온라인 게임 서비스 방법.
  3. 제1항에서,
    상기 유효성 검사는 상기 제1 게임 클라이언트에서 수행되며,
    상기 검사 결과 유효한 게임 데이터를 상기 제1 게임 클라이언트와 함께 게임을 수행하는 제2 게임 클라이언트에 전달하는 단계를 더 포함하는 온라인 게임 서비스 방법.
  4. 게임 서버가 온라인 게임 진행 중에 제1 게임 클라이언트에서 생성되는 게임 데이터를 수신하고 상기 게임 데이터로부터 특성값을 추출하는 단계,
    상기 추출된 특성값을 기준값과 비교하여 상기 게임 데이터의 유효성을 검사하는 단계, 그리고
    상기 검사 결과 유효한 게임 데이터를 상기 제1 게임 클라이언트와 함께 게임을 수행하는 제2 게임 클라이언트에 전송하는 단계
    를 포함하는 온라인 게임 서비스 방법.
  5. 제1항 또는 제4항에서,
    상기 특성값은 상기 온라인 게임에서 사용되는 자동차의 속도, 아이템의 누적 사용 회수, 무기의 누적 발사 회수, 게임 캐릭터의 체력 및 마력의 누적 감소분, 그리고 사용자가 내놓는 카드 패 중 적어도 하나를 포함하며,
    상기 기준값은 상기 자동차의 최대 속도, 상기 아이템의 최대 사용 회수, 상기 무기의 최대 발사 회수, 상기 게임 캐릭터의 최대 체력 및 마력, 그리고 상기 사용자가 보유한 카드 패 중 적어도 하나를 포함하는 온라인 게임 서비스 방법.
  6. 제5항에서,
    상기 특성값 추출 단계는,
    상기 자동차의 위치 좌표로부터 상기 자동차의 속도를 산출하는 단계,
    상기 아이템의 사용 이벤트로부터 상기 아이템의 누적 사용 회수를 산출하는 단계,
    상기 무기의 발사 이벤트로부터 상기 무기의 누적 발사 회수를 산출하는 단계,
    상기 게임 캐릭터가 입는 데미지로 인한 체력 및 마력의 감소분으로부터 상기 게임 캐릭터의 체력 및 마력의 누적 감소분을 산출하는 단계, 그리고
    상기 사용자가 내놓은 카드 패를 특성값으로 추출하는 단계
    중 적어도 하나를 포함하는 온라인 게임 서비스 방법.
  7. 컴퓨터에 제1항 내지 제4항 중 어느 한 항의 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.
  8. 게임 클라이언트를 복수의 사용자 단말기에 전송하여 설치하는 제1 서버, 그리고
    상기 복수의 사용자 단말기가 상호 접속하여 게임 데이터를 교환하며 온라인 게임을 진행할 수 있도록 하는 제2 서버를 포함하며,
    상기 게임 클라이언트는 상기 게임 데이터로부터 특성값을 추출하고 상기 추출된 특성값을 기준값과 비교하여 유효성 여부를 검사하며, 상기 검사 결과 유효한 게임 데이터를 이용하여 게임을 수행하는
    온라인 게임 서비스 시스템.
  9. 제8항에서,
    상기 게임 클라이언트는 상기 검사 결과 유효한 게임 데이터를 게임을 함께 수행하는 상대 게임 클라이언트에 전송하여 게임 진행에 반영되도록 하는 온라인 게임 서비스 시스템.
  10. 제8항에서,
    상기 게임 클라이언트는 게임을 함께 수행하는 상대 게임 클라이언트로부터 전달받은 상기 게임 데이터로부터 상기 특성값을 추출하고 상기 유효성 검사를 수행하는 온라인 게임 서비스 시스템.
  11. 게임을 함께 수행하는 제1 및 제2 게임 클라이언트가 게임 데이터를 교환하며 온라인 게임을 진행하도록 하는 게임 서버를 포함하며,
    상기 게임 서버는,
    상기 제1 게임 클라이언트로부터 전달받은 게임 데이터의 유효성을 검사하는 게임 검사 모듈, 그리고
    상기 검사 결과 유효한 게임 데이터를 상기 제2 게임 클라이언트에 전달하여 게임 진행에 반영되도록 하는 게임 진행 모듈을 포함하는
    온라인 게임 서비스 시스템.
  12. 제11항에서,
    상기 게임 서버는 상기 게임 데이터로부터 특성값을 추출하고 상기 추출된 특성값을 기준값과 비교하여 상기 게임 데이터의 유효성을 검사하는 온라인 게임 서비스 시스템.
  13. 제8항 또는 제12항에서,
    상기 특성값은 상기 온라인 게임에서 사용되는 자동차의 속도, 아이템의 누적 사용 회수, 무기의 누적 발사 회수, 게임 캐릭터의 체력 및 마력의 누적 감소분, 그리고 사용자가 내놓는 카드 패 중 적어도 하나를 포함하며,
    상기 기준값은 상기 자동차의 최대 속도, 상기 아이템의 최대 사용 회수, 상기 무기의 최대 발사 회수, 상기 게임 캐릭터의 최대 체력 및 마력, 그리고 상기 사용자가 보유한 카드 패 중 적어도 하나를 포함하는 온라인 게임 서비스 시스템.
KR1020070043628A 2007-05-04 2007-05-04 온라인 게임 서비스 방법 및 시스템 KR100900666B1 (ko)

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 true KR20090001628A (ko) 2009-01-09
KR100900666B1 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 (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014153975A1 (en) * 2013-03-25 2014-10-02 Tencent Technology (Shenzhen) Company Limited Online game anti-cheating method and server
WO2014204105A1 (ko) * 2013-06-18 2014-12-24 디시인터렉티브(주) 게임 제공 서버 및 이를 이용한 게임 제공 방법, 프로그램이 수록된 기록 매체
KR20160047873A (ko) 2014-10-23 2016-05-03 한국철도공사 철도차량용 차륜 고정장치
KR20160094143A (ko) 2015-01-30 2016-08-09 한국철도공사 철도차량의 이탈방지장치
KR20210042882A (ko) * 2015-07-22 2021-04-20 주식회사 넥슨코리아 게임 플레이 장치, 게임 제공 장치, 변조감지방법 및 실시간게임제재방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101997777B1 (ko) * 2019-01-25 2019-07-08 넷마블 주식회사 이상 감지 장치 및 이의 동작 방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
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 株式会社コナミコンピュータエンタテインメントジャパン ゲームプログラム、及び装置
JP4385863B2 (ja) * 2004-06-23 2009-12-16 株式会社セガ オンラインゲーム不正検出方法
JP4597617B2 (ja) * 2004-09-14 2010-12-15 株式会社カプコン ゲームシステム、ゲームプログラム、及び記録媒体
JP4683615B2 (ja) * 2005-01-14 2011-05-18 株式会社バンダイナムコゲームス ネットワークランキングシステム及びプログラム
JP4765384B2 (ja) * 2005-04-21 2011-09-07 株式会社セガ ゲームシステム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014153975A1 (en) * 2013-03-25 2014-10-02 Tencent Technology (Shenzhen) Company Limited Online game anti-cheating method and server
US9504916B2 (en) 2013-03-25 2016-11-29 Tencent Technology (Shenzhen) Company Limited Online game anti-cheating method and server
WO2014204105A1 (ko) * 2013-06-18 2014-12-24 디시인터렉티브(주) 게임 제공 서버 및 이를 이용한 게임 제공 방법, 프로그램이 수록된 기록 매체
KR20160047873A (ko) 2014-10-23 2016-05-03 한국철도공사 철도차량용 차륜 고정장치
KR20160094143A (ko) 2015-01-30 2016-08-09 한국철도공사 철도차량의 이탈방지장치
KR20210042882A (ko) * 2015-07-22 2021-04-20 주식회사 넥슨코리아 게임 플레이 장치, 게임 제공 장치, 변조감지방법 및 실시간게임제재방법

Also Published As

Publication number Publication date
KR100900666B1 (ko) 2009-06-01
JP2008272487A (ja) 2008-11-13

Similar Documents

Publication Publication Date Title
US10789816B2 (en) Promoting competitive balance in multiplayer gaming
JP6847969B2 (ja) 娯楽および賭けゲーム活動に関連するハイブリッド型アーケード/賭けベースのゲーム態様
JP4890552B2 (ja) モバイル画像認識を介した双方向性
JP2020535940A (ja) 技能ベースの構成及び非技能ベースの構成を支持する、動的に構成可能な賭けベースの賭博デバイス
CN117915996A (zh) 使用分布式分类账上的代币来跟踪唯一游戏内数字资产
KR100900666B1 (ko) 온라인 게임 서비스 방법 및 시스템
JP4220532B2 (ja) サーバシステム及びデータ管理販売方法
AU2018322492B2 (en) Virtual reality interaction monitoring
JP6511537B2 (ja) ダーツゲーム不正行為判別方法及びサーバ
JP2006006473A (ja) オンラインゲーム不正検出方法
JP3520263B2 (ja) ゲームシステム及びゲーム報酬分配プログラム
US9196115B1 (en) Performance based basketball scoring system
US20200406147A1 (en) Systems and methods for detecting and preventing fraudulent in-app activities
US11986737B2 (en) System and method for fraud prevention in esports
CA3029614A1 (en) Interactive event outcome reveal techniques implemented in wager-based video games and non-wager-based video games
CN106139590A (zh) 控制对象的方法和装置
Yampolskiy Detecting and controlling cheating in online poker
US10213696B2 (en) Adaptation of gaming applications to participants
KR20070048896A (ko) 다자간 온라인 게임 시스템 및 방법
Laato et al. Technical cheating prevention in location-based games
US20200368624A1 (en) Method securing data integrity of online golf games
KR20190068767A (ko) 온라인 멀티플레이어 게임의 에임 해킹 프로그램 탐지 방법
US11305196B1 (en) Promoting fair online game play through disadvantaged interactions with online gaming
JP7168863B2 (ja) プログラム、情報処理装置および情報処理システム
KR101632889B1 (ko) Sns를 이용한 게임 서비스 방법 및 시스템

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