KR20130017386A - Method and apparatus for testing stability of game server - Google Patents

Method and apparatus for testing stability of game server Download PDF

Info

Publication number
KR20130017386A
KR20130017386A KR1020110079776A KR20110079776A KR20130017386A KR 20130017386 A KR20130017386 A KR 20130017386A KR 1020110079776 A KR1020110079776 A KR 1020110079776A KR 20110079776 A KR20110079776 A KR 20110079776A KR 20130017386 A KR20130017386 A KR 20130017386A
Authority
KR
South Korea
Prior art keywords
game
packet
action
server
scenario
Prior art date
Application number
KR1020110079776A
Other languages
Korean (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 KR1020110079776A priority Critical patent/KR20130017386A/en
Priority to US13/546,981 priority patent/US20130040740A1/en
Publication of KR20130017386A publication Critical patent/KR20130017386A/en

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/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/534Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for network load management, e.g. bandwidth optimization, latency reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

PURPOSE: A method for testing the stability of a game server and a device thereof are provided to easily perform a stability test of the game server for new game content by replacing only a game packet processing unit when changing the game content. CONSTITUTION: Virtual users(150) generate a game packet to transmit the same to a game server. A virtual user control unit(110) gives an execution command of actions or an execution command of a scenario including the actions to the virtual users. The virtual users generate a scenario schedule(151) executing the scenario, an action scheduler(152) execution the actions, and a game packet requested for executing the scenario or the actions according to a game protocol of specific game content. The virtual users include a game packet processing unit(153) transmitting the generated game packet to the game server. [Reference numerals] (100) Game server stability test device; (110) Virtual user control unit; (120) Virtual user management unit; (130) Game data management unit; (140) Game object visualizing unit; (150) Virtual user; (151) Scenario schedule; (152) Action scheduler; (153) Game packet processing unit; (154) Game packet generating unit; (155) Game packet analyzing unit; (156) MUT processing unit; (157) Encoding unit; (200) Game server; (AA) Game packet

Description

게임 서버의 안정성 테스트 방법 및 장치{Method and apparatus for testing stability of game server}Method and apparatus for testing stability of game server

본 발명은 게임 서버의 안정성을 테스트하기 위한 방법 및 장치에 관한 것으로, 보다 상세하게는 가상 유저를 이용하여 게임 서버에 부하를 발생시켜 게임 서버의 안정성을 테스트하는 장치 및 방법에 관한 것이다.The present invention relates to a method and apparatus for testing the stability of a game server, and more particularly to an apparatus and method for testing the stability of the game server by generating a load on the game server using a virtual user.

주지된 바와 같이, 클라이언트/서버 기반의 온라임 게임을 개발할 때 온라임 게임 서버 어플리케이션의 안정성 테스트가 중요한 부분을 차지한다. 이러한 다중 사용자용 서버 어플리케이션의 안정성 및 성능을 자동으로 테스트하는 분야는 소프트웨어 테스트 분야에 속한다.As is well known, stability testing of on-line game server applications is an important part of developing client / server based on-line games. Automatic testing of the stability and performance of these multi-user server applications is in the field of software testing.

임의의 부하를 생성해 낸 뒤 이를 서버에 영향을 주어 서버의 안정성을 테스트하는 연구는 소프트웨어 공학 측면에서 보면 부하 테스트이고, 고부하 상태에서의 서버에 나타나는 이상 현상을 관찰하는 스트레스 테스트의 범주에 해당된다. The study of generating random load and then affecting the server to test the stability of the server is a load test from the software engineering perspective, and it falls under the category of stress test that observes anomalies in the server under high load. .

또한, 이러한 게임 서버의 테스트를 통하여 게임 서버 및 게임 클라이언트의 안정성을 강화시키는 것은 게임 품질 보증(game quality assurance) 분야에 해당된다.In addition, to enhance the stability of the game server and the game client through the test of such a game server is in the field of game quality assurance (game quality assurance).

종래에 사용하고 있는 가상 클라이언트 기반의 게임 서버의 안정성 테스트에서는 게임 패킷을 캡쳐하여 단순히 재생성하는 방법을 사용하거나, 게임 패킷을 캡쳐한 후 분석 작업을 거쳐 게임 패킷의 변화 규칙을 이해하고 이러한 변화 규칙을 스크립트 혹은 자체 패킷 문법으로 표현하는 방법을 사용하고 있다.In the stability test of a virtual client-based game server, a method of capturing and simply regenerating a game packet is used, or after capturing and analyzing the game packet, the game packet is analyzed to understand the change rules of the game packet, and the change rule is applied. We use script or our own packet syntax.

그러나 게임 패킷을 단순히 재생성하는 방법은 게임 서버의 상태를 인지하지 못하고 캡쳐된 데이터를 그대로 사용하기 때문에 대규모의 부하를 발생시키는 곳에 적용하기 어렵다는 단점이 있다. 또한 스크립트 혹은 패킷 문법을 사용하는 방식은 별도의 스크립트 또는 패킷 문법을 익혀야 하고, 스크립트의 오류나 패킷 문법의 오류의 발생 시에 오류를 찾아내기 힘들다는 단점이 있다.However, the method of simply regenerating a game packet has a disadvantage in that it is difficult to apply it to a place generating a large load because the captured data is used as it is without knowing the state of the game server. In addition, the method of using the script or packet grammar has to learn a separate script or packet grammar, and it is difficult to find an error when an error of the script or an error of the packet grammar occurs.

본 발명이 이루고자 하는 기술적 과제는 가상 유저를 이용하여 게임 서버에 부하를 발생시켜 게임 서버의 안정성을 테스트함에 있어서 보다 효과적이고 간편하게 테스트할 수 있는 게임 서버 안정성 테스트 장치 및 방법을 제공하는 데 있다.The technical problem to be achieved by the present invention is to provide a game server stability test apparatus and method that can be tested more effectively and simply in generating a load on the game server using a virtual user to test the stability of the game server.

상기 기술적 과제를 해결하기 위하여 본 발명에 따른 게임 서버 안정성 테스트 방법은 적어도 하나의 가상 유저가 액션 또는 액션들의 나열인 시나리오를 실행하는 단계; 상기 실행된 액션 또는 상기 실행된 시나리오에 포함된 액션의 실행을 위해 요구되는 적어도 하나의 게임 패킷을 특정 게임 콘텐츠의 게임 프로토콜에 따라 생성하는 단계; 및 상기 생성된 게임 패킷을 게임 서버로 송신하는 단계를 포함하는 것을 특징으로 한다.In order to solve the above technical problem, the game server stability test method according to the present invention includes: executing a scenario in which at least one virtual user is an action or a sequence of actions; Generating at least one game packet required for execution of the executed action or the action included in the executed scenario according to a game protocol of a specific game content; And transmitting the generated game packet to a game server.

상기 게임 서버 안정성 테스트 방법은 주어진 액션의 실행을 위해 요구되는 게임 패킷을 특정 게임 콘텐츠의 게임 프로토콜에 따라 생성하며 게임 콘텐츠에 따라 다른 플러그인(plug-in)을 로딩하는 단계를 더 포함하고, 상기 게임 패킷을 생성하는 단계는 상기 플러그인을 통하여 수행될 수 있다.The game server stability test method further comprises generating a game packet required for executing a given action according to a game protocol of a specific game content and loading a different plug-in according to the game content. Generating the packet may be performed through the plug-in.

상기 플러그인은 DLL 형태로 구현될 수 있다.The plug-in may be implemented in the form of a DLL.

상기 게임 서버 안정성 테스트 방법은 상기 게임 서버로부터 수신되는 게임 패킷을 상기 특정 게임 콘텐츠의 게임 프로토콜에 따라 해석하는 단계를 더 포함할 수 있다.The game server stability test method may further include interpreting a game packet received from the game server according to a game protocol of the specific game content.

상기 게임 서버 안정성 테스트 방법은 상기 게임 서버로부터 수신되는 게임 패킷을 상기 게임 프로토콜에 따라 프로토콜 단위로 재구성하는 단계를 더 포함할 수 있다.The game server stability test method may further include reconstructing a game packet received from the game server in protocol units according to the game protocol.

상기 게임 서버 안정성 테스트 방법은 상기 생성된 게임 패킷을 암호화하는 단계를 더 포함할 수 있다.The game server stability test method may further include encrypting the generated game packet.

상기 기술적 과제를 해결하기 위하여 상기된 본 발명에 따른 게임 서버 안정성 테스트 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다. In order to solve the above technical problem, there is provided a computer-readable recording medium having recorded thereon a program for executing the game server stability test method according to the present invention.

상기 기술적 과제를 해결하기 위하여 본 발명에 따른 게임 서버 안정성 테스트 장치는, 액션들의 나열인 시나리오를 실행하는 시나리오 스케줄러; 액션을 실행하는 액션 스케줄러; 및 상기 실행된 액션 또는 상기 실행된 시나리오에 포함된 액션의 실행을 위해 요구되는 적어도 하나의 게임 패킷을 특정 게임 콘텐츠의 게임 프로토콜에 따라 생성하고 상기 생성된 게임 패킷을 게임 서버로 송신하는 게임 패킷 처리부를 포함하는 것을 특징으로 한다.In order to solve the above technical problem, the game server stability test apparatus according to the present invention comprises: a scenario scheduler executing a scenario that is a sequence of actions; An action scheduler that executes the action; And a game packet processing unit generating at least one game packet required for execution of the executed action or the action included in the executed scenario according to a game protocol of a specific game content and transmitting the generated game packet to a game server. Characterized in that it comprises a.

상기 게임 패킷 처리부는 게임 콘텐츠에 따라 다른 플러그인(plug-in) 형태로 구현될 수 있다.The game packet processor may be implemented in a different plug-in form according to game content.

상기 게임 패킷 처리부는 DLL 형태로 구현될 수 있다.The game packet processor may be implemented in the form of a DLL.

상기 게임 패킷 처리부는 상기 게임 서버로부터 수신되는 게임 패킷을 상기 특정 게임 콘텐츠의 게임 프로토콜에 따라 해석할 수 있다.The game packet processor may interpret a game packet received from the game server according to a game protocol of the specific game content.

상기 게임 패킷 처리부는, 상기 적어도 하나의 게임 패킷을 상기 특정 게임 콘텐츠의 게임 프로토콜에 따라 생성하는 게임 패킷 생성부; 및 상기 게임 서버로부터 수신되는 게임 패킷을 상기 특정 게임 콘텐츠의 게임 프로토콜에 따라 해석하는 게임 패킷 해석부를 포함할 수 있다.The game packet processor may include: a game packet generator configured to generate the at least one game packet according to a game protocol of the specific game content; And a game packet analyzer configured to interpret a game packet received from the game server according to a game protocol of the specific game content.

상기 게임 패킷 처리부는 상기 게임 서버로부터 수신되는 게임 패킷을 상기 게임 프로토콜에 따라 프로토콜 단위로 재구성하는 MTU 처리부를 더 포함할 수 있다.The game packet processor may further include an MTU processor configured to reconstruct a game packet received from the game server in protocol units according to the game protocol.

상기 게임 패킷 처리부는 상기 생성된 게임 패킷을 암호화하거나, 상기 수신된 게임 패킷을 복호화하는 암호화부를 더 포함할 수 있다.The game packet processor may further include an encryption unit that encrypts the generated game packet or decrypts the received game packet.

상기 기술적 과제를 해결하기 위하여 본 발명에 따른 게임 서버 안정성 테스트 장치는, 게임 패킷을 생성하여 게임 서버로 송신하는 복수 개의 가상 유저들; 및 상기 가상 유저들에 액션의 실행 명령 또는 액션들의 나열인 시나리오의 실행 명령을 내리는 가상 유저 제어부를 포함하고, 상기 복수 개의 가상 유저들을 구성하는 각 가상 유저는, 상기 시나리오를 실행하는 시나리오 스케줄러; 상기 액션을 실행하는 액션 스케줄러; 및 상기 실행된 액션 또는 상기 실행된 시나리오에 포함된 액션의 실행을 위해 요구되는 적어도 하나의 게임 패킷을 특정 게임 콘텐츠의 게임 프로토콜에 따라 생성하고 상기 생성된 게임 패킷을 상기 게임 서버로 송신하는 게임 패킷 처리부를 포함하는 것을 특징으로 한다.In order to solve the above technical problem, the game server stability test apparatus according to the present invention comprises: a plurality of virtual users for generating a game packet and transmitting it to a game server; And a virtual user controller for instructing the virtual users to execute an action or an execution command of a scenario that is a list of actions, wherein each virtual user constituting the plurality of virtual users comprises: a scenario scheduler executing the scenario; An action scheduler to execute the action; And a game packet for generating at least one game packet required for execution of the executed action or the action included in the executed scenario according to a game protocol of a specific game content, and transmitting the generated game packet to the game server. It characterized in that it comprises a processing unit.

상술한 본 발명의 실시예에 의하면, 게임 콘텐츠의 변화 시에 게임 패킷 처리 수단만을 교체함으로써 새로운 게임 콘텐츠에 대하여 용이하게 게임 서버의 안정성 테스트를 수행할 수 있는 장점이 있다. 즉, 새로운 게임 콘텐츠에 대하여 게임 서버의 안정성 테스트를 수행하고자 할 때 테스트 환경 구축에 소요되는 시간과 비용을 현저하게 절감할 수 있다.According to the above-described embodiment of the present invention, the stability of the game server can be easily performed on the new game content by replacing only the game packet processing means when the game content changes. That is, when the stability test of the game server is to be performed on the new game content, the time and cost required to construct the test environment can be significantly reduced.

도 1은 본 발명의 일 실시예에 따른 게임 서버 안정성 테스트 장치의 구성을 나타낸다.
도 2는 본 발명의 일 실시예에 따른 게임 서버 안정성 테스트 장치의 구성을 세 개의 모듈로 나누어 구성한 도면을 나타낸다.
도 3은 본 발명의 일 실시예에 따른 게임 서버 안정성 테스트 방법의 흐름도를 나타낸다.
1 shows a configuration of a game server stability test apparatus according to an embodiment of the present invention.
2 is a diagram illustrating the configuration of the game server stability test apparatus according to an embodiment of the present invention divided into three modules.
3 is a flowchart illustrating a game server stability test method according to an embodiment of the present invention.

이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 이하 설명 및 첨부된 도면들에서 실질적으로 동일한 구성요소들은 각각 동일한 부호들로 나타냄으로써 중복 설명을 생략하기로 한다. 또한 본 발명을 설명함에 있어 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the drawings. In the following description and the accompanying drawings, substantially the same components are denoted by the same reference numerals, and redundant description will be omitted. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.

도 1은 본 발명의 일 실시예에 따른 게임 서버 안정성 테스트 장치의 구성을 나타낸다. 게임 서버 안정성 테스트 장치(100)는 다수의 가상 유저(150)들이 발생시키는 게임 패킷들을 게임 서버(200)로 전송하고, 게임 서버(200)로부터 게임 패킷을 수신함으로써 게임 서버(200)의 안정성을 테스트한다. 게임 서버 안정성 테스트 장치(100)는 도시된 바와 같이, 가상 유저 제어부(110), 가상 유저 관리부(120), 게임 데이터 관리부(130), 게임 객체 가시화부(140), 그리고 다수의 가상 유저(150)들을 포함하여 이루어진다. 가상 유저(150)는 도시된 바와 같이, 시나리오 스케줄러(151), 액션 스케줄러(152), 게임 패킷 처리부(153)를 포함하여 이루어진다. 이러한 가상 유저(150)의 구성은 다른 가상 유저(150)들에도 동일하게 적용되는 바, 편의상 하나의 가상 유저(150)에 관하여만 도시하였다. 1 shows a configuration of a game server stability test apparatus according to an embodiment of the present invention. The game server stability test apparatus 100 transmits game packets generated by the plurality of virtual users 150 to the game server 200 and receives the game packets from the game server 200 to improve the stability of the game server 200. Test it. As illustrated, the game server stability test apparatus 100 may include a virtual user controller 110, a virtual user manager 120, a game data manager 130, a game object visualizer 140, and a plurality of virtual users 150. ) As shown, the virtual user 150 includes a scenario scheduler 151, an action scheduler 152, and a game packet processor 153. The configuration of the virtual user 150 is equally applied to other virtual users 150, and is illustrated only for one virtual user 150 for convenience.

가상 유저 제어부(110)는 특정 가상 유저(150) 또는 가상 유저(150)들의 그룹에 액션의 실행 명령 또는 액션들의 나열인 시나리오의 실행 명령을 내린다. The virtual user controller 110 issues an execution command of an action or an execution command of a scenario, which is a list of actions, to a specific virtual user 150 or a group of virtual users 150.

가상 유저 관리부(120)는 게임 안정성 테스트 장치(100) 내의 가상 유저들 또는 가상 유저들의 그룹을 관리한다. The virtual user manager 120 manages virtual users or a group of virtual users in the game stability test apparatus 100.

가상 유저(150)는 가상 유저 제어부(110)의 액션 실행 명령 또는 시나리오 실행 명령에 따라 게임 패킷을 생성하여 게임 서버(200)로 송신한다. 그리고 가상 유저(150)는 게임 서버(200)로부터 게임 패킷을 수신하고 수신된 게임 패킷을 해석하여 게임 객체와 관련된 정보를 추출한다. 게임 패킷으로부터 추출되는 게임 객체 정보에는 예를 들어 게임 객체(예컨대 플레이어, 몬스터, NPC(Non Player Character) 등)의 위치 정보나 상태 정보(금전, HP(Hit Point), MP(Magic Point), 레벨 등)가 있다. The virtual user 150 generates a game packet according to an action execution command or a scenario execution command of the virtual user controller 110 and transmits the game packet to the game server 200. The virtual user 150 receives the game packet from the game server 200 and analyzes the received game packet to extract information related to the game object. The game object information extracted from the game packet includes, for example, positional information and state information (money, HP (Hit Point), MP (Magic Point), level, etc.) of the game object (for example, a player, a monster, or a non-player character (NPC)). Etc.).

게임 데이터 관리부(130)는 가상 유저(150)들로부터 추출되는 게임 객체 정보, 예컨대 게임 객체의 위치 정보나 상태 정보를 수집하고 수집된 게임 객체 정보를 관리한다.The game data manager 130 collects game object information extracted from the virtual users 150, for example, location information or state information of the game object, and manages the collected game object information.

게임 객체 가시화부(140)는 가상 유저(150)들로부터 추출되는 게임 객체 정보를 수집하고 수집된 게임 객체 정보를 가시화 데이터로 변환하고 가시화 데이터를 2D 또는 3D 화면으로 출력한다.The game object visualization unit 140 collects game object information extracted from the virtual users 150, converts the collected game object information into visualization data, and outputs the visualization data to a 2D or 3D screen.

시나리오 스케줄러(151)는 가상 유저 제어부(110)의 명령에 따라서 시나리오를 실행한다. 시나리오는 전술한 바와 같이 연속적인 액션들의 나열에 해당한다. 액션에는 예를 들어, 로그인, 전진, 후진, 회전, 공격, 거래 등이 포함된다. 시나리오 스케줄러(151)는 시나리오에 속하는 액션들에 대응하는 연속적인 액션 명령을 액션 스케줄러(152)에 전달한다. The scenario scheduler 151 executes the scenario according to the command of the virtual user controller 110. The scenario corresponds to a sequence of consecutive actions as described above. Actions include, for example, login, forward, backward, turn, attack, trade, and the like. The scenario scheduler 151 transmits a continuous action command corresponding to the actions belonging to the scenario to the action scheduler 152.

액션 스케줄러(152)는 시나리오 스케줄러(151)로부터의 연속적인 액션 명령에 따라서 해당 액션들을 실행한다. 경우에 따라, 가상 유저 제어부(110)로부터 직접 액션 명령이 전달되는 경우 액션 스케줄러(152)는 이 액션 명령에 따라 해당 액션을 실행할 수도 있다. The action scheduler 152 executes the corresponding actions according to successive action commands from the scenario scheduler 151. In some cases, when an action command is directly transmitted from the virtual user controller 110, the action scheduler 152 may execute the action according to the action command.

액션 스케줄러(152)가 액션을 실행하면 게임 패킷 처리부(153)는 해당 액션의 실행을 위해 요구되는 적어도 하나의 게임 패킷을 생성하고 생성된 게임 패킷을 게임 서버(200)로 송신한다. 이때 게임 패킷 처리부(153)는 특정 게임 콘텐츠의 게임 프로토콜에 따라 게임 패킷을 생성한다. 또한 게임 패킷 처리부(153)는 게임 서버(200)로부터 게임 패킷이 수신되는 경우 수신된 게임 패킷을 해석하여 게임 객체와 관련된 정보를 추출한다. 이때 게임 패킷 처리부(153)는 특정 게임 콘텐츠의 게임 프로토콜에 따라 게임 패킷을 해석한다.When the action scheduler 152 executes an action, the game packet processor 153 generates at least one game packet required for executing the action and transmits the generated game packet to the game server 200. At this time, the game packet processor 153 generates a game packet according to a game protocol of a specific game content. In addition, when the game packet is received from the game server 200, the game packet processor 153 analyzes the received game packet and extracts information related to the game object. At this time, the game packet processor 153 interprets the game packet according to the game protocol of the specific game content.

액션은 하나 이상의 게임 프로토콜들의 송수신되는 순서를 정의한다. 액션의 종류는 일반적으로 게임마다 다르지만, 대개 공통되는 것으로 로그인, 월드 접속, 전진, 후진, 좌회전, 우회전, 후진, 채팅 거래, 방 생성, 방 입장 등이 있다. 일례로 로그인 액션에 있어, 게임 프로토콜 순서는 게임마다 달라지지만, 아래와 같은 간단한 스크립트를 통해 로그인 액션의 프로토콜 순서를 정의 할 수 있다. 로그인 액션 스크립트의 예는 다음과 같다.An action defines the order in which one or more game protocols are sent and received. Actions generally vary from game to game, but common ones include login, world access, forward, backward, left, right, backward, chat transactions, room creation, and room entry. For example, in the login action, the game protocol order varies from game to game, but the following script can be used to define the protocol order of the login actions. An example login action script is:

SENDWAIT 5 6 : 5번 게임 패킷을 보내고 6번 게임 패킷을 수신할 때까지 기다린다.
SENDWAIT 8 9 : 8번 게임 패킷을 보내고 9번 게임 패킷을 수신할 때까지 기다린다.
DELAY 3 : 3초간 아무것도 하지 않고 기다린다.
SEND 55 : 55번 게임 패킷을 보낸다.
SENDWAIT 5 6: Send game packet 5 and wait until game packet 6 is received.
SENDWAIT 8 9: Send Game Packet 8 and wait until Game Packet 9 is received.
DELAY 3: Do nothing for 3 seconds.
SEND 55: Send game packet number 55.

시나리오는 액션의 나열에 해당한다. 시나리오 역시 일반적으로 게임마다 다르지만, 아래와 같은 스크립트를 통해 게임마다 간단히 재 정의될 수 있다. 시나리오 스크립트의 예는 다음과 같다.Scenarios correspond to a sequence of actions. Scenarios also vary from game to game in general, but can be easily redefined from game to game with the following script. An example scenario script is shown below.

doAction 0 : 로그인 액션 수행
doAction 2 : 전진 액션 수행
doAction 2 : 전진 액션 수행
doAction 2 : 전진 액션 수행
doAction 2 : 전진 액션 수행
doAction 3 : 좌회전 액션 수행
doAction 3 : 좌회전 액션 수행
MoveTo 50, 20 , 30 : 현재위치에서 50,20,30위치로 가도록 전진,좌회전,우회전의 액션을 생성
doAction 7 : 채팅 액션 수행
doAction 0: perform login action
doAction 2: Perform Forward Action
doAction 2: Perform Forward Action
doAction 2: Perform Forward Action
doAction 2: Perform Forward Action
doAction 3: Perform Left Turn Action
doAction 3: Perform Left Turn Action
MoveTo 50, 20, 30: Creates forward, left and right actions to go from the current position to 50, 20, 30
doAction 7: Perform Chat Action

위에서 'doAction' 다음의 숫자는 액션의 인덱스 번호를 나타낸다. 다만, 인덱스 번호 대신에 액션의 이름으로 시나리오 스크립트가 작성될 수도 있다(예컨대, doAction 좌회전)The number after 'doAction' above indicates the index number of the action. However, a scenario script may be written with the name of the action instead of the index number (eg, turn left doAction).

게임 패킷 처리부(153)는 구체적으로, 게임 패킷 생성부(154), 게임 패킷 해석부(155), MTU(Maximum Transfer Unit) 처리부(156), 암호화부(157)를 포함하여 이루어진다.The game packet processor 153 specifically includes a game packet generator 154, a game packet analyzer 155, a maximum transfer unit (MTU) processor 156, and an encryption unit 157.

게임 패킷 생성부(154)는 게임 패킷을 특정 게임 콘텐츠의 게임 프로토콜에 따라 생성한다.The game packet generator 154 generates a game packet according to a game protocol of a specific game content.

게임 패킷 해석부(155)는 게임 서버(200)로부터 수신되는 게임 패킷을 특정 게임 콘텐츠의 게임 프로토콜에 따라 해석하여 게임 객체와 관련된 정보를 추출한다. 또한, 게임 패킷 해석부(155)는 액션 스케줄러(152)가 실행한 액션에 게임 서버(200)로부터 게임 패킷의 수신을 기다리는 스크립트가 존재하는 경우 게임 서버(200)로부터 수신되는 게임 패킷을 해석하여 기다리는 게임 패킷이 수신되는지 체크하고, 해당 게임 패킷이 수신되는 경우 이를 게임 패킷 생성부(154) 또는 액션 스케줄러(152)에 알리는 역할을 한다. 예컨대, 위에서 예로 든 액션 스크립트에서 6번 게임 패킷이 수신되는지 체크하고, 9번 게임 패킷이 수신되는지 체크하여 게임 패킷 생성부(154)와 액션 스케줄러(152)에 알린다. 그러면 게임 패킷 생성부(154) 또는 액션 스케줄러(152)는 해당 게임 패킷의 수신을 확인하고 다음 게임 패킷의 송신 또는 다음 액션의 실행의 동작을 진행한다. The game packet analyzer 155 analyzes a game packet received from the game server 200 according to a game protocol of a specific game content to extract information related to a game object. In addition, the game packet analyzer 155 analyzes a game packet received from the game server 200 when a script waiting for the reception of the game packet from the game server 200 exists in the action executed by the action scheduler 152. It checks whether a waiting game packet is received and informs the game packet generator 154 or the action scheduler 152 of the received game packet. For example, in the above-described action script, it is checked whether the game packet No. 6 is received, and the game packet generator 154 and the action scheduler 152 are notified by checking whether the game packet No. 9 is received. Then, the game packet generator 154 or the action scheduler 152 confirms receipt of the corresponding game packet and proceeds with the transmission of the next game packet or execution of the next action.

한편, 게임 서버(200)로부터 수신되는 게임 패킷은 일반적으로 각각의 프로토콜 단위로 분리되어 수신되는 것이 아니라, 한번에 수신된 게임 패킷이 여러 개의 프로토콜로 구성되어 있을 수도 있고, 여러 번에 걸쳐 수신된 게임 패킷이 하나의 프로토콜을 구성할 수도 있다. MTU 처리부(155)는 이렇게 게임 서버(200)로부터 수신되는 게임 패킷을 프로토콜 단위로 재구성하는 역할을 한다. 이때 MTU 처리부(155)는 수신되는 게임 패킷을 특정 게임 콘텐츠의 게임 프로토콜에 따라 프로토콜 단위로 재구성한다. On the other hand, the game packet received from the game server 200 is not generally received separately by each protocol unit, the game packet received at one time may be composed of several protocols, the game received multiple times The packet may constitute one protocol. The MTU processor 155 reconfigures the game packet received from the game server 200 in protocol units. At this time, the MTU processing unit 155 reconstructs the received game packet in protocol units according to a game protocol of a specific game content.

경우에 따라, 게임 패킷을 게임 서버(200)로 송신하는 경우 해당 게임 패킷을 암호화해야 할 필요가 있다. 또한, 게임 서버(200)로부터 수신되는 게임 패킷이 암호화된 게임 패킷인 경우가 있다. 암호화부(157)는 게임 패킷 생성부(154)에서 생성된 게임 패킷을 암호화고, 게임 서버(200)로부터 수신되는 게임 패킷을 복호화하여 암호화를 해제하는 역할을 한다. In some cases, when transmitting the game packet to the game server 200, it is necessary to encrypt the game packet. In addition, the game packet received from the game server 200 may be an encrypted game packet. The encryption unit 157 encrypts the game packet generated by the game packet generator 154 and decrypts the game packet received from the game server 200 to release the encryption.

전술한 바와 같이 게임 프로토콜은 게임 콘텐츠에 따라 다르게 구성되나 시나리오와 액션은 게임마다 공통되는 것이 존재한다. 따라서 본 발명의 실시예에서는 게임 패킷 처리부(153)는 게임 콘텐츠에 따라 다른 플러그인(plug-in) 형태로 구현하고, 나머지 구성인 시나리오 스케줄러(151), 액션 스케줄러(152) 등은 게임 콘텐츠에 무관하게 동일한 형태로 구현한다. 다시 말하면, 게임 서버 안정성 테스트의 대상이 되는 게임 콘텐츠가 달라지는 경우 게임 패킷 처리부(153)를 교체하여 달라진 게임 콘텐츠의 게임 프로토콜에 따라 게임 패킷을 생성하고 게임 패킷을 해석하고 게임 패킷을 프로토콜 단위로 재구성한다. As described above, game protocols are configured differently according to game contents, but scenarios and actions are common to each game. Therefore, in the embodiment of the present invention, the game packet processor 153 is implemented in a plug-in form according to game content, and the remaining scheduler scenario 151 and action scheduler 152 are independent of game content. Should be implemented in the same form. In other words, if the game content subject to the game server stability test is changed, the game packet processor 153 is replaced to generate a game packet according to the game protocol of the changed game content, interpret the game packet, and reconstruct the game packet in protocol units. do.

도 2는 이러한 본 발명의 일 실시예에 따른 게임 서버 안정성 테스트 장치의 구성을 세 개의 모듈로 나누어 구성한 도면을 나타낸다. 게임 서버 안정성 테스트 장치는 가상 유저 제어 공통 모듈(300)과, 가상 유저 제어 실행 모듈(400), 그리고 플러그인(500)으로 구성된다.2 is a diagram showing the configuration of the game server stability test apparatus according to an embodiment of the present invention divided into three modules. The game server stability test apparatus includes a virtual user control common module 300, a virtual user control execution module 400, and a plug-in 500.

가상 유저 제어 공통 모듈(300)은 시나리오 스케줄러(151), 액션 스케줄러(152), 가상 유저 관리부(120), 게임 데이터 관리부(130)를 포함하며 DLL(dynamic linking library) 형태로 구현된다. 가상 유저 제어 공통 모듈(300)은 특정 게임 콘텐츠에 국한되지 않고 여러 게임 콘텐츠에 공통으로 적용 가능하다. The virtual user control common module 300 includes a scenario scheduler 151, an action scheduler 152, a virtual user manager 120, and a game data manager 130 and is implemented in the form of a dynamic linking library (DLL). The virtual user control common module 300 is not limited to specific game contents, but can be commonly applied to various game contents.

가상 유저 제어 실행 모듈(400)은 가상 유저 제어부(110), 게임 객체 가시화부(140)를 포함하며 EXE 형태로 구현된다. 가상 유저 제어 실행 모듈(400) 역시 특정 게임 콘텐츠에 국한되지 않고 여러 게임 콘텐츠에 공통으로 적용 가능하다.The virtual user control execution module 400 includes a virtual user controller 110 and a game object visualization unit 140 and is implemented in an EXE form. The virtual user control execution module 400 is also not limited to specific game contents but can be commonly applied to various game contents.

플러그인(500)은 특정 게임 콘텐츠의 게임 프로토콜에 따라 게임 패킷을 처리하는 게임 패킷 처리부(153)를 포함하고, DLL 형태로 구현된다. 플러그인(500)은 게임 콘텐츠가 달라짐에 따라 새로운 형태의 DLL로 교체된다. The plug-in 500 includes a game packet processor 153 for processing a game packet according to a game protocol of a specific game content, and is implemented in a DLL form. The plug-in 500 is replaced with a new type of DLL as game contents are changed.

도 2에서 화살표는 참조 관계를 나타낸다. 가상 유저 제어 공통 모듈(300)은 가상 유저 제어 실행 모듈(400)과 플러그인(500)에 의해 참조된다. 플러그인(500)은 가상 유저 제어 실행 모듈(400)에 의해 참조된다. Arrows in FIG. 2 indicate reference relationships. The virtual user control common module 300 is referred to by the virtual user control execution module 400 and the plug-in 500. The plug-in 500 is referenced by the virtual user control execution module 400.

도 2는 본 발명의 일 실시예에 따른 게임 서버 안정성 테스트 장치를 구성하는 각각의 모듈이 담당하는 기능에 대한 예시로 가상유저 제어 공통 모듈(300)과 가상유저 제어 실행 모듈(400)에서 담당하고 있는 각각의 기능들은 필요에 따라 재배치가 가능하다. 일례로 도 2에서는 가상유저 제어부(110)가 가상 유저 제어 실행 모듈(400)에 있어 플러그인(500)에서 참조할 수 없지만, 가상 유저 제어부(110) 기능을 가상유저 제어 공통 모듈(300)에 배치함으로써 플러그인(500)에서 참조가 가능하도록 변형할 수도 있다. 반대로 도 2에서 게임 데이터 관리부(130)가 가상 유저 제어 제어 공통 모듈(300)에 포함되어 있지만, 플러그인(500)에서 참조가 필요 없을 때에는 가상 유저 제어 실행 모듈(400)에 게임 데이터 관리부(130) 기능을 배치할 수도 있다.2 is an example of functions that each module constituting the game server stability test apparatus according to an embodiment of the present invention is responsible for the virtual user control common module 300 and the virtual user control execution module 400 Each of these features can be rearranged as needed. For example, in FIG. 2, the virtual user controller 110 may not be referred to by the plug-in 500 in the virtual user control execution module 400, but the function of the virtual user controller 110 is disposed in the virtual user control common module 300. As a result, the plug-in 500 may be modified to be referred to. Conversely, although the game data manager 130 is included in the virtual user control control common module 300 in FIG. 2, when the reference is not needed in the plug-in 500, the game data manager 130 is connected to the virtual user control execution module 400. You can also deploy functions.

도 3은 본 발명의 일 실시예에 따른 게임 서버 안정성 테스트 방법의 흐름도를 나타낸다. 본 실시예에 따른 게임 서버 안정성 테스트 방법은 전술한 게임 서버 안정성 테스트 장치(100)에서 처리되는 단계들로 구성된다. 따라서 이하 생략된 내용이라 하더라도 게임 서버 안정성 테스트 장치(100)에 관하여 이상에서 기술된 내용은 본 실시예에 따른 게임 서버 안정성 테스트 방법에도 적용된다.3 is a flowchart illustrating a game server stability test method according to an embodiment of the present invention. The game server stability test method according to the present embodiment includes the steps processed by the game server stability test apparatus 100 described above. Therefore, even if omitted below, the contents described above regarding the game server stability test apparatus 100 are also applied to the game server stability test method according to the present embodiment.

600단계에서 가상 유저 제어부(110)는 주어진 액션의 실행을 위해 요구되는 게임 패킷을 특정 게임 콘텐츠의 게임 프로토콜에 따라 생성하는 DLL 형태의 플러그인을 로딩한다. 전술한 바와 같이 게임 프로토콜은 게임 콘텐츠에 따라 다르게 구성되는 바, 이 DLL 형태의 플러그인은 게임 콘텐츠에 따라 다르게 구현되고, 각 게임 콘텐츠마다 미리 마련될 수 있다. In operation 600, the virtual user controller 110 loads a DLL-type plug-in that generates a game packet required for executing a given action according to a game protocol of a specific game content. As described above, the game protocol is configured differently according to the game content. The DLL-type plug-in may be implemented differently according to the game content, and may be prepared in advance for each game content.

605단계에서 가상 유저 제어부(110)는 게임 서버(200)의 테스트를 위한 액션을 로딩한다. 다시 말하면, 가상 유저 제어부(110)는 미리 마련되어 있는 액션 스크립트들을 로딩한다. 액션 스크립트들은 게임 서버 안정성 테스트 장치(100)의 메모리에 미리 저장되어 있거나 사용자가 임의로 정의할 수 있다.In operation 605, the virtual user controller 110 loads an action for testing the game server 200. In other words, the virtual user controller 110 loads pre-prepared action scripts. The action scripts may be previously stored in the memory of the game server stability test apparatus 100 or may be arbitrarily defined by a user.

610단계에서 가상 유저 제어부(110)는 게임 서버(200)의 테스트를 위한 시나리오를 로딩한다. 다시 말하면, 가상 유저 제어부(110)는 미리 마련되어 있는 시나리오 스크립트들을 로딩한다. 시나리오 스크립트들 역시 게임 서버 안정성 테스트 장치(100)의 메모리에 미리 저장되어 있거나 사용자가 임의로 정의할 수 있다. In operation 610, the virtual user controller 110 loads a scenario for testing the game server 200. In other words, the virtual user controller 110 loads pre-prepared scenario scripts. Scenario scripts may also be pre-stored in the memory of the game server stability test apparatus 100 or may be arbitrarily defined by the user.

615단계에서 가상 유저 제어부(110)는 가상 유저(150) 또는 여러 가상 유저(150)들의 그룹을 생성한다. 가상 유저 또는 가상 유저들의 그룹이 생성되면 위의 600단계에서 로딩된 DLL 형태의 플러그인의 기능이 생성된 각 가상 유저에 할당된다.In operation 615, the virtual user controller 110 generates a virtual user 150 or a group of several virtual users 150. When a virtual user or a group of virtual users is created, a function of a DLL-type plug-in loaded in step 600 is assigned to each created virtual user.

620단계에서 가상 유저 제어부(110)는 가상 유저(150) 또는 가상 유저 그룹에 특정 시나리오의 실행의 명령을 내린다. 시나리오 실행 명령을 받은 가상 유저(150)의 시나리오 스케줄러(151)는 해당 시나리오를 실행한다. 실행할 시나리오는 로딩된 시나리오들 중에서 사용자에 의해 임의로 선택함으로써 실행되고, 시나리오 스케줄러(151)는 선택된 시나리오의 스크립트를 순차적으로 수행한다. 시나리오 스케줄러(151)는 시나리오에 속하는 액션들에 대응하는 연속적인 액션 명령을 액션 스케줄러(152)에 전달한다. In operation 620, the virtual user controller 110 commands the virtual user 150 or the virtual user group to execute a specific scenario. The scenario scheduler 151 of the virtual user 150 that receives the scenario execution command executes the corresponding scenario. The scenario to be executed is executed by arbitrarily selecting by the user among the loaded scenarios, and the scenario scheduler 151 sequentially executes the script of the selected scenario. The scenario scheduler 151 transmits a continuous action command corresponding to the actions belonging to the scenario to the action scheduler 152.

625단계에서 액션 스케줄러(152)는 시나리오 스케줄러(151)로부터의 연속적인 액션 명령에 따라서 해당 액션들을 실행한다. In step 625, the action scheduler 152 executes the corresponding actions according to the continuous action command from the scenario scheduler 151.

경우에 따라, 가상 유저 제어부(110)는 시나리오 실행 명령을 내리지 않고 가상 유저(150)에 직접 액션 실행 명령을 내릴 수도 있다. 이 경우 620단계는 생략되고, 625단계에서 가상 유저 제어부(110)가 가상 유저(150) 또는 가상 유저 그룹에 특정 액션의 실행의 명령을 내린다. 액션 실행 명령을 받은 가상 유저(150)의 액션 스케줄러(152)는 이 액션 실행 명령에 따라 해당 액션을 실행한다. 실행할 액션은 로딩된 액션들 중에서 사용자에 의해 임의로 선택함으로써 실행되고, 액션 스케줄러(152)는 선택된 액션의 스크립트를 순차적으로 수행한다. In some cases, the virtual user controller 110 may directly issue an action execution command to the virtual user 150 without issuing a scenario execution command. In this case, step 620 is omitted, and in step 625, the virtual user controller 110 commands the virtual user 150 or the virtual user group to execute a specific action. The action scheduler 152 of the virtual user 150 having received the action execution command executes the action according to this action execution command. The action to be executed is executed by arbitrarily selecting by the user from among the loaded actions, and the action scheduler 152 sequentially executes the script of the selected action.

액션 스케줄러(152)가 액션을 실행하면, 630단계에서 게임 패킷 처리부(153)는 해당 액션의 실행을 위해 요구되는 적어도 하나의 게임 패킷을 생성한다. 게임 패킷 처리부(153)는 전술한 600단계에서 로딩된 DLL 형태의 플러그인에 속하는 바, 특정 게임 콘텐츠의 게임 프로토콜에 따라 게임 패킷을 생성하게 된다. If the action scheduler 152 executes the action, the game packet processor 153 generates at least one game packet required for the execution of the action in step 630. The game packet processor 153 belongs to the DLL-type plug-in loaded in operation 600 described above, and generates a game packet according to a game protocol of a specific game content.

640단계에서 게임 패킷 처리부(153)는 생성된 게임 패킷을 게임 서버(200)로 송신한다. 송신 과정에서 암호화부(157)에 의해 게임 패킷의 암호화가 수행될 수 있다.In operation 640, the game packet processor 153 transmits the generated game packet to the game server 200. In the transmission process, the encryption of the game packet may be performed by the encryption unit 157.

게임 서버(200)가 게임 서버 안정성 테스트 장치(100)의 가상 유저(150)로부터 게임 패킷을 수신하면 그에 응답하는 게임 패킷을 해당 가상 유저(150)로 송신하게 된다. 640단계에서 가상 유저(150)는 게임 서버(200)로부터 게임 패킷을 수신한다. 수신 과정에서 암호화부(157)에 의해 게임 패킷의 복호화가 수행될 수 있다. 또한, MTU 처리부(156)에 의해 게임 패킷이 특정 게임 콘텐츠의 게임 프로토콜에 따라 프로토콜 단위로 재구성될 수 있다.When the game server 200 receives a game packet from the virtual user 150 of the game server stability test apparatus 100, the game server 200 transmits a game packet corresponding to the game packet to the corresponding virtual user 150. In operation 640, the virtual user 150 receives a game packet from the game server 200. In the receiving process, the decryption of the game packet may be performed by the encryption unit 157. In addition, the game packet may be reconstructed by the MTU processing unit 156 in protocol units according to a game protocol of specific game content.

645단계에서 가상 유저(150)의 게임 패킷 처리부(153)는 수신된 게임 패킷을 해석한다. 게임 패킷 처리부(153)는 전술한 600단계에서 로딩된 DLL 형태의 플러그인에 속하는 바, 특정 게임 콘텐츠의 게임 프로토콜에 따라 게임 패킷을 해석한다. 게임 패킷의 해석 결과 추출된 게임 객체 정보는 게임 데이터 관리부(130)와 게임 객체 가시화부(140)로 전달된다. 경우에 따라, 실행 중인 액션에 게임 서버(200)로부터 게임 패킷의 수신을 기다리는 스크립트가 존재하는 경우 게임 패킷 처리부(153)는 수신되는 게임 패킷을 해석하여 기다리는 게임 패킷이 수신되는지 체크하고, 해당 게임 패킷이 수신된 경우 이를 액션 스케줄러(152)에 알린다. 이 경우 다시 625단계로 돌아가서 액션의 다음 스크립트를 실행한다. In operation 645, the game packet processor 153 of the virtual user 150 interprets the received game packet. The game packet processor 153 belongs to the DLL-type plug-in loaded in operation 600 described above, and interprets the game packet according to a game protocol of a specific game content. The game object information extracted as a result of the analysis of the game packet is transmitted to the game data management unit 130 and the game object visualization unit 140. In some cases, when there is a script waiting for the reception of the game packet from the game server 200 in the action being executed, the game packet processing unit 153 analyzes the received game packet and checks whether the waiting game packet is received, and the corresponding game. Inform the action scheduler 152 when a packet is received. In this case, go back to step 625 to execute the next script in the action.

650단계에서 게임 객체 가시화부(140)는 가상 유저(150)의 게임 패킷 처리부(153)로부터 전달된 게임 객체 정보를 가시화 데이터로 변환하고 가시화 데이터를 2D 또는 3D 화면으로 출력한다. In operation 650, the game object visualization unit 140 converts game object information transmitted from the game packet processor 153 of the virtual user 150 into visualization data and outputs the visualization data to a 2D or 3D screen.

상술한 본 발명의 실시예에 의하면, 게임 콘텐츠의 변화 시에 DLL 형태의 플러그인으로 구현되는 게임 패킷 처리 수단만을 교체함으로써 새로운 게임 콘텐츠에 대하여 용이하게 게임 서버의 안정성 테스트를 수행할 수 있는 장점이 있다. 즉, 새로운 게임 콘텐츠에 대하여 게임 서버의 안정성 테스트를 수행하고자 할 때 테스트 환경 구축에 소요되는 시간과 비용을 현저하게 절감할 수 있다. 따라서 적은 노력으로 다양한 종류의 게임 콘텐츠에 대하여 게임 서버 테스트를 수행할 수 있게 되어 시스템의 안정도가 향상되고 사용자들은 보다 질 높은 온라인 게임 서비스를 접할 수 있게 된다. According to the above-described embodiment of the present invention, when the game content is changed, only the game packet processing means implemented by the DLL-type plug-in is replaced, so that the stability test of the game server can be easily performed on the new game content. . That is, when the stability test of the game server is to be performed on the new game content, the time and cost required to construct the test environment can be significantly reduced. Therefore, it is possible to perform game server test on various kinds of game contents with little effort, thereby improving system stability and allowing users to access higher quality online game services.

한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.The above-described embodiments of the present invention can be embodied in a general-purpose digital computer that can be embodied as a program that can be executed by a computer and operates the program using a computer-readable recording medium. The computer-readable recording medium includes a storage medium such as a magnetic storage medium (e.g., ROM, floppy disk, hard disk, etc.), optical reading medium (e.g., CD ROM,

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far I looked at the center of the preferred embodiment for the present invention. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.

Claims (18)

적어도 하나의 가상 유저가 액션 또는 액션들의 나열인 시나리오를 실행하는 단계;
상기 액션 또는 상기 시나리오에 포함된 액션의 실행을 위해 요구되는 적어도 하나의 게임 패킷을 특정 게임 콘텐츠의 게임 프로토콜에 따라 생성하는 단계; 및
상기 생성된 게임 패킷을 게임 서버로 송신하는 단계를 포함하는 것을 특징으로 하는 게임 서버 안정성 테스트 방법.
Executing a scenario in which at least one virtual user is an action or a list of actions;
Generating at least one game packet required for execution of the action or the action included in the scenario according to a game protocol of specific game content; And
And transmitting the generated game packet to a game server.
제1항에 있어서,
주어진 액션의 실행을 위해 요구되는 게임 패킷을 특정 게임 콘텐츠의 게임 프로토콜에 따라 생성하며 게임 콘텐츠에 따라 다른 플러그인(plug-in)을 로딩하는 단계를 더 포함하고,
상기 게임 패킷을 생성하는 단계는 상기 플러그인을 통하여 수행되는 것을 특징으로 하는 게임 서버 안정성 테스트 방법.
The method of claim 1,
Generating a game packet required for execution of a given action according to a game protocol of specific game content, and loading a different plug-in according to the game content,
Generating the game packet is a game server stability test method, characterized in that performed via the plug-in.
제2항에 있어서,
상기 플러그인은 DLL 형태로 구현되는 것을 특징으로 하는 게임 서버 안정성 테스트 방법.
The method of claim 2,
The plug-in is a game server stability test method, characterized in that implemented in the form of a DLL.
제1항에 있어서,
상기 게임 서버로부터 수신되는 게임 패킷을 상기 특정 게임 콘텐츠의 게임 프로토콜에 따라 해석하는 단계를 더 포함하는 것을 특징으로 하는 게임 서버 안정성 테스트 방법.
The method of claim 1,
And interpreting a game packet received from the game server according to a game protocol of the specific game content.
제1항에 있어서,
상기 게임 서버로부터 수신되는 게임 패킷을 상기 게임 프로토콜에 따라 프로토콜 단위로 재구성하는 단계를 더 포함하는 것을 특징으로 하는 게임 서버 안정성 테스트 방법.
The method of claim 1,
Reconstructing the game packet received from the game server in the protocol unit according to the game protocol further comprises a game server stability test method.
제1항에 있어서,
상기 생성된 게임 패킷을 암호화하는 단계를 더 포함하는 것을 특징으로 하는 게임 서버 안정성 테스트 방법.
The method of claim 1,
The method of claim 1, further comprising encrypting the generated game packet.
제1항 내지 제6항 중 어느 한 항에 기재된 게임 서버 안정성 테스트 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.A computer-readable recording medium having recorded thereon a program for executing the game server stability test method according to any one of claims 1 to 6. 액션들의 나열인 시나리오를 실행하는 시나리오 스케줄러;
액션을 실행하는 액션 스케줄러; 및
상기 액션 또는 상기 시나리오에 포함된 액션의 실행을 위해 요구되는 적어도 하나의 게임 패킷을 특정 게임 콘텐츠의 게임 프로토콜에 따라 생성하고 상기 생성된 게임 패킷을 게임 서버로 송신하는 게임 패킷 처리부를 포함하는 것을 특징으로 하는 게임 서버 안정성 테스트 장치.
A scenario scheduler for executing a scenario that is a list of actions;
An action scheduler that executes the action; And
And a game packet processor for generating at least one game packet required for execution of the action or the action included in the scenario according to a game protocol of a specific game content, and transmitting the generated game packet to a game server. Game server stability tester.
제8항에 있어서,
상기 게임 패킷 처리부는 게임 콘텐츠에 따라 다른 플러그인(plug-in) 형태로 구현되는 것을 특징으로 하는 게임 서버 안정성 테스트 장치.
9. The method of claim 8,
The game packet processing unit stability game device, characterized in that implemented in the form of a plug-in (plug-in) according to the game content.
제9항에 있어서,
상기 게임 패킷 처리부는 DLL 형태로 구현되는 것을 특징으로 하는 게임 서버 안정성 테스트 장치.
10. The method of claim 9,
Game server stability test device, characterized in that the game packet processing unit is implemented in the form of a DLL.
제8항에 있어서,
상기 게임 패킷 처리부는 상기 게임 서버로부터 수신되는 게임 패킷을 상기 특정 게임 콘텐츠의 게임 프로토콜에 따라 해석하는 것을 특징으로 하는 게임 서버 안정성 테스트 장치.
9. The method of claim 8,
The game packet processor, the game server stability test device, characterized in that for interpreting the game packet received from the game server according to the game protocol of the specific game content.
제8항에 있어서,
상기 게임 패킷 처리부는,
상기 적어도 하나의 게임 패킷을 상기 특정 게임 콘텐츠의 게임 프로토콜에 따라 생성하는 게임 패킷 생성부; 및
상기 게임 서버로부터 수신되는 게임 패킷을 상기 특정 게임 콘텐츠의 게임 프로토콜에 따라 해석하는 게임 패킷 해석부를 포함하는 것을 특징으로 하는 게임 서버 안정성 테스트 장치.
9. The method of claim 8,
The game packet processing unit,
A game packet generation unit generating the at least one game packet according to a game protocol of the specific game content; And
And a game packet analyzer for interpreting a game packet received from the game server according to a game protocol of the specific game content.
제8항에 있어서,
상기 게임 패킷 처리부는 상기 게임 서버로부터 수신되는 게임 패킷을 상기 게임 프로토콜에 따라 프로토콜 단위로 재구성하는 MTU 처리부를 더 포함하는 것을 게임 서버 안정성 테스트 장치.
9. The method of claim 8,
The game packet processor further comprises an MTU processing unit for reconstructing the game packet received from the game server in a protocol unit according to the game protocol.
제12항에 있어서,
상기 게임 패킷 처리부는 상기 생성된 게임 패킷을 암호화하거나, 상기 수신된 게임 패킷을 복호화하는 암호화부를 더 포함하는 것을 특징으로 하는 게임 서버 안정성 테스트 장치.
The method of claim 12,
The game packet processing unit further comprises an encryption unit for encrypting the generated game packet, or decrypting the received game packet.
게임 패킷을 생성하여 게임 서버로 송신하는 복수 개의 가상 유저들; 및
상기 가상 유저들에 액션의 실행 명령 또는 액션들의 나열인 시나리오의 실행 명령을 내리는 가상 유저 제어부를 포함하고,
상기 복수 개의 가상 유저들을 구성하는 각 가상 유저는,
상기 시나리오를 실행하는 시나리오 스케줄러;
상기 액션을 실행하는 액션 스케줄러; 및
상기 액션 또는 상기 시나리오에 포함된 액션의 실행을 위해 요구되는 적어도 하나의 게임 패킷을 특정 게임 콘텐츠의 게임 프로토콜에 따라 생성하고 상기 생성된 게임 패킷을 상기 게임 서버로 송신하는 게임 패킷 처리부를 포함하는 것을 특징으로 하는 게임 서버 안정성 테스트 장치.
A plurality of virtual users for generating a game packet and transmitting it to a game server; And
A virtual user controller for giving the virtual users an execution command of an action or an execution command of a scenario which is a list of actions,
Each virtual user constituting the plurality of virtual users,
A scenario scheduler for executing the scenario;
An action scheduler to execute the action; And
And a game packet processor for generating at least one game packet required for execution of the action or the action included in the scenario according to a game protocol of a specific game content, and transmitting the generated game packet to the game server. Game server stability test device characterized in that.
제15항에 있어서,
상기 게임 패킷 처리부는 게임 콘텐츠에 따라 다른 플러그인(plug-in) 형태로 구현되는 것을 특징으로 하는 게임 서버 안정성 테스트 장치.
16. The method of claim 15,
The game packet processing unit stability game device, characterized in that implemented in the form of a plug-in (plug-in) according to the game content.
제16항에 있어서,
상기 게임 패킷 처리부는 DLL 형태로 구현되는 것을 특징으로 하는 게임 서버 안정성 테스트 장치.
17. The method of claim 16,
Game server stability test device, characterized in that the game packet processing unit is implemented in the form of a DLL.
제15항에 있어서,
상기 게임 패킷 처리부는 상기 게임 서버로부터 수신되는 게임 패킷을 상기 특정 게임 콘텐츠의 게임 프로토콜에 따라 해석하는 것을 특징으로 하는 게임 서버 안정성 테스트 장치.
16. The method of claim 15,
The game packet processor, the game server stability test device, characterized in that for interpreting the game packet received from the game server according to the game protocol of the specific game content.
KR1020110079776A 2011-08-10 2011-08-10 Method and apparatus for testing stability of game server KR20130017386A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110079776A KR20130017386A (en) 2011-08-10 2011-08-10 Method and apparatus for testing stability of game server
US13/546,981 US20130040740A1 (en) 2011-08-10 2012-07-11 Method and apparatus for testing stability of game server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110079776A KR20130017386A (en) 2011-08-10 2011-08-10 Method and apparatus for testing stability of game server

Publications (1)

Publication Number Publication Date
KR20130017386A true KR20130017386A (en) 2013-02-20

Family

ID=47677871

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110079776A KR20130017386A (en) 2011-08-10 2011-08-10 Method and apparatus for testing stability of game server

Country Status (2)

Country Link
US (1) US20130040740A1 (en)
KR (1) KR20130017386A (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130065694A1 (en) * 2011-09-13 2013-03-14 Electronics And Telecommunications Research Institute Method for performance test of online game server
CN108096831B (en) * 2016-11-25 2021-07-09 盛趣信息技术(上海)有限公司 Acceleration prevention control system and method for online game
KR101881804B1 (en) * 2017-08-16 2018-07-25 넷마블 주식회사 Method and apparatus for automating game test
CN110381065B (en) * 2019-07-23 2021-05-04 腾讯科技(深圳)有限公司 Protocol cracking monitoring method, device, server and storage medium
KR20220086872A (en) 2020-12-17 2022-06-24 한국전자통신연구원 Method and system for guaranteeing game quality using artificial intelligence agent

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004514189A (en) * 2000-02-17 2004-05-13 アクレイム エンターテインメント インコーポレイテッド Multiplayer computer games, systems and methods
US20040107360A1 (en) * 2002-12-02 2004-06-03 Zone Labs, Inc. System and Methodology for Policy Enforcement
US20040142744A1 (en) * 2003-01-08 2004-07-22 Acres Gaming Incorporated Mobile data access
JP2008513167A (en) * 2004-09-21 2008-05-01 タイムプレイ アイピー インク Multiplayer game system, method and handheld controller
US20070211696A1 (en) * 2006-03-13 2007-09-13 Finisar Corporation Method of generating network traffic
KR101269671B1 (en) * 2009-12-01 2013-05-30 한국전자통신연구원 Game grammar based packet capture analyzing apparatus for game testing and its method

Also Published As

Publication number Publication date
US20130040740A1 (en) 2013-02-14

Similar Documents

Publication Publication Date Title
Cinque et al. Microservices monitoring with event logs and black box execution tracing
US8667119B2 (en) System and method for re-generating packet load for load test
Collberg et al. Distributed application tamper detection via continuous software updates
US9430364B1 (en) Systems, methods, and apparatuses for testing mobile device applications
Chothia et al. Leakwatch: Estimating information leakage from java programs
US20130263090A1 (en) System and method for automated testing
US20200133829A1 (en) Methods and systems for performance testing
CN111831538B (en) Debugging method, device and storage medium
Wallace et al. Toward sensor-based random number generation for mobile and IoT devices
KR20130017386A (en) Method and apparatus for testing stability of game server
CN102592087A (en) Identifying factorable code
CN110377429A (en) A kind of control method, device, server and storage medium that real-time task calculates
CN102483699B (en) Virtualization of cryptographic keys
KR20130026919A (en) Method for distributed test and system for performing the same, method for controling distributed test and system for performing the same, method for making distributed test plan and apparatus for performing the same, method for executing distributed test plan and agent for distributed test
KR101199485B1 (en) Method and apparatus for testing online performance on client/server
CN114328217A (en) Application testing method, device, equipment, medium and computer program product
Berger et al. Does my bft protocol implementation scale?
CN110413675A (en) A kind of control method, device, server and storage medium that real-time task calculates
Valadares et al. On designing and testing distributed virtual environments
KR101138302B1 (en) Device for combination of online game server-test
CN109657167A (en) Collecting method, device, server and storage medium
CN106888448A (en) Using method for down loading, safety element and terminal
EP3970045A1 (en) Minimizing production disruption through a scan rule engine
CN105446867B (en) A kind of generation method and device of test data
JP2018526717A (en) Content test during image production

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application