From 47f181aeacd73760adee002b71c66db52618a955 Mon Sep 17 00:00:00 2001 From: Somebody Date: Mon, 26 Aug 2024 13:05:20 +0800 Subject: [PATCH] Feature: Some Language will be set automatically --- Command/Command/Cmd/CommandSetlevel.cs | 2 -- Common/Data/Custom/BannersConfig.cs | 5 +--- Common/Database/Account/AccountData.cs | 2 -- Common/Database/DatabaseHelper.cs | 18 +++++------- Common/Database/Inventory/InventoryData.cs | 2 +- Common/Database/Lineup/LineupData.cs | 6 ---- Common/Database/Quests/MissionData.cs | 2 -- Common/Util/ConfigManager.cs | 22 ++++++++++---- Common/Util/Crypto.cs | 10 +++---- Common/Util/GameTools.cs | 18 ------------ Common/Util/UtilTools.cs | 28 ++++++++++++++++++ GameServer/Game/Battle/BattleManager.cs | 2 -- .../Game/ChessRogue/ChessRogueManager.cs | 5 ---- GameServer/Game/Friend/FriendManager.cs | 3 -- GameServer/Game/Inventory/InventoryManager.cs | 8 ----- GameServer/Game/Lineup/LineupManager.cs | 5 ---- GameServer/Game/Mission/MissionManager.cs | 1 - GameServer/Plugin/PluginManager.cs | 29 +++++++++---------- .../Phone/HandlerSelectChatBubbleCsReq.cs | 4 +-- .../Phone/HandlerSelectPhoneThemeCsReq.cs | 4 +-- .../Tutorial/HandlerUnlockTutorialCsReq.cs | 4 +-- .../HandlerUnlockTutorialGuideCsReq.cs | 4 +-- Program/Program/EntryPoint.cs | 2 +- 23 files changed, 77 insertions(+), 109 deletions(-) delete mode 100644 Common/Util/GameTools.cs create mode 100644 Common/Util/UtilTools.cs diff --git a/Command/Command/Cmd/CommandSetlevel.cs b/Command/Command/Cmd/CommandSetlevel.cs index 05a28029..019fe4b7 100644 --- a/Command/Command/Cmd/CommandSetlevel.cs +++ b/Command/Command/Cmd/CommandSetlevel.cs @@ -1,5 +1,4 @@ using EggLink.DanhengServer.Data; -using EggLink.DanhengServer.Database; using EggLink.DanhengServer.GameServer.Server.Packet.Send.PlayerSync; using EggLink.DanhengServer.Internationalization; @@ -27,7 +26,6 @@ public class CommandSetlevel : ICommand var level = Math.Max(Math.Min(arg.GetInt(0), 70), 1); player.Data.Level = level; player.OnLevelChange(); - DatabaseHelper.Instance?.UpdateInstance(player.Data); player.Data.Exp = GameData.GetPlayerExpRequired(level); await player.SendPacket(new PacketPlayerSyncScNotify(player.ToProto())); diff --git a/Common/Data/Custom/BannersConfig.cs b/Common/Data/Custom/BannersConfig.cs index f1f18a72..301ee196 100644 --- a/Common/Data/Custom/BannersConfig.cs +++ b/Common/Data/Custom/BannersConfig.cs @@ -1,5 +1,4 @@ -using EggLink.DanhengServer.Database; -using EggLink.DanhengServer.Database.Gacha; +using EggLink.DanhengServer.Database.Gacha; using EggLink.DanhengServer.Enums; using EggLink.DanhengServer.Proto; using GachaInfo = EggLink.DanhengServer.Proto.GachaInfo; @@ -80,8 +79,6 @@ public class BannerConfig } } - DatabaseHelper.Instance?.UpdateInstance(data); - return item; } diff --git a/Common/Database/Account/AccountData.cs b/Common/Database/Account/AccountData.cs index 83f5a79d..f868ab3e 100644 --- a/Common/Database/Account/AccountData.cs +++ b/Common/Database/Account/AccountData.cs @@ -34,14 +34,12 @@ public class AccountData : BaseDatabaseDataHelper public string GenerateDispatchToken() { DispatchToken = Crypto.CreateSessionKey(Uid.ToString()); - DatabaseHelper.Instance?.UpdateInstance(this); return DispatchToken; } public string GenerateComboToken() { ComboToken = Crypto.CreateSessionKey(Uid.ToString()); - DatabaseHelper.Instance?.UpdateInstance(this); return ComboToken; } } \ No newline at end of file diff --git a/Common/Database/DatabaseHelper.cs b/Common/Database/DatabaseHelper.cs index 7c35ff6a..ea576ac7 100644 --- a/Common/Database/DatabaseHelper.cs +++ b/Common/Database/DatabaseHelper.cs @@ -1,4 +1,5 @@ -using EggLink.DanhengServer.Database.Inventory; +using System.Globalization; +using EggLink.DanhengServer.Database.Inventory; using EggLink.DanhengServer.Database.Quests; using EggLink.DanhengServer.Internationalization; using EggLink.DanhengServer.Util; @@ -109,7 +110,9 @@ public class DatabaseHelper foreach (var instance in GetAllInstance()!) instance.MoveFromOld(); - foreach (var instance in GetAllInstance()!) UpdateInstance(instance); + foreach (var instance in GetAllInstance()!) + { + } } public void MoveFromSqlite() @@ -236,14 +239,6 @@ public class DatabaseHelper .Add((instance as BaseDatabaseDataHelper)!); // add to the map } - public void UpdateInstance(T instance) where T : class, new() - { - //lock (GetLock((instance as BaseDatabaseDataHelper)!.Uid)) - //{ - // sqlSugarScope?.Updateable(instance).ExecuteCommand(); - //} - } - public void CalcSaveDatabase() // per 5 min { if (LastSaveTick + TimeSpan.TicksPerMinute * 5 > DateTime.UtcNow.Ticks) return; @@ -271,8 +266,9 @@ public class DatabaseHelper } } + var t = (DateTime.Now - prev).TotalSeconds; logger.Info(I18NManager.Translate("Server.ServerInfo.SaveDatabase", - (DateTime.Now - prev).TotalSeconds.ToString()[..4])); + Math.Round(t, 2).ToString(CultureInfo.InvariantCulture))); ToSaveUidList.Clear(); } diff --git a/Common/Database/Inventory/InventoryData.cs b/Common/Database/Inventory/InventoryData.cs index 672d4c61..608f6adf 100644 --- a/Common/Database/Inventory/InventoryData.cs +++ b/Common/Database/Inventory/InventoryData.cs @@ -42,7 +42,7 @@ public class ItemData { GameData.RelicConfigData.TryGetValue(ItemId, out var config); if (config == null) return; - var affixId = GameTools.GetRandomRelicMainAffix(config.MainAffixGroup); + var affixId = UtilTools.GetRandomRelicMainAffix(config.MainAffixGroup); MainAffix = affixId; } diff --git a/Common/Database/Lineup/LineupData.cs b/Common/Database/Lineup/LineupData.cs index 8a756359..3c606ec1 100644 --- a/Common/Database/Lineup/LineupData.cs +++ b/Common/Database/Lineup/LineupData.cs @@ -56,8 +56,6 @@ public class LineupInfo result = true; } } - - DatabaseHelper.Instance?.UpdateInstance(AvatarData!); } return result; @@ -79,8 +77,6 @@ public class LineupInfo result = true; } } - - DatabaseHelper.Instance?.UpdateInstance(AvatarData!); } return result; @@ -101,8 +97,6 @@ public class LineupInfo result = true; } } - - DatabaseHelper.Instance?.UpdateInstance(AvatarData!); } return result; diff --git a/Common/Database/Quests/MissionData.cs b/Common/Database/Quests/MissionData.cs index 6aae491c..476be92a 100644 --- a/Common/Database/Quests/MissionData.cs +++ b/Common/Database/Quests/MissionData.cs @@ -97,8 +97,6 @@ public class MissionData : BaseDatabaseDataHelper else if (main.Value == MissionPhaseEnum.Accept) RunningMainMissionIds.SafeAdd(main.Key); MainMissionInfo.Clear(); - - DatabaseHelper.Instance!.UpdateInstance(this); } } diff --git a/Common/Util/ConfigManager.cs b/Common/Util/ConfigManager.cs index 4e3f1a47..db32acbf 100644 --- a/Common/Util/ConfigManager.cs +++ b/Common/Util/ConfigManager.cs @@ -5,7 +5,7 @@ namespace EggLink.DanhengServer.Util; public static class ConfigManager { - public static Logger logger = new("ConfigManager"); + public static Logger Logger = new("ConfigManager"); public static ConfigContainer Config { get; private set; } = new(); public static void LoadConfig() @@ -13,10 +13,22 @@ public static class ConfigManager var file = new FileInfo("config.json"); if (!file.Exists) { - logger.Warn("Config file not found, creating a new one"); - Config = new ConfigContainer(); - Config.MuipServer.AdminKey = Guid.NewGuid().ToString(); - logger.Info("Muipserver Admin key: " + Config.MuipServer.AdminKey); + Logger.Warn("Config file not found, creating a new one"); + + Config = new ConfigContainer + { + MuipServer = + { + AdminKey = Guid.NewGuid().ToString() + }, + ServerOption = + { + Language = UtilTools.GetCurrentLanguage() + } + }; + + Logger.Info("Current Language is " + Config.ServerOption.Language); + Logger.Info("Muipserver Admin key: " + Config.MuipServer.AdminKey); SaveConfig(); } diff --git a/Common/Util/Crypto.cs b/Common/Util/Crypto.cs index bd31fe54..625e0ce2 100644 --- a/Common/Util/Crypto.cs +++ b/Common/Util/Crypto.cs @@ -5,8 +5,8 @@ namespace EggLink.DanhengServer.Util; public class Crypto { - private static readonly Random secureRandom = new(); - public static Logger logger = new("Crypto"); + private static readonly Random SecureRandom = new(); + public static Logger Logger = new("Crypto"); public static void Xor(byte[] packet, byte[] key) { @@ -16,7 +16,7 @@ public class Crypto } catch (Exception e) { - logger.Error("Crypto error.", e); + Logger.Error("Crypto error.", e); } } @@ -24,9 +24,9 @@ public class Crypto public static string CreateSessionKey(string accountUid) { var random = new byte[64]; - secureRandom.NextBytes(random); + SecureRandom.NextBytes(random); - var temp = accountUid + "." + DateTime.Now.Ticks + "." + secureRandom; + var temp = accountUid + "." + DateTime.Now.Ticks + "." + SecureRandom; try { diff --git a/Common/Util/GameTools.cs b/Common/Util/GameTools.cs deleted file mode 100644 index a1f4e9e7..00000000 --- a/Common/Util/GameTools.cs +++ /dev/null @@ -1,18 +0,0 @@ -using EggLink.DanhengServer.Data; - -namespace EggLink.DanhengServer.Util; - -public static class GameTools -{ - public static int GetRandomRelicMainAffix(int GroupId) - { - GameData.RelicMainAffixData.TryGetValue(GroupId, out var affixes); - if (affixes == null) return 0; - List affixList = []; - foreach (var affix in affixes.Values) - if (affix.IsAvailable) - affixList.Add(affix.AffixID); - if (affixList.Count == 0) return 0; - return affixList.RandomElement(); - } -} \ No newline at end of file diff --git a/Common/Util/UtilTools.cs b/Common/Util/UtilTools.cs new file mode 100644 index 00000000..a0c0819a --- /dev/null +++ b/Common/Util/UtilTools.cs @@ -0,0 +1,28 @@ +using System.Globalization; +using EggLink.DanhengServer.Data; + +namespace EggLink.DanhengServer.Util; + +public static class UtilTools +{ + public static int GetRandomRelicMainAffix(int groupId) + { + GameData.RelicMainAffixData.TryGetValue(groupId, out var affixes); + if (affixes == null) return 0; + List affixList = []; + affixList.AddRange(from affix in affixes.Values where affix.IsAvailable select affix.AffixID); + return affixList.Count == 0 ? 0 : affixList.RandomElement(); + } + + public static string GetCurrentLanguage() + { + var uiCulture = CultureInfo.CurrentUICulture; + return uiCulture.Name switch + { + "zh-CN" => "CHS", + "zh-TW" => "CHT", + "ja-JP" => "JP", + _ => "EN" + }; + } +} \ No newline at end of file diff --git a/GameServer/Game/Battle/BattleManager.cs b/GameServer/Game/Battle/BattleManager.cs index e50b27e9..f80aa1be 100644 --- a/GameServer/Game/Battle/BattleManager.cs +++ b/GameServer/Game/Battle/BattleManager.cs @@ -1,6 +1,5 @@ using EggLink.DanhengServer.Data; using EggLink.DanhengServer.Data.Excel; -using EggLink.DanhengServer.Database; using EggLink.DanhengServer.Database.Inventory; using EggLink.DanhengServer.GameServer.Game.Battle.Skill; using EggLink.DanhengServer.GameServer.Game.Player; @@ -347,7 +346,6 @@ public class BattleManager(PlayerInstance player) : BasePlayerManager(player) } } - DatabaseHelper.Instance?.UpdateInstance(Player.AvatarManager!.AvatarData); await Player.SendPacket(new PacketSyncLineupNotify(lineup)); } diff --git a/GameServer/Game/ChessRogue/ChessRogueManager.cs b/GameServer/Game/ChessRogue/ChessRogueManager.cs index a484b165..52ab6146 100644 --- a/GameServer/Game/ChessRogue/ChessRogueManager.cs +++ b/GameServer/Game/ChessRogue/ChessRogueManager.cs @@ -88,8 +88,6 @@ public class ChessRogueManager(PlayerInstance player) : BasePlayerManager(player diceData.Surfaces = surfaceId; } - DatabaseHelper.Instance!.UpdateInstance(ChessRogueNousData); - return diceData; } @@ -109,7 +107,6 @@ public class ChessRogueManager(PlayerInstance player) : BasePlayerManager(player } diceData.Surfaces[index] = surfaceId; - DatabaseHelper.Instance!.UpdateInstance(ChessRogueNousData); return diceData; } @@ -133,8 +130,6 @@ public class ChessRogueManager(PlayerInstance player) : BasePlayerManager(player foreach (var d in dice.SurfaceList) diceData.Surfaces[(int)d.Index] = (int)d.SurfaceId; - DatabaseHelper.Instance!.UpdateInstance(ChessRogueNousData); - return diceData; } diff --git a/GameServer/Game/Friend/FriendManager.cs b/GameServer/Game/Friend/FriendManager.cs index 19bbb895..53c67ad0 100644 --- a/GameServer/Game/Friend/FriendManager.cs +++ b/GameServer/Game/Friend/FriendManager.cs @@ -62,9 +62,6 @@ public class FriendManager(PlayerInstance player) : BasePlayerManager(player) target.FriendList.Add(Player.Uid); target.SendApplyList.Remove(Player.Uid); - DatabaseHelper.Instance!.UpdateInstance(FriendData); - DatabaseHelper.Instance!.UpdateInstance(target); - var targetData = PlayerData.GetPlayerByUid(targetUid)!; var targetPlayer = Listener.GetActiveConnection(targetUid); if (targetPlayer != null) diff --git a/GameServer/Game/Inventory/InventoryManager.cs b/GameServer/Game/Inventory/InventoryManager.cs index 552171e9..d1a9d72f 100644 --- a/GameServer/Game/Inventory/InventoryManager.cs +++ b/GameServer/Game/Inventory/InventoryManager.cs @@ -251,7 +251,6 @@ public class InventoryManager(PlayerInstance player) : BasePlayerManager(player) } if (sync && removedItems.Count > 0) await Player.SendPacket(new PacketPlayerSyncScNotify(removedItems)); - DatabaseHelper.Instance?.UpdateInstance(Data); return removedItems; } @@ -486,8 +485,6 @@ public class InventoryManager(PlayerInstance player) : BasePlayerManager(player) var i = (await Player.InventoryManager!.AddItem(item.ItemId, item.Count, false))!; i.Count = item.Count; // return the all thing } - - DatabaseHelper.Instance!.UpdateInstance(Player.InventoryManager!.Data); } return items; @@ -796,7 +793,6 @@ public class InventoryManager(PlayerInstance player) : BasePlayerManager(player) avatarData.Level = curLevel; avatarData.Exp = curExp; - DatabaseHelper.Instance!.UpdateInstance(Player.AvatarManager.AvatarData!); // leftover Dictionary list = []; var leftover = exp; @@ -904,7 +900,6 @@ public class InventoryManager(PlayerInstance player) : BasePlayerManager(player) itemData.Level = curLevel; itemData.Exp = curExp; - DatabaseHelper.Instance!.UpdateInstance(Data); // leftover Dictionary list = []; var leftover = exp; @@ -989,7 +984,6 @@ public class InventoryManager(PlayerInstance player) : BasePlayerManager(player) await Player.InventoryManager!.RemoveItem(cost.ItemID, cost.ItemNum); equipmentData.Promotion++; - DatabaseHelper.Instance!.UpdateInstance(Player.InventoryManager.Data); await Player.SendPacket(new PacketPlayerSyncScNotify(equipmentData)); return true; @@ -1125,7 +1119,6 @@ public class InventoryManager(PlayerInstance player) : BasePlayerManager(player) var avatarData = Player.AvatarManager!.GetAvatar(baseAvatarId); if (avatarData == null) return; avatarData.GetCurPathInfo().Rank++; - DatabaseHelper.Instance!.UpdateInstance(Player.AvatarManager.AvatarData!); await Player.SendPacket(new PacketPlayerSyncScNotify(avatarData)); } @@ -1143,7 +1136,6 @@ public class InventoryManager(PlayerInstance player) : BasePlayerManager(player) var itemData = Data.EquipmentItems.Find(x => x.UniqueId == equipmentUniqueId); if (itemData == null) return; itemData.Rank += rank; - DatabaseHelper.Instance!.UpdateInstance(Data); await Player.SendPacket(new PacketPlayerSyncScNotify(itemData)); } diff --git a/GameServer/Game/Lineup/LineupManager.cs b/GameServer/Game/Lineup/LineupManager.cs index d1b52771..11293584 100644 --- a/GameServer/Game/Lineup/LineupManager.cs +++ b/GameServer/Game/Lineup/LineupManager.cs @@ -124,7 +124,6 @@ public class LineupManager : BasePlayerManager if (GetLineup(lineupIndex)!.BaseAvatars!.Count == 0) return false; LineupData.CurLineup = lineupIndex; LineupData.CurExtraLineup = -1; - DatabaseHelper.Instance?.UpdateInstance(LineupData); Player.SceneInstance?.SyncLineup(); await Player.SendPacket(new PacketSyncLineupNotify(GetCurLineup()!)); @@ -138,7 +137,6 @@ public class LineupManager : BasePlayerManager { // reset lineup LineupData.CurExtraLineup = -1; - DatabaseHelper.Instance?.UpdateInstance(LineupData); return; } @@ -281,7 +279,6 @@ public class LineupManager : BasePlayerManager else lineup.BaseAvatars?.RemoveAll(avatar => avatar.BaseAvatarId == avatarId); LineupData.Lineups[lineupIndex] = lineup; - DatabaseHelper.Instance?.UpdateInstance(LineupData); if (sendPacket) { @@ -354,7 +351,6 @@ public class LineupManager : BasePlayerManager var curLineup = GetCurLineup()!; curLineup.Mp -= count; curLineup.Mp = Math.Min(Math.Max(0, curLineup.Mp), 5); - DatabaseHelper.Instance?.UpdateInstance(LineupData); await Player.SendPacket(new PacketSceneCastSkillMpUpdateScNotify(castEntityId, curLineup.Mp)); } @@ -365,7 +361,6 @@ public class LineupManager : BasePlayerManager var curLineup = GetCurLineup()!; curLineup.Mp += count; curLineup.Mp = Math.Min(Math.Max(0, curLineup.Mp), 5); - DatabaseHelper.Instance?.UpdateInstance(LineupData); if (sendPacket) await Player.SendPacket( new PacketSyncLineupNotify(GetCurLineup()!, reason)); diff --git a/GameServer/Game/Mission/MissionManager.cs b/GameServer/Game/Mission/MissionManager.cs index a4f44e4d..196e4fe0 100644 --- a/GameServer/Game/Mission/MissionManager.cs +++ b/GameServer/Game/Mission/MissionManager.cs @@ -174,7 +174,6 @@ public class MissionManager : BasePlayerManager Status = MissionStatus.MissionDoing }); - DatabaseHelper.Instance?.UpdateInstance(Data); if (sendPacket) await Player.SendPacket(new PacketPlayerSyncScNotify(sync)); Player.SceneInstance!.SyncGroupInfo(); if (mission.SubMissionInfo != null) diff --git a/GameServer/Plugin/PluginManager.cs b/GameServer/Plugin/PluginManager.cs index 9d6d0510..8d8b689c 100644 --- a/GameServer/Plugin/PluginManager.cs +++ b/GameServer/Plugin/PluginManager.cs @@ -8,7 +8,7 @@ namespace EggLink.DanhengServer.GameServer.Plugin; public class PluginManager { - private static readonly Logger logger = new("PluginManager"); + private static readonly Logger Logger = new("PluginManager"); public static readonly Dictionary Plugins = []; public static readonly Dictionary> PluginAssemblies = []; @@ -32,8 +32,7 @@ public class PluginManager Directory.CreateDirectory(ConfigManager.Config.Path.PluginPath); var plugins = Directory.GetFiles(ConfigManager.Config.Path.PluginPath, "*.dll"); - var loaders = new List(); - AppDomain.CurrentDomain.AssemblyResolve += (sender, args) => + AppDomain.CurrentDomain.AssemblyResolve += (_, args) => { var assemblyName = new AssemblyName(args.Name).Name + ".dll"; var assemblyPath = Path.Combine(ConfigManager.Config.Path.PluginPath, assemblyName); @@ -70,18 +69,18 @@ public class PluginManager var pluginInfo = type.GetCustomAttribute(); if (pluginInfo != null) { - logger.Info( + Logger.Info( $"Loaded plugin {pluginInfo.Name} v{pluginInfo.Version}: {pluginInfo.Description}"); } else { - logger.Info($"Loaded plugin {plugin}: No plugin info"); + Logger.Info($"Loaded plugin {plugin}: No plugin info"); continue; } if (Plugins.Values.Any(p => p.Name == pluginInfo.Name)) { - logger.Error($"Failed to load plugin {plugin}: Plugin already loaded"); + Logger.Error($"Failed to load plugin {plugin}: Plugin already loaded"); continue; } @@ -99,25 +98,23 @@ public class PluginManager } else { - logger.Error($"Failed to load plugin {plugin}: Plugin instance is null"); + Logger.Error($"Failed to load plugin {plugin}: Plugin instance is null"); } } } catch (Exception ex) { - logger.Error($"Failed to load plugin {plugin}: {ex.Message}"); + Logger.Error($"Failed to load plugin {plugin}: {ex.Message}"); } } public static void UnloadPlugin(IPlugin plugin) { - if (Plugins.TryGetValue(plugin, out var value)) - { - plugin.OnUnload(); - Plugins.Remove(plugin); - PluginAssemblies.Remove(plugin); - logger.Info($"Unloaded plugin {value.Name}"); - } + if (!Plugins.TryGetValue(plugin, out var value)) return; + plugin.OnUnload(); + Plugins.Remove(plugin); + PluginAssemblies.Remove(plugin); + Logger.Info($"Unloaded plugin {value.Name}"); } @@ -125,7 +122,7 @@ public class PluginManager { foreach (var plugin in Plugins.Keys) UnloadPlugin(plugin); - logger.Info(I18NManager.Translate("Server.ServerInfo.UnloadedItems", I18NManager.Translate("Word.Plugin"))); + Logger.Info(I18NManager.Translate("Server.ServerInfo.UnloadedItems", I18NManager.Translate("Word.Plugin"))); } #endregion diff --git a/GameServer/Server/Packet/Recv/Phone/HandlerSelectChatBubbleCsReq.cs b/GameServer/Server/Packet/Recv/Phone/HandlerSelectChatBubbleCsReq.cs index 37d734a6..8ec29248 100644 --- a/GameServer/Server/Packet/Recv/Phone/HandlerSelectChatBubbleCsReq.cs +++ b/GameServer/Server/Packet/Recv/Phone/HandlerSelectChatBubbleCsReq.cs @@ -1,5 +1,4 @@ -using EggLink.DanhengServer.Database; -using EggLink.DanhengServer.GameServer.Server.Packet.Send.Phone; +using EggLink.DanhengServer.GameServer.Server.Packet.Send.Phone; using EggLink.DanhengServer.Kcp; using EggLink.DanhengServer.Proto; @@ -13,7 +12,6 @@ public class HandlerSelectChatBubbleCsReq : Handler var req = SelectChatBubbleCsReq.Parser.ParseFrom(data); connection.Player!.Data.ChatBubble = (int)req.BubbleId; - DatabaseHelper.Instance!.UpdateInstance(connection.Player!.Data); await connection.SendPacket(new PacketSelectChatBubbleScRsp(req.BubbleId)); } diff --git a/GameServer/Server/Packet/Recv/Phone/HandlerSelectPhoneThemeCsReq.cs b/GameServer/Server/Packet/Recv/Phone/HandlerSelectPhoneThemeCsReq.cs index a2a28091..a4fee823 100644 --- a/GameServer/Server/Packet/Recv/Phone/HandlerSelectPhoneThemeCsReq.cs +++ b/GameServer/Server/Packet/Recv/Phone/HandlerSelectPhoneThemeCsReq.cs @@ -1,5 +1,4 @@ -using EggLink.DanhengServer.Database; -using EggLink.DanhengServer.GameServer.Server.Packet.Send.Phone; +using EggLink.DanhengServer.GameServer.Server.Packet.Send.Phone; using EggLink.DanhengServer.Kcp; using EggLink.DanhengServer.Proto; @@ -13,7 +12,6 @@ public class HandlerSelectPhoneThemeCsReq : Handler var req = SelectPhoneThemeCsReq.Parser.ParseFrom(data); connection.Player!.Data.PhoneTheme = (int)req.ThemeId; - DatabaseHelper.Instance!.UpdateInstance(connection.Player!.Data); await connection.SendPacket(new PacketSelectPhoneThemeScRsp(req.ThemeId)); } diff --git a/GameServer/Server/Packet/Recv/Tutorial/HandlerUnlockTutorialCsReq.cs b/GameServer/Server/Packet/Recv/Tutorial/HandlerUnlockTutorialCsReq.cs index 9ae3a60e..76b28e81 100644 --- a/GameServer/Server/Packet/Recv/Tutorial/HandlerUnlockTutorialCsReq.cs +++ b/GameServer/Server/Packet/Recv/Tutorial/HandlerUnlockTutorialCsReq.cs @@ -1,5 +1,4 @@ -using EggLink.DanhengServer.Database; -using EggLink.DanhengServer.GameServer.Server.Packet.Send.Tutorial; +using EggLink.DanhengServer.GameServer.Server.Packet.Send.Tutorial; using EggLink.DanhengServer.Kcp; using EggLink.DanhengServer.Proto; @@ -15,7 +14,6 @@ public class HandlerUnlockTutorialCsReq : Handler if (!player.TutorialData!.Tutorials.TryGetValue((int)req.TutorialId, out var _)) { player.TutorialData!.Tutorials.Add((int)req.TutorialId, TutorialStatus.TutorialUnlock); - DatabaseHelper.Instance?.UpdateInstance(player.TutorialData!); } await connection.SendPacket(new PacketUnlockTutorialScRsp(req.TutorialId)); diff --git a/GameServer/Server/Packet/Recv/Tutorial/HandlerUnlockTutorialGuideCsReq.cs b/GameServer/Server/Packet/Recv/Tutorial/HandlerUnlockTutorialGuideCsReq.cs index 1cfc73f1..daaba143 100644 --- a/GameServer/Server/Packet/Recv/Tutorial/HandlerUnlockTutorialGuideCsReq.cs +++ b/GameServer/Server/Packet/Recv/Tutorial/HandlerUnlockTutorialGuideCsReq.cs @@ -1,5 +1,4 @@ -using EggLink.DanhengServer.Database; -using EggLink.DanhengServer.GameServer.Server.Packet.Send.Tutorial; +using EggLink.DanhengServer.GameServer.Server.Packet.Send.Tutorial; using EggLink.DanhengServer.Kcp; using EggLink.DanhengServer.Proto; @@ -15,7 +14,6 @@ public class HandlerUnlockTutorialGuideCsReq : Handler if (!player.TutorialGuideData!.Tutorials.TryGetValue((int)req.GroupId, out var _)) { player.TutorialGuideData!.Tutorials.Add((int)req.GroupId, TutorialStatus.TutorialUnlock); - DatabaseHelper.Instance?.UpdateInstance(player.TutorialGuideData!); } await connection.SendPacket(new PacketUnlockTutorialGuideScRsp(req.GroupId)); diff --git a/Program/Program/EntryPoint.cs b/Program/Program/EntryPoint.cs index 229ddff3..93e989ae 100644 --- a/Program/Program/EntryPoint.cs +++ b/Program/Program/EntryPoint.cs @@ -211,7 +211,7 @@ public class EntryPoint var elapsed = DateTime.Now - time; Logger.Info(I18NManager.Translate("Server.ServerInfo.ServerStarted", - elapsed.TotalSeconds.ToString(CultureInfo.InvariantCulture)[..4])); + Math.Round(elapsed.TotalSeconds, 2).ToString(CultureInfo.InvariantCulture))); GenerateLogMap();