diff --git a/EpinelPS/Utils/AdminCommands.cs b/EpinelPS/Utils/AdminCommands.cs index 37b71c2..910fa96 100644 --- a/EpinelPS/Utils/AdminCommands.cs +++ b/EpinelPS/Utils/AdminCommands.cs @@ -22,36 +22,43 @@ namespace EpinelPS.Utils static AdminCommands() { // Use TLS 1.1 so that tencents cloudflare knockoff wont complain - var handler = new SocketsHttpHandler + if (!OperatingSystem.IsLinux()) { - ConnectCallback = async (context, cancellationToken) => + var handler = new SocketsHttpHandler { - var socket = new Socket(SocketType.Stream, ProtocolType.Tcp) { NoDelay = true }; - try + ConnectCallback = async (context, cancellationToken) => { - await socket.ConnectAsync(context.DnsEndPoint, cancellationToken); - - var sslStream = new SslStream(new NetworkStream(socket, ownsSocket: true)); - - // When using HTTP/2, you must also keep in mind to set options like ApplicationProtocols - await sslStream.AuthenticateAsClientAsync(new SslClientAuthenticationOptions + var socket = new Socket(SocketType.Stream, ProtocolType.Tcp) { NoDelay = true }; + try { - TargetHost = connectingServer, - EnabledSslProtocols = System.Security.Authentication.SslProtocols.Tls11 + await socket.ConnectAsync(context.DnsEndPoint, cancellationToken); - }, cancellationToken); + var sslStream = new SslStream(new NetworkStream(socket, ownsSocket: true)); - return sslStream; + // When using HTTP/2, you must also keep in mind to set options like ApplicationProtocols + await sslStream.AuthenticateAsClientAsync(new SslClientAuthenticationOptions + { + TargetHost = connectingServer, + EnabledSslProtocols = System.Security.Authentication.SslProtocols.Tls11 + + }, cancellationToken); + + return sslStream; + } + catch + { + socket.Dispose(); + throw; + } } - catch - { - socket.Dispose(); - throw; - } - } - }; + }; - client = new(handler); + client = new(handler); + } + else + { + client = new(); + } client.DefaultRequestHeaders.Add("Accept", "application/octet-stream+protobuf"); } public static RunCmdResponse CompleteStage(ulong userId, string input2) @@ -390,7 +397,7 @@ namespace EpinelPS.Utils if (staticData == null) { Logging.WriteLine("failed to fetch static data", LogType.Error); - return new RunCmdResponse() { error = "failed to fetch static data"}; + return new RunCmdResponse() { error = "failed to fetch static data" }; } ResGetResourceHosts2? resources = await FetchProtobuf(resourcesUrl); diff --git a/EpinelPS/gameconfig.json b/EpinelPS/gameconfig.json index 269edf7..d5380ec 100644 --- a/EpinelPS/gameconfig.json +++ b/EpinelPS/gameconfig.json @@ -1,12 +1,12 @@ { "StaticData": { - "Url": "https://cloud.nikke-kr.com/prdenv/134-ce2379822e/staticdata/data/qa-250703-06b-p1/414753/StaticData.pack", - "Version": "data/qa-250703-06b-p1/414753", - "Salt1": "kbw3h12qTr6egB4SueaF/pK13taZOsdiGi3EVqfYk10=", - "Salt2": "O8/54O+q8iphSdb6rvMzbjYsmgQyyDD1IhEFKT/VOkw=" + "Url": "https://cloud.nikke-kr.com/prdenv/135-c05aac789a/staticdata/data/qa-250717-07b/419667/StaticData.pack", + "Version": "data/qa-250717-07b/419667", + "Salt1": "5prM5DL0RWmFHRBQEdNUkHjKrsU8wJGUcEjVIzTgR/c=", + "Salt2": "B+UfKdkD8k00OcdtwkcoEkqUSrHkKq34Mq+V0tmsmA8=" }, - "ResourceBaseURL": "https://cloud.nikke-kr.com/prdenv/134-b50c98eb0c/{Platform}", + "ResourceBaseURL": "https://cloud.nikke-kr.com/prdenv/135-bd156d2b15/{Platform}", "GameMinVer": "100.0.1", "GameMaxVer": "150.0.2", - "TargetVersion": "134.8.13" + "TargetVersion": "135.8.9" } \ No newline at end of file diff --git a/EpinelPS/gameversion.json b/EpinelPS/gameversion.json index c3c4041..66c3065 100644 --- a/EpinelPS/gameversion.json +++ b/EpinelPS/gameversion.json @@ -6,18 +6,18 @@ "version_info": { "game_id": "16601", "branch_id": "1", - "version_id": "0.0.0.53", - "version_name": "NIKKE.PC_Offcial_GL_134.14.8", + "version_id": "0.0.0.54", + "version_name": "NIKKE.PC_Offcial_GL_135.8.9", "version_status": 7, "service_status": 0, - "build_id": "3033", - "cos_repo_files": "[{\"cdn_root\":\"https://cloud.nikke-kr.com/PC/prod/rid.48-r.02587\",\"chunk_encrypt_flag\":0,\"manifest_files\":[{\"chunks\":[{\"chunk_index\":0,\"chunk_md5\":\"d858f7b8c31b9741f7b856ff1fa39a3c\",\"chunk_size\":114440,\"chunk_uncompress_md5\":\"d858f7b8c31b9741f7b856ff1fa39a3c\",\"chunk_uncompress_size\":114440}],\"file_url\":\"/manifestv2/48_5937488248518583328_0.manifest\",\"manifest_md5\":\"d858f7b8c31b9741f7b856ff1fa39a3c\",\"manifest_size\":114440}],\"manifest_flag\":13,\"manifest_id\":5937488248518583000,\"manifest_version\":2,\"patch_size\":98310550,\"repository_desc\":{\"zh_CN\":\"game repo\"},\"repository_id\":48,\"repository_name\":{\"en_US\":\"Game\",\"zh_CN\":\"Game\"},\"repository_size\":361665016,\"repository_type\":\"Game\",\"repository_uncompress_size\":855154431}]", - "cos_access_info": "[{\"repository_id\":48,\"repository_type\":\"Game\",\"repository_name\":\"Game\",\"repository_name_en\":\"Game\",\"description\":\"game repo\",\"cos_list\":[{\"public_cdn_domain\":\"https://cloud.nikke-kr.com\"}],\"encrytion_key\":\"158f36bf7e611c945320c399294c4a6d\",\"encrytion_algorithm_id\":6,\"manifest_encrytion_key\":\"0f448b096bb4dc5b339debdce77c4572\",\"manifest_encrytion_algorithm_id\":6,\"game_id\":16601,\"manifest_id\":5937488248518583918}]", - "key_file_info": "[{\"crc\":3292498551,\"path\":\"NIKKE\\\\game\\\\nikke.exe\"}]", + "build_id": "3042", + "cos_repo_files": "[{\"cdn_root\":\"https://cloud.nikke-kr.com/PC/prod/rid.48-r.02587\",\"chunk_encrypt_flag\":0,\"manifest_files\":[{\"chunks\":[{\"chunk_index\":0,\"chunk_md5\":\"8cc5c716fba68b5c4b362032ad3d7bb0\",\"chunk_size\":114504,\"chunk_uncompress_md5\":\"8cc5c716fba68b5c4b362032ad3d7bb0\",\"chunk_uncompress_size\":114504}],\"file_url\":\"/manifestv2/48_5937488248518587458_0.manifest\",\"manifest_md5\":\"8cc5c716fba68b5c4b362032ad3d7bb0\",\"manifest_size\":114504}],\"manifest_flag\":13,\"manifest_id\":5937488248518587000,\"manifest_version\":2,\"patch_size\":102550753,\"repository_desc\":{\"zh_CN\":\"game repo\"},\"repository_id\":48,\"repository_name\":{\"en_US\":\"Game\",\"zh_CN\":\"Game\"},\"repository_size\":363621221,\"repository_type\":\"Game\",\"repository_uncompress_size\":858595589}]", + "cos_access_info": "[{\"repository_id\":48,\"repository_type\":\"Game\",\"repository_name\":\"Game\",\"repository_name_en\":\"Game\",\"description\":\"game repo\",\"cos_list\":[{\"public_cdn_domain\":\"https://cloud.nikke-kr.com\"}],\"encrytion_key\":\"158f36bf7e611c945320c399294c4a6d\",\"encrytion_algorithm_id\":6,\"manifest_encrytion_key\":\"0f448b096bb4dc5b339debdce77c4572\",\"manifest_encrytion_algorithm_id\":6,\"game_id\":16601,\"manifest_id\":5937488248518588003}]", + "key_file_info": "[{\"crc\":727874762,\"path\":\"NIKKE\\\\game\\\\nikke.exe\"}]", "install_script": "{\"script_content\":{\"executable\":[]}}", - "installer_size": "361665016", - "installed_size": "855154431", - "publish_time_in_unix": "1751509395", + "installer_size": "363621221", + "installed_size": "858595589", + "publish_time_in_unix": "1752718920", "is_first_version_in_branch": "1", "version_description": "[{\"lang_code\":\"en\",\"text\":\"\"},{\"lang_code\":\"ja\",\"text\":\"\"},{\"lang_code\":\"ko\",\"text\":\"\"}]", "update_type": 0 @@ -26,18 +26,18 @@ "launcher_version_info": { "game_id": "16701", "branch_id": "1", - "version_id": "0.0.6.566", - "version_name": "nikke_launcher_0.0.6.566", + "version_id": "0.0.6.595", + "version_name": "nikke_launcher_0.0.6.595", "version_status": 7, "service_status": 0, - "build_id": "3021", - "cos_repo_files": "[{\"cdn_root\":\"https://cloud.nikke-kr.com/PC/prod/rid.50-r.971a3\",\"chunk_encrypt_flag\":0,\"manifest_files\":[{\"chunks\":[{\"chunk_index\":0,\"chunk_md5\":\"7659df0cfec38d88ddd2fecf93dda0e7\",\"chunk_size\":51648,\"chunk_uncompress_md5\":\"7659df0cfec38d88ddd2fecf93dda0e7\",\"chunk_uncompress_size\":51648}],\"file_url\":\"/manifestv2/50_5937488248518577632_0.manifest\",\"manifest_md5\":\"7659df0cfec38d88ddd2fecf93dda0e7\",\"manifest_size\":51648}],\"manifest_flag\":13,\"manifest_id\":5937488248518577000,\"manifest_version\":2,\"patch_size\":15065676,\"repository_desc\":{\"zh_CN\":\"game repo\"},\"repository_id\":50,\"repository_name\":{\"en_US\":\"Game\",\"zh_CN\":\"Game\"},\"repository_size\":139887960,\"repository_type\":\"Game\",\"repository_uncompress_size\":381139998}]", - "cos_access_info": "[{\"repository_id\":50,\"repository_type\":\"Game\",\"repository_name\":\"Game\",\"repository_name_en\":\"Game\",\"description\":\"game repo\",\"cos_list\":[{\"public_cdn_domain\":\"https://cloud.nikke-kr.com\"}],\"encrytion_key\":\"ab00cbd5b9e6f7c4759c12d489b34b61\",\"encrytion_algorithm_id\":10,\"manifest_encrytion_key\":\"f8c65f692a6a021a688507a6e441786a\",\"manifest_encrytion_algorithm_id\":6,\"game_id\":16701,\"manifest_id\":5937488248518577665}]", - "key_file_info": "[{\"crc\":2732686968,\"path\":\"nikke_launcher.exe\"}]", + "build_id": "3046", + "cos_repo_files": "[{\"cdn_root\":\"https://cloud.nikke-kr.com/PC/prod/rid.50-r.971a3\",\"chunk_encrypt_flag\":0,\"manifest_files\":[{\"chunks\":[{\"chunk_index\":0,\"chunk_md5\":\"2b3fcf9336cc25460a3084ec58fb7849\",\"chunk_size\":51584,\"chunk_uncompress_md5\":\"2b3fcf9336cc25460a3084ec58fb7849\",\"chunk_uncompress_size\":51584}],\"file_url\":\"/manifestv2/50_5937488248518588008_0.manifest\",\"manifest_md5\":\"2b3fcf9336cc25460a3084ec58fb7849\",\"manifest_size\":51584}],\"manifest_flag\":13,\"manifest_id\":5937488248518588000,\"manifest_version\":2,\"patch_size\":16104236,\"repository_desc\":{\"zh_CN\":\"game repo\"},\"repository_id\":50,\"repository_name\":{\"en_US\":\"Game\",\"zh_CN\":\"Game\"},\"repository_size\":136731702,\"repository_type\":\"Game\",\"repository_uncompress_size\":377990832}]", + "cos_access_info": "[{\"repository_id\":50,\"repository_type\":\"Game\",\"repository_name\":\"Game\",\"repository_name_en\":\"Game\",\"description\":\"game repo\",\"cos_list\":[{\"public_cdn_domain\":\"https://cloud.nikke-kr.com\"}],\"encrytion_key\":\"ab00cbd5b9e6f7c4759c12d489b34b61\",\"encrytion_algorithm_id\":10,\"manifest_encrytion_key\":\"f8c65f692a6a021a688507a6e441786a\",\"manifest_encrytion_algorithm_id\":6,\"game_id\":16701,\"manifest_id\":5937488248518588010}]", + "key_file_info": "[{\"crc\":3674981956,\"path\":\"nikke_launcher.exe\"}]", "install_script": "{\"script_content\":{\"executable\":[]}}", - "installer_size": "139887960", - "installed_size": "381139998", - "publish_time_in_unix": "1749656517", + "installer_size": "136731702", + "installed_size": "377990832", + "publish_time_in_unix": "1752720849", "is_first_version_in_branch": "1", "version_description": "[{\"lang_code\":\"en\",\"text\":\"\"},{\"lang_code\":\"ja\",\"text\":\"\"},{\"lang_code\":\"id\",\"text\":\"\"},{\"lang_code\":\"th\",\"text\":\"\"},{\"lang_code\":\"pt\",\"text\":\"\"},{\"lang_code\":\"es\",\"text\":\"\"},{\"lang_code\":\"de\",\"text\":\"\"},{\"lang_code\":\"fr\",\"text\":\"\"},{\"lang_code\":\"zh-Hans\",\"text\":\"\"},{\"lang_code\":\"zh-Hant\",\"text\":\"\"}]", "update_type": 2