iFun Engine Changelog (experimental)¶
- v1.0.0-2817 (2018-04-18)
- v1.0.0-2808 (2018-04-16)
- v1.0.0-2801 (2018-04-10)
- v1.0.0-2800 (2018-04-07)
- v1.0.0-2798 (2018-04-06)
- v1.0.0-2796 (2018-04-04)
- v1.0.0-2794 (2018-04-02)
- v1.0.0-2779 (2018-03-16)
- v1.0.0-2769 (2018-03-09)
- v1.0.0-2768 (2018-03-08)
- v1.0.0-2762 (2018-02-26)
- v1.0.0-2720 (2018-02-19)
- v1.0.0-2664 (2018-02-12)
- v1.0.0-2663 (2018-02-12)
- v1.0.0-2648 (2018-02-09)
- v1.0.0-2629 (2018-02-06)
- v1.0.0-2626 (2018-02-05)
- v1.0.0-2623 (2018-02-02)
- v1.0.0-2610 (2018-01-30)
- v1.0.0-2606 (2018-01-23)
- v1.0.0-2604 (2018-01-22)
- v1.0.0-2603 (2018-01-19)
- v1.0.0-2601 (2018-01-18)
- v1.0.0-2596 (2018-01-16)
- v1.0.0-2595 (2018-01-15)
- v1.0.0-2590 (2018-01-12)
- v1.0.0-2589 (2018-01-11)
- v1.0.0-2585 (2018-01-06)
- v1.0.0-2577 (2018-01-03)
- v1.0.0-2571 (2018-01-02)
- v1.0.0-2568 (2018-01-02)
- v1.0.0-2565 (2017-12-29)
- v1.0.0-2561 (2017-12-29)
- v1.0.0-2557 (2017-12-28)
- v1.0.0-2553 (2017-12-26)
- v1.0.0-2549 (2017-12-21)
- v1.0.0-2544 (2017-12-20)
- v1.0.0-2543 (2017-12-20)
- v1.0.0-2536 (2017-12-18)
- v1.0.0-2534 (2017-12-15)
- v1.0.0-2522 (2017-12-08)
- v1.0.0-2520 (2017-12-07)
- v1.0.0-2512 (2017-12-05)
- v1.0.0-2509 (2017-12-05)
- v1.0.0-2506 (2017-12-04)
- v1.0.0-2503 (2017-12-04)
- v1.0.0-2502 (2017-12-04)
- v1.0.0-2497 (2017-12-01)
- v1.0.0-2480 (2017-11-24)
- v1.0.0-2460 (2017-11-21)
- v1.0.0-2453 (2017-11-09)
- v1.0.0-2443 (2017-11-02)
- v1.0.0-2440 (2017-11-01)
- v1.0.0-2437 (2017-10-31)
- v1.0.0-2431 (2017-10-27)
- v1.0.0-2425 (2017-10-20)
- v1.0.0-2416 (2017-10-16)
- v1.0.0-2409 (2017-10-12)
- v1.0.0-2400 (2017-09-29)
- v1.0.0-2395 (2017-09-26)
- v1.0.0-2389 (2017-09-25)
- v1.0.0-2381 (2017-09-21)
- v1.0.0-2373 (2017-09-19)
- v1.0.0-2368 (2017-09-15)
- v1.0.0-2353 (2017-09-08)
- v1.0.0-2350 (2017-09-08)
- v1.0.0-2348 (2017-09-07)
- v1.0.0-2342 (2017-09-05)
- v1.0.0-2336 (2017-09-04)
- v1.0.0-2333 (2017-09-01)
- v1.0.0-2329 (2017-08-31)
- v1.0.0-2316 (2017-08-28)
- v1.0.0-2311 (2017-08-25)
- v1.0.0-2296 (2017-08-22)
- v1.0.0-2290 (2017-08-22)
- v1.0.0-2285 (2017-08-18)
- v1.0.0-2281 (2017-08-16)
- v1.0.0-2275 (2017-08-14)
- v1.0.0-2265 (2017-08-11)
- v1.0.0-2258 (2017-08-10)
- v1.0.0-2253 (2017-08-09)
- v1.0.0-2251 (2017-08-09)
- v1.0.0-2250 (2017-08-08)
- v1.0.0-2241 (2017-08-06)
- v1.0.0-2238 (2017-08-04)
- v1.0.0-2233 (2017-08-03)
- v1.0.0-2231 (2017-08-02)
- v1.0.0-2226 (2017-08-01)
- v1.0.0-2223 (2017-07-31)
- v1.0.0-2216 (2017-07-27)
- v1.0.0-2210 (2017-07-26)
- v1.0.0-2205 (2017-07-19)
- v1.0.0-2200 (2017-07-18)
- v1.0.0-2199 (2017-07-17)
- v1.0.0-2196 (2017-07-17)
- v1.0.0-2195 (2017-07-16)
- v1.0.0-2187 (2017-07-13)
- v1.0.0-2183 (2017-07-06)
- v1.0.0-2176 (2017-07-04)
- v1.0.0-2172 (2017-06-30)
- v1.0.0-2171 (2017-06-30)
- v1.0.0-2169 (2017-06-28)
- v1.0.0-2166 (2017-06-28)
- v1.0.0-2161 (2017-06-26)
- v1.0.0-2152 (2017-06-21)
- v1.0.0-2144 (2017-06-12)
- v1.0.0-2136 (2017-06-01)
- v1.0.0-2126 (2017-05-30)
- v1.0.0-2125 (2017-05-30)
- v1.0.0-2121 (2017-05-29)
- v1.0.0-2118 (2017-05-29)
- v1.0.0-2109 (2017-05-24)
- v1.0.0-2103 (2017-05-23)
- v1.0.0-2099 (2017-05-19)
- v1.0.0-2082 (2017-05-10)
- v1.0.0-2080 (2017-05-04)
- v1.0.0-2074 (2017-04-24)
- v1.0.0-2071 (2017-04-21)
- v1.0.0-2068 (2017-04-20)
- v1.0.0-2059 (2017-04-17)
- v1.0.0-2042 (2017-04-05)
- v1.0.0-2040 (2017-04-03)
- v1.0.0-2018 (2017-03-30)
- v1.0.0-2016 (2017-03-29)
- v1.0.0-2016 (2017-03-29)
- v1.0.0-2011 (2017-03-27)
- v1.0.0-1991 (2017-03-14)
- v1.0.0-1974 (2017-02-23)
- v1.0.0-1954 (2017-02-07)
- v1.0.0-1952 (2017-02-06)
- v1.0.0-1936 (2017-01-25)
- v1.0.0-1935 (2017-01-25)
- v1.0.0-1931 (2017-01-24)
- v1.0.0-1912 (2017-01-17)
- v1.0.0-1903 (2016-12-15)
- v1.0.0-1901 (2016-12-14)
- v1.0.0-1897 (2016-12-13)
- v1.0.0-1895 (2016-12-13)
- v1.0.0-1888 (2016-12-08)
- v1.0.0-1886 (2016-12-07)
- v1.0.0-1881 (2016-12-06)
- v1.0.0-1852 (2016-11-21)
- v1.0.0-1848 (2016-11-18)
- v1.0.0-1814 (2016-10-28)
- v1.0.0-1810 (2016-10-26)
- v1.0.0-1791 (2016-10-05)
- v1.0.0-1783 (2016-09-28)
- v1.0.0-1766 (2016-09-23)
- v1.0.0-1759 (2016-09-22)
- v1.0.0-1738 (2016-09-08)
- v1.0.0-1718 (2016-08-31)
- v1.0.0-1697 (2016-08-19)
- v1.0.0-1695 (2016-08-18)
- v1.0.0-1679 (2016-08-12)
- v1.0.0-1668 (2016-08-09)
- v1.0.0-1661 (2016-08-08)
- v1.0.0-1657 (2016-08-05)
- v1.0.0-1650 (2016-07-30)
- v1.0.0-1645 (2016-07-18)
- v1.0.0-1643 (2016-07-15)
- v1.0.0-1626 (2016-07-07)
- v1.0.0-1607 (2016-06-20)
- v1.0.0-1595 (2016-06-13)
- v1.0.0-1582 (2016-06-02)
- v1.0.0-1568 (2016-05-23)
- v1.0.0-1558 (2016-05-13)
- v1.0.0-1550 (2016-05-02)
- v1.0.0-1542 (2016-04-11)
- v1.0.0-1530 (2016-04-04)
- v1.0.0-1514 (2016-03-17)
v1.0.0-2817 (2018-04-18)¶
2018-04-18 15:15:20
- Service
- Fixed an issue where parsing image-id in DedicatedServerManger Component was not working in 2808 experimental.
- DedicatedServerManger Component now prints log message when AWS setting is changed.
- sensitive data, such as api key or secret, will be substituted by *****.
v1.0.0-2808 (2018-04-16)¶
2018-04-16 11:50:11
- Service
- Fixed an issue that the match context is null in ProgressCallback2.
- Added verbose log option for Dedicated Server Manager.
- You may see more details by turning on dedicated_server_verbose_log flag in DedicatedServerManager Component.
- Fixed an issue that Dedicated Server Manager crashes when user_data is empty.
- Dedicated Server Manager now handles image_id that shorter than 8 characters format correctly.
- Management
- Added request IP information in Http::Request and Http::Request2 structure.
v1.0.0-2801 (2018-04-10)¶
2018-04-10 08:54:17
- misc.
- Fixed an issue where identifying EC2 instances was not working properly.
v1.0.0-2800 (2018-04-07)¶
2018-04-07 17:26:40
- misc.
- Fixed an issue Where Dedicated Server Manager was handling instance with incorrect region info.
v1.0.0-2798 (2018-04-06)¶
2018-04-06 11:23:59
- misc.
- Dedicated Host Service now sends region info to Dedicated Server Manager properly.
v1.0.0-2796 (2018-04-04)¶
2018-04-02 13:29:18
- misc.
- Fixed an issue that might fail to parse C# Protobuf message in 2794 experimental version.
v1.0.0-2794 (2018-04-02)¶
2018-04-04 17:13:09
- Service
Client resource files can be ignored by .funignore file.
Ignoring feature is now available in funapi_client_resource_generator and iFunEngine. All files that matched with Perl regex expression in .funignore file will be ignored.
- Object
- Fixed an issue that failed to create composite key in Jinja2 2.8 version
- Distribution
- Fixed an issue that redis-backend RPC failed when database is disabled.
- misc.
- Fixed a bug that crash when server received empty protobuf message in C#
v1.0.0-2769 (2018-03-09)¶
2018-03-09 10:32:01
- Service
- Fixed an issue that causing crash when matchmaking is completed in C#
v1.0.0-2768 (2018-03-08)¶
2018-03-08 17:26:03
Warning
Breaking Changes
You have to rebuild all servers at once if Matchmaking feature is used.
- MatchContext removed from ProgressCallback, and ProgressCallback2 is added.
You can still use match context in ProgressCallback2 callback.
- UpdateMatchPlayerContext C++ is added.
This can be used to change context of player who joined match.
- Service
- DSM: Allowed to read a file with user_data in aws settings
- MatchContext removed from ProgressCallback, and ProgressCallback2 is added.
You can still use match context in ProgressCallback2 callback.
UpdateMatchPlayerContext C++ is added.
This can be used to change context of player who joined match.
v1.0.0-2762 (2018-02-26)¶
2018-02-26 05:36:49
Warning
breaking changes
You have to rebuild your project if MariaDB Connector is used.
- MariaDB Connector can now read SQL Timestamp type.
- MariaDB Connector can now accepts client flag.
- Database
- MariaDB Connector can now read SQL Timestamp type.
- MariaDB Connector can now accepts client flag.
- Service
- Dedicated server manager will recover itself even if the redis key is removed.
v1.0.0-2720 (2018-02-19)¶
2018-02-19 12:58:06
Warning
Breaking Changes
- You may have to fix your code since below changes are based on World::GetAllObject.
- World::GetAllObject can now accept custom filter as a type.
- Service
- World::GetAllObject can now accept custom filter as a type.
v1.0.0-2664 (2018-02-12)¶
2018-02-12 17:14:34
- Service
- 2663 experimental 버전에서 DSM 호스트 버전을 인식하지 못하는 문제가 수정되었습니다.
v1.0.0-2663 (2018-02-12)¶
2018-02-12 15:07:17
- Service
- 리더보드 리셋 전 스케줄 정보를 조회할 때 크래시가 발생할 수 있는 문제가 수정되었습니다.
- 리더보드 최초 리셋 시작 전 스케줄을 조회할 때, 잘못된 정보를 받을 수 있던 문제가 수정되었습니다.
v1.0.0-2648 (2018-02-09)¶
2018-02-09 07:33:36
- Service
- experimental 2629에서 DSM에서 실행 중인 EC2 호스트 수가 1개로 고정되는 문제가 수정되었습니다.
- DSM 호스트 버전이 명시된 경우 최신 버전만 사용합니다.
- DSM 호스트 버전이 명시된 경우 확장시 항상 최신 버전을 사용하며, 오래된 버전부터 종료합니다.
v1.0.0-2629 (2018-02-06)¶
2018-02-06 14:47:54
- Management
- Deploy Api Service에 다수의 유저를 제재하거나 제재 해제할 수 있는 API 추가
- Deploy Api Service에 다수의 유저를 제재하거나 제재 해제할 수 있는 API 추가(C#)
- Service
- DSM 인스턴스 버전 태깅 기능 추가
v1.0.0-2626 (2018-02-05)¶
2018-02-05 16:39:40
- Network
- 압축 옵션 설정 (transport 별 옵션으로 분리)
- Service
- DSM 퍼포먼스 카운터 API에서 JWT 인증을 지원하도록 변경
v1.0.0-2623 (2018-02-02)¶
2018-02-02 10:38:33
- Service
- World GetAllObject가 Type으로 필터할 수 있는 기능 추가
- World에서 삭제된 오브젝트를 다시 삭제할 때 ASSERT 제거
- DSM Region별 인스턴스 통계 API 추가
- DSM Region별 서버 사용량 평균, 표준편차 API 추가
- DSM에서 생성/종료된 EC2 인스턴스 수를 가져올 수 있는 API 추가
- Dedicated Server Rpc C# 지원
- Network
- 메시지 압축 기능 추가
- Database
- RedisClient: 알 수 없는 이유로 연결 실패하여 재연결할 때 크래시되는 버그 수정.
v1.0.0-2610 (2018-01-30)¶
2018-01-30 13:32:28
- Service
- World 내의 모든 세션에게 메시지를 보내는 기능 추가
- Dedicated Server Manager 지원(C#)
- RedisClient 의 StringCallback 이 크래시하는 문제 수정(C#)
v1.0.0-2606 (2018-01-23)¶
2018-01-23 17:58:19
Warning
Breaking Changes
- Google Play 인증 서비스를 사용시 게임 서버를 다시 빌드하셔야합니다(C#)
- Google Play 인증 시 누락 된 Timeout 입력 인자 추가(C#)
- Service
- 개별 플랫폼 인증 검증 시 크래시하는 문제 수정(C#)
- Google Play 인증 시 누락 된 Timeout 입력 인자 추가(C#)
v1.0.0-2603 (2018-01-19)¶
2018-01-19 18:29:05
- Service
- DSM에서 DS Host -> Engine 통신을 LBS 거쳐서 할 수 있게 수정
- DSM에서 OAuth 처리 누락된 콜백 수정
v1.0.0-2601 (2018-01-18)¶
2018-01-18 01:52:30
Warning
Breaking Changes
World 를 사용하는 경우 게임 서버를 다시 빌드해야 합니다
- World MoveObject, MoveObjectTo 함수가 bool을 반환하도록 수정
다음의 변경 사항으로 인해 코드 수정이 필요할 수 있습니다.
- TStore Interface를 OneStore 인터페이스로 변경
기존의 TStore 인터페이스는 deprecated 처리되었습니다. MakeTStoreReceipt 함수를 MakeOneStoreReceipt 함수로 변경하셔야 합니다.
- Service
- TStore Interface를 OneStore 인터페이스로 변경
- World MoveObject, MoveObjectTo 함수가 bool을 반환하도록 수정
- AppleGameCenter 인증 검증 지원(C#)
- Database
- MariaDB 연결 실패 시 크래시할 수 있던 문제 수정
v1.0.0-2596 (2018-01-16)¶
2018-01-16 07:06:29
- Object
- 분산 환경에서 키가 없는 오브젝트를 사용할 때 크래시할 수 있던 문제가 수정되었습니다.
v1.0.0-2595 (2018-01-15)¶
2018-01-15 18:13:47
Warning
Breaking Changes
다음의 변화로 인해 게임 서버를 다시 빌드해야 합니다. 또한 코드 수정이 필요할 수도 있습니다.
- ORM에서 DateTime 타입 오브젝트가 String에서 WallClock::Value(C++)/DateTime(C#)으로 변경되었습니다.
DateTime, timestamp는 Map, Array로 사용할 수 없습니다.
- Object
- ORM에서 DateTime 타입 오브젝트가 String에서 WallClock::Value(C++)/DateTime(C#)으로 변경되었습니다.
v1.0.0-2589 (2018-01-11)¶
2018-01-11 02:33:57
- System
- Docker CE 에서 실행 실패하는 문제 수정
- Network
- 동시에 여러 웹 소켓 요청이 올 때 비정상적으로 처리하던 문제 수정
- Service
- DSM 에서 JWT 토큰 확인할 수 있는 콜백 함수 추가
- GooglePlay authentication 에서 JWT 확인하는 기능 추가
v1.0.0-2561 (2017-12-29)¶
2017-12-29 13:18:38
- Service
- Matchmaking 통계 출력 문제 수정.
- Matchmaking 통계에서 매칭 min/max 초기값을 0으로 수정.
- Management
- API service 의 URL 처리 로그에 bytes 길이도 출력하도록 수정.
v1.0.0-2557 (2017-12-28)¶
2017-12-28 16:50:15
- Service
- –matchmaking_server_logging_level 추가.
- MatchmakingServer 에 REST API 들 추가
- matchmaking 관련 counter 추가
- Distribution
- 크래시했을 때 서버 프로세스가 종료되지 않을 수 있는 문제 수정
- Management
- matchmaking_server_logging_level 을 runtime flag 로 지정.
v1.0.0-2553 (2017-12-26)¶
2017-12-26 14:27:23
Warning
Breaking Changes
- 다음의 변화로 인해 게임 서버를 다시 빌드해야 합니다.
- funtest::Session 이 RedirectClient 처리할 수 있게 수정
- Network
- funtest::Session 이 RedirectClient 처리할 수 있게 수정
- Service
- World Object가 구체인지 검사하는 함수와 반지름을 얻는 함수 추가
v1.0.0-2544 (2017-12-20)¶
2017-12-20 11:22:23
Warning
Breaking Changes
C# 프로젝트를 사용하는 경우 다음의 변화로 인해 게임 서버를 다시 빌드해야 합니다.
ArrayRef에 IList<T>를 지원 인터페이스 추가(C#)
이 기능을 사용하려면 다음 버전 이상의 플러그인으로 업데이트 해야 합니다.
- Object
ORM 사용 시 자료형 추가 지원
ORM 에 자료형을 더 상세하게 입력할 수 있게 추가되었습니다. 추가로 지원되는 타입은 아래와 같습니다.
int8, int16, int32, int64, float, timestamp, datetime
ArrayRef에 IList<T>를 지원 인터페이스 추가(C#)
v1.0.0-2543 (2017-12-20)¶
2017-12-20 10:47:19
Warning
Breaking Changes
다음의 변화로 인해 플러그인 업데이트가 필요할 수도 있습니다.
Session Reliability를 사용할 때 delayed ack, piggy back 기능 추가
이 기능을 사용하려면 다음 버전 이상의 플러그인으로 업데이트 해야 합니다.
- Unity3D: 239
- Unreal4: 90
- Cocos2d-x: 90
- Network
Session Reliability를 사용할 때 delayed ack, piggy back 기능 추가
delayed_ack_interval_in_ms를 0이상의 값으로 설정했을 때 사용 할 수 있습니다.
- misc.
- 하위 디렉터리에 .proto 파일이 있는 경우에 오작동하는 부분 수정 (C#)
v1.0.0-2536 (2017-12-18)¶
2017-12-18 15:46:14
- Management
- ApiSerivce: JWT, 로드밸런서 쓰는 경우에 대한 rate limit 구현 추가
v1.0.0-2534 (2017-12-15)¶
2017-12-15 08:05:55
- Object
- 로컬 환경에서 동일한 오브젝트를 다른 락 타입으로 Fetch할 때 죽던 문제가 수정되었습니다.
- misc.
- 이제 funapi_client_resource_generator를 Windows에서 사용할 수 있습니다.
v1.0.0-2520 (2017-12-07)¶
2017-12-07 19:35:46
- Service
- Google Play Game 인증 검증 시 웹 콘솔 id로도 통과하도록 수정
- 월드에서 부채꼴 필터가 구체를 검색할 수 있도록 추가
- FindObject에서 FindOption을 사용 시 Z 축을 무시하는 옵션 추가
- Management
- DeployApiService 에서 지급 가능한 아이템 목록을 순서대로 보내게 수정
- misc.
- 일부 플랫폼에서 C# 패키징이 실패하는 문제 수정
- Ubuntu 16.04에서 mdb 파일이 만들어지지 않던 문제 수정
v1.0.0-2512 (2017-12-05)¶
2017-12-05 20:42:06
- Service
- World 사각형, 부채꼴 필터에 잘못된 방향(0, 0) 입력에 대한 예외처리 추가
- Distribution
- RPC 백엔드로 redis를 쓸 때 object id pool 관리 수정
v1.0.0-2509 (2017-12-05)¶
2017-12-05 09:17:44
- Network
- 분당 처리할 세션당 메시지 수 제한 추가
- HTTP 에도 rate limit 적용 (HTTP 429)
v1.0.0-2502 (2017-12-04)¶
2017-12-04 07:37:34
- Service
- World 부채꼴 필터의 각도 계산 오류 수정
- Database
- Ubuntu Xenial 에서 MySQL Connector 의 연결 관련 버그 수정
- Object
- Foreign 이 아닌 Object Type Attribute 로 순환 소유 관계가 만들어질 때 Fetch 함수의 버그 수정
v1.0.0-2497 (2017-12-01)¶
2017-12-01 12:06:37
Warning
Breaking Changes
다음의 변경 사항으로 인해 코드 수정이 필요할 수도 있습니다.
- Matchmaking: ProgressCallback 에 JSON match_context 인자 추가.
ProgressCallback 에 JSON match_context 인자가 추가되어 코드 수정이 필요합니다.
다음의 변경 사항으로 인해 Zookeeper를 공유하는 모든 서버가 함께 업데이트 되어야 합니다.
- Rpc: 서버간 연결 관련 처리 개선.
- Service
- DSM: OAuth 토큰 획득에 실패하면 콜백 오류 처리하게 수정
- Matchmaking: ProgressCallback 에 JSON match_context 인자 추가.
- Object
- C# Object.WriteAllImmediately, {Object}.WriteImmediately 함수 추가
- C# RegisterAttributeTrigger 함수 추가
- C# SelectBy{AttributeName} 함수 추가
- Distribution
- Rpc: 서버간 연결 관련 처리 개선.
- Network
- 웹소켓 프로토콜 지원
- misc.
- C# 프로젝트 생성 시 불필요한 .cc/.h 파일을 생성하지 않도록 변경
- 프로젝트 생성 시 predefined 매크로 템플릿이 동작하지 않던 문제 수정
v1.0.0-2480 (2017-11-24)¶
2017-11-24 01:48:36
- Network
- SSL 기본 알고리즘 순서 변경 및 허용 목록 축소
- Object
- ORM 오브젝트 GetLockType() C++ 함수 추가
- ORM 오브젝트 GetLockType() C# 함수 추가
- System
- 등록되지 않은 Activity Log 사용 시 크래시 하지 않도록 수정
- Service
- Matchmaking 시 enable_dynamic_match = false 면 시간순으로 우선권을 갖도록 수정
- Apple Game Center 인증 검증 기능 추가
v1.0.0-2453 (2017-11-09)¶
2017-11-09 02:21:56
- Framework
- C# - 서버 크래시 시 콜스택 정보가 로그에 항상 포함되도록 개선
- Object
- C# - kReadLock 으로 Fetch 후 쓰기를 할 때 더 자세한 로그가 출력되도록 개선
- Service
- World 사각형, 부채꼴 내장 필터가 입력 높이가 음수이면 무한대로 처리하도록 수정
- misc.
- 아이펀 디플로이 추가 설정 기능 및 캠페인 설명 문서화
v1.0.0-2443 (2017-11-02)¶
2017-11-02 12:10:29
Warning
Breaking Changes
- 다음의 변경 사항으로 인해 서버를 다시 빌드해야 합니다.
- RedisClient: Create() 할 때 database 선택할 수 있도록 수정.
- Database
- Redis 컴포넌트에 database 선택할 수 있는 기능 추가.
- RedisClient: Create() 할 때 database 선택할 수 있도록 수정.
v1.0.0-2440 (2017-11-01)¶
2017-11-01 15:49:36
- Service
- World::MonitorTypeExistence() 버그 수정
- World::GetName() 추가
v1.0.0-2437 (2017-10-31)¶
2017-10-31 06:52:56
Warning
Breaking Changes
다음의 변경 사항으로 인해 코드 수정이 필요할 수도 있습니다.
- iFun Authenticator deprecated 처리
iFun Authenticator 를 이용한 인증 검증 기능은 Deprecated 되어 향후 제거될 예정이오니 각 플랫폼별 인증 검증 함수로 변경하시기 바랍니다.
- C# GooglePlayGame AuthenticationResponse 에러 관련 변수명 변경
C# GooglePlayGame 인증 검증 함수를 사용하는 경우 코드 수정이 필요합니다.
- Service
- iFun Authenticator deprecated 처리
- C# GooglePlayGame AuthenticationResponse 에러 관련 변수명 변경
- C# SessionClosedHandler 에서 AccountManager 로그아웃 처리 할 수 없던 버그 수정.
v1.0.0-2431 (2017-10-27)¶
2017-10-27 13:55:53
Warning
Breaking Changes
- Custom API 를 사용하는 경우 다시 빌드해야 합니다.
- 아이펀 디플로이의 반복 캠페인 처리 추가
- Management
- 아이펀 디플로이의 드랍다운 리스트 기능 사용 가능하게 수정
- 아이펀 디플로이의 반복 캠페인 처리 추가
v1.0.0-2425 (2017-10-20)¶
2017-10-20 16:37:54
- Service
- C# AccountAuthentication deprecated 처리
- C# GooglePlus 인증 추가
- C# NexonPlatform 인증 추가
- C# NexonToy 인증 추가
- C# Facebook 인증 추가
- C# LINE 인증 추가
v1.0.0-2416 (2017-10-16)¶
2017-10-16 15:30:28
Warning
Breaking Changes
다음의 변경 사항으로 인해 코드 수정이 필요할 수도 있습니다.
- 개별 timespan 랭킹 삭제에서 모든 랭킹 삭제하도록 LeaderboardResetRequest 인터페이스 변경.
LeaderboardResetRequest 객체를 만들 때 입력하는 timespan 이 제거되었습니다. 해당 구조체를 사용하시는 경우 코드 수정이 필요합니다.
다음의 변경 사항으로 인해 연결되는 모든 서버의 엔진 업데이트가 필요합니다.
- 분산 환경에서 Object Model 이 다른 서버는 구동되지 않도록 수정
다음의 기능 추가로 인해 리더보드 업데이트가 필요합니다.
- Leaderboard 월간 랭킹 리셋 기능 추가
1.0.0-1762 experimental 버전 이상의 리더보드로 업데이트 해야 합니다.
- Service
- 개별 timespan 랭킹 삭제에서 모든 랭킹 삭제하도록 LeaderboardResetRequest 인터페이스 변경.
- Leaderboard 월간 랭킹 리셋 기능 추가
- World 를 MANIFEST 에 기술하여 생성할 때 Channel 과 Local 여부를 설정할 수 있게 수정
- Distribution
- 분산 환경에서 Object Model 이 다른 서버는 구동되지 않도록 수정
- Time
- 서버 프로세스의 구동시간을 얻는 WallClock::GetUptime(), WallClock::GetUptime2() 추가
- 서버 프로세스의 구동시간을 얻는 funapi/uptime Counter 추가
- Management
- 캠페인 보상 정보 파싱 버그 수정 (C#)
v1.0.0-2409 (2017-10-12)¶
2017-10-12 14:36:30
Warning
Breaking Changes
World 기능을 사용할 경우 코드 수정 및 서버 빌드가 필요합니다.
WorldManager::Create/Get/FindServer 함수의 channel 인자 위치 변경
WorldManager::Create/Get/FindServer() 함수를 호출하실 경우 channel 인자를 맨 뒤로 옮겨야합니다.
- Service
- WorldManager::Create/Get/FindServer 함수의 channel 인자 위치 변경
- 다른 서버와 공유하지 않는 World 지원
- World 삭제 기능 추가
- Management
- C# DeployApiService 가 잘못된 캠페인 형식을 사용하는 버그 수정
v1.0.0-2400 (2017-09-29)¶
2017-09-29 11:16:13
- Service
- World::FindObject() 에서 distances 인자가 NULL 일 때 Filter 를 쓰면 크래시하는 버그 수정
- Object
- 분산환경에서 Object Cache 메모리 사용량 개선
v1.0.0-2395 (2017-09-26)¶
2017-09-26 17:00:14
- Service
- World 의 boundary 검색 시 option 에 지정된 수 보다 더 많이 검색되는 버그 수정
- World::InsertStaticObject, World::FindStaticObject 추가
- Database
- RedisClient: Pub/Sub 처리시 간헐적으로 assertion 에 걸리는 문제 수정.
v1.0.0-2389 (2017-09-25)¶
2017-09-25 16:02:00
- Service
게임 서버에서 리더보드 랭킹을 초기화할 수 있는 ResetLeaderboard() 함수 추가
이 기능을 사용하려면 1.0.0-1731 experimental 버전 이상의 리더보드 에이전트가 필요합니다.
- Distribution
- DedicatedServerRpc: Tag 를 얻을 수 있는 GetPeerTag() 함수 추가
- Database
- 일부 머신에서 RedisClient 연결이 해제되는 문제 수정.
v1.0.0-2381 (2017-09-21)¶
2017-09-21 14:34:10
- Distribution
- DedicatedServerRpc: ConnectHandler 에서 tag 를 조회할 수 없는 문제 수정.
- Object
- ORM 의 메모리 사용량 관련 문제 수정
v1.0.0-2368 (2017-09-15)¶
2017-09-15 17:26:48
Warning
Breaking Changes
World 기능을 사용할 경우 코드 수정 및 서버 빌드가 필요합니다.
World::Find*2() 제거 및 FindOption 을 받아 동일한 처리를 대신하도록 수정
World::FindObject2(), World::FindSession2() 를 사용하는 경우 아래 함수로 변경해야 합니다.
- World::FindObject(..., FindOption(true), ...)
- World::FindSession(..., FindOption(true), ...)
World 의 Find*() 의 거리 계산 시 Sphere 의 중심을 기준으로 하는 옵션 추가
World::FindOption 을 사용할 경우 서버를 다시 빌드해야 합니다.
- Service
- World::Find*2() 제거 및 FindOption 을 받아 동일한 처리를 대신하도록 수정
- World 의 Find*() 의 거리 계산 시 Sphere 의 중심을 기준으로 하는 옵션 추가
- World::Find*(), World::Broadcast() 함수들이 기준 좌표 대신 Object ID 를 받을 수 있는 기능 추가
- World 의 Find*() 에 정렬, 범위 검색 옵션 추가
- World::Broadcast() 함수 인자에 FindOption 추가
- World::FindObject() 가 Filter 함수를 받을 수 있도록 개선
- World::FindObject() 를 위한 Type Filter 추가
- World 내의 특정 Type Object 유무를 통지 받을 수 있는 기능 추가
- World::MakeRectangleFilter() 추가
- World::MakeCircularSectorFilter() 추가
- Distribution
자동으로 Dedicated Server RPC server 를 알아내는 기능 추가.
DedicatedServerRpc 기능을 사용할 경우 Dedicated Server 에서 사용하는 Unreal 클라이언트 플러그인을 73 experimental 버전 이상으로 업데이트하셔야 합니다.
DedicatedServerRpc: Dedicated Server 에서 입력한 Tag 로 peer 목록 가져오는 기능 추가
DedicatedServerRpc 기능을 사용할 경우 Dedicated Server 에서 사용하는 Unreal 클라이언트 플러그인을 73 experimental 버전 이상으로 업데이트하셔야 합니다.
- Framework
- 크래시할 때 엔진 버전을 로그로 출력
v1.0.0-2353 (2017-09-08)¶
2017-09-08 15:06:19
- Service
- World 의 모든 Object 를 가져오는 World::GetAllObject() 추가
v1.0.0-2350 (2017-09-08)¶
2017-09-08 02:14:17
- Distribution
RPC Disconnect Handler 에서 접속 끊긴 Peer 의 Tag 와 Status 를 읽을 수 있게 수정
DedicatedServerRpc: bytes 대신 FunDedicatedServerRpcMessage 를 사용하도록 수정.
Dedicated Server RPC 를 사용할 경우 Unreal 클라이언트 플러그인을 72 experimental 버전 이상으로 업데이트해야 합니다.
v1.0.0-2348 (2017-09-07)¶
2017-09-07 17:11:07
Warning
Breaking Changes
- 다음의 변경 사항으로 인해 서버를 다시 빌드해야 합니다.
- Timer 에 Event Tag 를 지정하여 병렬처리 할 수 있게 수정
- Object
- event_profiling 카운터에 함수 처리 시간 추가(handler_time)
- execution_time 으로 내림차순 정렬하는 event_profiling_execution_time_order 카운터 추가
- handler_time 으로 내림차순 정렬하는 event_profiling_handler_time_order 카운터 추가
- io_wait_time 으로 내림차순 정렬하는 event_profiling_io_wait_time_order 카운터 추가
- Time
- Timer 에 Event Tag 를 지정하여 병렬처리 할 수 있게 수정
- Repeating Timer 가 밀릴 때 과도하게 이벤트를 생성하지 않도록 수정
- Service
- World::InsertObject() 가 ID 가 중복될 때 Assert 대신 0 을 반환하도록 수정
- World::Object 가 Point 뿐만 아니라 Sphere 도 될 수 있도록 수정
v1.0.0-2342 (2017-09-05)¶
2017-09-05 17:11:13
- Distribution
Unreal Dedicated Server 와 RPC 통신하는 기능 추가.
Unreal Dedicated Server 에서 클라이언트 플러그인과 통신합니다. 클라이언트 플러그인은 71 experimental 버전 이상이 필요합니다.
- Network
- Protobuf field 로 메세지 핸들러 등록시 메모리릭이 발생되는 문제 수정
- Protobuf field 로 메시지 핸들러 등록시 이름에 > 가 포함되는 버그 수정
- Service
- GooglePlayGameService 인증 검증 지원
- GooglePlayGameService 인증 검증 지원(C#)
v1.0.0-2333 (2017-09-01)¶
2017-09-01 12:43:30
- Distribution
- Segmentation Fault 로 크래시했을 때도 Zookeeper 연결을 끊고 종료하도록 수정.
- Object
- ORM 관련 잘못된 Assert 제거
v1.0.0-2329 (2017-08-31)¶
2017-08-31 04:26:28
Warning
Breaking Changes
- World 를 사용하실 경우 게임 서버를 다시 빌드해야 합니다.
- World::Object 의 ID 를 생성자의 인자로 받아 임의로 할당할 수 있도록 수정
- Service
- World::Object 에 mutex 락 추가
- World::Object 의 ID 를 생성자의 인자로 받아 임의로 할당할 수 있도록 수정
- 데디케이티드 서버를 강제 종료하는 시간 지정할 수 있게 수정
- C#: DeployAPIService에서 ORM 롤백 처리가 되지 않는 문제 수정
- Network
- Session::GetExpirationTime() 의 값이 부정확하게 나오는 문제 수정
- C#: 메세지 핸들러 호출 전/후를 후킹할 수 있는 함수 추가
v1.0.0-2316 (2017-08-28)¶
2017-08-28 11:04:51
- Network
- 메세지 핸들러 호출 전/후를 후킹할 수 있는 함수 추가
- misc.
- DeployApiService 문서 업데이트
v1.0.0-2311 (2017-08-25)¶
2017-08-25 14:03:55
- Network
- TCP transport 가 attach 되는 경우 호출되는 handler 등록 가능하게함
- Session::GetLastSendTime() 추가
- Session::GetExpirationTime() 추가.
- session id 를 한 번만 보내 트래픽을 줄이는 기능 관련 크래시 문제 수정
- C#: http.Method.GetString(), http.StatusCode.GetString() 추가
- Management
- C#에서 추가한 Restful API가 목록 조회 시 정상적으로 포함되도록 변경
- Service
- world 에서 distance 대신 distance_square 를 받는 함수들 추가.
- Object
- Object Cache 가 trailing spaces 들을 MySQL general_ci 와 동일하게 다루도록 수정
- Distribution
- Rpc: peer 연결 여부를 확인할 수 있는 IsPeerConnected() 함수 추가.
v1.0.0-2296 (2017-08-22)¶
2017-08-22 16:22:34
- Object
- kReadCopyNoLock 으로 Array, Map Fetch 할 때 NULL 오브젝트가 있으면 크래시 하는 버그 수정.
v1.0.0-2285 (2017-08-18)¶
2017-08-18 12:55:22
- Service
- WorldManager::Create() 함수의 zone 인자를 Json 에서 ZoneVector 로 변경
- WorldManager::Create() 함수에 index_block_length 인자 추가
- World Channel 지원
v1.0.0-2281 (2017-08-16)¶
2017-08-16 18:48:10
- Management
- DeployApiService: 인벤터리 아이템 다중 회수 API 지원
- DeployApiService 를 native/mono 중 선택해서 활성화하게 수정
- C# iFunDeploy API 연동 지원 (1) - 유저 관리 기능
- C# iFunDeploy API 연동 지원 (2) - 커스텀 API
- C# iFunDeploy API 연동 지원 (3) - 캠페인 기능 연동
- C# iFunDeploy 연동 지원 (4) - 인벤터리 삭제 지원
- C# ApiService URL 매칭하는 방식 개선
- misc.
- C# HTTP API 통신 예제 코드 추가
v1.0.0-2275 (2017-08-14)¶
2017-08-14 07:47:31
- Service
- Redis 가 초기화 된 후에 DSM이 크래시할 수 있는 버그 수정
- DS host에 서버를 띄울 공간이 없을 때 지나치게 빨리 재시도하는 문제 수정
v1.0.0-2265 (2017-08-11)¶
2017-08-11 15:52:08
- Distribution
- MySQL, Zookeeper 처리 속도 모니터링 기능 추가
- Network
- 이벤트 프로파일링 시 Protobuf 핸들러 이름이 정수 값으로 보이는 문제 수정
- Service
- World 범위 검색 알고리즘 개선
v1.0.0-2250 (2017-08-08)¶
2017-08-08 19:32:09
- Object
- 한 이벤트에서 동일한 Key 의 ORM 오브젝트의 생성 삭제를 반복할 때 발생하는 문제 수정
- 삭제한 오브젝트를 다시 삭제하는 잘못된 코드를 ASSERT 로 막던 것 허용.
- Service
- C# AccountManager 관련 콜백이 간헐적으로 호출되지 않는 문제 수정
- Network
- send_session_id_only_once 관련 Assert 로 크래시할 수 있는 문제 수정
v1.0.0-2241 (2017-08-06)¶
2017-08-06 19:19:49
- Object
- ORM Object 를 생성 후 바로 삭제할 때 Assert 로 크래시하는 문제 수정
v1.0.0-2238 (2017-08-04)¶
2017-08-04 10:29:15
- Object
오브젝트 프로시저명을 축약하여 사용할 수 있는 기능 추가
MANIFEST/Object 에 use_db_stored_procedure_full_name 를 false 로 지정하면 축약된 오브젝트 프로시저명으로 DB 서버와 통신합니다. 이 경우 DB 스키마 해시가 변경되어 프로시저를 재 생성하는 DDL 쿼리가 실행됩니다. 만약 DB 권한이 충분하지 않을 경우 서버가 실행되지 않습니다. 이 경우 Required DB permissions 에서 설명하는 export_db_schema 옵션을 사용하여 관리자 DB 계정으로 DB 스키마를 업데이트할 수 있습니다.
v1.0.0-2233 (2017-08-03)¶
2017-08-03 09:05:32
Warning
Breaking Changes
다음의 변화로 인해 DB 권한 확인이 필요할 수도 있습니다.
Array 또는 Map 만 가지는 오브젝트의 프로시저를 만들 수 없는 버그 수정.
본 수정으로 인해 DB 스키마 해시가 변경되어 프로시저를 재 생성하는 DDL 쿼리가 실행됩니다. 만약 DB 권한이 충분하지 않을 경우 서버가 실행되지 않습니다. 이 경우 Required DB permissions 에서 설명하는 export_db_schema 옵션을 사용하여 관리자 DB 계정으로 DB 스키마를 업데이트할 수 있습니다.
- Object
- Array 또는 Map 만 가지는 오브젝트의 프로시저를 만들 수 없는 버그 수정.
v1.0.0-2231 (2017-08-02)¶
2017-08-02 17:51:10
Warning
Breaking Changes
다음의 변화로 인해 DB 권한 확인이 필요할 수도 있습니다.
오브젝트를 DB 에서 가져올 때 트래픽 줄이도록 수정
본 수정으로 인해 DB 스키마 해시가 변경되어 프로시저를 재 생성하는 DDL 쿼리가 실행됩니다. 만약 DB 권한이 충분하지 않을 경우 서버가 실행되지 않습니다. 이 경우 Required DB permissions 에서 설명하는 export_db_schema 옵션을 사용하여 관리자 DB 계정으로 DB 스키마를 업데이트할 수 있습니다.
오브젝트 DB 테이블의 col__tag 사용하지 않도록 수정.
더이상 col__tag 컬럼이 사용되지 않습니다. 엔진에서 자동으로 해당 컬럼을 제거하지는 않습니다. 본 수정으로 인해 DB 스키마 해시가 변경되어 프로시저를 재 생성하는 DDL 쿼리가 실행됩니다. 만약 DB 권한이 충분하지 않을 경우 서버가 실행되지 않습니다. 이 경우 Required DB permissions 에서 설명하는 export_db_schema 옵션을 사용하여 관리자 DB 계정으로 DB 스키마를 업데이트할 수 있습니다.
다음의 변화로 인해 플러그인 업데이트가 필요할 수도 있습니다.
UDP 에서 Session ID 를 첫 메시지일 때만 전송하는 기능을 쓸 때 버그 수정
UDP 와 send_session_id_only_once 를 사용하실 경우 다음 버전 이상의 플러그인으로 업데이트하시기 바랍니다.
- Unity3D: 223
- Unreal4: 67
- Cocos2d-x: 67
- Object
- ORM 지연 업데이트 관련 Assert 로 크래시하는 문제 수정
- 오브젝트를 DB 에서 가져올 때 트래픽 줄이도록 수정
- 오브젝트 DB 테이블의 col__tag 사용하지 않도록 수정.
- 종료 처리가 멈출 수 있는 문제 수정
- Network
- UDP 에서 Session ID 를 첫 메시지일 때만 전송하는 기능을 쓸 때 버그 수정
v1.0.0-2226 (2017-08-01)¶
2017-08-01 15:23:32
- Service
DSM: 예약 인스턴스 수 동적 조절하는 콜백 추가
ConfigureReservedInstanceCountCallback 라는 콜백을 이용해서 EC2 상의 데디케이티드 서버 호스트 수를 입력 받고, 이후에 사용할 예약 인스턴스 수를 동적으로 조절할 수 있는 기능이 추가되었습니다.
v1.0.0-2223 (2017-07-31)¶
2017-07-31 16:57:05
Warning
Breaking Changes
다음의 변화로 인해 모든 서버의 엔진 업데이트가 필요합니다.
ORM 분산 처리 시 발생하는 네트워크 트래픽 개선
이전 버전의 서버와 연결되면 크래시합니다. 모든 서버를 함께 업데이트 하시기 바랍니다.
- Object
- Object 가 cache_expiration_in_ms 보다 더 빨리 캐시에서 내려갈 수 있는 문제 수정
- 분산 환경에서 ORM Object Cache 적중률 개선
- Object 삭제 관련 Assert 로 크래시할 수 있는 문제 수정
- 분산 처리 과정의 Lock 관련 Assert 수정
- ORM 분산 처리 시 발생하는 네트워크 트래픽 개선
- 오브젝트 쿼리 용량 줄이도록 수정.
- 프로시저를 사용하지 않을 때 불필요한 쿼리 제거.
- Framework
- ArgumentMap 에 FindDoubleArgument() 함수 추가.
- Distribution
- 분산 환경에서 불필요한 Zookeeper 요청 제거
- misc.
- MANIFEST.json double 타입 인자 지원.
v1.0.0-2216 (2017-07-27)¶
2017-07-27 05:53:34
- Object
- 프로시저를 사용하지 않을 때 간헐적으로 Array 데이터를 지우지 못하던 버그 수정.
v1.0.0-2210 (2017-07-26)¶
2017-07-26 14:45:42
Warning
Breaking Changes
다음의 변화로 인해 DB 권한 확인이 필요할 수도 있습니다.
use_db_char_type_for_object_id 옵션 사용시 캐릭터셋이 지정되지 않는 버그 수정.
이 옵션을 true 로 설정하셨을 경우 엔진 업데이트 후 서버 실행 시 프로시저를 재생성하기 위해 DDL 쿼리를 실행합니다. 만약 DB 권한이 충분하지 않을 경우 서버가 실행되지 않습니다. 이 경우 Required DB permissions 에서 설명하는 export_db_schema 옵션을 사용하여 관리자 DB 계정으로 DB 스키마를 업데이트할 수 있습니다.
- Object
- Object ID Pool 관련 Assert 수정
- use_db_char_type_for_object_id 옵션 사용시 캐릭터셋이 지정되지 않는 버그 수정.
v1.0.0-2200 (2017-07-18)¶
2017-07-18 11:46:09
- Object
- Object Cache 의 Index 성능 개선
- 생성된 Object 가 DB Update 완료 전에 Cache 에서 내려갈 수 있는 문제 수정
v1.0.0-2187 (2017-07-13)¶
2017-07-13 11:54:25
- Object
- DB, Zookeeper Write I/O 지연시 정상적인 Key 가 Dangling Key 로 처리되는 문제 수정
- 존재하지 않는 Key 의 Object 를 Create 또는 Fetch 할 때 일시적으로 CPU 를 과도하게 사용하는 문제 수정
v1.0.0-2183 (2017-07-06)¶
2017-07-06 20:21:15
Warning
Breaking Changes
다음 변화로 인해 서버 빌드가 필요합니다.
- Object Model 을 다루는 내부 코드 개선
다음 변화로 인해 코드 수정이 필요할 수도 있습니다.
Deploy API 수정 사항 반영
캠페인 시작 콜백 함수에 전달하는 CampaignArgument 에 시작/종료 시간 관련 인자를 추가했습니다. 해당 인자를 접근하기 위해선 새로 빌드해야 합니다. 아이템 지급 API에 유저에게 지급하는 것인지 캐릭터에게 지급하는 것인지 구분하는 인자가 추가되었습니다. (해당 인자는 account, character 중 하나의 값을 씁니다.)
- Management
- Deploy API 수정 사항 반영
- Object
- Object Model 을 다루는 내부 코드 개선
- ORM 분산처리 관련 잘못된 ASSERT 제거
- ORM 롤백 처리 중 Assert 로 크래시할 수 있는 문제 수정
- C#
- C# Object Array, Map Fetch 함수 성능 개선
- misc.
- 리더보드에 추가된 mysql_local_account_column_length 옵션 설명 추가
v1.0.0-2176 (2017-07-04)¶
2017-07-04 15:54:09
- Network
- use_session_relibility 와 send_session_id_only_once 기능을 함께 쓸 때 Encryption 관련 ASSERT 로 크래시할 수 있는 문제 수정
- use_session_relibility 와 send_session_id_only_once 기능을 함께 쓸 때 Session Reliability 에 의한 재연결에 안될 수 있는 문제 수정
- UDP 관련 불필요한 ASSERT 제거
- System
- 간헐적으로 서버 종료 처리에 지연이 생기는 문제 수정
v1.0.0-2172 (2017-06-30)¶
2017-06-30 17:15:59
- Service
- DedicatedServerManager 가 2 대 이상일 때 발생되는 문제 수정
- DedicatedServerManager 가 요청을 Queueing 하도록 수정
- DedicatedServerManager::Cancel() 추가
- Master DedicatedServerManager 가 종료될 때 즉시 Master 권한을 포기하도록 수정
v1.0.0-2169 (2017-06-28)¶
2017-06-28 16:19:40
- Service
- aws_settings 의 subnet_id 가 빈 문자열일 때 발생하는 문제 수정
v1.0.0-2166 (2017-06-28)¶
2017-06-28 09:30:45
- Service
- DedicatedServerManager 에 AWS Subnet ID 를 지정할 수 있도록 수정
v1.0.0-2161 (2017-06-26)¶
2017-06-26 17:34:05
Warning
Breaking Changes
다음 변화로 인해 코드 수정 및 인증 서버 업데이트가 필요합니다.
Kakao 인증 제거
변경된 Kakao 운영정책으로 인해 서버 사이드 인증 API 가 제거되었습니다. 만약 Kakao 인증 API 를 사용중이시라면 직접 Kakao API 를 호출하여 인증 처리해야 합니다. 직접 구현하실 경우 다음 GitHub 에서 구현 샘플을 참고하실 수 있습니다.
https://github.com/iFunFactory/engine-example-kakao-game-authentication
- Database
- Mariadb Connector 가 재연결될 때 쿼리가 유실될 수 있는 문제 수정
- Service
- 멀티캐스트 메시지를 검사할 수 있는 기능 추가
- Kakao 인증 제거
- Object
- Object Fetch 함수 성능 개선
- System
- 이벤트 유입, 처리량 카운터가 실제 보다 낮고 부정확하게 측정되는 문제 수정
- misc.
- Object Type 의 JSON 을 다룰 때 내부의 불필요한 함수 호출 제거
v1.0.0-2152 (2017-06-21)¶
2017-06-21 10:32:53
Warning
Breaking Changes
- 다음의 변화로 인해 코드 수정이 필요합니다.
- JsonSchema::Type kDouble 오타 수정
- C#
- ApiService Handler 에서 ORM 을 사용할 수 없는 문제 수정
- Management
- SystemInfo Counter 가 구동 후 일정 시간 동안 출력되지 않는 문제 수정
- Service
- AccountManager RedirectClient 호출 후 엔진에서 세션을 종료하도록 수정
- misc.
- JsonSchema::Type kDouble 오타 수정
- Mongodb logger에 SSL/TLS 활성화하는 플래그 추가
v1.0.0-2144 (2017-06-12)¶
2017-06-12 19:52:40
- Network
- close_transport_when_session_close 옵션이 작동하지 않는 문제 수정
- Database
- RedisClient 추가
- Management
- DeployAPI: 캠페인 취소, 아이템 대량 지급 API 추가
- misc.
- CLion 개발 환경 구성 문서 업데이트(2017.1.2 버전 기준)
v1.0.0-2136 (2017-06-01)¶
2017-06-01 15:02:54
Warning
Breaking Changes
다음의 변화로 인해 코드 수정 및 빌드가 필요할 수도 있습니다.
DeployAPI: 선물 지급 API 수정
선물 지급 API가 수정되어 GiveGiftToCharacter API 삭제. 새로 추가된 GiveGift를 사용해서 수정 및 새로 빌드해야 정상 동작합니다.
- Management
- DeployAPI: 선물 지급 API 수정
- Network
- 다음 함수들이 kDefaultProtocol 을 인자로 받을 수 있도록 수정
- Session::GetRemoteEndPoint()
- Session::IsTransportAttached()
- Session::CloseTransport()
- 다음 함수들이 kDefaultProtocol 을 인자로 받을 수 있도록 수정
- Object
- Object Lock/Lease 재시도 로그 표현 수정
- ORM Database 와 연결된 Mariadb Connector 를 얻을 수 있는 API 추가
- misc.
- C# - Mariadb(MySQL) Connector 사용 시 크래시할 수 있는 문제 수정
v1.0.0-2126 (2017-05-30)¶
2017-05-30 15:48:26
- Service
- DSM: Now waits when executing DSM host even when Redis doesn’t start
v1.0.0-2125 (2017-05-30)¶
2017-05-30 15:01:00
- Network
- Improved assertion handling of TransportProtocol values
v1.0.0-2121 (2017-05-29)¶
2017-05-29 18:22:17
- Service
- DSM: Handled if RESTful API is opened with an EC2 public IP address
v1.0.0-2118 (2017-05-29)¶
2017-05-29 15:16:32
Warning
Breaking Changes
You may need to modify Multicast Protobuf and update plugins due to the following change.
The available field number range for the Multicast Protobuf extension has been changed. If extending FunMulticastMessage, you need to use field numbers from 16 and up. You also need to update plugins to at least the versions below. (in experimental version)
- Unity3D: 212
- Unreal4: 62
- Cocos2d-x: 62
- Network
- Fixed field error when using Protobuf extension identifiers as message types
v1.0.0-2109 (2017-05-24)¶
2017-05-24 16:57:18
Warning
Breaking Changes
You need to update server fields and plugins due to the following change.
- Added function to use Protobuf message type as integer instead of string
To use this feature, you need to update plugins to at least the following versions. (in experimental version)
- Unity3D: 210
- Unreal4: 61
- Cocos2d-x: 61
- Network
- Added feature to only send session ID in first message in TCP and UDP, and later omit to reduce network traffic.
- Added function to use Protobuf message type as integer instead of string
v1.0.0-2103 (2017-05-23)¶
2017-05-23 17:10:13
- misc.
- Fixed field error when Bool type present in C# - ORM objects
v1.0.0-2099 (2017-05-19)¶
2017-05-19 19:56:02
Warning
Breaking Changes
You need to modify your code or rebuild your server due to the following change.
- Deploy API: bug fixes and changed interface responses
Some DeployApiService interfaces were modified, so you need to rebuild your server. SearchUsers, GetInventory You need to update implementation for the ___ function.
- Session::LastSentMessageType() Fixed Session::LastSentMessageType() function error
Source code must be modified because session API has changed.
- Distribution
- Fixed handling of Zookeeper exceptions
- Management
- Deploy API: bug fixes and changed interface responses
- Network
- Session::LastSentMessageType() Fixed Session::LastSentMessageType() function error
- misc.
- Fixed the bug in which systemd service did not run when package created in Ubuntu 16.04
- Fixed the bug in which service did not work correctly when systemd package created using flavors
v1.0.0-2082 (2017-05-10)¶
2017-05-10 09:09:39
- misc.
- Fixed server not running due to CentOS7 RapidJSON update.
v1.0.0-2080 (2017-05-04)¶
2017-05-04 16:29:43
- Object
- More data now output in object model error log and changed to fatal log
- Added accumulated object model test
- Framework
- Updated to record Google Protobuf error logs in log file instead of stderr.
- System
- C# - Event::Abort() support
- Network
- C# - Session::SetTransport(...) support
v1.0.0-2074 (2017-04-24)¶
2017-04-24 19:24:05
Warning
Breaking Changes
You may need to modify code due to the following change.
- DSM: Changed implementation to allow user intrusion
Source code needs to be modified because the dedicated server API was modified. DedicatedServerManager::SendUsers() function was changed to Spawn(), and a parameter was added to send data for each user so the function could use the data (empty JSON must be sent even if there is no data). Existing SendUsers function now only handles sending users to games that have already started. Client and funapi-dedicated-server-host must now be updated to the latest version to work.
- Service
- DSM: Changed implementation to allow user intrusion
v1.0.0-2071 (2017-04-21)¶
2017-04-21 02:43:49
Warning
Breaking Changes
C# project options must be modified due to the following change.
- Fixed bug preventing debugging from starting in C# - Monodevelop 5.x
When using Monodevelop 5.x, recreate the project or refer to /usr/bin/funapi_monodevelop_helper.exe in Options -> Run -> User commands
as follows to add as the first item.
- Copy the value you input previously.
- Add the item at the “Run” stage and input “/usr/bin/funapi_monodevelop_helper.exe”.
- Add the item at the “Run” stage and reenter data deleted in 1.
- Service
- Reflected Nexon platform authentication changes
- misc.
- Fixed bug preventing debugging from starting in C# - Monodevelop 5.x
v1.0.0-2068 (2017-04-20)¶
2017-04-20 17:07:31
Warning
Breaking Changes
MANIFEST.json file options must be modified due to the following change.
- Changed thread number setting name to handle network I/O
Changed SessionService/network_io_threads_size in IoService/io_service_threads_size and existing settings are valid for now. Please change to the new setting name as soon as you can.
- Added Google Log storage time option
Debug logs (glog) are deleted after 30 days. To store them for longer,
you need to change glog_retention_period_in_days.
- Network
- Changed thread number setting name to handle network I/O
- System
- Added Google Log storage time option
- Object
- Removed hanging assertion when invoking ORM object Delete() two or more times
- Fixed bug preventing build when there was a string type in C# - map key
- Distribution
- Changed Zookeeper performance counter address in zookeeper_stat to distribution_profiling
v1.0.0-2059 (2017-04-17)¶
2017-04-17 16:55:31
- Object
- Supported resetting C# - Object as JSON
- Added Has, Clear, and FindFirstEmptySlot functions in C# object ArrayRef and MapRef
- misc.
- Fixed to work even when setup_build_environment is not a symbolic link
- Changed C# - Install/Start/Uninstall function return type to void -> bool
- Json::HasAttribute({AttrName}, {AttrType}) Added Json::FindAttribute() function
v1.0.0-2042 (2017-04-05)¶
2017-04-05 09:36:24
- misc.
- Fixed shutdown bug when server crashes in 1.0.0-2040 experimental version.
v1.0.0-2040 (2017-04-03)¶
2017-04-03 16:19:20
- Network
- Updated to leave log when session closed
- Service
- Fixed hang on assertion bug when logging in with a different account ID while already in a logged-in session in AccountManager
v1.0.0-2018 (2017-03-30)¶
2017-03-30 14:18:43
- compared with ‘==’ operator
- Network
- Updated to leave more data such as client addresses in network log
v1.0.0-2016 (2017-03-29)¶
2017-03-29 11:15:24
v1.0.0-2016 (2017-03-29)¶
2017-03-29 11:15:24
Warning
Breaking Changes
You need to rebuild your server due to the following change.
Added server test feature (funtest::Session) UDP support
You need to rebuild your server if using funtest::Session.
- Network
- Updated to leave transport protocol (TCP or UDP or HTTP) together in the session message log
- misc.
- Added server test feature (funtest::Session) UDP support
- Fixed server test feature (funtest::Session) HTTP bug
v1.0.0-2011 (2017-03-27)¶
2017-03-27 16:19:58
Warning
Breaking Changes
You need to modify your code or rebuild your server due to the following change.
- Enabled selection of matchmaking server
- StartMatchmaking() Added target_server parameter to function. Enabled selection of one of kRandom (NULL), kLeastNumberOfPlayers (prioritize server with fewest requests) or kMostNumberOfPlayers (prioritize server with most requests), or direct PeerId selection.
- Rpc::SetStatus() Updated to prevent overwriting internal engine status when Rpc::SetStatus() invoked
- C# support updated
- C# projects created in earlier versions must be remade.
- Enabled selection of matchmaking server
- Service
- GetMatchmakingServerInfo() Added GetMatchmakingServerInfo() function. All MatchmakingServer PeerId and number of matchmaking requests can be discovered.
- Added LINE authentication
v1.0.0-1991 (2017-03-14)¶
2017-03-14 09:37:02
- Distribution
- Added flag called rpc_use_public_address
- Network
- Fixed bug ignoring later messages if unregistered messages were received from the handler in HTTP
- Updated to automatically close transport when funtest::Session closed
- System
- Schema output can now be turned off in activity log file with MANIFEST settings
- misc.
Fixed server test function memory leak bug
Added web-based monitoring tool
v1.0.0-1974 (2017-02-23)¶
2017-02-23 10:33:34
Warning
Breaking changes
- You need to modify your code or rebuild your server due to the following change.
- Fixed the bug preventing broadcasting from working if kDefaultProtocol was set
- Session(AccountManager)::BroadcastLocally/Globally() Removed default recognized values for Session(AccountManager)::BroadcastLocally/Globally() function encryption and TransportProtocol.
- Fixed the bug preventing broadcasting from working if kDefaultProtocol was set
- Network
- Fixed the bug preventing broadcasting from working if kDefaultProtocol was set
- Framework
- Fixed bug delaying close handling during SIGSEGV crash
- Object
- Fixed bug causing incorrect output of rollback frequency in event_profiling counter
- misc.
- Multicast: Documented message transmission hooking
- Documented session BroadcastLocally() and BroadcastGlobally() functions
- Documented AccountManager BroadcastLocally() and BroadcastGlobally() functions
- Json::FindAttribute() Added Json::FindAttribute() function
v1.0.0-1954 (2017-02-07)¶
2017-02-07 09:59:41
- Database
- Mariadb(MySQL) Improved MariaDB (MySQL) connector timeout handling
v1.0.0-1952 (2017-02-06)¶
2017-02-06 09:11:34
- Network
- Network: Added function to send messages to all sessions
- AccountManager: Added function to send messages to all logged in sessions
- Object
- Updated to also support foreign attributes when object reset with JSON
- Service
- Multicast: Added hook called during message transmission
v1.0.0-1936 (2017-01-25)¶
2017-01-25 11:20:01
- Distribution
- Improved exception handling of irregular RPC message receipt
v1.0.0-1931 (2017-01-24)¶
2017-01-24 04:25:41
Warning
Breaking changes
- You need to rebuild the game server because of the following changes.
- Updated to receive callbacks when parsing from Json::From*(...) fails
- C#
C# support (Ubuntu)
CentOS will be supported later.
To develop with C#, you need to input the following commands to remake your project.
- Framework
- Updated to receive callbacks when parsing from Json::From*(...) fails
v1.0.0-1912 (2017-01-17)¶
2017-01-17 12:40:49
- System
- Fixed server crash bug with Assert failed: execution_time_ == 0:
v1.0.0-1903 (2016-12-15)¶
2016-12-15 11:55:46
Warning
Breaking changes
Required client plugin updates are as follows.
Added feature to send Protobuf session ID in bytes
You need to update client plugins to at least the versions listed below and rebuild Protobuf DLL.
- Unity3D: 190
- Unreal4: 35
- Cocos2d-x: 35
- Object
- Fixed incorrect handling of some DB data by object_db_migrator.py tool
- Network
Added feature to send Protobuf session ID in bytes
See explanation of options in send_session_id_as_string.
- misc.
- Fixed Unity3D DLL build failure when building a server
v1.0.0-1895 (2016-12-13)¶
2016-12-13 18:28:12
- System
- Changed event_queue_stat to event_profiling_summary
- Added event counter, changed some counters to under events
- Changed previous event_queue_length to under event counter.
- Changed previous event_injection_per_sec to under event counter.
- Changed previous event_complete_per_sec to under event counter.
- Object
- Added object counter, changed some counters to under objects
- Changed previous objects to “object_count” under object counter.
- Changed previous outstanding_update_query to under object counter.
- Changed previous outstanding_fetch_query to under object counter.
- Fixed incorrect handling of fields with unset values in the object migration tool
- Added object counter, changed some counters to under objects
v1.0.0-1888 (2016-12-08)¶
2016-12-08 02:36:51
- Object
- Fixed overwriting of files extracted from the object migration tool
v1.0.0-1886 (2016-12-07)¶
2016-12-07 19:54:38
- misc.
- Fixed build failure when Unity DLL built on server is used on the client
v1.0.0-1881 (2016-12-06)¶
2016-12-06 21:12:45
- System
- Fixed assertion crashing during event handling
- Added queue time to event profiling (queue_time_xxx)
- Changed name of event profiling wait_time_xxx to io_wait_time_xxx
- Changed name of each statistics item in event queue
- Changed completion_xxx -> execution_time_xxx.
- Changed wait_xxx -> io_wait_time_xxx.
- Object
- Fixed Assert failed: cache_for_lease_.Remove(object_id) crashing
- Fixed potential unclearing of some resources during event timeout
- Fixed bug causing crash when schema installed simultaneously on several servers
- Fixed crashing during DB schema update in CentOS
- misc.
- Updated networking feature documentation
- Fixed incorrect explanation in Document: os.cpus
v1.0.0-1852 (2016-11-21)¶
2016-11-21 13:21:40
Warning
breaking changes
Multicast: Fixed client crashing bug when sending Protobuf multicast messages in iOS
If using multicast, you need to use at least plugin version 186 and rebuild Protobuf DLL.
- Service
- Multicast: Fixed client crashing bug when sending Protobuf multicast messages in iOS
v1.0.0-1848 (2016-11-18)¶
2016-11-18 02:17:43
Warning
breaking changes
Updated to only regenerate when object DB procedure changed
Tables have been added due to this modification, and you can now execute DDL queries. If DB permissions are insufficient, the server may crash.
Locked col__tag column length at 36
You can now execute DDL queries changing col__tag to 36 because of this change. If DB permissions are insufficient, the server may crash.
Fixed crashing due to “Assert failed: ObjectCache::Delete(...)”
You need to rebuild your game server to apply the change.
Added TRANSACTION ISOLATION LEVEL READ UNCOMMITTED setting for objects
If you change this option when use_db_stored_procedure: true, you can execute the DDL regenerating the procedure. If DB permissions are insufficient, the server may crash.
Session::GetLastReceiveTime(msgtype)Added hook called when Session::GetLastReceiveTime(msgtype), SendMessage()
You need to rebuild your game server.
- Object
- Fixed crashing due to “Assert failed: IsValid()”
- Added feature to automatically change if string columns are long
- Added DB table schema verification for objects
- Added DB procedure schema verification for objects
- Updated to only regenerate when object DB procedure changed
- Locked col__tag column length at 36
- Fixed crashing due to “Assert failed: ObjectCache::Delete(...)”
- Added TRANSACTION ISOLATION LEVEL READ UNCOMMITTED setting for objects
- Fixed table verification failure after schema installation
- Fixed incorrect server shutdown when object DB schema retrieved
- System
- Fixed “Assert failed: IsValid()” crashing when using MulticastServer
- Fixed “Assert failed: IsValid()” crashing when 2 or more event handlers registered in one event type
- Updated event thread hang checker
- Updated event handling
- Network
- Session::GetLastReceiveTime(msgtype)Added hook called when Session::GetLastReceiveTime(msgtype), SendMessage()
- HttpClient: Fixed retry when DNS search problem occurred
- Framework
- Fixed abnormal server shutdown when shutting down during component installation
- Distribution
- Fixed “failed to unpublish” log output problem
- Fixed distribution handling problem with incorrect build options in CentOS
- misc.
- Improved document search
- Added biller changelog
- Added authenticator changelog
- Added leaderboard changelog
- Documented core dump debugging
v1.0.0-1814 (2016-10-28)¶
2016-10-28 16:35:29
- Object
- Fixed bug in which some procedures dropped when using export_db_schema option
- Fixed bug not reflecting changed schema in insert, update procedures
v1.0.0-1810 (2016-10-26)¶
2016-10-26 11:16:51
Warning
Breaking Changes
Fixed failure to detect array and map attribute type changes
The server may crash if array or map attribute types are changed while the server is running.
- Distribution
- Fixed crashing due to distribution assert
- Fixed RPC connection failure bug when the server shut down unexpectedly
- Rpc::SetStatus() Fixed unreflected peers during Rpc::SetStatus() access handling
- Object
- Fixed failure to detect array and map attribute type changes
- misc.
- Allowed proto file in directories outside {project}-source/src
v1.0.0-1791 (2016-10-05)¶
2016-10-05 16:52:44
Warning
Breaking Changes
Fixed failure to detect length changes in strings with variable lengths
You can retry the DB schema update when running the server. If DB permissions are limited, the DB schema update executes and the server may crash. In this case, use the export_db_schema option explained in Required DB permissions to update the DB schema with an administrator DB account.
- Object
- Fixed crashing due to distribution assert
- Fixed failure to detect length changes in strings with variable lengths
- Fixed bug in Python code when object handling code created
- misc.
- Document: Added Zookeeper max heap size Java option description
- Document: Added Zookeeper auto purge option description
v1.0.0-1783 (2016-09-28)¶
2016-09-28 16:56:21
- Object
- Fixed “failed to lease” log not output up to a set number of times
- Reduced unnecessary retries due to lease delay when object ownership changes
- Improved distribution performance
- Fixed server crash bug due to object fetch assert
- Distribution
- Fixed bug in which some Zookeeper clients were omitted from statistics
- Fixed omitted RPC finisher in engine
- Fixed RPC disconnect handler execution order bug
- Service
- Added Curl dependency to ClientResourceServce MANIFEST
- misc.
- Fixed funapi_profile failure to operate when there are multiple server processes
- Json::Copy() Optimized Json::Copy()
v1.0.0-1766 (2016-09-23)¶
2016-09-23 08:52:28
Warning
If you use IFE1 or IFE2 encryption, you must update the plugin to version 176 or higher.
- Network
- Fixed IFE1, IFE2 encryption bug
v1.0.0-1759 (2016-09-22)¶
2016-09-22 14:14:38
Warning
Breaking Changes
Removed leaderboard ScoreSubmissionRequest::kUpdate.
You need to change to ScoreSubmissionRequest::kHighScore.
Removed Redis Command(Async) function.
You need to change to the ExecuteCommand(Async) function.
- Service
- Leaderboard: Removed ScoreSubmissionRequest::kUpdate
- Distribution
- Fixed temporary inability to import objects
- Fixed intermittent crashing when server shuts down
- Fixed intermittent Zookeeper connection failure when server starts
- Fixed irregular handling during shutdown after crash
- Object
- Fixed infrequent assertion crash bug when remote server shuts down
- Fixed distribution assert crash bug
- Updated shutdown handling
- Database
- Redis: Removed Command(Async) function
- Network
- Added ChaCha20 / AES128 support to transport encryption
- Management
- Counter: Added concurrent_user counter
- Time
- Added timestamp and timestring change features to WallClock
- misc.
- Document: Added list of counters supported by engine
- Document: Updated C# Runtime test sample explanation
v1.0.0-1738 (2016-09-08)¶
2016-09-08 12:23:49
- Object
- Removed incorrect object handling assert
- Fixed excessive event rollbacks in particular situations
- Fixed bug when fetching the same object with different lock types in some situations
- Fixed potential server shutdown due to distribution assert
- Fixed bug when fetching null object ID with kReadCopyNoLock
- Framework
- Fixed “make check_features” failure to operate when there is a comment in the MANIFEST
- Fixed server not working in some IDE development environments when there is a comment in the MANIFEST
- misc.
- Documented how to use external libraries
- Document: Added plugin FunapiSession explanation
- Added Json::FromFileWithComments() and Json::FromStreamWithComments() reading JSON (including comments) from file and stream
v1.0.0-1718 (2016-08-31)¶
2016-08-31 15:10:22
- Object
- Fixed object lock downgrade bug
- Distribution
- Removed incorrect distribution assert
- Fixed crashes during shutdown
- System
- Event: Added event queue handling time statistics
- Framework
- Updated shutdown handling
- Management
- Counter: Added log output if counter exceeds threshold value
- misc.
- Document: Leaderboard: Added check for ranking schedule reset
- Document: Changed CLion build configuration description
- Document: Fixed broken links in leaderboard documentation
- Added client transfer documentation
v1.0.0-1697 (2016-08-19)¶
2016-08-19 10:41:22
- Distribution
- Fixed potential crashing during object handling
- misc.
- Documented how to lock package version
v1.0.0-1695 (2016-08-18)¶
2016-08-18 18:01:36
- Object
- Fixed potential assert hanging during object return handling
- Fixed event timeout handling bug
- Added Zookeeper owner cancellation when fetching broken objects
- Framework
- Fixed shutdown handling delay when server crashes while running
- Distribution
- Fixed distribution handling bug
- Service
- Added messages for transfer between client servers
v1.0.0-1679 (2016-08-12)¶
2016-08-12 17:04:52
- Framework
- Fixed shutdown failure bug after crash in some situations
- misc.
- Document: Redis: Added ExecuteCommand() function
- Document: Redis: Added ZCount, ZRem
- Document: Redis: Added Discard, Exec, Multi
v1.0.0-1668 (2016-08-09)¶
2016-08-09 07:58:51
- Object
- Allowed use of String(32) KEY / <String(32), ANY>
v1.0.0-1661 (2016-08-08)¶
2016-08-08 15:23:34
- Distribution
- Allowed use of several ZookeeperClient
- Added statistics for each ZookeeperClient
- Document: Distribution: Added statistics for each ZookeeperClient
- Object
- Updated object handling
v1.0.0-1657 (2016-08-05)¶
2016-08-05 17:13:47
Warning
Breaking Changes
String(32) now cannot be used with a key, and you need to rebuild. (This limitation will be lifted in a future release.)
- Object
- Fixed to allow separate string length for each ORM attribute
- misc.
- Documented how to choose update channels (package repositories)
- Added reference manual for String(n) types
v1.0.0-1650 (2016-07-30)¶
2016-07-30 16:15:23
- Object
- Object: Differentiated write and read in object DB statistics
- Document: Added explanation of differentiated write and read in object DB statistics
- Service
- Updated to serialize matchmaking progress CB and match CB
- Time
- Timer: Fixed kInvalidTimerId bug for timer ID values
v1.0.0-1643 (2016-07-15)¶
2016-07-15 17:19:51
- Object
Object: Fixed bug in which db_key_string_length, db_string_length changes were not applied
Document: Added or enhanced explanations of the following
- copy_cache_expiration_in_ms
- use_db_stored_procedure
- db_string_length, db_key_string_length
System: Event: Added event queue time to EventProfiler
Updated to execute as many unexecuted queries as possible and shut down when the server crashes
Document: Updated EventProfiler statistics
Added statistics for use of event timeout and objects to event profiler
Updated kReadCopyNoLock
Added query handling time statistics for each DB
Fixed crashes during export_db_schema when table DDL did not exist
- Network
- Added and documented IsOpened() function to check whether a session is opened
- Fixed bug in which messages sent through SendMessage() just before CloseTransport() were unable to be transmitted
- Database
- Redis: Updated to handle disconnection without waiting when connection closed
- Redis: Fixed Redis disconnection handling when using commands at the server install stage
- Distribution
- Object ownership canceled more quickly when the server crashes
- Added Zookeeper handling statistics
- System
- ResourceManager now supports DateTime, time, and date types
- Framework
- Allowed JavaScript notes in MANIFEST.json
- Time
- MariaDB Connector now supports DateTime, time, and date types
- misc.
- Document: Fixed MO guide example bug
- Allowed adding notes to object_model JSON files
- Document: Fixed errors in game server management -> planning data documentation
v1.0.0-1626 (2016-07-07)¶
2016-07-07 16:37:07
Warning
Breaking Changes
The server needs to be rebuilt after a version update with delayed updates added.
If using RPC, you need to rebuild your game server. (Related to Rpc::Call() function)
- Object
- Added database delayed update feature
- Distribution: Allowed distribution handling even if enable_database is off
- Matchmaking: Allowed use even if enable_database is off
- Multicast: Allowed use even if enable_database is off
- Document: Removed enable_database explanation from distribution, matchmaking, and multicast documentation
- Updated shutdown handling
- Distribution
- Updated RPC performance
- Reduced RPC connections between servers to 1
- Changed Rpc::Call() function returned value from Xid to void. (Solved problem of distributed exception handling with reply handler and return value)
- Added status feature automatically shared between servers
- Fixed handling as FATAL LOG rather than retry when some Zookeeper operations fail
- Allowed setting Zookeeper session timeout in MANIFEST
- Database
- Fixed failure when spaces in Redis key or value
- Redis::Command(), Redis::CommandAsync() functions are deprecated.
- Removal was planned for August, 2016, and they must be replaced with newly added Redis::ExecuteCommand() and Redis::ExecuteCommandAsync() functions.
- Network
- Changed default session timeout value from 1 hour to 5 minutes
- Service
- Document: Added CrossServerStorage component
- misc.
- Document: Added explanation of newly added options in billing agent
- Document: Fixed typos in MO game creation guide
- Document: Fixed matchmaking guide documentation
v1.0.0-1607 (2016-06-20)¶
2016-06-20 17:40:32
- Object
- Fixed omitted object lock test in some situations
- Fixed object lock table
- Fixed object lock table
- Fixed Object:Array PushBack
- Network
- Added feature so all transport automatically closes when a session is closed
- misc.
- Document: Object: Added explanation of export_db_schema option
- Document: Fixed typos in Leaderboard:DeleteScoreSync() function example
- Added MariaDB Connector explanation
v1.0.0-1595 (2016-06-13)¶
2016-06-13 18:22:17
- Object
- Fixed object ReadLock latency bug and improved readability
- Added feature to select object ID
- Distribution
- Removed unnecessary Zookeeper requests
v1.0.0-1582 (2016-06-02)¶
2016-06-02 21:56:55
- Service
- Leaderboard: When ranking reset date is passed, the next day is now shown Updated so that when the ranking reset date passes, the L``eaderboardResetSchedule`` structure member upcoming_date_time, next_date_time, and latest_date_time values show the next reset date.
- Object
- Removed unnecessary assert if there is a duplicate key when objects are fetched with multiple keys
- Allowed setting DB character set in MANIFEST
- Allowed setting number of key shard connections separately from object shards
- Framework
- Added feature to output license data When the server is running and the --license flag is set, license data is output in the following format. License info: {"production":true,"expires":"2017-Dec-31 23:59:59"}
- Account
- Leaderboard: Added API to check for ranking reset
- You must update the leaderboard agent to use the API.
- Network
- Output message type as log when invalid message received
- Added unescape handling for HTTP request URI
- Management
- ApiService: Supported asynchronous handling
- Leaderboard
- Leaderboard: Fixed API bug checking for reset
- misc.
- Document: Added plugin ping explanation
v1.0.0-1568 (2016-05-23)¶
2016-05-23 08:17:32
- Object
- Fixed excessive holding of fetched objects in cache during timed out events
- Management
- Added feature to set ApiService log level
- misc.
- Document: Added RuntimeConfiguration documentation
- Document: Added plugin debug log explanation
- Fixed omitted funapi_core_analyze bash script distribution
- Added explanation of event timeout handler
- Added explanation of DB settings
v1.0.0-1558 (2016-05-13)¶
2016-05-13 16:01:46
Warning
Breaking Changes
You need the latest version of the plugin for multicast updates. A new error code, (ErrorCode) EC_CLOSED, has been added, and handling of channel reentry must be added when this error code is received. You need to use the new version of the plugin for this.
- Service
- MulticastServer can return the number of channels and users.
- Service: Multicast: Updated channel join/leave handling
- Added feature to retrieve client resource list from CDN
- Network
- Added urgent message transmission feature
- Fixed name assignment in threads created by the engine
- Improved handling when receiving invalid JSON messages through HTTP
- Framework
- Added manifest encryption feature
- Time
- Fixed timer asserts when handling server shutdown
- misc.
- Document: Updated plugin documentation
- Document: Updated server test documentation
- Document: Added plugin log explanation
- Supported MANIFEST override when executed with local launcher
v1.0.0-1550 (2016-05-02)¶
2016-05-02 10:31:27
- Network
- Allowed ping sampling interval and timeout changes in runtime for each session
- Fixed bug in which some requests failed when HttpClient created in large quantities
- Object
- Changed array type getter method to const
- Service
- Authenticator: Reflected changed NexonToy protocol
- misc.
- Changed minidumps to core dumps and added script executing GDB
- Fixed incorrect log path setting when executing a flavor as a service
v1.0.0-1542 (2016-04-11)¶
2016-04-11 18:01:03
- Management
- AppInfo: Added compatible client version Set/Get function
- RuntimeConfiguration: Added AppInfo compatible client version You can get compatible client versions when requested with HTTP GET as follows.
- You can modify compatible client versions by requesting with HTTP POST. Enter the version as a JSON array type in the HTTP body. (You can also enter empty JSON arrays.)
- RuntimeConfiguration: Added AppInfo client_current_version
- Network
- Added feature to connect to peer clients to test servers
- Service
- Authentication: Added Nexon Toy
- Database
- Redis: Fixed infrequent handling delays
- Time
- Added WallClock::FromSec, MonotonicClock::FromSec
- Distribution
- Updated to shut down server when connection to Zookeeper server fails while server is running
- misc.
- Document: Updated explanation of events in reference documentation
- Document: Added explanation of packet replay attack blocking
v1.0.0-1530 (2016-04-04)¶
2016-04-04 11:23:03
- Network
- Added feature to get mutex to synchronize when session context accessed from multi-thread
- Removed unnecessary assert when making a new connection at the same time as a TCP connection closes
- TcpTransportDetachedHandler is now executed with session ID as an event tag
- Fixed very infrequent crash bug when server starts
- Added sequence number validation feature to test sequence numbers of TCP and HTTP messages without using session reliability in order to block duplicate messages
- Added feature to automatically disconnect when ping unanswered within a set time
- Distribution
- Added warning feature when RPC reply not sent within 5 seconds
- Management
- Added feature to set number of event tags to handle ApiService
- System
- Updated so common event tag(timer, api service handler) are not automatically inherited
- misc.
- Document: Fixed mistakes in explanation of commands to start biller as a service
- Turned on all compile time warnings when a project is created
- Reflected latest update in component model explanation
v1.0.0-1514 (2016-03-17)¶
2016-03-17 20:14:27
- Service
- Fixed some callbacks not being invoked on disconnection from matchmaking server
- Multicast: Fixed failure to run when rpc_enabled: false
- Multicast: Fixed incorrect emphasis location in MANIFEST.json explanation
- Multicast: Fixed crashes on disconnection with server
- Management
- RuntimeConfiguration: Updated so server starts even when flags that can’t be set are input
- Network
- Fixed disconnection bug when Session::GetRemoteEndPoint() invoked
- misc.
- Updated Visual Studio documentation
- Added English version of tutorial
- Fixed some Korean reference documents