KR20110103202A - 사용자에 의해 제작된 멀티플레이어 게임의 온라인 서비스를 위한 시스템 및 방법 - Google Patents

사용자에 의해 제작된 멀티플레이어 게임의 온라인 서비스를 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20110103202A
KR20110103202A KR1020100022420A KR20100022420A KR20110103202A KR 20110103202 A KR20110103202 A KR 20110103202A KR 1020100022420 A KR1020100022420 A KR 1020100022420A KR 20100022420 A KR20100022420 A KR 20100022420A KR 20110103202 A KR20110103202 A KR 20110103202A
Authority
KR
South Korea
Prior art keywords
game
multiplayer game
multiplayer
server
service
Prior art date
Application number
KR1020100022420A
Other languages
English (en)
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 KR1020100022420A priority Critical patent/KR20110103202A/ko
Publication of KR20110103202A publication Critical patent/KR20110103202A/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • A63F13/48Starting a game, e.g. activating a game device or waiting for other players to join a multiplayer session
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Tourism & Hospitality (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

사용자에 의해 제작된 멀티플레이어 게임의 온라인 서비스를 위한 시스템 및 방법이 개시된다. 멀티플레이어 게임 서비스 시스템은 사용자에 의해 제작된 멀티플레이어 게임을 등록 및 유지하는 게임 등록 유지부, 멀티플레이어 게임을 검수하는 게임 검수부 및 게임 서비스를 요청한 클라이언트에게 해당 멀티플레이어 게임의 진행을 위한 서버 기능을 제공하는 게임 서비스부를 포함한다.

Description

사용자에 의해 제작된 멀티플레이어 게임의 온라인 서비스를 위한 시스템 및 방법{SYSTEM AND METHOD FOR ONLINE SERVICE OF MULTI-PLAYER GAME PRODUCTED BY USER}
본 발명의 실시예들은 사용자에 의해 제작된 멀티플레이어 게임의 온라인 서비스를 위한 시스템 및 방법에 관한 것이다.
종래 기술에 따른 온라인 게임 서비스는 서비스를 제공하는 주체인 온라인 게임 서비스 회사가 시스템을 소유 및 운영하고, 게임을 직접 개발하여 서비스를 하는 인-하우스(in-house) 형태의 게임 서비스와 다른 게임 컨텐츠 회사와 계약을 맺어 게임을 퍼블리싱하는 형태로 서비스를 하는 퍼블리싱 형태의 게임 서비스가 대부분이다. 서비스를 운영하는 회사는 이렇게 수급한 게임 컨텐츠를 실제로 일반 사용자들에게 서비스하기 위해서 게임 클라이언트를 배포하기 위한 웹 사이트를 운영하고, 예상 동시 접속자 수에 맞추어 게임 서버 및 데이터베이스 서버를 할당하여 게임을 서비스하게 된다.
본 명세서에서는 일반 사용자가 제작한 멀티플레이어 게임을 효과적으로 온라인 서비스할 수 있는 시스템 및 방법이 제안된다.
멀티플레이어 게임을 제작하는 사용자는 게임 서버를 위한 소스 코드와 게임 클라이언트를 위한 소스 코드만을 제작하여 등록하더라도, 사용자의 인증, 사용자 목록, 게임 룸 목록, 게임 메시지 전달 및 데이터베이스 생성 및 데이터 저장과 같은 멀티플레이어 게임의 서비스를 위한 서버 기능을 지원해줄 수 있는 멀티플레이어 게임 서비스 시스템 및 방법이 제공된다.
사용자가 로비-룸 시스템을 제작하지 않더라도, 등록만으로 로비-룸 시스템을 통해 자동적으로 멀티플레이어 게임을 서비스 수 있는 멀티플레이어 게임 서비스 시스템 및 방법이 제공된다.
사용자가 제작한 멀티플레이어 게임을 법적, 보안적, 성능적으로 자동으로 검수할 수 있는 멀티플레이어 게임 서비스 시스템 및 방법이 제공된다.
복수의 멀티플레이어 게임 각각에 대한 서버 자원 사용량을 모니터링하여 미리 설정된 값 이상의 서버 자원 사용량을 점유한 멀티플레이어 게임을 종료함으로써, 안정적으로 운영될 수 있는 멀티플레이어 게임 서비스 시스템 및 방법이 제공된다.
사용자에 의해 제작된 멀티플레이어 게임을 등록 및 유지하는 게임 등록 유지부, 멀티플레이어 게임을 검수하는 게임 검수부 및 게임 서비스를 요청한 클라이언트에게 해당 멀티플레이어 게임의 진행을 위한 서버 기능을 제공하는 게임 서비스부를 포함하는 멀티플레이어 게임 서비스 시스템이 제공된다.
일측에 따르면, 게임 검수부는 멀티플레이어 게임의 소스 코드를 정적 분석을 통해 분석하여 보안적으로 위험한 코드 및 문법적 오류를 검사하거나, 또는 악성 코드 및 바이러스의 포함 여부를 검사할 수 있다. 또한, 게임 검수부는 멀티플레이어 게임의 소스 코드를 검사하여 라이센스 위반 여부 확인할 수 있다. 뿐만 아니라, 게임 검수부는 멀티플레이어 게임의 소스 코드를 컴파일하여 바이너리 코드를 생성하거나 멀티플레이어 게임의 소스 코드에서 게임 메타 정보를 추출할 수 있다.
다른 측면에서, 멀티플레이어 게임 서비스 시스템은 멀티플레이어 게임의 서비스 환경과 동일한 물리적 환경에서 테스트하기 위한 기능 및 멀티플레이어 게임을 새로운 버전으로 갱신하여 등록하기 위한 기능 중 적어도 하나의 기능을 제공하는 테스트부를 더 포함할 수 있다.
또 다른 측면에서, 게임 서비스부는 클라이언트로 검수된 멀티플레이어 게임의 실행을 위한 파일을 전송하는 파일 전송부, 클라이언트 목록, 로비 목록 및 룸 목록을 생성 및 관리하는 로비 서버, 멀티플레이어 게임의 진행과 관련된 게임 메시지를 클라이언트와 송수신하는 룸 서버 및 게임 결과 정보를 저장하는 데이터베이스를 포함할 수 있다.
또 다른 측면에서, 멀티플레이어 게임 서비스 시스템은 등록된 복수의 멀티플레이어 게임 각각의 서버 자원 사용량을 모니터링하는 모니터링부를 더 포함할 수 있다. 여기서, 모니터링부는 등록된 복수의 멀티플레이어 게임 중 미리 설정된 값 이상의 서버 자원 사용량을 점유한 멀티플레이어 게임을 종료하거나 해당 멀티플레이어 게임에 대한 서버 자원 사용량에 대한 정보를 운영자 또는 사용자에게 제공할 수 있다.
사용자에 의해 제작된 멀티플레이어 게임을 등록 및 유지하는 단계, 멀티플레이어 게임을 검수하는 단계 및 게임 서비스를 요청한 클라이언트에게 해당 멀티플레이어 게임의 진행을 위한 서버 기능을 제공하는 단계를 포함하는 멀티플레이어 게임 서비스 방법이 제공된다.
멀티플레이어 게임을 제작하는 사용자는 게임 서버를 위한 소스 코드와 게임 클라이언트를 위한 소스 코드만을 제작하여 등록하더라도, 사용자의 인증, 사용자 목록, 게임 룸 목록, 게임 메시지 전달 및 데이터베이스 생성 및 데이터 저장과 같은 멀티플레이어 게임의 서비스를 위한 서버 기능을 지원해줄 수 있다.
사용자가 로비-룸 시스템을 제작하지 않더라도, 등록만으로 로비-룸 시스템을 통해 자동적으로 멀티플레이어 게임을 서비스할 수 있다.
사용자가 제작한 멀티플레이어 게임을 법적, 보안적, 성능적으로 자동으로 검수할 수 있고, 복수의 멀티플레이어 게임 각각에 대한 서버 자원 사용량을 모니터링하여 미리 설정된 값 이상의 서버 자원 사용량을 점유한 멀티플레이어 게임을 종료함으로써, 시스템을 안정적으로 운영할 수 있다.
도 1은 본 발명의 일실시예에 있어서, 멀티플레이어 게임 서비스 시스템의 개괄적인 모습을 도시한 도면이다.
도 2는 본 발명의 일실시예에 있어서, 멀티플레이어 게임 서비스 시스템의 내부 구성을 설명하기 위한 블록도이다.
도 3은 본 발명의 일실시예에 있어서, 멀티플레이어 게임의 등록 및 서비스의 과정을 설명하기 위한 일례이다.
도 4는 본 발명의 일실시예에 있어서, 게임 페이지를 나타낸 일례이다.
도 5는 본 발명의 일실시예에 있어서, 멀티플레이어 게임 서비스 방법을 도시한 흐름도이다.
도 6은 본 발명의 다른 실시예에 있어서, 멀티플레이어 게임 서비스 시스템의 내부 구성을 설명하기 위한 블록도이다.
도 7은 본 발명의 다른 실시예에 있어서, 멀티플레이어 게임 서비스 방법을 도시한 흐름도이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 있어서, 멀티플레이어 게임 서비스 시스템의 개괄적인 모습을 도시한 도면이다. 본 실시예에 따른 멀티플레이어 게임 서비스 시스템(100)은 복수의 사용자 단말기(110) 중 접근을 요청하는 사용자 단말기에게 웹페이지(120)를 제공할 수 있다. 이때, 웹페이지(120)는 사용자들이 직접 제작한 멀티플레이어 게임을 등록하기 위한 등록 페이지 또는 등록된 멀티플레이어 게임에 대한 정보를 얻거나 멀티플레이어 게임의 플레이를 위한 클라이언트 측 데이터를 다운로드 받기 위한 게임 페이지를 포함할 수 있다. 이때, 등록 페이지를 통해 적어도 하나의 멀티플레이어 게임이 등록되면, 멀티플레이어 게임 서비스 시스템(100)은 등록된 멀티플레이어 게임을 복수의 사용자 단말기(110) 중 게임의 실행을 요청하는 사용자 단말기에게 서비스할 수 있다. 또한, 멀티플레이어 게임의 서비스 전에 게임 페이지를 통해 클라이언트 측 데이터가 사용자 단말기로 다운로드될 수 있다. 여기서, 등록 페이지와 게임 페이지는 하나의 웹사이트에 포함된 웹페이지 또는 각각 별도의 웹사이트에 포함된 웹페이지일 수 있다.
도 2는 본 발명의 일실시예에 있어서, 멀티플레이어 게임 서비스 시스템의 내부 구성을 설명하기 위한 블록도이다. 본 실시예에 따른 멀티플레이어 게임 서비스 시스템(200)은 도 1을 통해 설명한 멀티플레이어 게임 서비스 시스템(100)에 대응되는 것으로, 도 2에 도시된 바와 같이, 게임 등록 유지부(210), 게임 검수부(220), 테스트부(230), 게임 서비스부(240) 및 모니터링부(250)를 포함할 수 있다.
게임 등록 유지부(210)는 사용자에 의해 제작된 멀티플레이어 게임을 등록 및 유지한다. 여기서, 사용자는 멀티플레이어 게임의 등록과 연관된 페이지를 통해 등록된 사용자를 포함할 수 있다. 예를 들어, 멀티플레이어 게임의 등록과 연관된 페이지는 도 1을 통해 설명한 등록 페이지 또는 게임 페이지를 포함할 수 있다. 이러한, 멀티플레이어 게임은 멀티플레이어 게임 서비스 시스템(200)에서 제공하는 특정 게임 저작도구나 C++, Java 등과 같은 다양한 프로그래밍 언어 중 적어도 하나를 이용하여 개발될 수 있다.
게임 검수부(220)는 멀티플레이어 게임을 검수한다. 즉, 일반 이용자가 서비스를 목적으로 멀티플레이어 게임 서비스 시스템에 등록하고자 하는 경우, 게임 등록 유지부(210)는 해당 멀티플레이어 게임을 등록 및 유지하고, 게임 검수부(220)는 등록하는 과정에서 해당 멀티플레이어 게임의 이름, 장르, 설명과 같은 기본 정보를 입력받아 게임정보에 대한 데이터베이스를 생성하고, 등록된 게임 팩 파일을 후처리를 통해서 보안 및 성능 문제를 해결할 수 있다. 여기서, 후처리 작업으로는 보안 검수, 법적 검수 및 성능 검수가 수행될 수 있다. 우선, 게임 검수부(220)는 보안 검수를 통해 게임 소스 코드에 악의적인 코드나 보안적으로 문제되는 코드가 없는 지 코드를 분석해서 확인하고, 악성 파일이나 바이러스 파일이 같이 등록되었는지 검사하는 등의 검수를 통해 보안적인 문제점을 해결해 준다. 또한, 게임 검수부(220)는 법적 검수를 통해 등록되는 멀티플레이어 게임이 라이센스를 위반했는지 여부를 멀티플레이어 게임의 소스 코드를 검사하여 확인할 수 있다. 뿐만 아니라, 게임 검수부(220)는 성능 검수를 통해 소스 코드를 컴파일하여 바이너리 코드를 생성함으로써, 자원을 절약하고, 실행 성능을 최적화할 수 있다.
보다 자세하게, 게임 검수부(220)는 멀티플레이어 게임의 소스 코드를 정적 분석을 통해 분석하여 보안적으로 위험한 코드 및 문법적 오류를 검사하거나, 또는 악성 코드 및 바이러스의 포함 여부를 검사할 수 있다. 또한, 게임 검수부(220)는 멀티플레이어 게임의 소스 코드를 검사하여 라이센스 위반 여부 확인할 수 있다. 뿐만 아니라, 게임 검수부(220)는 멀티플레이어 게임의 소스 코드를 컴파일하여 바이너리 코드를 생성함으로써, 자원을 효율적으로 활용하고 실행 성능을 최적화하도록 할 수 있다. 이에 더해, 게임 검수부(220)는 멀티플레이어 게임의 소스 코드에서 게임 메타 정보를 추출하여 미리 저장하고, 이후 멀티플레이어 게임의 서비스 시 미리 저장된 게임 메타 정보를 활용할 수 있다.
테스트부(230)는 멀티플레이어 게임의 서비스 환경과 동일한 물리적 환경에서 테스트하기 위한 기능 및 멀티플레이어 게임을 새로운 버전으로 갱신하여 등록하기 위한 기능 중 적어도 하나의 기능을 제공한다. 이때, 서비스 환경은 서버-클라이언트 환경을 포함할 수 있다. 예를 들어, 테스트부(230)는 등록된 멀티플레이어 게임을 실제 서비스 환경과 동일하게 서버-클라이언트 환경에서 테스트할 수 있는 공간을 생성하여 사용자에게 제공할 수 있다. 즉, 멀티플레이어 게임을 등록한 사용자들은 발급받은 테스트 아이디를 이용하여 로그인할 수 있고, 테스트하기 위한 기능을 통해 등록한 멀티플레이어 게임을 직접 실행하는 등의 테스트하면서 오류, 버그나 개선사항이 발견되면 소스 코드 등을 수정하여 다시 등록할 수 있다. 이때, 테스트부(230)는 멀티플레이어 게임을 테스트하다가 발생한 오류나 버그 등에 대한 정보를 도 1을 통해 설명한 등록 페이지와 같이 게임 제작자들을 위한 웹페이지를 통해서 제공하거나 또는 해당 사용자(제작자)에게 메일을 통해 제공할 수 있다.
게임 서비스부(240)는 게임 서비스를 요청한 클라이언트에게 해당 멀티플레이어 게임의 진행을 위한 서버 기능을 제공한다. 즉, 복수의 멀티플레이어 게임이 등록된 경우, 게임 서비스부(240)는 클라이언트가 요청하는 멀티플레이어 게임의 서비스를 위한 서버 기능을 제공하여 복수의 클라이언트가 멀티플레이어 게임을 진행하도록 제어할 수 있다. 멀티플레이어 게임의 서비스를 위해, 게임 서비스부(240)는 클라이언트로 검수된 멀티플레이어 게임의 실행을 위한 파일을 전송하는 파일 전송부(미도시), 클라이언트 목록, 로비 목록 및 룸 목록을 생성 및 관리하는 로비 서버(미도시), 멀티플레이어 게임의 진행과 관련된 게임 메시지를 클라이언트와 송수신하는 룸 서버(미도시) 및 게임 결과 정보를 저장하는 데이터베이스(미도시)를 포함할 수 있다. 여기서, 클라이언트는 멀티플레이어 게임을 서비스 받고자 하는 사용자의 사용자 단말기를 의미할 수 있다.
모니터링부(250)는 등록된 복수의 멀티플레이어 게임 각각의 서버 자원 사용량을 모니터링한다. 모니터링부(250)는 등록된 복수의 멀티플레이어 게임 중 미리 설정된 값 이상의 서버 자원 사용량을 점유한 멀티플레이어 게임을 종료하거나 해당 멀티플레이어 게임에 대한 서버 자원 사용량에 대한 정보를 운영자 또는 게임을 제작한 사용자에게 제공함으로써, 멀티플레이어 게임 서비스 시스템이 안정적으로 운영되도록 할 수 있다. 여기서, 서버 자원은 CPU, 메모리, 네트워크 대역폭 등을 포함할 수 있다.
이와 같이, 멀티플레이어 게임을 제작하는 사용자는 게임 서버를 위한 소스 코드와 게임 클라이언트를 위한 소스 코드만을 제작하여 등록하면, 멀티플레이어 게임 서비스 시스템(200)에서 사용자의 인증, 사용자 목록, 게임 룸 목록, 게임 메시지 전달 및 데이터베이스 생성 및 데이터 저장과 같은 멀티플레이어 게임의 서비스를 위한 서버 기능을 지원해줄 수 있다. 따라서, 이러한 서버 기능을 사용자가 직접 구현하지 않더라도 간편하게 멀티플레이어 게임을 제작 및 서비스할 수 있다.
도 3은 본 발명의 일실시예에 있어서, 멀티플레이어 게임의 등록 및 서비스의 과정을 설명하기 위한 일례이다. 여기서, 도 3에 도시된 멀티플레이어 게임 서비스 시스템(320)은 도 2를 통해 설명한 멀티플레이어 게임 서비스 시스템(300)에 대응될 수 있다.
우선, 웹 서버(321)는 사용자(멀티플레이어 게임의 제작자)가 복수의 사용자 단말기(310) 중 하나(도 3의 일례에서는, 제2 사용자 단말기)에서 등록 페이지를 통해 업로드하는 멀티플레이어 게임의 게임 팩 파일을 수신할 수 있다. 여기서, 일례로, 게임 팩 파일은 멀티플레이어 게임의 게임 소스 및 리소스 파일들이 압축 및 암호화된 파일을 포함할 수 있다. 이때, 웹 서버(321)는 사용자가 입력하는 멀티플레이어 게임의 이름, 장르 및 설명과 관련된 정보를 함께 수신할 수 있다. 이후, 웹 서버(321)는 수신한 게임 팩 파일을 파일 서버(322)에 저장함으로써, 멀티플레이어 게임을 등록 및 유지할 수 있다. 일례로, 파일 서버(322)는 NAS(Network Attached Storage)를 통해 구성될 수 있다. 이러한 웹 서버(321)와 파일 서버(322)는 도 2를 통해 설명한 게임 등록 유지부(210)에 대응되거나 또는 웹 서버(321)와 파일 서버(322)가 게임 등록 유지부(210)에 포함될 수 있다.
후처리 서버(323)는 파일 서버(322)에 저장된 게임 팩 파일을 주기적(예를 들어, 1~5분 간격)으로 읽어 신규로 업로드된 게임 팩 파일에 대한 후처리 스크립트(script)를 수행할 수 있다. 예를 들어, 후처리 서버(323)는 게임 팩 파일을 복호화하여 압축을 풀고, 성능 및 보안성 향상을 위해 게임 소스를 컴파일하여 바이너리 코드를 생성할 수 있다. 또한, 게임 메타 정보를 추출하고, 게임 소스를 분석하여 바이러스나 악성 코드 등의 존재를 검사하고, 라이센스 위반 여부 등을 검사할 수 있다. 또한, 후처리 서버(323)는 이러한 후처리 과정이 끝난 후 게임 팩 파일을 다시 압축 및 암호화하여 파일 서버(322)에 저장할 수 있고, 바이너리 코드화된 소스 코드, 게임 메타 정보 등을 데이터베이스(324)에 저장할 수 있다. 이때, 저장된 정보들을 통해 멀티플레이어 게임의 테스트가 가능해진다. 이러한 후처리 서버(323)는 도 2를 통해 설명한 게임 검수부(220)에 대응하거나 또는 후처리 서버(323)가 게임 검수부(220)에 포함될 수 있다. 또한, 멀티플레이어 게임 서비스 시스템(320)은 멀티플레이어 게임의 테스트를 위해, 도 2를 통해 설명한 테스트부(230)에 대응되는 테스트 서버(미도시)를 더 포함할 수 있다.
CDN(Content Delivery Network) 서버(325)는 주기적으로 후처리 과정이 끝난 게임 팩 파일을 복사할 수 있다. 이후, 멀티플레이어 게임을 서비스 받고자 하는 사용자는 CDN 서버(325)를 통해 게임 팩 파일을 다운로드할 수 있다.
우선, 웹 서버(321)는 멀티플레이어 게임을 서비스 받고자 하는 사용자의 요청에 따라 복수의 사용자 단말기(310) 중 하나(도 3의 일례에서는 제3 사용자 단말기)로 런쳐(launcher)와 같은 프로그램을 제공할 수 있다. 사용자가 다운로드한 런쳐를 실행하면, 런쳐는 CDN 서버(325)에 최신 버전의 클라이언트가 존재하는지 확인하여 최신 버전의 클라이언트가 존재하는 경우, 제3 사용자 단말기에서 최신 버전의 클라이언트를 다운로드하여 업데이트 하도록 제어할 수 있다.
웹 서버(321)에 포함될 수 있는 인증 서버(미도시)는 클라이언트를 통해 입력되는 사용자 식별자와 패스워드를 통해 사용자를 인증(로그인)하고, 제3 사용자 단말기로 웹 인증 쿠키와 웹 인증 티켓(ticket)을 발급할 수 있다. 발급된 웹 인증 쿠키는 클라이언트에 임베디드(embedded)된 웹 컨트롤들을 로그인 상태로 바꾸어 주고, 웹 인증 티켓은 클라이언트 내부의 클라이언트 모듈(330)로 전달된다. 이때, 클라이언트 모듈(330)은 서버와 통신하여 인증, 로비 입장 및 퇴장, 룸 생성, 입장 및 퇴장 등을 수행해주는 모듈일 수 있다.
사용자 식별자와 패스워드를 통해 사용자가 인증된 후, 로비 서버(326)는 클라이언트 모듈(330)의 LCM(Lobby Client Manager)(331)으로 로비 목록을 전송하고, 사용자가 로비 목록에서 하나의 로비를 선택하거나 자동적으로 하나의 로비가 선택되는 경우에 클라이언트 모듈(330)에 생성되는 LCCP(Lobby Client Content Player)(332)에서 로비 클라이언트 컨텐츠를 로드한다. 다시 말해, 로비 서버(326)는 LCCP(332)의 제어에 따른 제3 사용자 단말기의 요청에 따라 제3 사용자 단말기로 로비 클라이언트 컨텐츠를 전송할 수 있다. 여기서, 로비 클라이언트 컨텐츠는 사용자들간의 채팅 및 매치메이킹이 이루어지는 로비를 구성하기 위한 컨텐츠를 의미할 수 있다. 또한, 로비 서버(326)는 LCCP(332)의 제어에 따라 제3 사용자 단말기에서 전송하는 사용자 식별자와 웹 인증 티켓을 수신하여 사용자를 인증할 수 있고, 제3 사용자 단말기로 룸 목록을 전송할 수 있다. 이때, LCCP(332)는 룸 목록을 통해 룸 생성 및 입장 등의 과정을 처리할 수 있다.
룸 서버(327)는 LCCP(332)의 제어에 따라 제3 사용자 단말기로부터 룸 생성이 요청되면, CDN 서버(325) 또는 파일 서버(322)로부터 게임 팩 파일을 수신하여 실행할 수 있다. 이때, 룸 생성 요청이 성공하면, LCCP(332)는 룸 클라이언트의 기본적인 기능을 수행하는 RCCP(Room Client Content Player)(333)를 생성할 수 있다.
RCCP(333)는 룸에 대한 정보인 게임 룸 클라이언트 컨텐츠를 로드할 수 있다. 여기서, 룸은 실제로 게임을 하기 위한 공간을 의미할 수 있다. 다시 말해, 룸 서버(327)는 RCCP(333)의 제어에 따른 제3 사용자 단말기의 요청에 따라 게임 룸 클라이언트 컨텐츠를 제3 사용자 단말기로 전송할 수 있다. 여기서, 게임 룸 클라이언트 컨텐츠는 실제로 게임을 하기 위한 공간인 룸을 구성하기 위한 컨텐츠를 의미할 수 있다.
이때, 클라이언트는 CDN 서버를 통해 게임 팩 파일을 다운로드할 수 있고, 게임 룸 클라이언트 컨텐츠가 다운로드된 게임 팩 파일을 실행할 수 있다.
이후, 룸 서버(327)와 RCCP(333)는 서로 게임 메시지를 송수신하며 멀티플레이어 게임이 진행될 수 있다.
이때, CDN 서버(325), 로비 서버(326) 및 룸 서버(327)는 도 2에서 설명한 게임 서비스부(240)에 대응하거나 또는 CDN 서버(325), 로비 서버(326) 및 룸 서버(327)가 게임 서비스부(240)에 포함될 수 있다.
도 4는 본 발명의 일실시예에 있어서, 게임 페이지를 나타낸 일례이다. 게임 페이지(410)는 도 4에 도시된 바와 같이 등록된 복수의 멀티플레이어 게임에 대한 정보(이미지, 이름, 장르, 설명 등)를 포함할 수 있고, 사용자들이 복수의 멀티플레이어 게임 중 원하는 게임을 선택하도록 할 수 있다.
도 5는 본 발명의 일실시예에 있어서, 멀티플레이어 게임 서비스 방법을 도시한 흐름도이다. 본 실시예에 따른 멀티플레이어 게임 서비스 방법은 도 2를 통해 설명한 멀티플레이어 게임 서비스 시스템(200)에 의해 수행될 수 있다. 도 5에서는 멀티플레이어 게임 서비스 시스템(200)에 의해 각각의 단계가 수행되는 과정을 설명함으로써, 멀티플레이어 게임 서비스 방법을 설명한다.
단계(510)에서 멀티플레이어 게임 서비스 시스템(200)은 사용자에 의해 제작된 멀티플레이어 게임을 등록 및 유지한다. 여기서, 사용자는 멀티플레이어 게임의 등록과 연관된 페이지를 통해 등록된 사용자를 포함할 수 있다. 예를 들어, 멀티플레이어 게임의 등록과 연관된 페이지는 도 1을 통해 설명한 등록 페이지 또는 게임 페이지를 포함할 수 있다. 이러한, 멀티플레이어 게임은 멀티플레이어 게임 서비스 시스템(200)에서 제공하는 특정 게임 저작도구나 C++, Java 등과 같은 다양한 프로그래밍 언어 중 적어도 하나를 이용하여 개발될 수 있다.
단계(520)에서 멀티플레이어 게임 서비스 시스템(200)은 멀티플레이어 게임을 검수한다. 즉, 일반 이용자가 서비스를 목적으로 멀티플레이어 게임 서비스 시스템에 등록하고자 하는 경우, 멀티플레이어 게임 서비스 시스템(200)은 등록하는 과정에서 해당 멀티플레이어 게임의 이름, 장르, 설명과 같은 기본 정보를 입력받아 게임정보에 대한 데이터베이스를 생성하고, 등록된 게임 팩 파일을 후처리를 통해서 보안 및 성능 문제를 해결할 수 있다. 여기서, 후처리 작업으로는 보안 검수, 법적 검수 및 성능 검수가 수행될 수 있다. 우선, 멀티플레이어 게임 서비스 시스템(200)은 보안 검수를 통해 게임 소스 코드에 악의적인 코드나 보안적으로 문제되는 코드가 없는 지 코드를 분석해서 확인하고, 악성 파일이나 바이러스 파일이 같이 등록되었는지 검사하는 등의 검수를 통해 보안적인 문제점을 해결해 준다. 또한, 멀티플레이어 게임 서비스 시스템(200)은 법적 검수를 통해 등록되는 멀티플레이어 게임이 라이센스를 위반했는지 여부를 멀티플레이어 게임의 소스 코드를 검사하여 확인할 수 있다. 뿐만 아니라, 멀티플레이어 게임 서비스 시스템(200)은 성능 검수를 통해 소스 코드를 컴파일하여 바이너리 코드를 생성함으로써, 자원을 절약하고, 실행 성능을 최적화할 수 있다.
보다 자세하게, 멀티플레이어 게임 서비스 시스템(200)은 멀티플레이어 게임의 소스 코드를 정적 분석을 통해 분석하여 보안적으로 위험한 코드 및 문법적 오류를 검사하거나, 또는 악성 코드 및 바이러스의 포함 여부를 검사할 수 있다. 또한, 멀티플레이어 게임 서비스 시스템(200)은 멀티플레이어 게임의 소스 코드를 검사하여 라이센스 위반 여부 확인할 수 있다. 뿐만 아니라, 멀티플레이어 게임 서비스 시스템(200)은 멀티플레이어 게임의 소스 코드를 컴파일하여 바이너리 코드를 생성함으로써, 자원을 효율적으로 활용하고 실행 성능을 최적화하도록 할 수 있다. 이에 더해, 멀티플레이어 게임 서비스 시스템(200)은 멀티플레이어 게임의 소스 코드에서 게임 메타 정보를 추출하여 미리 저장하고, 이후 멀티플레이어 게임의 서비스 시 미리 저장된 게임 메타 정보를 활용할 수 있다.
단계(530)에서 멀티플레이어 게임 서비스 시스템(200)은 멀티플레이어 게임의 서비스 환경과 동일한 물리적 환경에서 테스트하기 위한 기능 및 멀티플레이어 게임을 새로운 버전으로 갱신하여 등록하기 위한 기능 중 적어도 하나의 기능을 제공한다. 이때, 서비스 환경은 서버-클라이언트 환경을 포함할 수 있다. 예를 들어, 멀티플레이어 게임 서비스 시스템(200)은 등록된 멀티플레이어 게임을 실제 서비스 환경과 동일하게 서버-클라이언트 환경에서 테스트할 수 있는 공간을 생성하여 사용자에게 제공할 수 있다. 즉, 멀티플레이어 게임을 등록한 사용자들은 발급받은 테스트 아이디를 이용하여 로그인할 수 있고, 테스트하기 위한 기능을 통해 등록한 멀티플레이어 게임을 직접 실행하는 등의 테스트하면서 오류, 버그나 개선사항이 발견되면 소스 코드 등을 수정하여 다시 등록할 수 있다. 이때, 멀티플레이어 게임 서비스 시스템(200)은 멀티플레이어 게임을 테스트하다가 발생한 오류나 버그 등에 대한 정보를 도 1을 통해 설명한 등록 페이지와 같이 게임 제작자들을 위한 웹페이지를 통해서 제공하거나 또는 해당 사용자(제작자)에게 메일을 통해 제공할 수 있다.
단계(540)에서 멀티플레이어 게임 서비스 시스템(200)은 게임 서비스를 요청한 클라이언트에게 해당 멀티플레이어 게임의 진행을 위한 서버 기능을 제공한다. 즉, 복수의 멀티플레이어 게임이 등록된 경우, 멀티플레이어 게임 서비스 시스템(200)은 클라이언트가 요청하는 멀티플레이어 게임의 서비스를 위한 서버 기능을 제공하여 복수의 클라이언트가 멀티플레이어 게임을 진행하도록 제어할 수 있다. 멀티플레이어 게임의 서비스를 위해, 멀티플레이어 게임 서비스 시스템(200)은 클라이언트로 검수된 멀티플레이어 게임의 실행을 위한 파일을 전송하고, 로비 서버를 통해 클라이언트 목록, 로비 목록 및 룸 목록을 생성 및 관리할 수 있다. 또한, 멀티플레이어 게임 서비스 시스템(200)은 룸 서버를 통해 멀티플레이어 게임의 진행과 관련된 게임 메시지를 클라이언트와 송수신할 수 있고, 게임 결과 정보를 데이터베이스에 저장할 수 있다.
단계(550)에서 멀티플레이어 게임 서비스 시스템(200)은 등록된 복수의 멀티플레이어 게임 각각의 서버 자원 사용량을 모니터링한다. 이때, 멀티플레이어 게임 서비스 시스템(200)은 등록된 복수의 멀티플레이어 게임 중 미리 설정된 값 이상의 서버 자원 사용량을 점유한 멀티플레이어 게임을 종료함으로써, 멀티플레이어 게임 서비스 시스템이 안정적으로 운영되도록 할 수 있다.
도 2와 도 5의 보다 구체적인 내용은 도 3의 설명을 참조할 수 있다.
이와 같이, 본 발명의 실시예들에 따르면, 멀티플레이어 게임을 제작하는 사용자는 게임 서버를 위한 소스 코드와 게임 클라이언트를 위한 소스 코드만을 제작하여 등록하더라도, 사용자의 인증, 사용자 목록, 게임 룸 목록, 게임 메시지 전달 및 데이터베이스 생성 및 데이터 저장과 같은 멀티플레이어 게임의 서비스를 위한 서버 기능을 지원해줄 수 있다. 또한, 사용자가 제작한 멀티플레이어 게임을 법적, 보안적, 성능적으로 자동으로 검수할 수 있고, 복수의 멀티플레이어 게임 각각에 대한 서버 자원 사용량을 모니터링하여 미리 설정된 값 이상의 서버 자원 사용량을 점유한 멀티플레이어 게임을 종료함으로써, 시스템을 안정적으로 운영할 수 있다.
도 6은 본 발명의 다른 실시예에 있어서, 멀티플레이어 게임 서비스 시스템의 내부 구성을 설명하기 위한 블록도이다. 본 실시예에 따른 멀티플레이어 게임 서비스 시스템(600)은 도 1을 통해 설명한 멀티플레이어 게임 서비스 시스템(100)에 대응되는 것으로, 도 6에 도시된 바와 같이, 게임 등록 유지부(610), 게임 검수부(620), 테스트부(630), 로비 서버(640), 룸 서버(650) 및 모니터링부(660)를 포함할 수 있다.
게임 등록 유지부(610)는 사용자에 의해 제작된 멀티플레이어 게임을 등록 및 유지한다. 여기서, 사용자는 멀티플레이어 게임의 등록과 연관된 페이지를 통해 등록된 사용자를 포함할 수 있다. 예를 들어, 멀티플레이어 게임의 등록과 연관된 페이지는 도 1을 통해 설명한 등록 페이지 또는 게임 페이지를 포함할 수 있다. 이러한, 멀티플레이어 게임은 멀티플레이어 게임 서비스 시스템(600)에서 제공하는 특정 게임 저작도구나 C++, Java 등과 같은 다양한 프로그래밍 언어 중 적어도 하나를 이용하여 개발될 수 있다.
게임 검수부(620)는 멀티플레이어 게임을 검수한다. 즉, 일반 이용자가 서비스를 목적으로 멀티플레이어 게임 서비스 시스템에 등록하고자 하는 경우, 게임 등록 유지부(610)는 해당 멀티플레이어 게임을 등록 및 유지하고, 게임 검수부(620)는 등록하는 과정에서 해당 멀티플레이어 게임의 이름, 장르, 설명과 같은 기본 정보를 입력받아 게임정보에 대한 데이터베이스를 생성하고, 등록된 게임 팩 파일을 후처리를 통해서 보안 및 성능 문제를 해결할 수 있다. 여기서, 후처리 작업으로는 보안 검수, 법적 검수 및 성능 검수가 수행될 수 있다. 우선, 게임 검수부(620)는 보안 검수를 통해 게임 소스 코드에 악의적인 코드나 보안적으로 문제되는 코드가 없는 지 코드를 분석해서 확인하고, 악성 파일이나 바이러스 파일이 같이 등록되었는지 검사하는 등의 검수를 통해 보안적인 문제점을 해결해 준다. 또한, 게임 검수부(620)는 법적 검수를 통해 등록되는 멀티플레이어 게임이 라이센스를 위반했는지 여부를 멀티플레이어 게임의 소스 코드를 검사하여 확인할 수 있다. 뿐만 아니라, 게임 검수부(620)는 성능 검수를 통해 소스 코드를 컴파일하여 바이너리 코드를 생성함으로써, 자원을 절약하고, 실행 성능을 최적화할 수 있다.
보다 자세하게, 게임 검수부(620)는 멀티플레이어 게임의 소스 코드를 정적 분석을 통해 분석하여 보안적으로 위험한 코드 및 문법적 오류를 검사하거나, 또는 악성 코드 및 바이러스의 포함 여부를 검사할 수 있다. 또한, 게임 검수부(620)는 멀티플레이어 게임의 소스 코드를 검사하여 라이센스 위반 여부 확인할 수 있다. 뿐만 아니라, 게임 검수부(620)는 멀티플레이어 게임의 소스 코드를 컴파일하여 바이너리 코드를 생성함으로써, 자원을 효율적으로 활용하고 실행 성능을 최적화하도록 할 수 있다. 이에 더해, 게임 검수부(620)는 멀티플레이어 게임의 소스 코드에서 게임 메타 정보를 추출하여 미리 저장하고, 이후 멀티플레이어 게임의 서비스 시 미리 저장된 게임 메타 정보를 활용할 수 있다.
테스트부(630)는 멀티플레이어 게임의 서비스 환경과 동일한 물리적 환경에서 테스트하기 위한 기능 및 멀티플레이어 게임을 새로운 버전으로 갱신하여 등록하기 위한 기능 중 적어도 하나의 기능을 제공한다. 이때, 서비스 환경은 서버-클라이언트 환경을 포함할 수 있다. 예를 들어, 테스트부(630)는 등록된 멀티플레이어 게임을 실제 서비스 환경과 동일하게 서버-클라이언트 환경에서 테스트할 수 있는 공간을 생성하여 사용자에게 제공할 수 있다. 즉, 멀티플레이어 게임을 등록한 사용자들은 발급받은 테스트 아이디를 이용하여 로그인할 수 있고, 테스트하기 위한 기능을 통해 등록한 멀티플레이어 게임을 직접 실행하는 등의 테스트하면서 오류, 버그나 개선사항이 발견되면 소스 코드 등을 수정하여 다시 등록할 수 있다. 이때, 테스트부(630)는 멀티플레이어 게임을 테스트하다가 발생한 오류나 버그 등에 대한 정보를 도 1을 통해 설명한 등록 페이지와 같이 게임 제작자들을 위한 웹페이지를 통해서 제공하거나 또는 해당 사용자(제작자)에게 메일을 통해 제공할 수 있다.
로비 서버(640)는 클라이언트 목록, 로비 목록 및 룸 목록을 생성 및 관리한다. 이때, 로비 서버(640)는 인증된 클라이언트로 로비 목록을 전송하고, 클라이언트에서 로비 목록에 기초하여 하나의 로비가 선택되는 경우, 클라이언트로 로비 클라이언트 컨텐츠를 제공할 수 있다. 또한, 클라이언트로부터 수신되는 사용자 식별자와 웹 인증 티켓을 수신하여 클라이언트를 인증한 후, 인증된 클라이언트로 룸 목록을 전송할 수 있다.
룸 서버(650)는 클라이언트로부터의 룸 생성 요청에 따라 게임 등록 유지부(610)로부터 룸 생성 요청에 대응하는 멀티플레이어 게임의 소스 코드 또는 바이너리 코드를 수신하여 실행한다. 여기서, 클라이언트는 로비 서버(640)에서 전송된 룸 목록에 기초하여 룸 생성 요청을 할 수 있다. 이 경우, 룸 서버(650)는 멀티플레이어 게임의 진행과 관련된 게임 메시지를 클라이언트와 송수신하여 멀티플레이어 게임의 진행을 지원할 수 있다. 여기서, 클라이언트는 도 1을 통해 설명한 복수의 사용자 단말기 중 멀티플레이어 게임을 실행하고자 하는 사용자의 사용자 단말기를 의미할 수 있다. 즉, 멀티플레이어인 복수의 사용자들이 복수의 사용자 단말기로 멀티플레이어 게임을 진행하는 경우, 룸 서버(650)는 복수의 사용자 단말기 각각과 게임 메시지를 송수신하여 필요한 정보를 송수신할 수 있고, 복수의 사용자 단말기간의 게임 메시지를 중계할 수도 있다.
로비 서버(640)와 룸 서버(650)는 별도의 개별 장치인 "서버"로 표현되었으나, 필요에 따라 멀티플레이어 게임 서비스 시스템(600)에 각각 하나의 묘듈로서 포함될 수도 있다.
또한, 멀티플레이어 게임 서비스 시스템(600)은 클라이언트로 검수된 멀티플레이어 게임의 실행을 위한 파일을 전송하는 파일 전송부(미도시) 및 게임 결과 정보를 저장하는 데이터베이스(미도시)를 더 포함할 수 있다.
모니터링부(660)는 등록된 복수의 멀티플레이어 게임 각각의 서버 자원 사용량을 모니터링한다. 이러한 모니터링부(660)는 등록된 복수의 멀티플레이어 게임 중 미리 설정된 값 이상의 서버 자원 사용량을 점유한 멀티플레이어 게임을 종료하거나 해당 멀티플레이어 게임에 대한 서버 자원 사용량에 대한 정보를 운영자 또는 게임을 제작한 사용자에게 제공함으로써, 멀티플레이어 게임 서비스 시스템이 안정적으로 운영되도록 할 수 있다. 여기서, 서버 자원은 CPU, 메모리, 네트워크 대역폭 등을 포함할 수 있다.
도 7은 본 발명의 다른 실시예에 있어서, 멀티플레이어 게임 서비스 방법을 도시한 흐름도이다. 본 실시예에 따른 멀티플레이어 게임 서비스 방법은 도 6을 통해 설명한 멀티플레이어 게임 서비스 시스템(600)을 통해 수행될 수 있다. 도 7에서는 멀티플레이어 게임 서비스 시스템(600)을 통해 각각의 단계가 수행되는 과정을 설명함으로써, 멀티플레이어 게임 서비스 방법을 설명한다.
단계(710)에서 멀티플레이어 게임 서비스 시스템(600)은 사용자에 의해 제작된 멀티플레이어 게임을 등록 및 유지한다. 여기서, 사용자는 멀티플레이어 게임의 등록과 연관된 페이지를 통해 등록된 사용자를 포함할 수 있다. 예를 들어, 멀티플레이어 게임의 등록과 연관된 페이지는 도 1을 통해 설명한 등록 페이지 또는 게임 페이지를 포함할 수 있다. 이러한, 멀티플레이어 게임은 멀티플레이어 게임 서비스 시스템(600)에서 제공하는 특정 게임 저작도구나 C++, Java 등과 같은 다양한 프로그래밍 언어 중 적어도 하나를 이용하여 개발될 수 있다.
단계(720)에서 멀티플레이어 게임 서비스 시스템(600)은 멀티플레이어 게임을 검수한다. 즉, 일반 이용자가 서비스를 목적으로 멀티플레이어 게임 서비스 시스템에 등록하고자 하는 경우, 멀티플레이어 게임 서비스 시스템(600)은 해당 멀티플레이어 게임을 등록 및 유지하고, 등록하는 과정에서 해당 멀티플레이어 게임의 이름, 장르, 설명과 같은 기본 정보를 입력받아 게임정보에 대한 데이터베이스를 생성하고, 등록된 게임 팩 파일을 후처리를 통해서 보안 및 성능 문제를 해결할 수 있다. 여기서, 후처리 작업으로는 보안 검수, 법적 검수 및 성능 검수가 수행될 수 있다. 우선, 멀티플레이어 게임 서비스 시스템(600)은 보안 검수를 통해 게임 소스 코드에 악의적인 코드나 보안적으로 문제되는 코드가 없는 지 코드를 분석해서 확인하고, 악성 파일이나 바이러스 파일이 같이 등록되었는지 검사하는 등의 검수를 통해 보안적인 문제점을 해결해 준다. 또한, 멀티플레이어 게임 서비스 시스템(600)은 법적 검수를 통해 등록되는 멀티플레이어 게임이 라이센스를 위반했는지 여부를 멀티플레이어 게임의 소스 코드를 검사하여 확인할 수 있다. 뿐만 아니라, 멀티플레이어 게임 서비스 시스템(600)은 성능 검수를 통해 소스 코드를 컴파일하여 바이너리 코드를 생성함으로써, 자원을 절약하고, 실행 성능을 최적화할 수 있다.
보다 자세하게, 멀티플레이어 게임 서비스 시스템(600)은 멀티플레이어 게임의 소스 코드를 정적 분석을 통해 분석하여 보안적으로 위험한 코드 및 문법적 오류를 검사하거나, 또는 악성 코드 및 바이러스의 포함 여부를 검사할 수 있다. 또한, 멀티플레이어 게임 서비스 시스템(600)은 멀티플레이어 게임의 소스 코드를 검사하여 라이센스 위반 여부 확인할 수 있다. 뿐만 아니라, 멀티플레이어 게임 서비스 시스템(600)은 멀티플레이어 게임의 소스 코드를 컴파일하여 바이너리 코드를 생성함으로써, 자원을 효율적으로 활용하고 실행 성능을 최적화하도록 할 수 있다. 이에 더해, 멀티플레이어 게임 서비스 시스템(600)은 멀티플레이어 게임의 소스 코드에서 게임 메타 정보를 추출하여 미리 저장하고, 이후 멀티플레이어 게임의 서비스 시 미리 저장된 게임 메타 정보를 활용할 수 있다.
단계(730)에서 멀티플레이어 게임 서비스 시스템(600)은 멀티플레이어 게임의 서비스 환경과 동일한 물리적 환경에서 테스트하기 위한 기능 및 멀티플레이어 게임을 새로운 버전으로 갱신하여 등록하기 위한 기능 중 적어도 하나의 기능을 제공한다. 이때, 서비스 환경은 서버-클라이언트 환경을 포함할 수 있다. 예를 들어, 멀티플레이어 게임 서비스 시스템(600)은 등록된 멀티플레이어 게임을 실제 서비스 환경과 동일하게 서버-클라이언트 환경에서 테스트할 수 있는 공간을 생성하여 사용자에게 제공할 수 있다. 즉, 멀티플레이어 게임을 등록한 사용자들은 발급받은 테스트 아이디를 이용하여 로그인할 수 있고, 테스트하기 위한 기능을 통해 등록한 멀티플레이어 게임을 직접 실행하는 등의 테스트하면서 오류, 버그나 개선사항이 발견되면 소스 코드 등을 수정하여 다시 등록할 수 있다. 이때, 멀티플레이어 게임 서비스 시스템(600)은 멀티플레이어 게임을 테스트하다가 발생한 오류나 버그 등에 대한 정보를 도 1을 통해 설명한 등록 페이지와 같이 게임 제작자들을 위한 웹페이지를 통해서 제공하거나 또는 해당 사용자(제작자)에게 메일을 통해 제공할 수 있다.
단계(740)에서 멀티플레이어 게임 서비스 시스템(600)은 클라이언트 목록, 로비 목록 및 룸 목록을 생성 및 관리한다. 이때, 멀티플레이어 게임 서비스 시스템(600)은 인증된 클라이언트로 로비 목록을 전송하고, 클라이언트에서 로비 목록에 기초하여 하나의 로비가 선택되는 경우, 클라이언트로 로비 클라이언트 컨텐츠를 제공할 수 있다. 또한, 클라이언트로부터 수신되는 사용자 식별자와 웹 인증 티켓을 수신하여 클라이언트를 인증한 후, 인증된 클라이언트로 룸 목록을 전송할 수 있다.
단계(750)에서 멀티플레이어 게임 서비스 시스템(600)은 클라이언트로부터의 룸 생성 요청에 따라 등록 및 유지된 멀티플레이어 게임 중 룸 생성 요청에 대응하는 멀티플레이어 게임의 소스 코드 또는 바이너리 코드를 수신하여 실행한다. 여기서, 클라이언트는 멀티플레이어 게임 서비스 시스템(600)에서 전송된 룸 목록에 기초하여 룸 생성 요청을 할 수 있다. 이 경우, 멀티플레이어 게임 서비스 시스템(600)은 멀티플레이어 게임의 진행과 관련된 게임 메시지를 클라이언트와 송수신하여 멀티플레이어 게임의 진행을 지원할 수 있다. 여기서, 클라이언트는 도 1을 통해 설명한 복수의 사용자 단말기 중 멀티플레이어 게임을 실행하고자 하는 사용자의 사용자 단말기를 의미할 수 있다. 즉, 멀티플레이어인 복수의 사용자들이 복수의 사용자 단말기로 멀티플레이어 게임을 진행하는 경우, 멀티플레이어 게임 서비스 시스템(600)은 복수의 사용자 단말기 각각과 게임 메시지를 송수신하여 필요한 정보를 송수신할 수 있고, 복수의 사용자 단말기간의 게임 메시지를 중계할 수도 있다.
또한, 멀티플레이어 게임 서비스 시스템(600)은 클라이언트로 검수된 멀티플레이어 게임의 실행을 위한 파일을 전송하거나 게임 결과 정보를 데이터베이스에 저장할 수 있다.
단계(760)에서 멀티플레이어 게임 서비스 시스템(600)은 등록된 복수의 멀티플레이어 게임 각각의 서버 자원 사용량을 모니터링한다. 이때, 멀티플레이어 게임 서비스 시스템(600)은 등록된 복수의 멀티플레이어 게임 중 미리 설정된 값 이상의 서버 자원 사용량을 점유한 멀티플레이어 게임을 종료하거나 해당 멀티플레이어 게임에 대한 서버 자원 사용량에 대한 정보를 운영자 또는 게임을 제작한 사용자에게 제공함으로써, 멀티플레이어 게임 서비스 시스템이 안정적으로 운영되도록 할 수 있다. 여기서, 서버 자원은 CPU, 메모리, 네트워크 대역폭 등을 포함할 수 있다.
도 6과 도 7의 보다 구체적인 설명은 도 3의 내용을 참조할 수 있다.
이와 같이 본 발명의 실시예들에 따르면, 멀티플레이어 게임을 제작하는 사용자는 게임 서버를 위한 소스 코드와 게임 클라이언트를 위한 소스 코드만을 제작하여 등록하더라도, 사용자의 인증, 사용자 목록, 게임 룸 목록, 게임 메시지 전달 및 데이터베이스 생성 및 데이터 저장과 같은 멀티플레이어 게임의 서비스를 위한 서버 기능을 지원해줄 수 있다. 특히, 사용자가 로비-룸 시스템을 제작하지 않더라도, 등록만으로 로비-룸 시스템을 통해 자동적으로 멀티플레이어 게임을 서비스할 수 있다.
또한, 사용자가 제작한 멀티플레이어 게임을 법적, 보안적, 성능적으로 자동으로 검수할 수 있고, 복수의 멀티플레이어 게임 각각에 대한 서버 자원 사용량을 모니터링하여 미리 설정된 값 이상의 서버 자원 사용량을 점유한 멀티플레이어 게임을 종료함으로써, 시스템을 안정적으로 운영할 수 있다.
또한, 본 발명의 또 다른 실시예로서, 상술한 실시예들에서 설명한 멀티플레이어 게임을 다른 온라인 컨텐츠로 치환하여 서비스할 수도 있다. 예를 들어, 멀티플레이어 게임 대신 교육용 프로그램을 일반 사용자가 개발하는 경우, 이러한 교육용 프로그램을 등록하여 서비스할 수도 있다.
또 다른 실시예로, 다른 컨텐츠를 함께 제공하는 사용자들 중 일부가 로비와 같은 공간을 통해 서로 그룹지어 상술한 실시예들에서 설명한 멀티플레이어 게임을 플레이 하도록 할 수도 있다. 예를 들어, MMORPG(Massive Multiplayer Online Role Playing Game) 게임의 제작 시, 게임 가상 공간 상의 특정 지역에 들어온 플레이어들이 서로 그룹지어 일반 사용자가 제작하여 등록한 멀티플레이어 게임을 플레이할 수 있도록 할 수도 있다. 즉, 제1 지역에서는 제1 사용자가 제작한 제1 멀티플레이어 게임을, 제2 지역에서는 제2 사용자가 제작한 제2 멀티플레이어 게임을 플레이할 수 있도록 제어할 수 있다.
본 발명의 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
200: 멀티플레이어 게임 서비스 시스템
210: 게임 등록 유지부
220: 게임 검수부
230: 테스트부
240: 게임 서비스부
250: 모니터링부

Claims (20)

  1. 사용자에 의해 제작된 멀티플레이어 게임을 등록 및 유지하는 게임 등록 유지부;
    상기 멀티플레이어 게임을 검수하는 게임 검수부; 및
    게임 서비스를 요청한 클라이언트에게 해당 멀티플레이어 게임의 진행을 위한 서버 기능을 제공하는 게임 서비스부
    를 포함하는 멀티플레이어 게임 서비스 시스템.
  2. 제1항에 있어서,
    상기 게임 검수부는,
    상기 멀티플레이어 게임의 소스 코드를 정적 분석을 통해 분석하여 보안적으로 위험한 코드 및 문법적 오류를 검사하거나, 또는 악성 코드 및 바이러스의 포함 여부를 검사하는, 멀티플레이어 게임 서비스 시스템.
  3. 제1항에 있어서,
    상기 게임 검수부는,
    상기 멀티플레이어 게임의 소스 코드를 검사하여 라이센스 위반 여부 확인하는, 멀티플레이어 게임 서비스 시스템.
  4. 제1항에 있어서,
    상기 게임 검수부는,
    상기 멀티플레이어 게임의 소스 코드를 컴파일하여 바이너리 코드를 생성하는, 멀티플레이어 게임 서비스 시스템.
  5. 제1항에 있어서,
    상기 게임 검수부는,
    상기 멀티플레이어 게임의 소스 코드에서 게임 메타 정보를 추출하는, 멀티플레이어 게임 서비스 시스템.
  6. 제1항에 있어서,
    상기 사용자는 상기 멀티플레이어 게임의 등록과 연관된 페이지를 통해 등록된 사용자를 포함하는, 멀티플레이어 게임 서비스 시스템.
  7. 제1항에 있어서,
    상기 멀티플레이어 게임의 서비스 환경과 동일한 물리적 환경에서 테스트하기 위한 기능 및 상기 멀티플레이어 게임을 새로운 버전으로 갱신하여 등록하기 위한 기능 중 적어도 하나의 기능을 제공하는 테스트부
    를 더 포함하는 멀티플레이어 게임 서비스 시스템.
  8. 제7항에 있어서,
    상기 서비스 환경은 서버-클라이언트 환경을 포함하는, 멀티플레이어 게임 서비스 시스템.
  9. 제1항에 있어서,
    상기 게임 서비스부는,
    상기 클라이언트로 상기 검수된 멀티플레이어 게임의 실행을 위한 파일을 전송하는 파일 전송부;
    클라이언트 목록, 로비 목록 및 룸 목록을 생성 및 관리하는 로비 서버;
    상기 멀티플레이어 게임의 진행과 관련된 게임 메시지를 상기 클라이언트와 송수신하는 룸 서버; 및
    게임 결과 정보를 저장하는 데이터베이스
    를 포함하는, 멀티플레이어 게임 서비스 시스템.
  10. 제1항에 있어서,
    등록된 복수의 멀티플레이어 게임 각각의 서버 자원 사용량을 모니터링하는 모니터링부
    를 더 포함하는, 멀티플레이어 게임 서비스 시스템.
  11. 제10항에 있어서,
    상기 모니터링부는,
    상기 등록된 복수의 멀티플레이어 게임 중 미리 설정된 값 이상의 서버 자원 사용량을 점유한 멀티플레이어 게임을 종료하거나 해당 멀티플레이어 게임에 대한 서버 자원 사용량에 대한 정보를 운영자 또는 상기 사용자에게 제공하는, 멀티플레이어 게임 서비스 시스템.
  12. 멀티플레이어 게임 서비스 시스템에서 멀티플레이어 게임을 서비스하는 방법에 있어서,
    사용자에 의해 제작된 멀티플레이어 게임을 등록 및 유지하는 단계;
    상기 멀티플레이어 게임을 검수하는 단계; 및
    게임 서비스를 요청한 클라이언트에게 해당 멀티플레이어 게임의 진행을 위한 서버 기능을 제공하는 단계
    를 포함하는 멀티플레이어 게임 서비스 방법.
  13. 제12항에 있어서,
    상기 멀티플레이어 게임을 검수하는 단계는,
    상기 멀티플레이어 게임의 소스 코드를 정적 분석을 통해 분석하여 보안적으로 위험한 코드 및 문법적 오류를 검사하거나, 또는 악성 코드 및 바이러스의 포함 여부를 검사하는 단계
    를 포함하는, 멀티플레이어 게임 서비스 방법.
  14. 제12항에 있어서,
    상기 멀티플레이어 게임을 검수하는 단계는,
    상기 멀티플레이어 게임의 소스 코드를 검사하여 라이센스 위반 여부 확인하는 단계
    를 포함하는, 멀티플레이어 게임 서비스 방법.
  15. 제12항에 있어서,
    상기 멀티플레이어 게임을 검수하는 단계는,
    상기 멀티플레이어 게임의 소스 코드를 컴파일하여 바이너리 코드를 생성하는 단계
    를 포함하는, 멀티플레이어 게임 서비스 방법.
  16. 제12항에 있어서,
    상기 멀티플레이어 게임을 검수하는 단계는,
    상기 멀티플레이어 게임의 소스 코드에서 게임 메타 정보를 추출하는 단계
    를 포함하는, 멀티플레이어 게임 서비스 방법.
  17. 제12항에 있어서,
    상기 멀티플레이어 게임의 서비스 환경과 동일한 물리적 환경에서 테스트하기 위한 기능 및 상기 멀티플레이어 게임을 새로운 버전으로 갱신하여 등록하기 위한 기능 중 적어도 하나의 기능을 제공하는 단계
    를 더 포함하는 멀티플레이어 게임 서비스 방법.
  18. 제12항에 있어서,
    상기 서버 기능을 제공하는 단계는,
    상기 클라이언트로 상기 검수된 멀티플레이어 게임의 실행을 위한 파일을 전송하는 단계;
    클라이언트 목록, 로비 목록 및 룸 목록을 생성 및 관리하는 단계;
    상기 멀티플레이어 게임의 진행과 관련된 게임 메시지를 상기 클라이언트와 송수신하는 단계; 및
    게임 결과 정보를 데이터베이스에 저장하는 단계
    를 포함하는, 멀티플레이어 게임 서비스 방법.
  19. 제12항에 있어서,
    등록된 복수의 멀티플레이어 게임 각각의 서버 자원 사용량을 모니터링하는 단계
    를 더 포함하는, 멀티플레이어 게임 서비스 방법.
  20. 제12항 내지 제19항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
KR1020100022420A 2010-03-12 2010-03-12 사용자에 의해 제작된 멀티플레이어 게임의 온라인 서비스를 위한 시스템 및 방법 KR20110103202A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100022420A KR20110103202A (ko) 2010-03-12 2010-03-12 사용자에 의해 제작된 멀티플레이어 게임의 온라인 서비스를 위한 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100022420A KR20110103202A (ko) 2010-03-12 2010-03-12 사용자에 의해 제작된 멀티플레이어 게임의 온라인 서비스를 위한 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20110103202A true KR20110103202A (ko) 2011-09-20

Family

ID=44954527

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100022420A KR20110103202A (ko) 2010-03-12 2010-03-12 사용자에 의해 제작된 멀티플레이어 게임의 온라인 서비스를 위한 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR20110103202A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114168062A (zh) * 2021-12-10 2022-03-11 网易(杭州)网络有限公司 游戏资源处理方法及装置、电子设备、存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114168062A (zh) * 2021-12-10 2022-03-11 网易(杭州)网络有限公司 游戏资源处理方法及装置、电子设备、存储介质
CN114168062B (zh) * 2021-12-10 2024-03-15 网易(杭州)网络有限公司 游戏资源处理方法及装置、电子设备、存储介质

Similar Documents

Publication Publication Date Title
Viennot et al. A measurement study of google play
CN103198130B (zh) 在客户端处实现与网页统一的登录的方法和装置
WO2016061762A1 (zh) 移动终端软件的多渠道sdk接入系统及方法
CN112613010A (zh) 一种认证服务方法、装置、服务器及认证服务系统
US10324826B2 (en) Developer channel compliance
CN112861191B (zh) 一种应用程序监控方法及装置
CN109995710B (zh) 一种局域网设备管理系统及方法
CN102646173A (zh) 基于黑白名单的安全防护控制方法及系统
KR20150040325A (ko) 애플리케이션 보안 검증을 위한 클라우드 지원형 방법 및 서비스
CN111191226B (zh) 利用提权漏洞的程序的确定方法、装置、设备及存储介质
CN103020529A (zh) 一种基于场景模型的软件漏洞分析方法
KR20200115557A (ko) 프리캐싱을 위해 클라이언트 머신들 간에 셰이더들을 분배하는 것
CN105389263A (zh) 应用软件权限监控方法、系统及设备
US20140215565A1 (en) Authentication server, and method authenticating application
KR101096323B1 (ko) 사용자에 의해 제작된 멀티플레이어 게임을 로비-룸 구조를 통해 온라인 서비스하는 시스템 및 방법
Vehent Securing DevOps: security in the cloud
Athanasopoulos et al. {xJS}: Practical {XSS} Prevention for Web Application Development
CN101588351B (zh) 一种捆绑网络软件的信息安全设备的方法
Kupsch et al. Bad and good news about using software assurance tools
Hageman et al. Mixed signals: Analyzing software attribution challenges in the android ecosystem
CN112054999B (zh) 一种Steam平台账号状态检测方法及系统
CN107276966B (zh) 一种分布式系统的控制方法及登录系统
KR20110103202A (ko) 사용자에 의해 제작된 멀티플레이어 게임의 온라인 서비스를 위한 시스템 및 방법
Smeets Improving the adoption of dynamic web security vulnerability scanners
CN106982228A (zh) 一种实现身份认证的方法及系统

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
E801 Decision on dismissal of amendment