GameHammer는 GameAnvil 엔진을 이용한 게임 서버 개발 뒤 사용할 수 있는 성능 및 기능 테스트 도구입니다. 실제 커넥터에서 제공하는 모든 기능을 똑같이 사용 하여 테스트 할 수 있으며, 스트레스 테스트를 위해 다수의 GameHammer를 동시에 실행하는 등으로 사용할 수 있습니다. 테스트 진행 중에 진행 상황을 확인하거나 테스트 최종 결과를 취합해 확인하고 저장할 수 있습니다.
이 가이드에서는 게임 헤머의 사용법을 상세한 예제와 함께 제공합니다. 서버 엔진과 동일하게 IntelliJ를 기준으로 사용 설명합니다.
GameHammer는 GameAnvil과 마찬가지로 Maven을 통해 배포됩니다. pom.xml 파일의 dependencies 요소에 다음과 같이 추가하면 GameHammer를 사용할 수 있습니다.
<dependencies>
<!-- GameHammer -->
<dependency>
<groupId>com.nhn.gameanvil</groupId>
<artifactId>gamehammer</artifactId>
<version>2.0.0-jdk11</version>
</dependency>
<dependencies>
GameHammer를 이용해 테스트 시나리오를 작성한 뒤 GameAnvil 콘솔에서 테스트할 목적 등으로 jar 파일을 생성할 수 있습니다.
GameHammer를 추가한 프로젝트의 pom.xml이 있는 디렉터리에서 아래 명령어를 실행합니다.
mvn package
명령어 실행 후, 빌드 과정이 출력되고 마지막으로 빌드에 성공했다는 메시지를 확인합니다. 아래와 같이 나오면 성공입니다.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7.880 s
[INFO] Finished at: 2023-11-13T17:49:48+09:00
[INFO] ------------------------------------------------------------------------
Process finished with exit code 0
새롭게 생성된 target 디렉터리 안에서 빌드된 파일을 확인할 수 있습니다.
GameHammer를 실행했을 때, 내부 라이브러리 관련 DEBUG레벨 로그가 발생할 수 있습니다. 동작에는 이상이 없으나, 이러한 로그를 제거하고 싶을 때에는 VMOption에 아래 항목을 추가해 주세요.
-Dio.netty.tryReflectionSetAccessible=true
--add-opens java.base/java.lang=ALL-UNNAMED
--add-opens java.base/jdk.internal.misc=ALL-UNNAMED