From c2e7c09a25e5162e676a8c824e04205dd8c8af54 Mon Sep 17 00:00:00 2001 From: Scighost <scighost@outlook.com> Date: Sat, 16 Nov 2024 15:06:25 +0800 Subject: [PATCH] hoyoplay game server config --- src/Starward.Core/HoYoPlay/GameId.cs | 6 ++- src/Starward.Core/HoYoPlay/GameInfo.cs | 57 ++++++++++++++++++++++++++ 2 files changed, 62 insertions(+), 1 deletion(-) diff --git a/src/Starward.Core/HoYoPlay/GameId.cs b/src/Starward.Core/HoYoPlay/GameId.cs index 469b9fff4..509c4444c 100644 --- a/src/Starward.Core/HoYoPlay/GameId.cs +++ b/src/Starward.Core/HoYoPlay/GameId.cs @@ -24,6 +24,10 @@ public class GameId : IEquatable<GameId> { GameBiz.bh3_cn => new GameId { Id = "osvnlOc0S8", GameBiz = "bh3_cn" }, GameBiz.bh3_global => new GameId { Id = "5TIVvvcwtM", GameBiz = "bh3_global" }, + GameBiz.bh3_jp => new GameId { Id = "g0mMIvshDb", GameBiz = "bh3_global" }, + GameBiz.bh3_kr => new GameId { Id = "uxB4MC7nzC", GameBiz = "bh3_global" }, + GameBiz.bh3_os => new GameId { Id = "bxPTXSET5t", GameBiz = "bh3_global" }, + GameBiz.bh3_asia => new GameId { Id = "wkE5P5WsIf", GameBiz = "bh3_global" }, GameBiz.hk4e_cn => new GameId { Id = "1Z8W5NHUQb", GameBiz = "hk4e_cn" }, GameBiz.hk4e_global => new GameId { Id = "gopR6Cufr3", GameBiz = "hk4e_global" }, GameBiz.hk4e_bilibili => new GameId { Id = "T2S0Gz4Dr2", GameBiz = "hk4e_cn" }, @@ -32,7 +36,7 @@ public class GameId : IEquatable<GameId> GameBiz.hkrpg_bilibili => new GameId { Id = "EdtUqXfCHh", GameBiz = "hkrpg_cn" }, GameBiz.nap_cn => new GameId { Id = "x6znKlJ0xK", GameBiz = "nap_cn" }, GameBiz.nap_global => new GameId { Id = "U5hbdsT9W7", GameBiz = "nap_global" }, - GameBiz.nap_bilibili => new GameId { Id = "HXAFlmYa17", GameBiz = "nap_bilibili" }, + GameBiz.nap_bilibili => new GameId { Id = "HXAFlmYa17", GameBiz = "nap_cn" }, _ => null, }; } diff --git a/src/Starward.Core/HoYoPlay/GameInfo.cs b/src/Starward.Core/HoYoPlay/GameInfo.cs index ff951889b..df42fc4a1 100644 --- a/src/Starward.Core/HoYoPlay/GameInfo.cs +++ b/src/Starward.Core/HoYoPlay/GameInfo.cs @@ -28,6 +28,11 @@ public class GameInfo : GameId [JsonPropertyName("display_status")] public string DisplayStatus { get; set; } + /// <summary> + /// 服务器信息,暂时仅崩坏三国际服在使用 + /// </summary> + [JsonPropertyName("game_server_configs")] + public List<GameServerConfig> GameServerConfigs { get; set; } } @@ -103,4 +108,56 @@ public abstract class GameInfoDisplayStatus public const string LAUNCHER_GAME_DISPLAY_STATUS_COMING_SOON = "LAUNCHER_GAME_DISPLAY_STATUS_COMING_SOON"; public const string LAUNCHER_GAME_DISPLAY_STATUS_RESERVATION_ENABLED = "LAUNCHER_GAME_DISPLAY_STATUS_RESERVATION_ENABLED"; +} + + + +public class GameServerConfig +{ + + /// <summary> + /// 游戏本地化名称 + /// </summary> + [JsonPropertyName("i18n_name")] + public string I18nName { get; set; } + + /// <summary> + /// 游戏服务器本地化名称 + /// </summary> + [JsonPropertyName("i18n_description")] + public string I18nDescription { get; set; } + + /// <summary> + /// 服务器id + /// </summary> + [JsonPropertyName("package_name")] + public string PackageName { get; set; } + + /// <summary> + /// 注册表key + /// </summary> + [JsonPropertyName("auto_scan_registry_key")] + public string AutoScanRegistryKey { get; set; } + + /// <summary> + /// 服务器id + /// </summary> + [JsonPropertyName("package_detection_info")] + public string PackageDetectionInfo { get; set; } + + [JsonPropertyName("game_id")] + public string GameId { get; set; } + + /// <summary> + /// 预约链接 + /// </summary> + [JsonPropertyName("reservation")] + public GameInfoReservation? Reservation { get; set; } + + /// <summary> + /// <see cref="GameInfoDisplayStatus"/> + /// </summary> + [JsonPropertyName("display_status")] + public string DisplayStatus { get; set; } + } \ No newline at end of file