# PC SDK 오류 코드
StovePCResult 열거형을 통해 전달하는 오류코드를 상세히 기술합니다.
| 오류코드 | 코드 문자열 | 원인 | 해결방법 | 
|---|---|---|---|
| 0 | NO_ERROR | 정상 | N/A | 
| [50 ~ 99 Config & Error] | |||
| 50 | INVALID_CONFIG | 환경설정 값이 유효하지 않습니다. | 환경설정 값이 누락되었거나 유효한지 확인합니다. | 
| 51 | INVALID_CALLBACK | 콜백함수 설정이 유효하지 않습니다. | 콜백함수 설정이 누락되었거나 유효한지 확인합니다. | 
| 52 | INVALID_LOG_LEVEL | 로그레벨이 유효하지 않습니다. | 로그레벨 설정값이 유효한지 확인합니다. 테스트 시에는 4로 설정하며, 연동 완료 시에는 2로 설정합니다. | 
| 53 | INVALID_LOG_PATH | 로그경로가 유효하지 않습니다. | 설정된 로그 경로에 폴더가 있는지 확인하거나 빈값으로 둡니다. | 
| 54 | INVALID_ENV | 서버로부터 환경정보를 획득하지 못했습니다. | Env 값을 "Live"로 설정합니다. | 
| [100 ~ 149 Core Error] | |||
| 100 | CORE_NOT_INITIALIZE | SDK가 내부에서 초기화에 실패하였습니다. | SDK 초기화 함수가 호출되었고, 초기화가 성공했는지 확인합니다. | 
| 101 | CORE_ALREADY_INITIALIZE | SDK가 이미 초기화되었습니다. | SDK 초기화를 반복 실행하는지 검토합니다. 검토 후 이상이 없을 경우 STOVE 담당자에게 문의합니다. | 
| 102 | CORE_TASKS_ALL_EMPTY | SDK의 모든 작업이 생성되지 않았습니다. | SDK 초기화 함수가 호출되었고, 초기화가 성공했는지 확인합니다. | 
| 103 | CORE_CALLBACK_EXECUTE_NULLPTR | SDK에서 주소가 NULL 인 콜백을 호출하였습니다. | Stove 담당자에게 문의 합니다. | 
| [150 ~ 199 SGUP Error] | |||
| 150 | SGUP_NOT_INITIALIZE | SGUP 작업이 초기화 되지 않았습니다. | STOVE 런처를 실행하고 로그인합니다. | 
| 151 | SGUP_TASK_EMPTY | SGUP 작업이 생성되지 않았습니다. | SDK 초기화 함수가 호출되었고, 초기화가 성공했는지 확인합니다. | 
| 152 | SGUP_EXTERNAL_ERROR | SGUP 작업 외부에서 에러가 발생했습니다. | STOVE 담당자에게 문의합니다. | 
| 153 | SGUP_ONTOKEN_EMPTY | SGUP 토큰 관련 콜백 함수가 설정되지 않았습니다. | SDK 초기화시 설정되었던 OnToken 콜백이 정상적으로 설정되었는지 확인합니다. | 
| 154 | SGUP_ONUSER_EMPTY | SGUP 유저 관련 콜백 함수가 설정되지 않았습니다. | SDK 초기화시 설정되었던 OnUser 콜백이 정상적으로 설정되었는지 확인합니다. | 
| 155 | SGUP_TOKEN_INVALID | SGUP 토큰이 유효하지 않습니다. | - C:\Program Files (x86)\Smilegate\STOVE 폴더에 지정된 PolicyConfig.json 파일이 있는지 확인합니다. - AppKey, SecretKey, GameID를 정확하게 입력했는지 확인합니다.  | 
| [200 ~ 249 Ownership Error] | |||
| 200 | OWNERSHIP_NOT_INITIALIZE | Ownership 작업이 초기화되지 않았습니다. | STOVE 담당자에게 문의합니다. | 
| 201 | OWNERSHIP_TOKEN_INVALID | Ownership 토큰이 유효하지 않습니다. | SDK 초기화를 재시도 해보고, 계속 동일오류 발생시 STOVE 담당자에게 문의합니다. | 
| 202 | OWNERSHIP_TASK_EMPTY | Ownership 작업이 비어 있습니다. | SDK 초기화 함수가 호출되었고, 초기화가 성공했는지 확인합니다. | 
| 203 | OWNERSHIP_ONOWNERSHIP_EMPTY | Ownership 콜백이 설정되지 않았습니다. | SDK 초기화시 설정되었던 OnOwnership 콜백이 정상적으로 설정되었는지 확인합니다. | 
| 204 | OWNERSHIP_HTTP_ERROR | Ownership 조회 후 네트워크 에러가 발생하였습니다. | OnError 콜백으로 전달받은 StovePCError 구조체의 정보를 STOVE 담당자에게 전달하며 문의합니다. | 
| 205 | OWNERSHIP_RESPONSE_ERROR | Ownership 조회 후 응답값이 유효하지 않습니다. | 게임 소유권이 있는 STOVE ID로 STOVE 런처 로그인 후 시도합니다. 소유권 부여는 STOVE 담당자에게 문의합니다. | 
| [250 ~ 299 Stats Error] | |||
| 250 | STATS_PARAM_INVALID | Stats 호출 파라미터가 유효하지 않습니다. | API 호출 파라미터가 유효한지 확인합니다. | 
| 251 | STATS_TOKEN_INVALID | Stats 토큰이 유효하지 않습니다. | SDK 초기화를 재시도 해보고, 계속 동일오류 발생시 스토브 담당자에게 문의합니다. | 
| 252 | STATS_TASK_EMPTY | Stats 작업이 비어 있습니다. | SDK 초기화 함수가 호출되었고, 초기화가 성공했는지 확인합니다. | 
| 253 | STATS_ONSTAT_EMPTY | Stats 콜백이 설정되지 않았습니다. | SDK 초기화시 설정되었던 OnStat 콜백이 정상적으로 설정되었는지 확인합니다. | 
| 254 | STATS_ONSETSTAT_EMPTY | Stats 콜백이 설정되지 않았습니다. | SDK 초기화시 설정되었던 OnSetStat 콜백이 정상적으로 설정되었는지 확인합니다. | 
| 255 | STATS_HTTP_ERROR | Stats 조회 후 네트워크 에러가 발생하였습니다. | OnError 콜백으로 전달받은 StovePCError 구조체의 정보를 STOVE 담당자에게 전달하며 문의합니다. | 
| 256 | STATS_RESPONSE_ERROR | Stats API 호출시 응답값이 유효하지 않습니다. | OnError 콜백으로 전달받은 StovePCError 구조체의 정보를 STOVE 담당자에게 전달하며 문의합니다. | 
| [300 ~ 349 Achievement Error] | |||
| 300 | ACHIEVEMENT_PARAM_INVALID | Achievement 호출 파라미터가 유효하지 않습니다. | API 호출 파라미터가 유효한지 확인합니다. | 
| 301 | ACHIEVEMENT_TOKEN_INVALID | Achievement 토큰이 유효하지 않습니다. | SDK 초기화를 재시도 해보고, 계속 동일오류 발생시 STOVE 담당자에게 문의합니다. | 
| 302 | ACHIEVEMENT_TASK_EMPTY | Achievement 작업이 비어 있습니다. | SDK 초기화 함수가 호출되었고, 초기화가 성공했는지 확인합니다. | 
| 303 | ACHIEVEMENT_ONACHIEVEMENT_EMPTY | Achievement 콜백이 설정되지 않았습니다. | SDK 초기화시 설정되었던 OnAchievement 콜백이 정상적으로 설정되었는지 확인합니다. | 
| 304 | ACHIEVEMENT_ONALLACHIEVEMENT_EMPTY | Achievement 콜백이 설정되지 않았습니다. | SDK 초기화시 설정되었던 OnAllAchievement 콜백이 정상적으로 설정되었는지 확인합니다. | 
| 305 | ACHIEVEMENT_HTTP_ERROR | Achievement 조회 후 네트워크 에러가 발생하였습니다. | OnError 콜백으로 전달받은 StovePCError 구조체의 정보를 STOVE 담당자에게 전달하며 문의합니다. | 
| 306 | ACHIEVEMENT_RESPONSE_ERROR | Achievement 조회 후 응답값이 유효하지 않습니다. | OnError 콜백으로 전달받은 StovePCError 구조체의 정보를 STOVE 담당자에게 전달하며 문의합니다. | 
| [350 ~ 399 Leaderboard Error] | |||
| 350 | LEADERBOARD_PARAM_INVALID | Leaderboard 호출 파라미터가 유효하지 않습니다. | Leaderboard API 호출 파라미터가 유효한지 확인합니다. | 
| 351 | LEADERBOARD_TOKEN_INVALID | Leaderboard 토큰이 유효하지 않습니다. | SDK 초기화를 재시도 해보고, 계속 동일 오류 발생시 스토브 담당자에게 문의합니다. | 
| 352 | LEADERBOARD_TASK_EMPTY | Leaderboard 작업이 비어 있습니다. | SDK 초기화 함수가 호출되었고, 초기화가 성공했는지 확인합니다. | 
| 353 | LEADERBOARD_ONRANK_EMPTY | Leaderboard 콜백이 설정되지 않았습니다. | SDK 초기화시 설정되었던 OnRank 콜백이 정상적으로 설정되었는지 확인합니다. | 
| 354 | LEADERBOARD_HTTP_ERROR | Leaderboard API 호출시 네트워크 에러가 발생하였습니다. | OnError 콜백으로 전달받은 StovePCError 구조체의 정보를 STOVE 담당자에게 전달하며 문의합니다. | 
| 355 | LEADERBOARD_RESPONSE_ERROR | Leaderboard 조회 후 응답값이 유효하지 않습니다. | OnError 콜백으로 전달받은 StovePCError 구조체의 정보를 STOVE 담당자에게 전달하며 문의합니다. | 
| [400 ~ 449 Member Error] | |||
| 400 | STOVE_PC_MEMBER_TOKEN_INVALID | Member 토큰이 유효하지 않습니다. | SDK 초기화를 재시도 해보고, 계속 동일오류 발생시 STOVE 담당자에게 문의합니다. | 
| 401 | STOVE_PC_MEMBER_TASK_EMPTY | Member 작업이 비어 있습니다. | SDK 초기화 함수가 호출되었고, 초기화가 성공했는지 확인합니다. | 
| 402 | STOVE_PC_MEMBER_HTTP_ERROR | Member 조회 후 네트워크 에러가 발생하였습니다. | OnError 콜백으로 전달받은 StovePCError 구조체의 정보를 STOVE 담당자에게 전달하며 문의합니다. | 
| 403 | STOVE_PC_MEMBER_RESPONSE_ERROR | Member 조회 후 응답값이 유효하지 않습니다. | Env 값을 "Live"로 설정합니다. | 
| [450 ~ 499 Popup Error] | |||
| 460 | POPUP_SETGAMEPROFILE_NOT_CALL | 게임프로필이 설정되지 않았습니다. | SetGameProfile API를 호출합니다. | 
| [500 ~ 549 Billing Error] | |||
| 550 | BILLING_PARAM_INVALID | Billing 호출 파라미터가 유효하지 않습니다. | Billing API 호출 파라미터가 유효한지 확인합니다. | 
| 551 | BILLING_TASK_EMPTY | Billing 작업이 비어 있습니다. | SDK 초기화 함수가 호출되었고, 초기화가 성공했는지 확인합니다. | 
| 552 | BILLING_NOT_SET_SHOP_KEY | Shop Key 가 설정되지 않았습니다. | Shop Key 를 이용하여 IAP 초기화 함수를 호출합니다. | 
| 553 | BILLING_ONFETCHSHOPCATEGORIES_EMPTY | Billing 콜백이 설정되지 않았습니다. | SDK 초기화시 설정되었던 OnFetchShopCategories콜백이 정상적으로 설정되었는지 확인합니다. | 
| 554 | BILLING_ONFETCHPRODUCTS_EMPTY | Billing 콜백이 설정되지 않았습니다. | SDK 초기화시 설정되었던 OnFetchProducts 콜백이 정상적으로 설정되었는지 확인합니다. | 
| 555 | BILLING_ONSTARTPURCHASE_EMPTY | Billing 콜백이 설정되지 않았습니다. | SDK 초기화시 설정되었던 OnStartPurchase 콜백이 정상적으로 설정되었는지 확인합니다. | 
| 556 | BILLING_ONCONFIRMPURCHASE_EMPTY | Billing 콜백이 설정되지 않았습니다. | SDK 초기화시 설정되었던 OnConfirmPurchase 콜백이 정상적으로 설정되었는지 확인합니다. | 
| 557 | BILLING_ONFETCHINVENTORY_EMPTY | Billing 콜백이 설정되지 않았습니다. | SDK 초기화시 설정되었던 OnFetchInventory 콜백이 정상적으로 설정되었는지 확인합니다. | 
| 558 | BILLING_HTTP_ERROR | Billing 조회 후 네트워크 에러가 발생하였습니다. | OnError 콜백으로 전달받은 StovePCError 구조체의 정보를 STOVE 담당자에게 전달하며 문의합니다. | 
| 559 | BILLING_RESPONSE_ERROR | Billing 조회 후 응답값이 유효하지 않습니다. | OnError 콜백으로 전달받은 StovePCError 구조체의 정보를 STOVE 담당자에게 전달하며 문의합니다. | 
| [600 ~ 649 GlobalDomain Error] | |||
| 600 | GLOBALDOMAIN_TOKEN_INVALID | GlobalDomain 토큰이 유효하지 않습니다. | SDK 초기화를 재시도 해보고, 계속 동일오류 발생시 STOVE 담당자에게 문의합니다. | 
| 601 | GLOBALDOMAIN_TASK_EMPTY | GlobalDomain 작업이 비어 있습니다. | SDK 초기화 함수가 호출되었고, 초기화가 성공했는지 확인합니다. | 
| 602 | GLOBALDOMAIN_HTTP_ERROR | GlobalDomain 조회 후 네트워크 에러가 발생하였습니다. | OnError 콜백으로 전달받은 StovePCError 구조체의 정보를 STOVE 담당자에게 전달하며 문의합니다. | 
| 603 | GLOBALDOMAIN_RESPONSE_ERROR | GlobalDomain 조회 후 응답값이 유효하지 않습니다. | OnError 콜백으로 전달받은 StovePCError 구조체의 정보를 STOVE 담당자에게 전달하며 문의합니다. | 
| [650 ~ 699 Shutdown Error] | |||
| 650 | SHUTDOWN_TOKEN_INVALID | Shutdown 토큰이 유효하지 않습니다. | SDK 초기화를 재시도 해보고, 계속 동일오류 발생시 STOVE 담당자에게 문의합니다. | 
| 651 | SHUTDOWN_TASK_EMPTY | Shutdown 작업이 비어 있습니다. | SDK 초기화 함수가 호출되었고, 초기화가 성공했는지 확인합니다. | 
| 653 | SHUTDOWN_HTTP_ERROR | Shutdown 조회 후 네트워크 에러가 발생하였습니다. | OnError 콜백으로 전달받은 StovePCError 구조체의 정보를 STOVE 담당자에게 전달하며 문의합니다. | 
| 654 | SHUTDOWN_RESPONSE_ERROR | Shutdown 조회 후 응답값이 유효하지 않습니다. | OnError 콜백으로 전달받은 StovePCError 구조체의 정보를 STOVE 담당자에게 전달하며 문의합니다. | 
| [700 ~ 749 Terms Error] | |||
| 700 | SHUTDOWN_TOKEN_INVALID | STOVE_PC_TERMS_TOKEN_INVALID | SDK 초기화를 재시도 해보고, 계속 동일오류 발생시 STOVE 담당자에게 문의합니다. | 
| 701 | STOVE_PC_TERMS_TASK_EMPTY | Terms 작업이 비어 있습니다. | SDK 초기화 함수가 호출되었고, 초기화가 성공했는지 확인합니다. | 
| 702 | STOVE_PC_TERMS_ONFETCHTERMSAGREEMENT_EMPTY | Terms 작업이 비어 있습니다. | SDK 초기화시 설정되었던 OnFetchTermsAgreement 콜백이 정상적으로 설정되었는지 확인합니다. | 
| 703 | STOVE_PC_TERMS_HTTP_ERROR | Terms 조회 후 네트워크 에러가 발생하였습니다. | OnError 콜백으로 전달받은 StovePCError 구조체의 정보를 STOVE 담당자에게 전달하며 문의합니다. | 
| 704 | STOVE_PC_TERMS_RESPONSE_ERROR | Terms 조회 후 응답값이 유효하지 않습니다. | OnError 콜백으로 전달받은 StovePCError 구조체의 정보를 STOVE 담당자에게 전달하며 문의합니다. | 
| [External Error] | |||
| 806 | SgupTokenInvalid | Fail to get token from sgup_api | 155와 동일한 오류입니다.  - C:\Program Files (x86)\Smilegate\STOVE 폴더에 지정된 PolicyConfig.json 파일이 있는지 확인합니다. - AppKey, SecretKey를 정확하게 입력했는지 확인합니다.  | 
| [900 ~ * Exception] | |||
| 900 | UNMANAGED_EXCEPTION | - Unmanaged Code에서 Exception 발생 | - STOVE 런처 설치 여부를 확인합니다. - LogPath 가 null 로 설정되어 있는지 확인하며, 해당 값을 빈문자열(“”)로 설정합니다. - StovePC.Uninitialize 메서드의 정상적 호출 여부를 확인하며, SDK 초기화(Init) 함수 반복 호출 여부를 확인합니다. ( wrongInitCount' is max) | 
| 901 | MANAGED_EXCEPTION | Managed Code에서 Exception 발생 | - 바이너리 폴더에 SDK 관련 DLL 파일들이 존재하는지 확인하며, 게임 클라이언트를 최종 사용자에게 배포할 때 반드시 같이 배포되어야 합니다.  - 여전히 오류가 발생하는 경우 STOVE 담당자에게 문의합니다.  |