mirror of
https://github.com/EpinelPS/EpinelPS.git
synced 2025-12-13 23:44:45 +01:00
update to 138, use mpk by default
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
using System.Data;
|
using System.Data;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Security.Cryptography;
|
using System.Security.Cryptography;
|
||||||
using EpinelPS.Database;
|
using EpinelPS.Database;
|
||||||
@@ -33,7 +33,7 @@ namespace EpinelPS.Data
|
|||||||
private int currentFile;
|
private int currentFile;
|
||||||
|
|
||||||
// TODO: all of the data types need to be changed to match the game
|
// TODO: all of the data types need to be changed to match the game
|
||||||
private bool UseMemoryPack = false;
|
private bool UseMemoryPack = true;
|
||||||
|
|
||||||
public readonly Dictionary<string, MapInfo> MapData = [];
|
public readonly Dictionary<string, MapInfo> MapData = [];
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using MemoryPack;
|
using MemoryPack;
|
||||||
using System.Data;
|
using System.Data;
|
||||||
using System.Runtime.Serialization;
|
using System.Runtime.Serialization;
|
||||||
|
|
||||||
@@ -323,10 +323,17 @@ namespace EpinelPS.Data
|
|||||||
public partial class OutpostBattleTableRecord
|
public partial class OutpostBattleTableRecord
|
||||||
{
|
{
|
||||||
public int id;
|
public int id;
|
||||||
|
public int battle_box_level;
|
||||||
|
public int main_stage_clear_count;
|
||||||
|
public int reward_id;
|
||||||
public int credit;
|
public int credit;
|
||||||
|
public int time_credit;
|
||||||
public int character_exp1;
|
public int character_exp1;
|
||||||
public int character_exp2;
|
public int time_charexp1;
|
||||||
public int user_exp;
|
public int user_exp;
|
||||||
|
public int time_user_exp;
|
||||||
|
public int character_exp2;
|
||||||
|
public int time_charexp2;
|
||||||
}
|
}
|
||||||
|
|
||||||
[MemoryPackable]
|
[MemoryPackable]
|
||||||
@@ -1175,8 +1182,8 @@ namespace EpinelPS.Data
|
|||||||
public EventPlaySodaGameType game_type;
|
public EventPlaySodaGameType game_type;
|
||||||
public int step;
|
public int step;
|
||||||
public int reward_id;
|
public int reward_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
[MemoryPackable]
|
[MemoryPackable]
|
||||||
public partial class EventMVGQuestRecord_Raw
|
public partial class EventMVGQuestRecord_Raw
|
||||||
{
|
{
|
||||||
@@ -1269,32 +1276,32 @@ namespace EpinelPS.Data
|
|||||||
{
|
{
|
||||||
Daily,
|
Daily,
|
||||||
Achievement
|
Achievement
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum EventMVGMIssionSubType
|
public enum EventMVGMIssionSubType
|
||||||
{
|
{
|
||||||
None,
|
None,
|
||||||
MonsterKill,
|
MonsterKill,
|
||||||
BossMonsterKill,
|
BossMonsterKill,
|
||||||
GetItem,
|
GetItem,
|
||||||
ChapterClear,
|
ChapterClear,
|
||||||
Explorer
|
Explorer
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum EventMVGMissionConditionType
|
public enum EventMVGMissionConditionType
|
||||||
{
|
{
|
||||||
KillMonster,
|
KillMonster,
|
||||||
KillBossMonster,
|
KillBossMonster,
|
||||||
GetCurrency,
|
GetCurrency,
|
||||||
GetCollectable,
|
GetCollectable,
|
||||||
None,
|
None,
|
||||||
ClearAchievement,
|
ClearAchievement,
|
||||||
TargetPoint,
|
TargetPoint,
|
||||||
ClearMap,
|
ClearMap,
|
||||||
GetUpgradeMax,
|
GetUpgradeMax,
|
||||||
GetModule,
|
GetModule,
|
||||||
UseKey,
|
UseKey,
|
||||||
GetMemory,
|
GetMemory,
|
||||||
PlayMVG,
|
PlayMVG,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using EpinelPS.Data;
|
using EpinelPS.Data;
|
||||||
using EpinelPS.Database;
|
using EpinelPS.Database;
|
||||||
using EpinelPS.Utils;
|
using EpinelPS.Utils;
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ using Google.Protobuf;
|
|||||||
|
|
||||||
namespace EpinelPS.LobbyServer.Misc
|
namespace EpinelPS.LobbyServer.Misc
|
||||||
{
|
{
|
||||||
[PacketPath("/get-static-data-pack-info")]
|
[PacketPath("/get-static-data-pack-info-mpk")]
|
||||||
public class GetStaticDataPackNew : LobbyMsgHandler
|
public class GetStaticDataPackNew : LobbyMsgHandler
|
||||||
{
|
{
|
||||||
protected override async Task HandleAsync()
|
protected override async Task HandleAsync()
|
||||||
@@ -13,14 +13,14 @@ namespace EpinelPS.LobbyServer.Misc
|
|||||||
|
|
||||||
Console.WriteLine("Requesting " + req.Type);
|
Console.WriteLine("Requesting " + req.Type);
|
||||||
|
|
||||||
StaticData data = req.Type == StaticDataPackType.Mpk ? GameConfig.Root.StaticDataMpk : GameConfig.Root.StaticData;
|
StaticData data = GameConfig.Root.StaticDataMpk;
|
||||||
|
|
||||||
ResStaticDataPackInfoV2 r = new()
|
ResStaticDataPackInfoV2 r = new()
|
||||||
{
|
{
|
||||||
Url = data.Url,
|
Url = data.Url,
|
||||||
Version = data.Version,
|
Version = data.Version,
|
||||||
Size = req.Type == StaticDataPackType.Mpk ? GameData.Instance.MpkSize : GameData.Instance.Size,
|
Size = GameData.Instance.MpkSize,
|
||||||
Sha256Sum = ByteString.CopyFrom(req.Type == StaticDataPackType.Mpk ? GameData.Instance.MpkHash : GameData.Instance.Sha256Hash),
|
Sha256Sum = ByteString.CopyFrom(GameData.Instance.MpkHash),
|
||||||
Salt1 = ByteString.CopyFrom(Convert.FromBase64String(data.Salt1)),
|
Salt1 = ByteString.CopyFrom(Convert.FromBase64String(data.Salt1)),
|
||||||
Salt2 = ByteString.CopyFrom(Convert.FromBase64String(data.Salt2))
|
Salt2 = ByteString.CopyFrom(Convert.FromBase64String(data.Salt2))
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -403,7 +403,7 @@ namespace EpinelPS.Utils
|
|||||||
return new RunCmdResponse() { error = "failed to get real server ip, check internet connection" };
|
return new RunCmdResponse() { error = "failed to get real server ip, check internet connection" };
|
||||||
|
|
||||||
// Get latest static data info from server
|
// Get latest static data info from server
|
||||||
ResStaticDataPackInfoV2? staticData = await FetchProtobuf<ResStaticDataPackInfoV2, ReqStaticDataPackInfoV2>(staticDataUrl, new ReqStaticDataPackInfoV2()
|
/*ResStaticDataPackInfoV2? staticData = await FetchProtobuf<ResStaticDataPackInfoV2, ReqStaticDataPackInfoV2>(staticDataUrl, new ReqStaticDataPackInfoV2()
|
||||||
{
|
{
|
||||||
Type = StaticDataPackType.Json
|
Type = StaticDataPackType.Json
|
||||||
});
|
});
|
||||||
@@ -411,7 +411,7 @@ namespace EpinelPS.Utils
|
|||||||
{
|
{
|
||||||
Logging.WriteLine("failed to fetch static data", LogType.Error);
|
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" };
|
||||||
}
|
}*/
|
||||||
|
|
||||||
// Get latest static data info from server
|
// Get latest static data info from server
|
||||||
ResStaticDataPackInfoV2? staticData2 = await FetchProtobuf<ResStaticDataPackInfoV2, ReqStaticDataPackInfoV2>(staticDataUrl,
|
ResStaticDataPackInfoV2? staticData2 = await FetchProtobuf<ResStaticDataPackInfoV2, ReqStaticDataPackInfoV2>(staticDataUrl,
|
||||||
@@ -434,10 +434,10 @@ namespace EpinelPS.Utils
|
|||||||
}
|
}
|
||||||
|
|
||||||
GameConfig.Root.ResourceBaseURL = resources.BaseUrl;
|
GameConfig.Root.ResourceBaseURL = resources.BaseUrl;
|
||||||
GameConfig.Root.StaticData.Salt1 = staticData.Salt1.ToBase64();
|
/*GameConfig.Root.StaticData.Salt1 = staticData.Salt1.ToBase64();
|
||||||
GameConfig.Root.StaticData.Salt2 = staticData.Salt2.ToBase64();
|
GameConfig.Root.StaticData.Salt2 = staticData.Salt2.ToBase64();
|
||||||
GameConfig.Root.StaticData.Version = staticData.Version;
|
GameConfig.Root.StaticData.Version = staticData.Version;
|
||||||
GameConfig.Root.StaticData.Url = staticData.Url;
|
GameConfig.Root.StaticData.Url = staticData.Url;*/
|
||||||
|
|
||||||
GameConfig.Root.StaticDataMpk.Salt1 = staticData2.Salt1.ToBase64();
|
GameConfig.Root.StaticDataMpk.Salt1 = staticData2.Salt1.ToBase64();
|
||||||
GameConfig.Root.StaticDataMpk.Salt2 = staticData2.Salt2.ToBase64();
|
GameConfig.Root.StaticDataMpk.Salt2 = staticData2.Salt2.ToBase64();
|
||||||
|
|||||||
@@ -6,13 +6,13 @@
|
|||||||
"Salt2": "VwXjh0/SPpN+Osa8bvroFVNYIKd5F06vS1KYlIaVGAY="
|
"Salt2": "VwXjh0/SPpN+Osa8bvroFVNYIKd5F06vS1KYlIaVGAY="
|
||||||
},
|
},
|
||||||
"StaticDataMpk": {
|
"StaticDataMpk": {
|
||||||
"Url": "https://cloud.nikke-kr.com/prdenv/137-ca2cdb9fcd/staticdata/data/qa-250904-09b/453421/mpk/StaticData.pack",
|
"Url": "https://cloud.nikke-kr.com/prdenv/138-c33f99fd4f/staticdata/data/qa-250924-09c/461037/mpk/StaticData.pack",
|
||||||
"Version": "data/qa-250904-09b/453421",
|
"Version": "data/qa-250924-09c/461037",
|
||||||
"Salt1": "y/K4n/++KE1v1UGqSfoXV2+ilMqXlJP2AJzGTvy7F70=",
|
"Salt1": "mSeQrFtpXu5ExqxZKo79PMMbr8mm1F2Und+yt/xrsWE=",
|
||||||
"Salt2": "AFdGkgz20UZQ6C9p8z4IE6Dv5fzz46ggE9Wv6m6pTjI="
|
"Salt2": "eHer1RRkj8MCDRyb8J76cULrTUsEJY7OExTr4sKz6Wk="
|
||||||
},
|
},
|
||||||
"ResourceBaseURL": "https://cloud.nikke-kr.com/prdenv/137-b7e4a25fec/{Platform}",
|
"ResourceBaseURL": "https://cloud.nikke-kr.com/prdenv/138-b89af37c16/{Platform}",
|
||||||
"GameMinVer": "100.0.1",
|
"GameMinVer": "100.0.1",
|
||||||
"GameMaxVer": "150.0.2",
|
"GameMaxVer": "150.0.2",
|
||||||
"TargetVersion": "137.8.9"
|
"TargetVersion": "138.8.14"
|
||||||
}
|
}
|
||||||
@@ -6,18 +6,18 @@
|
|||||||
"version_info": {
|
"version_info": {
|
||||||
"game_id": "16601",
|
"game_id": "16601",
|
||||||
"branch_id": "1",
|
"branch_id": "1",
|
||||||
"version_id": "0.0.0.56",
|
"version_id": "0.0.0.57",
|
||||||
"version_name": "NIKKE.PC_Offcial_GL_137.8.7",
|
"version_name": "NIKKE.PC_Offcial_GL_138.8.14",
|
||||||
"version_status": 7,
|
"version_status": 7,
|
||||||
"service_status": 0,
|
"service_status": 0,
|
||||||
"build_id": "3063",
|
"build_id": "3071",
|
||||||
"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\":\"f7f158a20392f3355b15e6908f0f5e75\",\"chunk_size\":115232,\"chunk_uncompress_md5\":\"f7f158a20392f3355b15e6908f0f5e75\",\"chunk_uncompress_size\":115232}],\"file_url\":\"/manifestv2/48_5937488248518599460_0.manifest\",\"manifest_md5\":\"f7f158a20392f3355b15e6908f0f5e75\",\"manifest_size\":115232}],\"manifest_flag\":13,\"manifest_id\":5937488248518600000,\"manifest_version\":2,\"patch_size\":182554328,\"repository_desc\":{\"zh_CN\":\"game repo\"},\"repository_id\":48,\"repository_name\":{\"en_US\":\"Game\",\"zh_CN\":\"Game\"},\"repository_size\":462051623,\"repository_type\":\"Game\",\"repository_uncompress_size\":950326914}]",
|
"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\":\"9aaa5675f669d16941839867e012e902\",\"chunk_size\":115864,\"chunk_uncompress_md5\":\"9aaa5675f669d16941839867e012e902\",\"chunk_uncompress_size\":115864}],\"file_url\":\"/manifestv2/48_5937488248518605394_0.manifest\",\"manifest_md5\":\"9aaa5675f669d16941839867e012e902\",\"manifest_size\":115864}],\"manifest_flag\":13,\"manifest_id\":5937488248518606000,\"manifest_version\":2,\"patch_size\":103713164,\"repository_desc\":{\"zh_CN\":\"game repo\"},\"repository_id\":48,\"repository_name\":{\"en_US\":\"Game\",\"zh_CN\":\"Game\"},\"repository_size\":469227674,\"repository_type\":\"Game\",\"repository_uncompress_size\":963221126}]",
|
||||||
"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\":5937488248518601723}]",
|
"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\":5937488248518607246}]",
|
||||||
"key_file_info": "[{\"crc\":1522599809,\"path\":\"NIKKE\\\\game\\\\nikke.exe\"}]",
|
"key_file_info": "[{\"crc\":4219392621,\"path\":\"NIKKE\\\\game\\\\nikke.exe\"}]",
|
||||||
"install_script": "{\"script_content\":{\"executable\":[]}}",
|
"install_script": "{\"script_content\":{\"executable\":[]}}",
|
||||||
"installer_size": "462051623",
|
"installer_size": "469227674",
|
||||||
"installed_size": "950326914",
|
"installed_size": "963221126",
|
||||||
"publish_time_in_unix": "1756953540",
|
"publish_time_in_unix": "1758641891",
|
||||||
"is_first_version_in_branch": "1",
|
"is_first_version_in_branch": "1",
|
||||||
"version_description": "[{\"lang_code\":\"en\",\"text\":\"\"},{\"lang_code\":\"ja\",\"text\":\"\"},{\"lang_code\":\"ko\",\"text\":\"\"}]",
|
"version_description": "[{\"lang_code\":\"en\",\"text\":\"\"},{\"lang_code\":\"ja\",\"text\":\"\"},{\"lang_code\":\"ko\",\"text\":\"\"}]",
|
||||||
"update_type": 0
|
"update_type": 0
|
||||||
|
|||||||
Reference in New Issue
Block a user