v1.0 | ~ v0.10 | 필수 | 기능 | 컨텐츠 구현 | 네트워크 접근 |
---|---|---|---|---|---|
Gateway | Session | 필수 | 클라이언트 접속과 인증을 처리 | 가능 | public |
Game | Space | 필수 | 실제 게임 서버로서 컨텐츠를 처리 | 가능 | private |
Support | Service | 선택 | 필요에 따라 독립된 서비스로 구현하도록 지원 | 가능 | private or public |
Match | Match | 선택 | 매치메이킹을 수행 | 가능 | private |
Location | Location | 필수 | 유저와 방 등의 위치 정보를 저장 및 관리 | 불가능 | private |
Management | Management | 필수 | 서버 정보 취합 및 Admin/Agent와 통신 | 불가능 | private |
Ipc | Communication | 필수 | Gameflex 서버의 Inter-process 통신 처리 | 불가능 | private |
GameAnvil API 레퍼런스 (JavaDoc) 사이트 오픈
AOT Instrumentation 지원
엔진을 런타임에 매번 JIT Instrumentation할 필요없이 컴파일 타임에 AOT로 진행
공식 GC로 G1GC를 사용하도록 가이드 시작
가장 기본적인 VM 옵션
java
-javaagent:QUASAR_PATH\quasar-core-0.7.10-jdk8.jar=bm
-Xms6g
-Xmx6g
-XX:+UseG1GC
-XX:MaxGCPauseMillis=100
-XX:+UseStringDeduplication
AsyncAwait.run() API에서 잘못된 방식으로 예외가 처리되던 코드 수정
ManagementNode가 다른 Node들보다 먼저 초기화가 되도록 수정
매치 메이킹을 전담하는 MatchNode 추가
유저 매치 메이킹에 refill 기능 추가
OracleJDK에서 AdpotOpenJDK로 변경
Node(스레드) 단위로 ZMQ 통신하던 것을 프로세스 단위로 변경
Packet 클래스의 makeDecompress 매서드 호출시 async 사용하지 않도록 수정
UserSender 의 reply 매서드 오버로딩. (Packet 리스트 처리)