From 07aee5604f365541c165f02bfe5437f1ed296fb5 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期四, 05 六月 2025 22:13:20 +0800
Subject: [PATCH] 0015 卡牌服务端搭建 - 前期登录流程

---
 Main/Core/GameEngine/Player/PlayerBaseData.cs                                                     |  154 ++---
 Main/System/Login/ServerBehaviourGroup.cs                                                         |    7 
 Main/Core/NetworkPackage/ClientPack/CA9_Function/CA9A1_tagCGQueryCompensation.cs                  |    0 
 Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0206_tagCTalkMi.cs.meta                       |    0 
 Main/System/Login/ServerListWin.cs                                                                |    3 
 Main/System/GMCommand/GMInputWin.cs                                                               |   23 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA231_tagCMClientStartCustomScene.cs          |    0 
 Main/Core/NetworkPackage/ServerPack/H01_System/H0104_tagServerDisconnect.cs                       |   17 
 Main/Core/NetworkPackage/ServerPack/HA0_Sys/HA004_tagServerDateTime.cs                            |   31 +
 Main/Core/NetworkPackage/ServerPack/HA0_Sys/HA005_tagOpenServerDay.cs                             |   39 +
 Main/Core/NetworkPackage/ClientPack/C01_System/C010D_tagCClientVersion.cs                         |    0 
 Main/Core/NetworkPackage/ClientPack/CA1_Sys.meta                                                  |    2 
 Main/Core/NetworkPackage/ClientPack/CA5_Function/CA537_tagCMRequestMail.cs.meta                   |    0 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA230_tagCMSetChatBubbleBox.cs                |    0 
 Main/Core/NetworkPackage/ClientPack/CA5_Function/CA504_tagCMPlayerGetReward.cs                    |    0 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA235_tagCMSelectRealmDifficulty.cs           |    0 
 Main/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0403_tagPlayerLoginLoadOK.cs             |  121 ---
 Main/Core/NetworkPackage/ClientPack/C32_GM/C320C_tagCGMCMD.cs                                     |    0 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA233_tagCMClientExitCustomScene.cs.meta      |    0 
 Main/Core/NetworkPackage/ClientPack/CA0_Sys/CA002_tagClientRequestServerTime.cs.meta              |    2 
 Main/Core/NetworkPackage/ClientPack/C01_System/C0103_tagCPlayerLogOut.cs                          |    0 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA225_tagCMClientTaskCount.cs.meta            |    0 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA235_tagCMSelectRealmDifficulty.cs.meta      |    0 
 Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0206_tagCTalkMi.cs                            |    0 
 Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0207_tagCTalkArea.cs                          |    0 
 Main/Core/NetworkPackage/ClientPack/CA0_Sys.meta                                                  |    2 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA204_tagCMOpenLongWarehouse.cs.meta          |    0 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA225_tagCMClientTaskCount.cs                 |    0 
 Main/Core/NetworkPackage/ClientPack/C01_System/C0101_tagCPlayerLogin.cs.meta                      |    0 
 Main/Core/NetworkPackage/ClientPack/CA9_Function.meta                                             |    2 
 Main/Core/NetworkPackage/ClientPack/C32_GM.meta                                                   |    2 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA227_tagCMQueryNPCCntInfo.cs.meta            |    0 
 Main/Utility/TimeUtility.cs                                                                       |  128 ++--
 Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0101_tagServerPrepared.cs.meta          |    2 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA223_tagCMNPCShowEnd.cs                      |    0 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA224_tagCMTouchNPC.cs                        |    0 
 Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0205_tagCTalkDui.cs.meta                      |    0 
 Main/Core/NetworkPackage/ServerPack/HA0_Sys/HA004_tagServerDateTime.cs.meta                       |    2 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA236_tagCMChatBubbleBoxStarUP.cs.meta        |    0 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA221_tagCMGetRunTaskEndAward.cs.meta         |    0 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA224_tagCMTouchNPC.cs.meta                   |    0 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA227_tagCMQueryNPCCntInfo.cs                 |    0 
 Main/Core/NetworkPackage/ClientPack/C01_System.meta                                               |    2 
 Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk.meta                                           |    2 
 Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys.meta                                          |    2 
 Main/SDK/SDKUtils.cs                                                                              |   74 --
 Main/Manager/StageManager.cs                                                                      |    2 
 Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA004_tagServerDateTime.cs.meta             |    2 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA230_tagCMSetChatBubbleBox.cs.meta           |    0 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA231_tagCMClientStartCustomScene.cs.meta     |    0 
 Main/Core/NetworkPackage/ClientPack/C03_MainCharacter.meta                                        |    2 
 Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0201_tagCTalkGong.cs                          |    0 
 Main/System/GMCommand/GMCmdPanel.cs                                                               |   19 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA226_tagCMVoiceChat.cs                       |    0 
 Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs                                              |   10 
 Main/System/SystemSetting/SettingMgr.cs                                                           |    4 
 Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0203_tagCTalkBang.cs                          |    0 
 Main/Core/NetworkPackage/ServerPack/HA0_Sys.meta                                                  |    2 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA226_tagCMVoiceChat.cs.meta                  |    0 
 Main/Core/NetworkPackage/DataToCtl/ConnectedState.cs                                              |   44 -
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA201_tagCMQueryNPCShopItem.cs                |    0 
 Main/Core/NetworkPackage/GameNetPackBasic.cs                                                      |    2 
 Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0207_tagCTalkArea.cs.meta                     |    0 
 Main/Core/NetworkPackage/ClientPack/CA3_Item.meta                                                 |    2 
 Main/System/Login/ServerData.cs                                                                   |    6 
 Main/Core/NetworkPackage/ClientPack/CA1_Sys/CA102_tagCMWorldTick.cs                               |   16 
 Main/Core/GameEngine/Player/PlayerDatas.cs                                                        |  112 +---
 Main/Core/NetworkPackage/ClientPack/CA9_Function/CA9A1_tagCGQueryCompensation.cs.meta             |    0 
 Main/Core/NetworkPackage/ClientPack/C01_System/C0104_tagCOnlineReturn.cs                          |   17 
 Main/Core/NetworkPackage/ClientPack/C01_System/C010D_tagCClientVersion.cs.meta                    |    0 
 Main/Core/NetworkPackage/ClientPack/CA5_Function.meta                                             |    2 
 Main/Core/NetworkPackage/ClientPack/C03_MainCharacter/C030A_tagCChangeAttackMode.cs.meta          |    0 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA217_tagCMPYSpeaker.cs.meta                  |    0 
 Main/Core/NetworkPackage/ClientPack/C01_System/C0123_tagCClientPackVersion.cs                     |    0 
 Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0205_tagCTalkDui.cs                           |    0 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA228_tagCMQueryFamilyBossHurt.cs.meta        |    0 
 Main/System/GMCommand/GMCmdManager.cs                                                             |   12 
 Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0101_tagServerPrepared.cs               |   12 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA222_tagCMSetGuideOK.cs.meta                 |    0 
 Main/Core/NetworkPackage/ClientPack/C01_System/C0104_tagCOnlineReturn.cs.meta                     |    2 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA210_tagCMClearFBCD.cs.meta                  |    0 
 Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0209_tagCTalkMiFix.cs                         |    0 
 Main/Core/GameEngine/Launch/LaunchFadeOutTask.cs                                                  |    2 
 Main/Core/NetworkPackage/ClientPack/CA3_Item/CA32D_tagCMDecomposeSeting.cs.meta                   |    0 
 Main/System/Launch/LaunchBackGroundWin.cs                                                         |    2 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA234_tagCMGetCustomSceneCollectAward.cs.meta |    0 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA232_tagCMRefreshMysticalShop.cs             |    0 
 Main/Manager/UIManager.cs                                                                         |    2 
 Main/Core/NetworkPackage/ClientPack/C01_System/C0103_tagCPlayerLogOut.cs.meta                     |    0 
 Main/Core/NetworkPackage/GameNetSystem.cs                                                         |  146 -----
 Main/Core/NetworkPackage/ServerPack/H01_System/H0104_tagServerDisconnect.cs.meta                  |    2 
 Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA005_tagOpenServerDay.cs.meta              |    2 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA206_tagCMQuickFinishMission.cs              |    0 
 Main/System/UIBase/UIBase.cs                                                                      |    2 
 Main/Core/NetworkPackage/ServerPack/H01_System/H0101_tagServerPrepared.cs                         |   42 -
 Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA005_tagOpenServerDay.cs                   |   12 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA210_tagCMClearFBCD.cs                       |    0 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA236_tagCMChatBubbleBoxStarUP.cs             |    0 
 Main/System/Login/LoginManager.cs                                                                 |   58 -
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA216_tagCMPyTalk.cs.meta                     |    0 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA234_tagCMGetCustomSceneCollectAward.cs      |    0 
 Main/Core/NetworkPackage/ClientPack/C03_MainCharacter/C030A_tagCChangeAttackMode.cs               |    0 
 Main/Core/NetworkPackage/ServerPack/HA0_Sys/HA005_tagOpenServerDay.cs.meta                        |    2 
 Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0208_tagCTalkCountry.cs                       |    0 
 Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0102_tagCDBPlayer.cs                    |  239 --------
 Main/System/Chat/ChatManager.cs                                                                   |   18 
 Main/Core/NetworkPackage/ClientPack/CA5_Function/CA504_tagCMPlayerGetReward.cs.meta               |    0 
 Main/Core/NetworkPackage/ClientPack/CA0_Sys/CA002_tagClientRequestServerTime.cs                   |   16 
 Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0104_tagServerDisconnect.cs.meta        |    2 
 Main/System/Chat/ChatWin.cs                                                                       |    8 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA221_tagCMGetRunTaskEndAward.cs              |    0 
 Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0201_tagCTalkGong.cs.meta                     |    0 
 Main/Core/NetworkPackage/ClientPack/CA5_Function/CA537_tagCMRequestMail.cs                        |    0 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA233_tagCMClientExitCustomScene.cs           |    0 
 Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0104_tagServerDisconnect.cs             |   38 +
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA212_tagCMViewPlayerInfo.cs.meta             |    0 
 Main/Core/NetworkPackage/ClientPack/C01_System/C0101_tagCPlayerLogin.cs                           |    0 
 Main/Core/NetworkPackage/ClientPack/C32_GM/C320C_tagCGMCMD.cs.meta                                |    0 
 Main/Main.cs                                                                                      |    2 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA204_tagCMOpenLongWarehouse.cs               |    0 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA222_tagCMSetGuideOK.cs                      |    0 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA216_tagCMPyTalk.cs                          |    0 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA228_tagCMQueryFamilyBossHurt.cs             |    0 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA206_tagCMQuickFinishMission.cs.meta         |    0 
 Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0203_tagCTalkBang.cs.meta                     |    0 
 Main/Core/NetworkPackage/ClientPack/CA3_Item/CA32D_tagCMDecomposeSeting.cs                        |    0 
 Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0208_tagCTalkCountry.cs.meta                  |    0 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA223_tagCMNPCShowEnd.cs.meta                 |    0 
 Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA004_tagServerDateTime.cs                  |   12 
 /dev/null                                                                                         |   12 
 Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0209_tagCTalkMiFix.cs.meta                    |    0 
 Main/Core/NetworkPackage/ClientPack/CA1_Sys/CA102_tagCMWorldTick.cs.meta                          |    2 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA217_tagCMPYSpeaker.cs                       |    0 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA212_tagCMViewPlayerInfo.cs                  |    0 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA201_tagCMQueryNPCShopItem.cs.meta           |    0 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction.meta                                          |    2 
 Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA232_tagCMRefreshMysticalShop.cs.meta        |    0 
 Main/Core/NetworkPackage/ClientPack/C01_System/C0123_tagCClientPackVersion.cs.meta                |    0 
 138 files changed, 502 insertions(+), 1,006 deletions(-)

diff --git a/Main/Component/UI/Common/UIRoot.cs b/Main/Component/UI/Common/UIRoot.cs
deleted file mode 100644
index 26a5338..0000000
--- a/Main/Component/UI/Common/UIRoot.cs
+++ /dev/null
@@ -1,121 +0,0 @@
-锘�// using UnityEngine;
-// using UnityEngine.EventSystems;
-
-// namespace vnxbqy.UI
-// {
-
-//     [DisallowMultipleComponent]
-//     public class UIRoot : MonoBehaviour
-//     {
-//         [SerializeField] RectTransform m_RecycleBin;
-//         public RectTransform recycleBin { get { return m_RecycleBin; } }
-
-//         [SerializeField] FightCanvasGroup m_FightCanvasGroup;
-//         public FightCanvasGroup fightCanvasGroup { get { return m_FightCanvasGroup; } }
-
-//         [SerializeField] private RectTransform m_BossShowCanvas;
-//         public RectTransform bossShowCanvas { get { return m_BossShowCanvas; } }
-
-//         [SerializeField] private RectTransform m_NameCanvas;
-//         public RectTransform nameCanvas { get { return m_NameCanvas; } }
-
-//         [SerializeField] private RectTransform m_LifeBarCanvas;
-//         public RectTransform lifeBarCanvas { get { return m_LifeBarCanvas; } }
-
-//         [SerializeField] private RectTransform m_BaseCanvas;
-//         public RectTransform baseCanvas { get { return m_BaseCanvas; } }
-
-//         [SerializeField] private RectTransform m_NormalCanvas;
-//         public RectTransform normalCanvas { get { return m_NormalCanvas; } }
-
-//         [SerializeField] private RectTransform m_ModalCanvas;
-//         public RectTransform modalCanvas { get { return m_ModalCanvas; } }
-
-//         [SerializeField] private RectTransform m_TipsCanvas;
-//         public RectTransform tipsCanvas { get { return m_TipsCanvas; } }
-
-//         [SerializeField] private RectTransform m_SystemCanvas;
-//         public RectTransform systemCanvas { get { return m_SystemCanvas; } }
-
-//         [SerializeField] private RectTransform m_LoadingCanvas;
-//         public RectTransform loadingCanvas { get { return m_LoadingCanvas; } }
-
-//         [SerializeField] private Camera m_UICamera;
-//         public Camera uicamera { get { return m_UICamera; } set { m_UICamera = value; } }
-
-//         [SerializeField] EventSystem m_EventSystem;
-//         public EventSystem eventSystem { get { return m_EventSystem; } }
-
-//         private void Awake()
-//         {
-//             CameraManager.uiCamera = uicamera;
-//         }
-
-//         private void LateUpdate()
-//         {
-
-//             if (Input.GetKeyDown(KeyCode.F4))
-//             {
-//                 C320C_tagCGMCMD gmCmd = new C320C_tagCGMCMD();
-//                 gmCmd.Cmd = "KillScreenNPC";
-//                 gmCmd.CmdLen = 13;
-//                 if (CrossServerUtility.IsCrossServer())
-//                 {
-//                     GameNetSystem.Instance.SendToCrossServer(gmCmd);
-//                 }
-//                 else
-//                 {
-//                     GameNetSystem.Instance.SendInfo(gmCmd);
-//                 }
-//             }
-
-//             if (StageLoad.Instance.currentStage != null)
-//             {
-
-
-//                 if (Input.GetKeyDown(KeyCode.Escape))
-//                 {
-// #if UNITY_EDITOR
-//                     WindowCenter.Instance.Open<ExitGameWin>();
-// #endif
-//                 }
-//             }
-
-//         }
-
-//         [System.Serializable]
-//         public class FightCanvasGroup
-//         {
-//             public RectTransform[] damageNumGroups;
-//         }
-
-//         private void EnableCanvas(Transform parent, bool _enabled)
-//         {
-//             if (parent != m_RecycleBin)
-//             {
-//                 var canvas = parent.GetComponent<Canvas>();
-//                 if (canvas != null)
-//                 {
-//                     canvas.enabled = _enabled;
-//                 }
-//             }
-
-//             foreach (Transform child in parent)
-//             {
-//                 EnableCanvas(child, _enabled);
-//             }
-//         }
-
-//         public void EnableCanvas(bool _enabled, params Transform[] _canvas)
-//         {
-//             if (_canvas != null && _canvas.Length > 0)
-//             {
-//                 for (int i = 0; i < _canvas.Length; i++)
-//                 {
-//                     EnableCanvas(_canvas[i], _enabled);
-//                 }
-//             }
-//         }
-//     }
-
-// }
diff --git a/Main/Component/UI/Common/UIRoot.cs.meta b/Main/Component/UI/Common/UIRoot.cs.meta
deleted file mode 100644
index 69c43c4..0000000
--- a/Main/Component/UI/Common/UIRoot.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: f4f3aba9cf184074aa15b95cd26ef6ad
-timeCreated: 1458743886
-licenseType: Pro
-MonoImporter:
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Main/Core/GameEngine/Launch/LaunchFadeOutTask.cs b/Main/Core/GameEngine/Launch/LaunchFadeOutTask.cs
index 4a904d3..56b5677 100644
--- a/Main/Core/GameEngine/Launch/LaunchFadeOutTask.cs
+++ b/Main/Core/GameEngine/Launch/LaunchFadeOutTask.cs
@@ -17,7 +17,7 @@
 
         ShaderUtility.WarmUpAll();
         //SpeechTranslate.Instance.RequestGetToken();
-        UIManager.Instance.OpenWindow<LaunchBackGroundWin>();
+        
         
 
         var launchWin = UIManager.Instance.GetUI<LaunchWin>();
diff --git a/Main/Core/GameEngine/Player/PlayerBaseData.cs b/Main/Core/GameEngine/Player/PlayerBaseData.cs
index f76d5c8..1d85dec 100644
--- a/Main/Core/GameEngine/Player/PlayerBaseData.cs
+++ b/Main/Core/GameEngine/Player/PlayerBaseData.cs
@@ -2,8 +2,6 @@
 
 public class PlayerBaseData
 {
-    public ushort mainServerMapIdRecord = 0;
-
     public string AccID;    //_KEY_i_甯愬彿鍚�, 璇ヨ鑹叉墍鍦ㄧ殑甯愬彿鐨勭敤鎴峰悕
     public uint PlayerID;    //_IDT_
     public string PlayerName;    //size = 14
@@ -138,102 +136,62 @@
         }
     }
 
-    public void UpdateData(int temp/*H0102_tagCDBPlayer _serverInfo*/)
-    {
-//         if (_serverInfo.socketType == ServerType.Main)
-//         {
-//             AccID = _serverInfo.AccID;
-//             PlayerID = _serverInfo.PlayerID;
-//             PlayerName = _serverInfo.PlayerName.Trim().Replace("\0", "");
-//             GMLevel = _serverInfo.GMLevel;
-//             Job = _serverInfo.Job;
-//             LV = _serverInfo.LV;
-//             ExpPoint = _serverInfo.ExpPoint;
-//             TotalExp = _serverInfo.TotalExp;
-//             FamilyId = _serverInfo.Family;
-//             FamilyName = _serverInfo.FamilyName.Trim().Replace("\0", "");
-//             diamond = _serverInfo.Gold;
-//             bindDiamond = _serverInfo.GoldPaper;
-//             copper = _serverInfo.Silver;
-//             MapID = _serverInfo.MapID;
-//             mainServerMapIdRecord = MapID;
-//             PosX = _serverInfo.PosX;
-//             PosY = _serverInfo.PosY;
-//             FreePoint = _serverInfo.FreePoint;
-//             FreeSkillPoint = _serverInfo.FreeSkillPoint;
-//             STR = _serverInfo.STR;
-//             PNE = _serverInfo.PNE;
-//             PHY = _serverInfo.PHY;
-//             CON = _serverInfo.CON;
-//             Setting = _serverInfo.Setting;
-//             FBID = _serverInfo.FBID;
-//             ExAttr1 = _serverInfo.ExAttr1;
-//             teamAutoOperateFlag = _serverInfo.ExAttr2;
-//             dungeonLineId = (int)_serverInfo.ExAttr3 % 1000;
-//             dungeonMapId = (int)_serverInfo.ExAttr3 / 1000;
-//             shield = _serverInfo.ExAttr4;
-//             CrossServerFlag = _serverInfo.ExAttr5;
-//             realmLevel = _serverInfo.OfficialRank;
-//             VIPLv = _serverInfo.VIPLv;
-//             copperExtend = _serverInfo.ExAttr6;
-//             sp = _serverInfo.ExAttr7;
-//             spExtend = _serverInfo.ExAttr8;
-//             bubbleId = _serverInfo.ExAttr10;
-//             ExAttr11 = _serverInfo.ExAttr11;
-//             ExAttr16 = _serverInfo.ExAttr16;
-//             ServerGroupId = _serverInfo.ExAttr13;
-//             faction = _serverInfo.Faction;
-//             coinPointTotal = _serverInfo.ChangeCoinPointTotal;
-//             equipShowSwitch = _serverInfo.EquipShowSwitch;
-//             mapRealmSelect = (int)_serverInfo.ExAttr18;
-//             leaveFamilyTime = (int)_serverInfo.ExAttr19;
-//             face = (int)_serverInfo.Face;
-//             facePic = (int)_serverInfo.FacePic;    
-// }
-//         else
-//         {
-//             PlayerName = _serverInfo.PlayerName.Trim().Replace("\0", "");
-//             MapID = _serverInfo.MapID;
-//             dungeonLineId = (int)_serverInfo.ExAttr3 % 1000;
-//             dungeonMapId = (int)_serverInfo.ExAttr3 / 1000;
-//             FBID = _serverInfo.FBID;
-//             PosX = _serverInfo.PosX;
-//             PosY = _serverInfo.PosY;
-//         }
-
-//         if (CrossServerUtility.IsCrossServer())
-//         {
-//             if (_serverInfo.socketType == ServerType.CrossSever)
-//             {
-//                 HP = _serverInfo.HP + _serverInfo.HPEx * Constants.ExpPointValue;
-//                 AttackMode = _serverInfo.AttackMode;
-//             }
-//         }
-//         else
-//         {
-//             HP = _serverInfo.HP + _serverInfo.HPEx * Constants.ExpPointValue;
-//             AttackMode = _serverInfo.AttackMode;
-//         }
-
-//         if (PlayerDatas.Instance.hero != null)
-//         {
-//             PlayerDatas.Instance.hero.ActorInfo.familyID = FamilyId;
-//             if (CrossServerUtility.IsCrossServer())
-//             {
-//                 if (_serverInfo.socketType == ServerType.CrossSever)
-//                 {
-//                     PlayerDatas.Instance.hero.ActorInfo.ResetHp((long)HP);
-//                 }
-//             }
-//             else
-//             {
-//                 PlayerDatas.Instance.hero.ActorInfo.ResetHp((long)HP);
-//             }
-//         }
-
+    public void UpdateData(H0102_tagCDBPlayer _serverInfo)
+    {
+
+        AccID = _serverInfo.AccID;
+        PlayerID = _serverInfo.PlayerID;
+        PlayerName = _serverInfo.PlayerName.Trim().Replace("\0", "");
+        GMLevel = _serverInfo.GMLevel;
+        Job = _serverInfo.Job;
+        LV = _serverInfo.LV;
+        ExpPoint = _serverInfo.ExpPoint;
+        TotalExp = _serverInfo.TotalExp;
+        FamilyId = _serverInfo.Family;
+        FamilyName = _serverInfo.FamilyName.Trim().Replace("\0", "");
+        diamond = _serverInfo.Gold;
+        bindDiamond = _serverInfo.GoldPaper;
+        copper = _serverInfo.Silver;
+        MapID = _serverInfo.MapID;
+        PosX = _serverInfo.PosX;
+        PosY = _serverInfo.PosY;
+        FreePoint = _serverInfo.FreePoint;
+        FreeSkillPoint = _serverInfo.FreeSkillPoint;
+        STR = _serverInfo.STR;
+        PNE = _serverInfo.PNE;
+        PHY = _serverInfo.PHY;
+        CON = _serverInfo.CON;
+        Setting = _serverInfo.Setting;
+        FBID = _serverInfo.FBID;
+        ExAttr1 = _serverInfo.ExAttr1;
+        teamAutoOperateFlag = _serverInfo.ExAttr2;
+        dungeonLineId = (int)_serverInfo.ExAttr3 % 1000;
+        dungeonMapId = (int)_serverInfo.ExAttr3 / 1000;
+        shield = _serverInfo.ExAttr4;
+        CrossServerFlag = _serverInfo.ExAttr5;
+        realmLevel = _serverInfo.OfficialRank;
+        VIPLv = _serverInfo.VIPLv;
+        copperExtend = _serverInfo.ExAttr6;
+        sp = _serverInfo.ExAttr7;
+        spExtend = _serverInfo.ExAttr8;
+        bubbleId = _serverInfo.ExAttr10;
+        ExAttr11 = _serverInfo.ExAttr11;
+        ExAttr16 = _serverInfo.ExAttr16;
+        ServerGroupId = _serverInfo.ExAttr13;
+        faction = _serverInfo.Faction;
+        coinPointTotal = _serverInfo.ChangeCoinPointTotal;
+        equipShowSwitch = _serverInfo.EquipShowSwitch;
+        mapRealmSelect = (int)_serverInfo.ExAttr18;
+        leaveFamilyTime = (int)_serverInfo.ExAttr19;
+        face = (int)_serverInfo.Face;
+        facePic = (int)_serverInfo.FacePic;
+
+        HP = _serverInfo.HP + _serverInfo.HPEx * Constants.ExpPointValue;
+        AttackMode = _serverInfo.AttackMode;
+
     }
 
-    // 姣斿璺ㄦ湇鏁版嵁鏇存柊鍚庯紝鐜╁鍥炲埌鏈湇浼氬悓姝ユ柊鏁版嵁锛岄渶鏇存柊
+    // 閮ㄥ垎鎯呭喌闇�瑕佹湇鍔$闈為噸鐧绘儏鍐典笅鍚屾鎵�鏈夋暟鎹�
     public void UpdateData(/*HA112_tagMCDBPlayer serverInfo*/)
     {
         // AccID = serverInfo.AccID;
@@ -250,10 +208,6 @@
         // bindDiamond = serverInfo.GoldPaper;
         // copper = serverInfo.Silver;
         // MapID = serverInfo.MapID;
-        // if (serverInfo.socketType == ServerType.Main)
-        // {
-        //     mainServerMapIdRecord = MapID;
-        // }
         // PosX = serverInfo.PosX;
         // PosY = serverInfo.PosY;
         // FreePoint = serverInfo.FreePoint;
diff --git a/Main/Core/GameEngine/Player/PlayerDatas.cs b/Main/Core/GameEngine/Player/PlayerDatas.cs
index 139b1cd..2914956 100644
--- a/Main/Core/GameEngine/Player/PlayerDatas.cs
+++ b/Main/Core/GameEngine/Player/PlayerDatas.cs
@@ -6,9 +6,6 @@
 
 public class PlayerDatas : Singleton<PlayerDatas>
 {
-    // public GA_Hero hero = null;
-
-    // public H0309_tagPlayerLoginInfo loginInfo;
     public uint PlayerId { get { return baseData.PlayerID; } }
 
     PlayerBaseData m_Base = new PlayerBaseData();
@@ -30,11 +27,9 @@
     public uint worldExpRate { get; private set; }
     public List<uint> maliciousAtkPlayer = new List<uint>();// 鍙戝姩鎭舵剰鏀诲嚮鐨勭帺瀹跺垪琛�
     private int m_Tick;
-    public uint crossServerTick;
     public uint changeLV = 0; //褰撳墠鍗噚绾�
 
     public event Action worldLevelUpdateEvent;
-    public event Action<E_AttackMode> OnSwitchAttackMode;
 
     public event Action playerDataUpdateEvent;    // 鏃犲尯鍒洿鏂帮紝鎱庣敤
     public event Action<PlayerDataType> playerDataRefreshEvent;
@@ -44,13 +39,13 @@
 
     private Dictionary<PlayerDataType, ulong> PlayerDataDict = new Dictionary<PlayerDataType, ulong>();
 
-    public void InitPlayerData(/*H0102_tagCDBPlayer data*/)
-    {
-        // baseData.UpdateData(data);
-        // if (playerDataUpdateEvent != null)
-        // {
-        //     playerDataUpdateEvent();
-        // }
+    public void InitPlayerData(H0102_tagCDBPlayer data)
+    {
+        baseData.UpdateData(data);
+        if (playerDataUpdateEvent != null)
+        {
+            playerDataUpdateEvent();
+        }
     }
 
     public void UpdatePlayerData(/*HA112_tagMCDBPlayer data*/)
@@ -70,7 +65,7 @@
 
     public void FightRefreshPlayerHp(ulong hp)
     {
-        RefreshProperty(false, PlayerDataType.HP, (uint)(hp % Constants.ExpPointValue), (uint)(hp/Constants.ExpPointValue));
+        RefreshProperty(PlayerDataType.HP, (uint)(hp % Constants.ExpPointValue), (uint)(hp/Constants.ExpPointValue));
 
         if (playerDataUpdateEvent != null)
         {
@@ -153,7 +148,7 @@
         // }
     }
 
-    public void RefreshProperty(bool isMainServerData, PlayerDataType _type, uint value, uint valueEx)
+    public void RefreshProperty(PlayerDataType _type, uint value, uint valueEx)
     {
         switch (_type)
         {
@@ -240,10 +235,6 @@
                 break;
             case PlayerDataType.MapID:
                 baseData.MapID = (ushort)value;
-                if (isMainServerData)
-                {
-                    baseData.mainServerMapIdRecord = baseData.MapID;
-                }
                 break;
             case PlayerDataType.PosX:
                 baseData.PosX = (ushort)value;//瑙掕壊鍧愭爣x
@@ -262,17 +253,7 @@
                 // }
                 break;
             case PlayerDataType.HP:
-                if (CrossServerUtility.IsCrossServer())
-                {
-                    if (!isMainServerData)
-                    {
-                        baseData.HP = value + valueEx * Constants.ExpPointValue;
-                    }
-                }
-                else
-                {
-                    baseData.HP = value + valueEx * Constants.ExpPointValue;
-                }
+                baseData.HP = value + valueEx * Constants.ExpPointValue;
                 break;
             case PlayerDataType.MaxMP:
                 extersion.MaxMP = (int)value;
@@ -420,42 +401,19 @@
                 break;
             case PlayerDataType.Tick:
 #if UNITY_EDITOR
-                Debug.LogFormat("---- 鏀跺埌鏈嶅姟绔疶ick: {0}", value);
-                if (isMainServerData)
-                {
-                    if (extersion.Tick != 0)
-                    {
-                        uint _curWorldTick = GetWorldTick();
-                        uint _diffValue = value > _curWorldTick ? value - _curWorldTick : _curWorldTick - value;
-                        Debug.LogFormat(" |-------- 褰撳墠瀹㈡埛绔疶ick: {0}, 宸紓: {1}", _curWorldTick, _diffValue);
-                        if (_diffValue > 5000)
-                        {
-                            Debug.LogFormat(" |-------- <color=red>鏀跺埌鏈嶅姟绔疻orldTick涓庡綋鍓嶇殑瀹㈡埛绔疶ick宸紓瓒呰繃5绉�</color>");
-                        }
-                    }
-                }
-                else
-                {
-                    if (crossServerTick != 0)
-                    {
-                        uint _curWorldTick = GetWorldTick();
-                        uint _diffValue = value > _curWorldTick ? value - _curWorldTick : _curWorldTick - value;
-                        Debug.LogFormat(" |-------- 褰撳墠瀹㈡埛绔疶ick: {0}, 宸紓: {1}", _curWorldTick, _diffValue);
-                        if (_diffValue > 5000)
-                        {
-                            Debug.LogFormat(" |-------- <color=red>鏀跺埌鏈嶅姟绔疻orldTick涓庡綋鍓嶇殑瀹㈡埛绔疶ick宸紓瓒呰繃5绉�</color>");
-                        }
-                    }
+                Debug.LogFormat("---- 鏀跺埌鏈嶅姟绔疶ick: {0}", value);
+                if (extersion.Tick != 0)
+                {
+                    uint _curWorldTick = GetWorldTick();
+                    uint _diffValue = value > _curWorldTick ? value - _curWorldTick : _curWorldTick - value;
+                    Debug.LogFormat(" |-------- 褰撳墠瀹㈡埛绔疶ick: {0}, 宸紓: {1}", _curWorldTick, _diffValue);
+                    if (_diffValue > 5000)
+                    {
+                        Debug.LogFormat(" |-------- <color=red>鏀跺埌鏈嶅姟绔疻orldTick涓庡綋鍓嶇殑瀹㈡埛绔疶ick宸紓瓒呰繃5绉�</color>");
+                    }
                 }
 #endif
-                if (isMainServerData)
-                {
-                    extersion.Tick = value;
-                }
-                else
-                {
-                    crossServerTick = value;
-                }
+                extersion.Tick = value;
                 m_Tick = Environment.TickCount;
 
                 break;
@@ -552,7 +510,6 @@
                 //             toLineId = 0,
                 //             needEmpty = true,
                 //             needLoadResource = true,
-                //             serverType = ServerType.CrossSever,
                 //             isClientLoadMap = true,
                 //             refreshPlayerDatas = true
                 //         });
@@ -1023,42 +980,25 @@
     }
 
     public void RequestWorldTick()
-    {
-        // TODO YYL
-        // CA102_tagCMWorldTick _proto = new CA102_tagCMWorldTick();
-        // if (CrossServerUtility.IsCrossServer())
-        // {
-        //     GameNetSystem.Instance.SendToCrossServer(_proto);
-        // }
-        // else
-        // {
-        //     GameNetSystem.Instance.SendInfo(_proto);
-        // }
+    {
+        CA102_tagCMWorldTick _proto = new CA102_tagCMWorldTick();
+        GameNetSystem.Instance.SendInfo(_proto);
     }
 
     public void ClearTick()
     {
         extersion.Tick = 0;
-        crossServerTick = 0;
     }
 
     public bool IsTickVaild()
     {
-        if (CrossServerUtility.IsCrossServer())
-        {
-            return crossServerTick != 0;
-        }
-        else
-        {
-            return extersion.Tick != 0;
-        }
+        return extersion.Tick != 0;
     }
 
     public uint GetWorldTick()
     {
         int _currentTick = Environment.TickCount - m_Tick;
-        uint _tick = CrossServerUtility.IsCrossServer() ? crossServerTick + (uint)_currentTick : extersion.Tick + (uint)_currentTick;
-        return _tick;
+        return extersion.Tick + (uint)_currentTick;
     }
 
 }
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta b/Main/Core/NetworkPackage/ClientPack/C01_System.meta
similarity index 77%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta
rename to Main/Core/NetworkPackage/ClientPack/C01_System.meta
index 162f13c..b09eedb 100644
--- a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta
+++ b/Main/Core/NetworkPackage/ClientPack/C01_System.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: e929ce1c208223b48bb495610e82ee08
+guid: 0869bd0dc981b8f4e96424b43b208245
 folderAsset: yes
 DefaultImporter:
   externalObjects: {}
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C01_System/C0101_tagCPlayerLogin.cs b/Main/Core/NetworkPackage/ClientPack/C01_System/C0101_tagCPlayerLogin.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C01_System/C0101_tagCPlayerLogin.cs
rename to Main/Core/NetworkPackage/ClientPack/C01_System/C0101_tagCPlayerLogin.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C01_System/C0101_tagCPlayerLogin.cs.meta b/Main/Core/NetworkPackage/ClientPack/C01_System/C0101_tagCPlayerLogin.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C01_System/C0101_tagCPlayerLogin.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/C01_System/C0101_tagCPlayerLogin.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToMapServer/C01_System/C0103_tagCPlayerLogOut.cs b/Main/Core/NetworkPackage/ClientPack/C01_System/C0103_tagCPlayerLogOut.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToMapServer/C01_System/C0103_tagCPlayerLogOut.cs
rename to Main/Core/NetworkPackage/ClientPack/C01_System/C0103_tagCPlayerLogOut.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToMapServer/C01_System/C0103_tagCPlayerLogOut.cs.meta b/Main/Core/NetworkPackage/ClientPack/C01_System/C0103_tagCPlayerLogOut.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToMapServer/C01_System/C0103_tagCPlayerLogOut.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/C01_System/C0103_tagCPlayerLogOut.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/C01_System/C0104_tagCOnlineReturn.cs b/Main/Core/NetworkPackage/ClientPack/C01_System/C0104_tagCOnlineReturn.cs
new file mode 100644
index 0000000..5d18780
--- /dev/null
+++ b/Main/Core/NetworkPackage/ClientPack/C01_System/C0104_tagCOnlineReturn.cs
@@ -0,0 +1,17 @@
+using UnityEngine;
+using System.Collections;
+
+//01 04 鍦ㄧ嚎鍥炲簲#tagCOnlineReturn
+
+public class C0104_tagCOnlineReturn : GameNetPackBasic {
+    public byte Type;
+
+    public C0104_tagCOnlineReturn () {
+        _cmd = (ushort)0x0104;
+    }
+
+    public override void WriteToBytes () {
+        WriteBytes (Type, NetDataType.BYTE);
+    }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta b/Main/Core/NetworkPackage/ClientPack/C01_System/C0104_tagCOnlineReturn.cs.meta
similarity index 83%
copy from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
copy to Main/Core/NetworkPackage/ClientPack/C01_System/C0104_tagCOnlineReturn.cs.meta
index c25ecc3..5f02f29 100644
--- a/Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
+++ b/Main/Core/NetworkPackage/ClientPack/C01_System/C0104_tagCOnlineReturn.cs.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 1b563b4d32b55f343a54a3a82a948885
+guid: ca560a4f998f8c649aaca0c4cfbc5d9f
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToMapServer/C01_System/C010D_tagCClientVersion.cs b/Main/Core/NetworkPackage/ClientPack/C01_System/C010D_tagCClientVersion.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToMapServer/C01_System/C010D_tagCClientVersion.cs
rename to Main/Core/NetworkPackage/ClientPack/C01_System/C010D_tagCClientVersion.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToMapServer/C01_System/C010D_tagCClientVersion.cs.meta b/Main/Core/NetworkPackage/ClientPack/C01_System/C010D_tagCClientVersion.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToMapServer/C01_System/C010D_tagCClientVersion.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/C01_System/C010D_tagCClientVersion.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C01_System/C0123_tagCClientPackVersion.cs b/Main/Core/NetworkPackage/ClientPack/C01_System/C0123_tagCClientPackVersion.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C01_System/C0123_tagCClientPackVersion.cs
rename to Main/Core/NetworkPackage/ClientPack/C01_System/C0123_tagCClientPackVersion.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C01_System/C0123_tagCClientPackVersion.cs.meta b/Main/Core/NetworkPackage/ClientPack/C01_System/C0123_tagCClientPackVersion.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C01_System/C0123_tagCClientPackVersion.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/C01_System/C0123_tagCClientPackVersion.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta b/Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk.meta
similarity index 77%
copy from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta
copy to Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk.meta
index 162f13c..2d8c583 100644
--- a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta
+++ b/Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: e929ce1c208223b48bb495610e82ee08
+guid: 3b477c09701b7584aaa186cbccbd235f
 folderAsset: yes
 DefaultImporter:
   externalObjects: {}
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C02_PlayerTalk/C0201_tagCTalkGong.cs b/Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0201_tagCTalkGong.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C02_PlayerTalk/C0201_tagCTalkGong.cs
rename to Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0201_tagCTalkGong.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C02_PlayerTalk/C0201_tagCTalkGong.cs.meta b/Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0201_tagCTalkGong.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C02_PlayerTalk/C0201_tagCTalkGong.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0201_tagCTalkGong.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C02_PlayerTalk/C0203_tagCTalkBang.cs b/Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0203_tagCTalkBang.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C02_PlayerTalk/C0203_tagCTalkBang.cs
rename to Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0203_tagCTalkBang.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C02_PlayerTalk/C0203_tagCTalkBang.cs.meta b/Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0203_tagCTalkBang.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C02_PlayerTalk/C0203_tagCTalkBang.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0203_tagCTalkBang.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C02_PlayerTalk/C0205_tagCTalkDui.cs b/Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0205_tagCTalkDui.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C02_PlayerTalk/C0205_tagCTalkDui.cs
rename to Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0205_tagCTalkDui.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C02_PlayerTalk/C0205_tagCTalkDui.cs.meta b/Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0205_tagCTalkDui.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C02_PlayerTalk/C0205_tagCTalkDui.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0205_tagCTalkDui.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C02_PlayerTalk/C0206_tagCTalkMi.cs b/Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0206_tagCTalkMi.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C02_PlayerTalk/C0206_tagCTalkMi.cs
rename to Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0206_tagCTalkMi.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C02_PlayerTalk/C0206_tagCTalkMi.cs.meta b/Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0206_tagCTalkMi.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C02_PlayerTalk/C0206_tagCTalkMi.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0206_tagCTalkMi.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C02_PlayerTalk/C0207_tagCTalkArea.cs b/Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0207_tagCTalkArea.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C02_PlayerTalk/C0207_tagCTalkArea.cs
rename to Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0207_tagCTalkArea.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C02_PlayerTalk/C0207_tagCTalkArea.cs.meta b/Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0207_tagCTalkArea.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C02_PlayerTalk/C0207_tagCTalkArea.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0207_tagCTalkArea.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C02_PlayerTalk/C0208_tagCTalkCountry.cs b/Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0208_tagCTalkCountry.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C02_PlayerTalk/C0208_tagCTalkCountry.cs
rename to Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0208_tagCTalkCountry.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C02_PlayerTalk/C0208_tagCTalkCountry.cs.meta b/Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0208_tagCTalkCountry.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C02_PlayerTalk/C0208_tagCTalkCountry.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0208_tagCTalkCountry.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C02_PlayerTalk/C0209_tagCTalkMiFix.cs b/Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0209_tagCTalkMiFix.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C02_PlayerTalk/C0209_tagCTalkMiFix.cs
rename to Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0209_tagCTalkMiFix.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C02_PlayerTalk/C0209_tagCTalkMiFix.cs.meta b/Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0209_tagCTalkMiFix.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C02_PlayerTalk/C0209_tagCTalkMiFix.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/C02_PlayerTalk/C0209_tagCTalkMiFix.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToMapServer/C03_MainCharacter.meta b/Main/Core/NetworkPackage/ClientPack/C03_MainCharacter.meta
similarity index 77%
rename from Main/Core/NetworkPackage/ClientPack/ClientToMapServer/C03_MainCharacter.meta
rename to Main/Core/NetworkPackage/ClientPack/C03_MainCharacter.meta
index 35b0f67..b53a7bf 100644
--- a/Main/Core/NetworkPackage/ClientPack/ClientToMapServer/C03_MainCharacter.meta
+++ b/Main/Core/NetworkPackage/ClientPack/C03_MainCharacter.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 469410eba7e70e941b0d9b85b3b3e4f4
+guid: a858450df5d422740b19c51034778673
 folderAsset: yes
 DefaultImporter:
   externalObjects: {}
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToMapServer/C03_MainCharacter/C030A_tagCChangeAttackMode.cs b/Main/Core/NetworkPackage/ClientPack/C03_MainCharacter/C030A_tagCChangeAttackMode.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToMapServer/C03_MainCharacter/C030A_tagCChangeAttackMode.cs
rename to Main/Core/NetworkPackage/ClientPack/C03_MainCharacter/C030A_tagCChangeAttackMode.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToMapServer/C03_MainCharacter/C030A_tagCChangeAttackMode.cs.meta b/Main/Core/NetworkPackage/ClientPack/C03_MainCharacter/C030A_tagCChangeAttackMode.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToMapServer/C03_MainCharacter/C030A_tagCChangeAttackMode.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/C03_MainCharacter/C030A_tagCChangeAttackMode.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta b/Main/Core/NetworkPackage/ClientPack/C32_GM.meta
similarity index 77%
copy from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta
copy to Main/Core/NetworkPackage/ClientPack/C32_GM.meta
index 162f13c..911879f 100644
--- a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta
+++ b/Main/Core/NetworkPackage/ClientPack/C32_GM.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: e929ce1c208223b48bb495610e82ee08
+guid: c14b710f6eb30e84494476e6f7028291
 folderAsset: yes
 DefaultImporter:
   externalObjects: {}
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToMapServer/C32_GM/C320C_tagCGMCMD.cs b/Main/Core/NetworkPackage/ClientPack/C32_GM/C320C_tagCGMCMD.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToMapServer/C32_GM/C320C_tagCGMCMD.cs
rename to Main/Core/NetworkPackage/ClientPack/C32_GM/C320C_tagCGMCMD.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToMapServer/C32_GM/C320C_tagCGMCMD.cs.meta b/Main/Core/NetworkPackage/ClientPack/C32_GM/C320C_tagCGMCMD.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToMapServer/C32_GM/C320C_tagCGMCMD.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/C32_GM/C320C_tagCGMCMD.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta b/Main/Core/NetworkPackage/ClientPack/CA0_Sys.meta
similarity index 77%
copy from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta
copy to Main/Core/NetworkPackage/ClientPack/CA0_Sys.meta
index 162f13c..81f5a2e 100644
--- a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta
+++ b/Main/Core/NetworkPackage/ClientPack/CA0_Sys.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: e929ce1c208223b48bb495610e82ee08
+guid: 096e4386fc35e264ebe8988587dab6f6
 folderAsset: yes
 DefaultImporter:
   externalObjects: {}
diff --git a/Main/Core/NetworkPackage/ClientPack/CA0_Sys/CA002_tagClientRequestServerTime.cs b/Main/Core/NetworkPackage/ClientPack/CA0_Sys/CA002_tagClientRequestServerTime.cs
new file mode 100644
index 0000000..3cbae41
--- /dev/null
+++ b/Main/Core/NetworkPackage/ClientPack/CA0_Sys/CA002_tagClientRequestServerTime.cs
@@ -0,0 +1,16 @@
+using UnityEngine;
+using System.Collections;
+
+//A0 02 瀹㈡埛绔姹傛湇鍔$鏃堕棿 #tagClientRequestServerTime
+
+public class CA002_tagClientRequestServerTime : GameNetPackBasic {
+
+    public CA002_tagClientRequestServerTime () {
+        combineCmd = (ushort)0x03FE;
+        _cmd = (ushort)0xA002;
+    }
+
+    public override void WriteToBytes () {
+    }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta b/Main/Core/NetworkPackage/ClientPack/CA0_Sys/CA002_tagClientRequestServerTime.cs.meta
similarity index 83%
copy from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
copy to Main/Core/NetworkPackage/ClientPack/CA0_Sys/CA002_tagClientRequestServerTime.cs.meta
index c25ecc3..5dbdce0 100644
--- a/Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
+++ b/Main/Core/NetworkPackage/ClientPack/CA0_Sys/CA002_tagClientRequestServerTime.cs.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 1b563b4d32b55f343a54a3a82a948885
+guid: 34075a1d63e2ff849a530e8842e77eea
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta b/Main/Core/NetworkPackage/ClientPack/CA1_Sys.meta
similarity index 77%
copy from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta
copy to Main/Core/NetworkPackage/ClientPack/CA1_Sys.meta
index 162f13c..c687212 100644
--- a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta
+++ b/Main/Core/NetworkPackage/ClientPack/CA1_Sys.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: e929ce1c208223b48bb495610e82ee08
+guid: bc7998669a0f29148b16694ea94eca0f
 folderAsset: yes
 DefaultImporter:
   externalObjects: {}
diff --git a/Main/Core/NetworkPackage/ClientPack/CA1_Sys/CA102_tagCMWorldTick.cs b/Main/Core/NetworkPackage/ClientPack/CA1_Sys/CA102_tagCMWorldTick.cs
new file mode 100644
index 0000000..b3c64bb
--- /dev/null
+++ b/Main/Core/NetworkPackage/ClientPack/CA1_Sys/CA102_tagCMWorldTick.cs
@@ -0,0 +1,16 @@
+using UnityEngine;
+using System.Collections;
+
+//A1 02 璇锋眰鏈嶅姟鍣╰ick # tagCMWorldTick
+
+public class CA102_tagCMWorldTick : GameNetPackBasic {
+
+    public CA102_tagCMWorldTick () {
+        combineCmd = (ushort)0x03FE;
+        _cmd = (ushort)0xA102;
+    }
+
+    public override void WriteToBytes () {
+    }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta b/Main/Core/NetworkPackage/ClientPack/CA1_Sys/CA102_tagCMWorldTick.cs.meta
similarity index 83%
copy from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
copy to Main/Core/NetworkPackage/ClientPack/CA1_Sys/CA102_tagCMWorldTick.cs.meta
index c25ecc3..b894d47 100644
--- a/Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
+++ b/Main/Core/NetworkPackage/ClientPack/CA1_Sys/CA102_tagCMWorldTick.cs.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 1b563b4d32b55f343a54a3a82a948885
+guid: 06038a6adc8c58e48880f507960c3ddf
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction.meta b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction.meta
similarity index 77%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction.meta
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction.meta
index 07dfd35..7aeb18d 100644
--- a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction.meta
+++ b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: ed9b5fa1622097949b83432deb77a9e4
+guid: 18445f0278563f843a92e563baf0af86
 folderAsset: yes
 DefaultImporter:
   externalObjects: {}
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA201_tagCMQueryNPCShopItem.cs b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA201_tagCMQueryNPCShopItem.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA201_tagCMQueryNPCShopItem.cs
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA201_tagCMQueryNPCShopItem.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA201_tagCMQueryNPCShopItem.cs.meta b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA201_tagCMQueryNPCShopItem.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA201_tagCMQueryNPCShopItem.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA201_tagCMQueryNPCShopItem.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA204_tagCMOpenLongWarehouse.cs b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA204_tagCMOpenLongWarehouse.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA204_tagCMOpenLongWarehouse.cs
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA204_tagCMOpenLongWarehouse.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA204_tagCMOpenLongWarehouse.cs.meta b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA204_tagCMOpenLongWarehouse.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA204_tagCMOpenLongWarehouse.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA204_tagCMOpenLongWarehouse.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA206_tagCMQuickFinishMission.cs b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA206_tagCMQuickFinishMission.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA206_tagCMQuickFinishMission.cs
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA206_tagCMQuickFinishMission.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA206_tagCMQuickFinishMission.cs.meta b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA206_tagCMQuickFinishMission.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA206_tagCMQuickFinishMission.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA206_tagCMQuickFinishMission.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA210_tagCMClearFBCD.cs b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA210_tagCMClearFBCD.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA210_tagCMClearFBCD.cs
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA210_tagCMClearFBCD.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA210_tagCMClearFBCD.cs.meta b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA210_tagCMClearFBCD.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA210_tagCMClearFBCD.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA210_tagCMClearFBCD.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA212_tagCMViewPlayerInfo.cs b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA212_tagCMViewPlayerInfo.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA212_tagCMViewPlayerInfo.cs
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA212_tagCMViewPlayerInfo.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA212_tagCMViewPlayerInfo.cs.meta b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA212_tagCMViewPlayerInfo.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA212_tagCMViewPlayerInfo.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA212_tagCMViewPlayerInfo.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA216_tagCMPyTalk.cs b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA216_tagCMPyTalk.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA216_tagCMPyTalk.cs
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA216_tagCMPyTalk.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA216_tagCMPyTalk.cs.meta b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA216_tagCMPyTalk.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA216_tagCMPyTalk.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA216_tagCMPyTalk.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA217_tagCMPYSpeaker.cs b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA217_tagCMPYSpeaker.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA217_tagCMPYSpeaker.cs
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA217_tagCMPYSpeaker.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA217_tagCMPYSpeaker.cs.meta b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA217_tagCMPYSpeaker.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA217_tagCMPYSpeaker.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA217_tagCMPYSpeaker.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA221_tagCMGetRunTaskEndAward.cs b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA221_tagCMGetRunTaskEndAward.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA221_tagCMGetRunTaskEndAward.cs
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA221_tagCMGetRunTaskEndAward.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA221_tagCMGetRunTaskEndAward.cs.meta b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA221_tagCMGetRunTaskEndAward.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA221_tagCMGetRunTaskEndAward.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA221_tagCMGetRunTaskEndAward.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA222_tagCMSetGuideOK.cs b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA222_tagCMSetGuideOK.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA222_tagCMSetGuideOK.cs
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA222_tagCMSetGuideOK.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA222_tagCMSetGuideOK.cs.meta b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA222_tagCMSetGuideOK.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA222_tagCMSetGuideOK.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA222_tagCMSetGuideOK.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA223_tagCMNPCShowEnd.cs b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA223_tagCMNPCShowEnd.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA223_tagCMNPCShowEnd.cs
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA223_tagCMNPCShowEnd.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA223_tagCMNPCShowEnd.cs.meta b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA223_tagCMNPCShowEnd.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA223_tagCMNPCShowEnd.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA223_tagCMNPCShowEnd.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA224_tagCMTouchNPC.cs b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA224_tagCMTouchNPC.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA224_tagCMTouchNPC.cs
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA224_tagCMTouchNPC.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA224_tagCMTouchNPC.cs.meta b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA224_tagCMTouchNPC.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA224_tagCMTouchNPC.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA224_tagCMTouchNPC.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA225_tagCMClientTaskCount.cs b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA225_tagCMClientTaskCount.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA225_tagCMClientTaskCount.cs
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA225_tagCMClientTaskCount.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA225_tagCMClientTaskCount.cs.meta b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA225_tagCMClientTaskCount.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA225_tagCMClientTaskCount.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA225_tagCMClientTaskCount.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA226_tagCMVoiceChat.cs b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA226_tagCMVoiceChat.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA226_tagCMVoiceChat.cs
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA226_tagCMVoiceChat.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA226_tagCMVoiceChat.cs.meta b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA226_tagCMVoiceChat.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA226_tagCMVoiceChat.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA226_tagCMVoiceChat.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA227_tagCMQueryNPCCntInfo.cs b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA227_tagCMQueryNPCCntInfo.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA227_tagCMQueryNPCCntInfo.cs
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA227_tagCMQueryNPCCntInfo.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA227_tagCMQueryNPCCntInfo.cs.meta b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA227_tagCMQueryNPCCntInfo.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA227_tagCMQueryNPCCntInfo.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA227_tagCMQueryNPCCntInfo.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA228_tagCMQueryFamilyBossHurt.cs b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA228_tagCMQueryFamilyBossHurt.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA228_tagCMQueryFamilyBossHurt.cs
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA228_tagCMQueryFamilyBossHurt.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA228_tagCMQueryFamilyBossHurt.cs.meta b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA228_tagCMQueryFamilyBossHurt.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA228_tagCMQueryFamilyBossHurt.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA228_tagCMQueryFamilyBossHurt.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA230_tagCMSetChatBubbleBox.cs b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA230_tagCMSetChatBubbleBox.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA230_tagCMSetChatBubbleBox.cs
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA230_tagCMSetChatBubbleBox.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA230_tagCMSetChatBubbleBox.cs.meta b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA230_tagCMSetChatBubbleBox.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA230_tagCMSetChatBubbleBox.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA230_tagCMSetChatBubbleBox.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA231_tagCMClientStartCustomScene.cs b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA231_tagCMClientStartCustomScene.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA231_tagCMClientStartCustomScene.cs
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA231_tagCMClientStartCustomScene.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA231_tagCMClientStartCustomScene.cs.meta b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA231_tagCMClientStartCustomScene.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA231_tagCMClientStartCustomScene.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA231_tagCMClientStartCustomScene.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA232_tagCMRefreshMysticalShop.cs b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA232_tagCMRefreshMysticalShop.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA232_tagCMRefreshMysticalShop.cs
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA232_tagCMRefreshMysticalShop.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA232_tagCMRefreshMysticalShop.cs.meta b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA232_tagCMRefreshMysticalShop.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA232_tagCMRefreshMysticalShop.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA232_tagCMRefreshMysticalShop.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA233_tagCMClientExitCustomScene.cs b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA233_tagCMClientExitCustomScene.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA233_tagCMClientExitCustomScene.cs
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA233_tagCMClientExitCustomScene.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA233_tagCMClientExitCustomScene.cs.meta b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA233_tagCMClientExitCustomScene.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA233_tagCMClientExitCustomScene.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA233_tagCMClientExitCustomScene.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA234_tagCMGetCustomSceneCollectAward.cs b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA234_tagCMGetCustomSceneCollectAward.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA234_tagCMGetCustomSceneCollectAward.cs
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA234_tagCMGetCustomSceneCollectAward.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA234_tagCMGetCustomSceneCollectAward.cs.meta b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA234_tagCMGetCustomSceneCollectAward.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA234_tagCMGetCustomSceneCollectAward.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA234_tagCMGetCustomSceneCollectAward.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA235_tagCMSelectRealmDifficulty.cs b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA235_tagCMSelectRealmDifficulty.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA235_tagCMSelectRealmDifficulty.cs
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA235_tagCMSelectRealmDifficulty.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA235_tagCMSelectRealmDifficulty.cs.meta b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA235_tagCMSelectRealmDifficulty.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA235_tagCMSelectRealmDifficulty.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA235_tagCMSelectRealmDifficulty.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA236_tagCMChatBubbleBoxStarUP.cs b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA236_tagCMChatBubbleBoxStarUP.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA236_tagCMChatBubbleBoxStarUP.cs
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA236_tagCMChatBubbleBoxStarUP.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA236_tagCMChatBubbleBoxStarUP.cs.meta b/Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA236_tagCMChatBubbleBoxStarUP.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA236_tagCMChatBubbleBoxStarUP.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/CA2_Interaction/CA236_tagCMChatBubbleBoxStarUP.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta b/Main/Core/NetworkPackage/ClientPack/CA3_Item.meta
similarity index 77%
copy from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta
copy to Main/Core/NetworkPackage/ClientPack/CA3_Item.meta
index 162f13c..e54fb40 100644
--- a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta
+++ b/Main/Core/NetworkPackage/ClientPack/CA3_Item.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: e929ce1c208223b48bb495610e82ee08
+guid: 593551fbac39e7b48832f122838f5b3b
 folderAsset: yes
 DefaultImporter:
   externalObjects: {}
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToMapServer/CA3_Item/CA32D_tagCMDecomposeSeting.cs b/Main/Core/NetworkPackage/ClientPack/CA3_Item/CA32D_tagCMDecomposeSeting.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToMapServer/CA3_Item/CA32D_tagCMDecomposeSeting.cs
rename to Main/Core/NetworkPackage/ClientPack/CA3_Item/CA32D_tagCMDecomposeSeting.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToMapServer/CA3_Item/CA32D_tagCMDecomposeSeting.cs.meta b/Main/Core/NetworkPackage/ClientPack/CA3_Item/CA32D_tagCMDecomposeSeting.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToMapServer/CA3_Item/CA32D_tagCMDecomposeSeting.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/CA3_Item/CA32D_tagCMDecomposeSeting.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta b/Main/Core/NetworkPackage/ClientPack/CA5_Function.meta
similarity index 77%
copy from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta
copy to Main/Core/NetworkPackage/ClientPack/CA5_Function.meta
index 162f13c..2f6eca3 100644
--- a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta
+++ b/Main/Core/NetworkPackage/ClientPack/CA5_Function.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: e929ce1c208223b48bb495610e82ee08
+guid: fff4817cc97d09c49ac483a0f4f671c7
 folderAsset: yes
 DefaultImporter:
   externalObjects: {}
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function/CA504_tagCMPlayerGetReward.cs b/Main/Core/NetworkPackage/ClientPack/CA5_Function/CA504_tagCMPlayerGetReward.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function/CA504_tagCMPlayerGetReward.cs
rename to Main/Core/NetworkPackage/ClientPack/CA5_Function/CA504_tagCMPlayerGetReward.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function/CA504_tagCMPlayerGetReward.cs.meta b/Main/Core/NetworkPackage/ClientPack/CA5_Function/CA504_tagCMPlayerGetReward.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function/CA504_tagCMPlayerGetReward.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/CA5_Function/CA504_tagCMPlayerGetReward.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function/CA537_tagCMRequestMail.cs b/Main/Core/NetworkPackage/ClientPack/CA5_Function/CA537_tagCMRequestMail.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function/CA537_tagCMRequestMail.cs
rename to Main/Core/NetworkPackage/ClientPack/CA5_Function/CA537_tagCMRequestMail.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function/CA537_tagCMRequestMail.cs.meta b/Main/Core/NetworkPackage/ClientPack/CA5_Function/CA537_tagCMRequestMail.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function/CA537_tagCMRequestMail.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/CA5_Function/CA537_tagCMRequestMail.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta b/Main/Core/NetworkPackage/ClientPack/CA9_Function.meta
similarity index 77%
copy from Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta
copy to Main/Core/NetworkPackage/ClientPack/CA9_Function.meta
index 162f13c..05875c3 100644
--- a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer.meta
+++ b/Main/Core/NetworkPackage/ClientPack/CA9_Function.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: e929ce1c208223b48bb495610e82ee08
+guid: 67d426a6cf113fc41b5baff5550cf497
 folderAsset: yes
 DefaultImporter:
   externalObjects: {}
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA9_Function/CA9A1_tagCGQueryCompensation.cs b/Main/Core/NetworkPackage/ClientPack/CA9_Function/CA9A1_tagCGQueryCompensation.cs
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA9_Function/CA9A1_tagCGQueryCompensation.cs
rename to Main/Core/NetworkPackage/ClientPack/CA9_Function/CA9A1_tagCGQueryCompensation.cs
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA9_Function/CA9A1_tagCGQueryCompensation.cs.meta b/Main/Core/NetworkPackage/ClientPack/CA9_Function/CA9A1_tagCGQueryCompensation.cs.meta
similarity index 100%
rename from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA9_Function/CA9A1_tagCGQueryCompensation.cs.meta
rename to Main/Core/NetworkPackage/ClientPack/CA9_Function/CA9A1_tagCGQueryCompensation.cs.meta
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C01_System.meta b/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C01_System.meta
deleted file mode 100644
index 676f1de..0000000
--- a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C01_System.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 4f6fe0f13f389d143b4d666c60731be9
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C02_PlayerTalk.meta b/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C02_PlayerTalk.meta
deleted file mode 100644
index 4616a56..0000000
--- a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/C02_PlayerTalk.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 27d5c84a0701e5d40953997b3f050861
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA202_tagCMSelectObj.cs b/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA202_tagCMSelectObj.cs
deleted file mode 100644
index f16eedd..0000000
--- a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA202_tagCMSelectObj.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-锘縰sing UnityEngine;
-using System.Collections;
-
-//A2 02閫氱煡閫変腑瀵硅薄 # tagCMSelectObj
-
-public class CA202_tagCMSelectObj : GameNetPackBasic
-{
-    public byte isSelect;    //0 涓嶉�変腑
-    public byte Type;    //鐩爣绫诲瀷
-    public uint ID;    //ID
-
-    public CA202_tagCMSelectObj()
-    {
-        combineCmd = (ushort)0x03FE;
-        _cmd = (ushort)0xA202;
-    }
-
-    public override void WriteToBytes()
-    {
-        WriteBytes(isSelect, NetDataType.BYTE);
-        WriteBytes(Type, NetDataType.BYTE);
-        WriteBytes(ID, NetDataType.DWORD);
-    }
-
-}
\ No newline at end of file
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA202_tagCMSelectObj.cs.meta b/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA202_tagCMSelectObj.cs.meta
deleted file mode 100644
index 42e5d44..0000000
--- a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction/CA202_tagCMSelectObj.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: fbbd0a74db4e14a428e1a0fc7c69386b
-timeCreated: 1555406256
-licenseType: Pro
-MonoImporter:
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA9_Function.meta b/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA9_Function.meta
deleted file mode 100644
index 35a1e45..0000000
--- a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA9_Function.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: e5caa0e836ee017408ecf167352727e0
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToMapServer.meta b/Main/Core/NetworkPackage/ClientPack/ClientToMapServer.meta
deleted file mode 100644
index bfcd9fb..0000000
--- a/Main/Core/NetworkPackage/ClientPack/ClientToMapServer.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: a792f8ad9038d4140b80b5c299786e11
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToMapServer/C01_System.meta b/Main/Core/NetworkPackage/ClientPack/ClientToMapServer/C01_System.meta
deleted file mode 100644
index 9649bfc..0000000
--- a/Main/Core/NetworkPackage/ClientPack/ClientToMapServer/C01_System.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 6b6dad1ef793fcc43b1c53f4f53fa171
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToMapServer/C32_GM.meta b/Main/Core/NetworkPackage/ClientPack/ClientToMapServer/C32_GM.meta
deleted file mode 100644
index f55bec9..0000000
--- a/Main/Core/NetworkPackage/ClientPack/ClientToMapServer/C32_GM.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 066a8a7a9a4a0624580eb3a83bef0f7f
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToMapServer/CA3_Item.meta b/Main/Core/NetworkPackage/ClientPack/ClientToMapServer/CA3_Item.meta
deleted file mode 100644
index 80b1715..0000000
--- a/Main/Core/NetworkPackage/ClientPack/ClientToMapServer/CA3_Item.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 76a18e2b46000a94184e10521319d66a
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function.meta b/Main/Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function.meta
deleted file mode 100644
index 5b9d5db..0000000
--- a/Main/Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 069cb09ad112a6b48b1ff813e63b44de
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0101_tagServerPrepared.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0101_tagServerPrepared.cs
new file mode 100644
index 0000000..5d69267
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0101_tagServerPrepared.cs
@@ -0,0 +1,12 @@
+using UnityEngine;
+using System.Collections;
+
+//01 01 鏈嶅姟鍣↖nitOK#tagServerPrepared
+
+public class DTC0101_tagServerPrepared : DtcBasic {
+    public override void Done(GameNetPackBasic vNetPack) {
+        base.Done(vNetPack);
+        H0101_tagServerPrepared vNetData = vNetPack as H0101_tagServerPrepared;
+        LoginManager.Instance.AccessLogin(vNetData);
+    }
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0101_tagServerPrepared.cs.meta
similarity index 83%
copy from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
copy to Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0101_tagServerPrepared.cs.meta
index c25ecc3..7c792cf 100644
--- a/Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0101_tagServerPrepared.cs.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 1b563b4d32b55f343a54a3a82a948885
+guid: 1ace3e0e3e71848409831d24c1786c38
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0102_tagCDBPlayer.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0102_tagCDBPlayer.cs
index 6f17582..63f1d0a 100644
--- a/Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0102_tagCDBPlayer.cs
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0102_tagCDBPlayer.cs
@@ -19,240 +19,45 @@
         var package = vNetPack as H0102_tagCDBPlayer;
         // StageLoadTimeOutCatcher.RecordProtocol(vNetPack.socketType, "0102", DateTime.Now);
         DTC0403_tagPlayerLoginLoadOK.finishedLogin = false;
-        // MapTransferUtility.Instance.lastMoveToWorldBossTime = float.MinValue;
-        // MapTransferUtility.Instance.lastMoveToWorldBossNpcID = 0;
 
-        if (package.socketType == ServerType.Main)
+        if (beforePlayerDataInitializeEvent != null)
         {
-            DTC0403_tagPlayerLoginLoadOK.neverLoginOk = true;
+            beforePlayerDataInitializeEvent();
         }
 
-        if (package.socketType == ServerType.Main)
+        try
         {
-            if (beforePlayerDataInitializeEvent != null)
-            {
-                beforePlayerDataInitializeEvent();
-            }
-
-            try
-            {
-                RedpointCenter.Instance.ResetAllRedpointState();
-                PlayerDatas.Instance.ClearPlayerData();
-            }
-            catch (Exception ex)
-            {
-                Debug.LogError(ex);
-            }
+            RedpointCenter.Instance.ResetAllRedpointState();
+            PlayerDatas.Instance.ClearPlayerData();
+        }
+        catch (Exception ex)
+        {
+            Debug.LogError(ex);
         }
 
-        // GA_Hero.recordServerPos = new Vector3(package.PosX, 0, package.PosY);
 
-        // PlayerDatas.Instance.InitPlayerData(package);
-        // PlayerDatas.Instance.RequestWorldTick();
+        PlayerDatas.Instance.InitPlayerData(package);
+        PlayerDatas.Instance.RequestWorldTick();
 
-        if (package.socketType == ServerType.Main)
+        if (playerIdBuf != 0 && playerIdBuf != PlayerDatas.Instance.baseData.PlayerID)
         {
-            if (playerIdBuf != 0 && playerIdBuf != PlayerDatas.Instance.baseData.PlayerID)
+            if (switchAccountEvent != null)
             {
-                if (switchAccountEvent != null)
-                {
-                    switchAccountEvent();
-                }
-
-            }
-
-            playerIdBuf = PlayerDatas.Instance.baseData.PlayerID;
-            if (afterPlayerDataInitializeEvent != null)
-            {
-                afterPlayerDataInitializeEvent();
-                isAfterPlayerDataInitialize = true;
+                switchAccountEvent();
             }
 
         }
 
-        // int fakeMapID = (int)package.ExAttr14 / 1000;
-        // int fakeLineID = (int)package.ExAttr14 % 1000;
-        // var clientDungeonInfo = new Dungeon()
-        // {
-        //     mapId = fakeMapID,
-        //     lineId = fakeLineID,
-        // };
+        playerIdBuf = PlayerDatas.Instance.baseData.PlayerID;
+        if (afterPlayerDataInitializeEvent != null)
+        {
+            afterPlayerDataInitializeEvent();
+            isAfterPlayerDataInitialize = true;
+        }
 
-        //鍚屾鍋囧壇鏈� 鍗曚汉鍓湰瀛樺湪鍋囧壇鏈紝鍜屾湇鍔$1瀵瑰鎴风澶氬湴鍥惧悓鍒嗙嚎鎯呭喌
-        // if (fakeLineID != 0)
-        //     PlayerDatas.Instance.baseData.dungeonLineId = fakeLineID;
-        // if (fakeMapID != 0)
-        //     PlayerDatas.Instance.baseData.dungeonMapId = fakeMapID;
 
-        // if (ArenaModel.Instance.CheckArenaComplete(clientDungeonInfo.mapId))
-        // {
-        //     clientDungeonInfo.mapId = 0;
-        // }
-
-        // if (ClientDungeonStageUtility.isClientDungeon)
-        // {
-        //     PlayerDatas.Instance.baseData.MapID = ClientDungeonStageUtility.clientMapId;
-        // }
-        // else
-        // {
-        //     if (clientDungeonInfo.mapId != 0 )
-        //     {
-        //         var clientMapId = ClientDungeonStageUtility.GetClientMapId(clientDungeonInfo.mapId);
-        //         if (clientMapId != 0)
-        //         {
-        //             ClientDungeonStageUtility.SetClientDungeon(true, (ushort)clientMapId);
-        //             ClientDungeonStageUtility.dungeonInfo = clientDungeonInfo;
-        //             PlayerDatas.Instance.baseData.MapID = (ushort)clientMapId;
-        //         }
-        //     }
-        // }
-        // 杞Щ鍒扮櫥闄嗘椂閫氱煡鐨勫垱瑙掓椂闂村寘
-        // if (package.socketType == ServerType.Main)
-        // {
-        //     ynmbxxjUtil.Instance.RoleLogin(package.PlayerID.ToString(),
-        //                                   package.PlayerName.Trim().Replace("\0", ""),
-        //                                   package.LV.ToString(),
-        //                                   package.VIPLv.ToString());
-        // }
-
-        // var mapId = PlayerDatas.Instance.baseData.MapID;
-        // var dataMapId = MapUtility.GetDataMapId(mapId);
-        // var lineId = MapUtility.GetLineId(mapId, (int)package.ExAttr3%1000);
-        // var mapResourceConfig = MapResourcesConfig.GetConfig(dataMapId, lineId);
-        // if (mapResourceConfig != null)
-        // {
-        //     GA_Hero.MapOffset.x = mapResourceConfig.MapOffset.x;
-        //     GA_Hero.MapOffset.z = mapResourceConfig.MapOffset.y;
-        // }
-        // else
-        // {
-        //     GA_Hero.MapOffset.x = 0;
-        //     GA_Hero.MapOffset.z = 0;
-        // }
-
-        // var mapConfig = MapConfig.Get(mapId);
-        // DungeonStage.CurrentMapType = (MapType)mapConfig.MapFBType;
-        // if (DungeonStage.CurrentMapType != MapType.OpenCountry)
-        // {
-        //     var dungeonOpen = DungeonOpenTimeConfig.Get(dataMapId);
-        //     if (dungeonOpen != null)
-        //     {
-        //         if (dungeonOpen.DoFight == 1)
-        //         {
-        //             GA_Hero.forceAutoFight = true;
-        //         }
-        //     }
-        // }
-
-        // if (package.socketType == ServerType.CrossSever)
-        // {
-        //     if (PlayerDatas.Instance.hero != null)
-        //     {
-        //         PlayerDatas.Instance.hero.ActorInfo.recordServerDie = PlayerDatas.Instance.hero.ActorInfo.serverDie;
-        //     }
-        // }
-
-        // DTCA713_tagMCDynamicBarrierState.Clear();
-        // MainRedDot.Instance.Register();
-        // SettingEffectMgr.Instance.Begin();
-        // if (vNetPack.socketType == ServerType.Main)
-        // { 
-        //     QuickSetting.Instance.SetQuickSetting(package.Setting);
-        //     SettingMgr.Instance.SetIsRecordData(PlayerDatas.Instance.baseData.PlayerID.ToString());
-        // }
-        // ClientSceneManager.Instance.ReConnectClear();
-
-        // // 鍒濆鍖栨憚鍍忔満
-        // if (!CameraController.Instance)
-        // {
-        //     var prefab = UnityEngine.Object.Instantiate(BuiltInLoader.LoadPrefab("GameCamera"));
-        //     CameraController.Instance.SetcamerePrefab(prefab);
-        //     CameraController.Instance.AcceptInput = false;
-        //     CameraController.Instance.CameraObject.enabled = false;
-        //     CameraController.Instance.QualityLevelChanged();
-        // }
-
-        // var hudRoot = HUDCenter.hudRoot;
-        // if (!hudRoot)
-        // {
-        //     hudRoot = HUDCenter.CreateHUDRoot();
-        //     hudRoot.SetCamera(CameraController.Instance.CameraObject);
-        // }
-
-        // DropItemManager.ReleaseAll();
-        // ClientDropItemUtility.Instance.ReleaseAll();
-        // StatusMgr.Instance.ReleaseActor(PlayerDatas.Instance.PlayerId);
-
-        // var hero = PlayerDatas.Instance.hero;
-        // if (hero == null)
-        // {
-        //     hero = GAMgr.Instance.RequestPlayer<GA_Hero>(PlayerDatas.Instance.PlayerId, E_ActorGroup.User, null);
-        //     PlayerDatas.Instance.hero = hero;
-        // }
-        // else // 閲嶈繛
-        // {
-        //     if (PreFightMission.Instance.IsFinished())
-        //     {
-        //         hero.StopAll();
-        //         if (!AdventureStage.Instance.IsInAdventureStage)
-        //         {
-        //             hero.InitBornPos(package.PosX, package.PosY);
-        //         }
-        //         hero.RequestName();
-        //         hero.ActorInfo.serverDie = false;
-        //         hero.IdleImmediate();
-        //     }
-        // }
-
-        // if (!ClientDungeonStageUtility.isClientDungeon
-        //  && !ArenaManager.IsArenaClientNotMirrorFight)
-        // {
-        //     GAMgr.Instance.UnInit();
-        // }
-
-        // hero.OnPathFindStop -= MapTransferUtility.Instance.OnHeroStopPathFind;
-        // hero.OnPathFindStop += MapTransferUtility.Instance.OnHeroStopPathFind;
-        // GA_Hero.s_MapSwitching = true;
-
-        // if (DebugUtility.Instance.debugAccount)
-        // {
-        //     GMCommand.Instance.Begin();
-        // }
-
-    //     if (package.socketType == ServerType.Main
-    // && GameNetSystem.Instance.crossServerData.crossState == GameNetSystem.CrossServerState.Yes)
-    //     {
-    //         StageLoad.Instance.UpdateServerFlag(package.socketType, false);
-    //         StageLoad.Instance.PushSceneLoadCommand(new StageLoad.StageLoadCommand()
-    //         {
-    //             toMapId = mapId,
-    //             toLineId = MapUtility.GetLineId(mapId, PlayerDatas.Instance.baseData.dungeonLineId),
-    //             needEmpty = true,
-    //             needLoadResource = false,
-    //             serverType = package.socketType,
-    //             isClientLoadMap = false
-    //         });
-
-    //         var loginModel = ModelCenter.Instance.GetModel<LoginModel>();
-    //         var account = loginModel.accountBuf;
-    //         var ip = GameNetSystem.Instance.crossServerData.ip;
-    //         var port = GameNetSystem.Instance.crossServerData.port;
-    //         CrossServerLogin.Instance.AccountLogin(account, ip, port, loginModel.reconnectBackGround);
-    //     }
-    //     else
-    //     {
-    //         StageLoad.Instance.UpdateServerFlag(package.socketType, false);
-    //         StageLoad.Instance.PushSceneLoadCommand(new StageLoad.StageLoadCommand()
-    //         {
-    //             toMapId = mapId,
-    //             toLineId = MapUtility.GetLineId(mapId, PlayerDatas.Instance.baseData.dungeonLineId),
-    //             needEmpty = true,
-    //             needLoadResource = true,
-    //             serverType = package.socketType,
-    //             isClientLoadMap = false
-    //         });
-    //     }
-
+        MainRedDot.Instance.Register();
+        //SettingMgr.Instance.SetIsRecordData(PlayerDatas.Instance.baseData.PlayerID.ToString());
 
     }
 }
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0104_tagServerDisconnect.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0104_tagServerDisconnect.cs
new file mode 100644
index 0000000..41aa579
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0104_tagServerDisconnect.cs
@@ -0,0 +1,38 @@
+using UnityEngine;
+using System.Collections;
+using System;
+
+//01 04 鏂嚎#tagServerDisconnect
+
+public class DTC0104_tagServerDisconnect : DtcBasic {
+    public override void Done(GameNetPackBasic vNetPack) {
+        base.Done(vNetPack);
+        H0104_tagServerDisconnect vNetData = vNetPack as H0104_tagServerDisconnect;
+
+        try
+        {
+            Debug.Log("DTC0104_tagServerDisconnect" + vNetData.Reason);
+
+            //ServerForceExitHintWin.reason = vNetData.Reason;
+            LoginManager.Instance.busy = false;
+            if (VersionConfig.Get().versionAuthority == VersionAuthority.Release)
+            {
+                if (vNetData.Reason == 1 || vNetData.Reason == 110)
+                {
+                    SDKUtils.Instance.FreePlatformLoginout();
+                    LoginManager.Instance.sdkLogined = false;
+                }
+                else 
+                    GameNetSystem.Instance.LoginOut();
+            }
+            else 
+                GameNetSystem.Instance.LoginOut();
+            NetLinkWin.Hide();
+
+        }
+        catch (Exception ex)
+        {
+            Debug.Log(ex);
+        }
+    }
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0104_tagServerDisconnect.cs.meta
similarity index 83%
copy from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
copy to Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0104_tagServerDisconnect.cs.meta
index c25ecc3..f26432a 100644
--- a/Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0104_tagServerDisconnect.cs.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 1b563b4d32b55f343a54a3a82a948885
+guid: d961703bb42f8da48bedccac968f1d8f
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0403_tagPlayerLoginLoadOK.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0403_tagPlayerLoginLoadOK.cs
index ec1da99..52ba9c9 100644
--- a/Main/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0403_tagPlayerLoginLoadOK.cs
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0403_tagPlayerLoginLoadOK.cs
@@ -5,119 +5,42 @@
 
 public class DTC0403_tagPlayerLoginLoadOK : DtcBasic
 {
-    public static bool neverLoginOk = true;
     public static bool finishedLogin = false;
     public static event Action playerLoginOkEvent;
-    public static event Action mapInitOkEvent;
-    // LoginModel loginModel { get { return ModelCenter.Instance.GetModel<LoginModel>(); } }
+    //public static event Action mapInitOkEvent; 鏈嶅姟绔�氱煡鍦烘櫙鍒囨崲鎴愬姛
+    
 
     public override void Done(GameNetPackBasic vNetPack)
     {
         base.Done(vNetPack);
         var vNetData = vNetPack as H0403_tagPlayerLoginLoadOK;
-        // StageLoadTimeOutCatcher.RecordProtocol(vNetPack.socketType, "0403", DateTime.Now);
 
         GameNetSystem.Instance.netState = GameNetSystem.NetState.Connected;
 
+        NetLinkWin.Hide();
+
+        if (LoginManager.Instance.reconnectBackGround)
+        {
+            UIManager.Instance.CloseWindow<LoadingWin>();
+        }
+
+        LoginManager.Instance.reconnectBackGround = false;
+
+        if (!finishedLogin)
+        {
+            //鏈嶅姟绔瘡娆″垏鍦烘櫙閮戒細閫氱煡杩欎釜灏佸寘, 澧炲姞棣栨鍦板浘鐧诲綍鎴愬姛浜嬩欢(濡傛灉鏈嶅姟绔瓨鍦ㄥ鍦烘櫙鍒囨崲鐨勬儏鍐�)
+            playerLoginOkEvent?.Invoke();
+            StageManager.Instance.ToGameScene();
+            Main.OnEnterGameScene();
+        }
         finishedLogin = true;
-        // GA_Hero.s_MapSwitching = false;
-
-        // NetLinkWin.Hide();
-
-        // if (loginModel.reconnectBackGround)
-        // {
-        //     WindowCenter.Instance.Close<LoadingWin>();
-        // }
-
-        switch (vNetData.socketType)
-        {
-            // case ServerType.Main:
-            //     loginModel.reconnectBackGround = false;
-            //     break;
-            // case ServerType.CrossSever:
-            //     GameNetSystem.Instance.crossServerConnected_Loigc = true;
-            //     CrossServerLogin.Instance.reconnectBackGround = false;
-            //     CrossServerLogin.Instance.StopLoginOverTimeProcess();
-            //     break;
-            default:
-                break;
-        }
-
-        if (neverLoginOk)
-        {
-            try
-            {
-                if (vNetData.socketType == ServerType.Main)
-                {
-                    if (playerLoginOkEvent != null)
-                    {
-                        playerLoginOkEvent();
-                    }
-                }
-            }
-            catch (Exception ex)
-            {
-                Debug.Log(ex);
-            }
-            finally
-            {
-                neverLoginOk = false;
-            }
-        }
-
-        if (mapInitOkEvent != null)
-        {
-            mapInitOkEvent();
-        }
+        //if (mapInitOkEvent != null)
+        //{
+        //    mapInitOkEvent();
+        //}
 
 
-        //锟叫碉拷图锟斤拷锟斤拷pk boss状态
-        PlayerDatas.Instance.extersion.bossState = 2;
-        PlayerDatas.Instance.extersion.pkState = 2;
-
-        // if (PlayerDatas.Instance.hero != null)
-        // {
-        //     if (CameraController.Instance)
-        //     {
-        //         CameraController.Instance.SetLookTarget(PlayerDatas.Instance.hero.Root);
-        //     }
-        // }
-
-        // MapTransferUtility.Instance.CheckMap(PlayerDatas.Instance.baseData.MapID);
-
-        // if (MapTransferUtility.Instance.MapTransferDoType == MapTransferUtility.E_MapTransferDoType.Npc)
-        // {
-        //     MapTransferUtility.Instance.MoveToNPC(MapTransferUtility.Instance.NpcID);
-        // }
-
-        //SettingMgr.Instance.SetIsRecordData(PlayerDatas.Instance.baseData.PlayerID.ToString());
-
-        // SnxxzGame.Instance.StartCoroutine(DelayHandleMapArea());
     }
 
-    // IEnumerator DelayHandleMapArea()
-    // {
-    //     yield return WaitingForSecondConst.WaitMS500;
-
-    //     if (PlayerDatas.Instance.hero == null)
-    //     {
-    //         yield break;
-    //     }
-
-    //     var pack = ModelCenter.Instance.GetModel<PackModel>();
-    //     var equipIndex = EquipSet.ClientPlaceToServerPlace(new Int2(0, (int)RoleEquipType.Guard));
-    //     var _itemModel = pack.GetItemByIndex(PackType.Equip, equipIndex);
-    //     if (_itemModel != null && _itemModel.itemInfo != null)
-    //     {
-    //         PlayerDatas.Instance.hero.SwitchGuard((uint)_itemModel.itemId);
-    //     }
-
-    //     bool _result = MapArea.IsInMapArea(PlayerDatas.Instance.hero.CurMapArea, MapArea.E_Type.Boss);
-
-    //     if (MapArea.IsInMapArea(PlayerDatas.Instance.hero.CurMapArea, MapArea.E_Type.Boss))
-    //     {
-    //         PlayerDatas.Instance.hero.EnterArea((int)MapArea.E_Type.Boss);
-    //     }
-    // }
 }
 
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys.meta
similarity index 76%
copy from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction.meta
copy to Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys.meta
index 07dfd35..d7d903c 100644
--- a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction.meta
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: ed9b5fa1622097949b83432deb77a9e4
+guid: 03821ffb5f50f15489d3ec5c6271d04a
 folderAsset: yes
 DefaultImporter:
   externalObjects: {}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA004_tagServerDateTime.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA004_tagServerDateTime.cs
new file mode 100644
index 0000000..e356ef8
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA004_tagServerDateTime.cs
@@ -0,0 +1,12 @@
+using UnityEngine;
+using System.Collections;
+
+//A0 04 鍚屾瀹㈡埛绔椂闂� #tagServerDateTime
+
+public class DTCA004_tagServerDateTime : DtcBasic {
+    public override void Done(GameNetPackBasic vNetPack) {
+        base.Done(vNetPack);
+        HA004_tagServerDateTime vNetData = vNetPack as HA004_tagServerDateTime;
+        TimeUtility.OnRefreshServerTime(vNetData);
+    }
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA004_tagServerDateTime.cs.meta
similarity index 83%
copy from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
copy to Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA004_tagServerDateTime.cs.meta
index c25ecc3..44f7a51 100644
--- a/Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA004_tagServerDateTime.cs.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 1b563b4d32b55f343a54a3a82a948885
+guid: 1e1c8b63145162946a98cfb842bf9d2c
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA005_tagOpenServerDay.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA005_tagOpenServerDay.cs
new file mode 100644
index 0000000..0b0cf1f
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA005_tagOpenServerDay.cs
@@ -0,0 +1,12 @@
+using UnityEngine;
+using System.Collections;
+
+//A0 05 鍚屾寮�鏈嶅ぉ鏁� #tagOpenServerDay
+
+public class DTCA005_tagOpenServerDay : DtcBasic {
+    public override void Done(GameNetPackBasic vNetPack) {
+        base.Done(vNetPack);
+        HA005_tagOpenServerDay vNetData = vNetPack as HA005_tagOpenServerDay;
+        TimeUtility.OnRefreshServerOpenDay(vNetData);
+    }
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA005_tagOpenServerDay.cs.meta
similarity index 83%
copy from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
copy to Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA005_tagOpenServerDay.cs.meta
index c25ecc3..d35a9f6 100644
--- a/Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA0_Sys/DTCA005_tagOpenServerDay.cs.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 1b563b4d32b55f343a54a3a82a948885
+guid: 976f30f367b23fb4d9860a66b989954e
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA2_Package/DTCA202_tagMCAttackMode.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA2_Package/DTCA202_tagMCAttackMode.cs
deleted file mode 100644
index e7b88dc..0000000
--- a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA2_Package/DTCA202_tagMCAttackMode.cs
+++ /dev/null
@@ -1,40 +0,0 @@
-锘縰sing UnityEngine;
-
-public class DTCA202_tagMCAttackMode : DtcBasic
-{
-    public static void Send_SwitchAttackMode(E_AttackMode attackMode)
-    {
-        var _proto = new C030A_tagCChangeAttackMode();
-        _proto.Mode = (byte)attackMode;
-        if (CrossServerUtility.IsCrossServer())
-        {
-            GameNetSystem.Instance.SendToCrossServer(_proto);
-        }
-        else
-        {
-            GameNetSystem.Instance.SendInfo(_proto);
-        }
-    }
-
-    public override void Done(GameNetPackBasic vNetPack)
-    {
-        base.Done(vNetPack);
-
-        HA202_tagMCAttackMode vNetData = vNetPack as HA202_tagMCAttackMode;
-
-        if (vNetData == null)
-        {
-            return;
-        }
-
-        if (CrossServerUtility.IsCrossServer())
-        {
-            if (vNetData.socketType == ServerType.Main)
-            {
-                return;
-            }
-        }
-
-        PlayerDatas.Instance.OnRecv_SwitchAttackMode(vNetData.Mode);
-    }
-}
\ No newline at end of file
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA2_Package/DTCA202_tagMCAttackMode.cs.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA2_Package/DTCA202_tagMCAttackMode.cs.meta
deleted file mode 100644
index 32f2016..0000000
--- a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA2_Package/DTCA202_tagMCAttackMode.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: 77bfc043a579afa478ba6d587e809dc9
-timeCreated: 1508313923
-licenseType: Pro
-MonoImporter:
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Main/Core/NetworkPackage/DataToCtl/ConnectedState.cs b/Main/Core/NetworkPackage/DataToCtl/ConnectedState.cs
index 3ed4d83..8f95f05 100644
--- a/Main/Core/NetworkPackage/DataToCtl/ConnectedState.cs
+++ b/Main/Core/NetworkPackage/DataToCtl/ConnectedState.cs
@@ -42,13 +42,11 @@
             return;
         }
 
-        if (GameNetSystem.Instance.timeSinceMainSocketLastProtocol > OVERTIME_THRESHOLD
-            || (GameNetSystem.Instance.crossServerConnected_Loigc && GameNetSystem.Instance.timeSinceCrossServerSocketLastProtocol > OVERTIME_THRESHOLD))
+        if (GameNetSystem.Instance.timeSinceMainSocketLastProtocol > OVERTIME_THRESHOLD)
         {
             DetectConnected(3);
         }
-        else if (!GameNetSystem.Instance.mainSocketConnected
-            || (GameNetSystem.Instance.crossServerConnected_Loigc && !GameNetSystem.Instance.crossServerSocketConnected))
+        else if (!GameNetSystem.Instance.mainSocketConnected)
         {
             DetectConnected(3);
         }
@@ -75,24 +73,17 @@
 
     private void DetectConnected(int _seconds)
     {
-        connectedDetecting = true;
-
-        // var sendInfo1 = new C0104_tagCOnlineReturn();
-        // sendInfo1.Type = 0;
-        // GameNetSystem.Instance.SendInfo(sendInfo1);// 鍦ㄧ嚎鍥炲簲
-
-        // if (GameNetSystem.Instance.crossServerConnected_Loigc)
-        // {
-        //     var sendInfo2 = new C0104_tagCOnlineReturn();
-        //     sendInfo2.Type = 0;
-        //     GameNetSystem.Instance.SendToCrossServer(sendInfo2);// 鍦ㄧ嚎鍥炲簲
-        // }
-
-        // if (clock != null)
-        // {
-        //     Clock.Stop(clock);
-        // }
-        // clock = Clock.AlarmAt(DateTime.Now + new TimeSpan(_seconds * TimeSpan.TicksPerSecond), OnDetectEnd);
+        connectedDetecting = true;
+
+        var sendInfo1 = new C0104_tagCOnlineReturn();
+        sendInfo1.Type = 0;
+        GameNetSystem.Instance.SendInfo(sendInfo1);// 鍦ㄧ嚎鍥炲簲
+
+        if (clock != null)
+        {
+            Clock.Stop(clock);
+        }
+        clock = Clock.AlarmAt(DateTime.Now + new TimeSpan(_seconds * TimeSpan.TicksPerSecond), OnDetectEnd);
     }
 
     private void OnDetectEnd()
@@ -107,15 +98,6 @@
             || GameNetSystem.Instance.timeSinceMainSocketLastProtocol > OVERTIME_THRESHOLD;
 #endif
 
-        if (GameNetSystem.Instance.crossServerConnected_Loigc)
-        {
-#if UNITY_IOS && !UNITY_EDITOR
-            isDisconnected = isDisconnected || GameNetSystem.Instance.timeSinceCrossServerSocketLastProtocol > 3f;
-#else
-            isDisconnected = isDisconnected || !GameNetSystem.Instance.crossServerSocketConnected
-                || GameNetSystem.Instance.timeSinceCrossServerSocketLastProtocol > OVERTIME_THRESHOLD;
-#endif
-        }
 
         if (isDisconnected)
         {
diff --git a/Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs b/Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs
index 4ad3f8e..9e65324 100644
--- a/Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs
+++ b/Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs
@@ -30,8 +30,14 @@
     public static void Init()
     {
         // 鐧昏鐩稿簲鐨勬暟鎹綋鍙婂搴旂殑鏁版嵁杞�昏緫绫�
-        // Register(typeof(HA328_tagMCHistoryReChargeAwardRecord), typeof(DTCA328_tagMCHistoryReChargeAwardRecord));
-        
+        Register(typeof(H0102_tagCDBPlayer), typeof(DTC0102_tagCDBPlayer));
+        Register(typeof(HA004_tagServerDateTime), typeof(DTCA004_tagServerDateTime));
+        Register(typeof(HA005_tagOpenServerDay), typeof(DTCA005_tagOpenServerDay));
+        Register(typeof(H0403_tagPlayerLoginLoadOK), typeof(DTC0403_tagPlayerLoginLoadOK));
+        Register(typeof(H0101_tagServerPrepared), typeof(DTC0101_tagServerPrepared));
+        Register(typeof(H0104_tagServerDisconnect), typeof(DTC0104_tagServerDisconnect));
+
+
     }
 
 
diff --git a/Main/Core/NetworkPackage/GameNetPackBasic.cs b/Main/Core/NetworkPackage/GameNetPackBasic.cs
index 2aa463e..92e3ee2 100644
--- a/Main/Core/NetworkPackage/GameNetPackBasic.cs
+++ b/Main/Core/NetworkPackage/GameNetPackBasic.cs
@@ -8,7 +8,7 @@
 public class GameNetPackBasic
 {
 
-    public ServerType socketType = ServerType.Main;
+    public ServerType socketType = ServerType.Main; //榛樿涓斿敮涓�
 
     /** 鍗忚鍙� */
     protected ushort _cmd = 0;
diff --git a/Main/Core/NetworkPackage/GameNetSystem.cs b/Main/Core/NetworkPackage/GameNetSystem.cs
index 92a27d7..c5dde14 100644
--- a/Main/Core/NetworkPackage/GameNetSystem.cs
+++ b/Main/Core/NetworkPackage/GameNetSystem.cs
@@ -6,7 +6,7 @@
 
 public class GameNetSystem : Singleton<GameNetSystem>
 {
-    // NetUpdateBehaviour m_NetUpdateBehaviour;
+    NetUpdateBehaviour m_NetUpdateBehaviour;
     NeverConnectState neverConnectState;
     AccountLoginState accountLoginState;
     // CreateOrSelectRoleState createOrSelectRoleState;
@@ -78,26 +78,16 @@
         get { return mainSocket == null ? Time.time : (float)(DateTime.Now - mainSocket.lastPackageTime).TotalSeconds; }
     }
 
-    public bool crossServerConnected_Loigc { get; set; }
-    private ClientSocket crossServerSocket;
-    public bool crossServerSocketConnected { get { return crossServerConnected_Loigc && (crossServerSocket == null ? false : crossServerSocket.connected); } }
-
-    public float timeSinceCrossServerSocketLastProtocol
-    {
-        get { return crossServerSocket == null ? Time.time : (float)(DateTime.Now - crossServerSocket.lastPackageTime).TotalSeconds; }
-    }
 
     Queue<GameNetPackBasic> mainProtocolQueue = new Queue<GameNetPackBasic>();
-    Queue<GameNetPackBasic> crossSeverProtocolQueue = new Queue<GameNetPackBasic>();
 
-    public CrossServerData crossServerData { get; private set; }
 
     public GameNetSystem()
     {
         var gameObject = new GameObject("NetUpdateBehaviour");
-        GameObject.DontDestroyOnLoad(gameObject);
-        // m_NetUpdateBehaviour = gameObject.AddComponent<NetUpdateBehaviour>();
-        // m_NetUpdateBehaviour.RegisterUpdateCallBack(OnUpdate);
+        GameObject.DontDestroyOnLoad(gameObject);
+        m_NetUpdateBehaviour = gameObject.AddComponent<NetUpdateBehaviour>();
+        m_NetUpdateBehaviour.RegisterUpdateCallBack(OnUpdate);
 
         neverConnectState = gameObject.AddComponent<NeverConnectState>();
         accountLoginState = gameObject.AddComponent<AccountLoginState>();
@@ -135,41 +125,6 @@
         });
     }
 
-    public void BeginConnectCrossServer(string ip, int port, Action<bool> onConnected)
-    {
-        try
-        {
-            crossServerConnected_Loigc = false;
-            if (crossServerSocketConnected)
-            {
-                crossServerSocket.CloseConnect();
-            }
-        }
-        catch (System.Exception ex)
-        {
-            Debug.Log(ex);
-        }
-
-        crossServerSocket = new ClientSocket(ServerType.CrossSever);
-        crossSeverProtocolQueue.Clear();
-        this.crossServerSocket.Connect(ip, port, (bool ok) =>
-        {
-            if (onConnected != null)
-            {
-                onConnected(ok);
-            }
-        });
-    }
-
-    public void UpdateCrossServerData(string ip, int port, byte state)
-    {
-        this.crossServerData = new CrossServerData(ip, port, state);
-        if (this.crossServerData.crossState == 0)
-        {
-            crossServerConnected_Loigc = false;
-        }
-    }
-
     public void SendInfo(GameNetPackBasic protocol)
     {
         if (mainSocket != null)
@@ -187,15 +142,6 @@
         }
     }
 
-    public void SendToCrossServer(GameNetPackBasic protocol)
-    {
-        if (crossServerSocket != null)
-        {
-            protocol.socketType = ServerType.CrossSever;
-            crossServerSocket.SendInfo(protocol);
-            DebugPkgCache.Push(protocol);
-        }
-    }
 
     public void PushPackage(GameNetPackBasic protocol, ServerType type)
     {
@@ -208,17 +154,7 @@
 
             if (PackageRegedit.Contain(protocol.cmd))
             {
-                switch (type)
-                {
-                    case ServerType.Main:
-                        mainProtocolQueue.Enqueue(protocol);
-                        break;
-                    case ServerType.CrossSever:
-                        crossSeverProtocolQueue.Enqueue(protocol);
-                        break;
-                    default:
-                        break;
-                }
+                mainProtocolQueue.Enqueue(protocol);
 
                 DebugPkgCache.Push(protocol);
             }
@@ -238,13 +174,7 @@
                 mainSocket.CloseConnect();
             }
 
-            if (crossServerSocket != null)
-            {
-                crossServerSocket.CloseConnect();
-            }
-
             mainProtocolQueue.Clear();
-            crossSeverProtocolQueue.Clear();
         }
         catch (Exception ex)
         {
@@ -255,30 +185,10 @@
             netState = NetState.DisConnected;
             // var loginModel = ModelCenter.Instance.GetModel<LoginModel>();
             // loginModel.busy = false;
-            // CrossServerLogin.Instance.busy = false;
         }
     }
 
-    public void DisconnectCrossServer()
-    {
-        try
-        {
-            if (crossServerSocket != null)
-            {
-                crossServerSocket.CloseConnect();
-            }
 
-            crossSeverProtocolQueue.Clear();
-        }
-        catch (Exception ex)
-        {
-            Debug.Log(ex);
-        }
-        finally
-        {
-            // CrossServerLogin.Instance.busy = false;
-        }
-    }
 
     public void Reconnect()
     {
@@ -289,13 +199,7 @@
                 mainSocket.CloseConnect();
             }
 
-            if (crossServerSocket != null)
-            {
-                crossServerSocket.CloseConnect();
-            }
-
             mainProtocolQueue.Clear();
-            crossSeverProtocolQueue.Clear();
         }
         catch (Exception ex)
         {
@@ -304,7 +208,6 @@
         finally
         {
             netState = NetState.AccountLogin;
-            // CrossServerLogin.Instance.busy = false;
             // var loginModel = ModelCenter.Instance.GetModel<LoginModel>();
             // loginModel.busy = false;
             // loginModel.ReAccountLogin();
@@ -320,20 +223,13 @@
         try
         {
             // ynmbxxjUtil.Instance.RoleLoginOut();
-            crossServerConnected_Loigc = false;
 
             if (mainSocket != null)
             {
                 mainSocket.CloseConnect();
             }
 
-            if (crossServerSocket != null)
-            {
-                crossServerSocket.CloseConnect();
-            }
-
             mainProtocolQueue.Clear();
-            crossSeverProtocolQueue.Clear();
         }
         catch (Exception ex)
         {
@@ -344,11 +240,8 @@
             netState = NetState.NerverConnect;
             // TODO YYL
 
-            // CrossServerLogin.Instance.busy = false;
-            // //ArenaManager.isArenaClient = false;
             // var loginModel = ModelCenter.Instance.GetModel<LoginModel>();
             // loginModel.busy = false;
-            // WindowJumpMgr.Instance.ClearJumpData();
 
             // StageLoad.Instance.PushSceneLoadCommand(new StageLoad.StageLoadCommand()
             // {
@@ -395,14 +288,6 @@
                     PackageRegedit.Distribute(package);
                 }
             }
-            while (crossSeverProtocolQueue.Count > 0)
-            {
-                var package = crossSeverProtocolQueue.Dequeue();
-                if (package != null)
-                {
-                    PackageRegedit.Distribute(package);
-                }
-            }
         }
 
     }
@@ -417,31 +302,10 @@
         DisConnected = 6,
     }
 
-    public struct CrossServerData
-    {
-        public string ip;
-        public int port;
-        public CrossServerState crossState;
-
-        public CrossServerData(string ip, int port, byte state)
-        {
-            this.ip = ip;
-            this.port = port;
-            this.crossState = (CrossServerState)state;
-        }
-    }
-
-    public enum CrossServerState
-    {
-        No = 0,
-        Yes = 1,
-        Error = 2,
-    }
 
 }
 
 public enum ServerType
 {
     Main = 1,
-    CrossSever = 2,
 }
diff --git a/Main/Core/NetworkPackage/ServerPack/H01_System/H0101_tagServerPrepared.cs b/Main/Core/NetworkPackage/ServerPack/H01_System/H0101_tagServerPrepared.cs
index bf7f2ed..f43668d 100644
--- a/Main/Core/NetworkPackage/ServerPack/H01_System/H0101_tagServerPrepared.cs
+++ b/Main/Core/NetworkPackage/ServerPack/H01_System/H0101_tagServerPrepared.cs
@@ -1,31 +1,17 @@
 using UnityEngine;
 using System.Collections;
 
-//01 01 服务器InitOK#tagServerPrepared
-
-
-
-public class H0101_tagServerPrepared : GameNetPackBasic {
-
-    public uint Version;
-
-
-
-    public H0101_tagServerPrepared () {
-
-        _cmd = (ushort)0x0101;
-
-    }
-
-
-
-    public override void ReadFromBytes (byte[] vBytes) {
-
-        TransBytes (out Version, vBytes, NetDataType.DWORD);
-
-    }
-
-
-
-}
-
+//01 01 鏈嶅姟鍣↖nitOK#tagServerPrepared
+
+public class H0101_tagServerPrepared : GameNetPackBasic {
+    public uint Version;
+
+    public H0101_tagServerPrepared () {
+        _cmd = (ushort)0x0101;
+    }
+
+    public override void ReadFromBytes (byte[] vBytes) {
+        TransBytes (out Version, vBytes, NetDataType.DWORD);
+    }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/H01_System/H0104_tagServerDisconnect.cs b/Main/Core/NetworkPackage/ServerPack/H01_System/H0104_tagServerDisconnect.cs
new file mode 100644
index 0000000..ddf1799
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/H01_System/H0104_tagServerDisconnect.cs
@@ -0,0 +1,17 @@
+using UnityEngine;
+using System.Collections;
+
+//01 04 鏂嚎#tagServerDisconnect
+
+public class H0104_tagServerDisconnect : GameNetPackBasic {
+    public byte Reason;
+
+    public H0104_tagServerDisconnect () {
+        _cmd = (ushort)0x0104;
+    }
+
+    public override void ReadFromBytes (byte[] vBytes) {
+        TransBytes (out Reason, vBytes, NetDataType.BYTE);
+    }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta b/Main/Core/NetworkPackage/ServerPack/H01_System/H0104_tagServerDisconnect.cs.meta
similarity index 83%
copy from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
copy to Main/Core/NetworkPackage/ServerPack/H01_System/H0104_tagServerDisconnect.cs.meta
index c25ecc3..dc40421 100644
--- a/Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
+++ b/Main/Core/NetworkPackage/ServerPack/H01_System/H0104_tagServerDisconnect.cs.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 1b563b4d32b55f343a54a3a82a948885
+guid: e506b2c33da96614a9cb666794a198f3
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2
diff --git a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction.meta b/Main/Core/NetworkPackage/ServerPack/HA0_Sys.meta
similarity index 76%
copy from Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction.meta
copy to Main/Core/NetworkPackage/ServerPack/HA0_Sys.meta
index 07dfd35..d02f043 100644
--- a/Main/Core/NetworkPackage/ClientPack/ClientToGameServer/CA2_Interaction.meta
+++ b/Main/Core/NetworkPackage/ServerPack/HA0_Sys.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: ed9b5fa1622097949b83432deb77a9e4
+guid: aaafdaa480fd07d4eb6371347a79a2f4
 folderAsset: yes
 DefaultImporter:
   externalObjects: {}
diff --git a/Main/Core/NetworkPackage/ServerPack/HA0_Sys/HA004_tagServerDateTime.cs b/Main/Core/NetworkPackage/ServerPack/HA0_Sys/HA004_tagServerDateTime.cs
new file mode 100644
index 0000000..9917ca1
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HA0_Sys/HA004_tagServerDateTime.cs
@@ -0,0 +1,31 @@
+using UnityEngine;
+using System.Collections;
+
+//A0 04 鍚屾瀹㈡埛绔椂闂� #tagServerDateTime
+
+public class HA004_tagServerDateTime : GameNetPackBasic {
+    public ushort Year;
+    public byte Month;
+    public byte Day;
+    public byte Hour;
+    public byte Minute;
+    public byte Second;
+    public uint MicSecond;
+    public string CrossServerTime;
+
+    public HA004_tagServerDateTime () {
+        _cmd = (ushort)0xA004;
+    }
+
+    public override void ReadFromBytes (byte[] vBytes) {
+        TransBytes (out Year, vBytes, NetDataType.WORD);
+        TransBytes (out Month, vBytes, NetDataType.BYTE);
+        TransBytes (out Day, vBytes, NetDataType.BYTE);
+        TransBytes (out Hour, vBytes, NetDataType.BYTE);
+        TransBytes (out Minute, vBytes, NetDataType.BYTE);
+        TransBytes (out Second, vBytes, NetDataType.BYTE);
+        TransBytes (out MicSecond, vBytes, NetDataType.DWORD);
+        TransBytes (out CrossServerTime, vBytes, NetDataType.Chars, 19);
+    }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta b/Main/Core/NetworkPackage/ServerPack/HA0_Sys/HA004_tagServerDateTime.cs.meta
similarity index 83%
copy from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
copy to Main/Core/NetworkPackage/ServerPack/HA0_Sys/HA004_tagServerDateTime.cs.meta
index c25ecc3..d0f1fc6 100644
--- a/Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
+++ b/Main/Core/NetworkPackage/ServerPack/HA0_Sys/HA004_tagServerDateTime.cs.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 1b563b4d32b55f343a54a3a82a948885
+guid: e449a4ea5559fa240a8d421daa3511fb
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2
diff --git a/Main/Core/NetworkPackage/ServerPack/HA0_Sys/HA005_tagOpenServerDay.cs b/Main/Core/NetworkPackage/ServerPack/HA0_Sys/HA005_tagOpenServerDay.cs
new file mode 100644
index 0000000..1cca302
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HA0_Sys/HA005_tagOpenServerDay.cs
@@ -0,0 +1,39 @@
+using UnityEngine;
+using System.Collections;
+
+//A0 05 鍚屾寮�鏈嶅ぉ鏁� #tagOpenServerDay
+
+public class HA005_tagOpenServerDay : GameNetPackBasic {
+    public ushort Day;    // 宸插紑鏈嶅ぉ鏁帮紝浠�0寮�濮�
+    public byte IsMixServer;    //鏄惁鏄悎鏈嶆湇鍔″櫒
+    public ushort MixDay;    // 宸插悎鏈嶅ぉ鏁帮紝浠�0寮�濮�
+    public byte OpenWeekday;    //寮�鏈嶆槸鍛ㄥ嚑锛�1浠h〃鍛ㄤ竴
+    public ushort NowYear;    //鏈嶅姟鍣ㄥ綋鍓嶆椂闂� - 骞�
+    public byte NowMonth;
+    public byte NowDay;
+    public byte NowHour;
+    public byte NowMinute;
+    public byte NowSecond;
+    public uint NowMicSecond;
+    public byte WeekOfYear;    //涓�骞翠腑鐨勭鍑犲懆
+
+    public HA005_tagOpenServerDay () {
+        _cmd = (ushort)0xA005;
+    }
+
+    public override void ReadFromBytes (byte[] vBytes) {
+        TransBytes (out Day, vBytes, NetDataType.WORD);
+        TransBytes (out IsMixServer, vBytes, NetDataType.BYTE);
+        TransBytes (out MixDay, vBytes, NetDataType.WORD);
+        TransBytes (out OpenWeekday, vBytes, NetDataType.BYTE);
+        TransBytes (out NowYear, vBytes, NetDataType.WORD);
+        TransBytes (out NowMonth, vBytes, NetDataType.BYTE);
+        TransBytes (out NowDay, vBytes, NetDataType.BYTE);
+        TransBytes (out NowHour, vBytes, NetDataType.BYTE);
+        TransBytes (out NowMinute, vBytes, NetDataType.BYTE);
+        TransBytes (out NowSecond, vBytes, NetDataType.BYTE);
+        TransBytes (out NowMicSecond, vBytes, NetDataType.DWORD);
+        TransBytes (out WeekOfYear, vBytes, NetDataType.BYTE);
+    }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta b/Main/Core/NetworkPackage/ServerPack/HA0_Sys/HA005_tagOpenServerDay.cs.meta
similarity index 83%
rename from Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
rename to Main/Core/NetworkPackage/ServerPack/HA0_Sys/HA005_tagOpenServerDay.cs.meta
index c25ecc3..5772208 100644
--- a/Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs.meta
+++ b/Main/Core/NetworkPackage/ServerPack/HA0_Sys/HA005_tagOpenServerDay.cs.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 1b563b4d32b55f343a54a3a82a948885
+guid: a6484a8278af59643850fd9225f7338d
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2
diff --git a/Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs b/Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs
deleted file mode 100644
index d854845..0000000
--- a/Main/Core/NetworkPackage/ServerPack/HA2_Package/HA202_tagMCAttackMode.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-using UnityEngine;
-using System.Collections;
-
-// A2 02 鐜╁鏀诲嚮妯″紡閫氱煡 #tagMCAttackMode
-
-public class HA202_tagMCAttackMode : GameNetPackBasic {
-    public byte Mode;
-
-    public HA202_tagMCAttackMode () {
-        _cmd = (ushort)0xA202;
-    }
-
-    public override void ReadFromBytes (byte[] vBytes) {
-        TransBytes (out Mode, vBytes, NetDataType.BYTE);
-    }
-
-}
diff --git a/Main/Main.cs b/Main/Main.cs
index 17951d3..1de4044 100644
--- a/Main/Main.cs
+++ b/Main/Main.cs
@@ -52,6 +52,8 @@
             manager.RequestNessaryData();
         }
 
+        UIManager.Instance.CloseWindow<LaunchBackGroundWin>();
+        UIManager.Instance.CloseWindow<LoginWin>();
     }
 
     public static void OnSwitchToLoginScene()
diff --git a/Main/Manager/StageManager.cs b/Main/Manager/StageManager.cs
index 9451f58..c1890ff 100644
--- a/Main/Manager/StageManager.cs
+++ b/Main/Manager/StageManager.cs
@@ -41,7 +41,7 @@
         Main.OnSwitchToLoginScene();
 
         currentStage = StageName.Login;
-
+        UIManager.Instance.OpenWindow<LaunchBackGroundWin>();
         UIManager.Instance.OpenWindow<LoginWin>();
     }
 
diff --git a/Main/Manager/UIManager.cs b/Main/Manager/UIManager.cs
index a5d6d01..bf666e6 100644
--- a/Main/Manager/UIManager.cs
+++ b/Main/Manager/UIManager.cs
@@ -529,7 +529,7 @@
                 return layerCompare;
                 
             // 鍚屽眰绾у唴锛屾寜鐓ф爤涓殑椤哄簭鎺掑簭
-            return Array.IndexOf(uiArray, a).CompareTo(Array.IndexOf(uiArray, b));
+            return Array.IndexOf(uiArray, b).CompareTo(Array.IndexOf(uiArray, a));
         });
         
         // 閬嶅巻鎺掑簭鍚庣殑UI鏁扮粍锛岃缃帓搴忛『搴�
diff --git a/Main/SDK/SDKUtils.cs b/Main/SDK/SDKUtils.cs
index 6ca9d0b..40480ca 100644
--- a/Main/SDK/SDKUtils.cs
+++ b/Main/SDK/SDKUtils.cs
@@ -18,23 +18,9 @@
 
     public enum E_ChannelPlatform
     {
-        Free = 1,// 鑷敱
-        Mr = 2,// 鐚��
-        Sp = 3,// 鎬濈挒
-        Js = 4,// 鏋侀��
-        Yj = 5,// 鏄撴帴
-        Yl = 6,// 鏄撲箰
-        Xn = 7,// 灏忕墰
-        Cjm = 8,// 瓒呯骇姊�
-        Ky = 9,//鎭鸿嫳
+        Free = 1,// 榛樿
         Quick = 10, //quick
-        SanXia = 11, //涓夊场锛堟腐鍙颁娇鐢級
-        SanXiaiOS = 12, //涓夊场 锛堟腐鍙癷os浣跨敤锛�
         Hy = 15, //娆㈡父
-        hygt = 16, //娆㈡父娓彴
-        mlgt = 17, //鍜櫆娓彴
-        newyn = 19, //鏂扮殑瓒婂崡锛堟娓�0.1锛�
-        en = 20, //鑻辨枃鐗�
     }
 
     //鏉冮檺鐢宠鍥炶皟
@@ -388,55 +374,8 @@
         var _result = "default";
         switch (Application.platform)
         {
-            case RuntimePlatform.Android:
-                if (ChannelPlatform == E_ChannelPlatform.Sp)
-                {
-                    using (AndroidJavaClass _jc = new AndroidJavaClass("com.sp.sdk.utils.SDKManagerUtils"))
-                    {
-                        using (AndroidJavaObject _jo = _jc.CallStatic<AndroidJavaObject>("getAssetPropConfig", GetApplicationContext(), "plugin_config.properties"))
-                        {
-                            _result = _jo.Call<string>("get", "game_id");
-                        }
-                    }
-                }
-                else if (ChannelPlatform == E_ChannelPlatform.Mr)
-                {
-                    using (AndroidJavaClass _jc = new AndroidJavaClass("com.secondworld.univeralsdk.UniversalUtil"))
-                    {
-                        _result = _jc.CallStatic<string>("getMetaString", "Mr_GAME_ID");
-                    }
-                }
-                else if (ChannelPlatform == E_ChannelPlatform.Js)
-                {
-                    using (AndroidJavaClass _jc = new AndroidJavaClass("com.secondworld.univeralsdk.UniversalUtil"))
-                    {
-                        _result = _jc.CallStatic<string>("getMetaString", "LL_APPID");
-                    }
-                }
-                else if (ChannelPlatform == E_ChannelPlatform.Free)
-                {
-                    _result = "freeplatform";
-                }
-                else if (ChannelPlatform == E_ChannelPlatform.Yl)
-                {
-                    _result = "yileplatform";
-                }
-                else if (ChannelPlatform == E_ChannelPlatform.Ky)
-                {
-                    _result = "kyplatform";
-                }
-                else if (ChannelPlatform == E_ChannelPlatform.hygt)
-                {
-                    _result = "hygt";
-                }
-                else if (ChannelPlatform == E_ChannelPlatform.newyn)
-                {
-                    _result = "vn";
-                }
-                else if (ChannelPlatform == E_ChannelPlatform.en)
-                {
-                    _result = "en";
-                }
+            case RuntimePlatform.Android:
+                _result = "android";
                 break;
             case RuntimePlatform.IPhonePlayer:
                 _result = "ios";//ios骞冲彴鍥哄畾杩斿洖ios
@@ -1379,11 +1318,12 @@
 
     public void RoleLoginOut()
     {
-        if (PlayerDatas.Instance.PlayerId == 0/* || PlayerDatas.Instance.hero == null*/)
+        if (PlayerDatas.Instance.PlayerId == 0)
+            return;
+        
+        if (!DTC0403_tagPlayerLoginLoadOK.finishedLogin) 
             return;
 
-        
-        if (DTC0403_tagPlayerLoginLoadOK.neverLoginOk) return;
         m_Json.Clear();
         m_Json["code"] = CodeU2A.RoleLoginOut;
 
diff --git a/Main/System/Chat/ChatManager.cs b/Main/System/Chat/ChatManager.cs
index 4dee680..08809cd 100644
--- a/Main/System/Chat/ChatManager.cs
+++ b/Main/System/Chat/ChatManager.cs
@@ -342,14 +342,7 @@
                              C0207_tagCTalkArea chatPack = new C0207_tagCTalkArea();
                              chatPack.Len = (ushort)GetUTF8InfoLen(msg);
                              chatPack.Content = msg;
-                             if (CrossServerUtility.IsCrossServer())
-                             {
-                                 GameNetSystem.Instance.SendToCrossServer(chatPack);
-                             }
-                             else
-                             {
-                                 GameNetSystem.Instance.SendInfo(chatPack);
-                             }
+                             GameNetSystem.Instance.SendInfo(chatPack); 
                          }
                          break;
                      case ChatInfoType.CrossServer:
@@ -416,14 +409,7 @@
                              _pak.TalkType = 100;
                              _pak.Len = (ushort)GetUTF8InfoLen(msg);
                              _pak.Content = msg;
-                             if (CrossServerUtility.IsCrossServer())
-                             {
-                                 GameNetSystem.Instance.SendToCrossServer(_pak);
-                             }
-                             else
-                             { 
-                                 GameNetSystem.Instance.SendInfo(_pak);
-                             }
+                             GameNetSystem.Instance.SendInfo(_pak);
                          }
                          break;
                  }
diff --git a/Main/System/Chat/ChatWin.cs b/Main/System/Chat/ChatWin.cs
index 78fea13..4a23d7e 100644
--- a/Main/System/Chat/ChatWin.cs
+++ b/Main/System/Chat/ChatWin.cs
@@ -109,13 +109,7 @@
 
         private bool IsSatisfyShowChannel(ChatInfoType channel)
         {
-            if (CrossServerUtility.IsCrossServer())
-            {
-                if (channel == ChatInfoType.Team || channel == ChatInfoType.Invite)
-                {
-                    return false;
-                }
-            }
+
             return true;
         }
 
diff --git a/Main/System/CrossServer.meta b/Main/System/CrossServer.meta
deleted file mode 100644
index 9b835f6..0000000
--- a/Main/System/CrossServer.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: c71a88df2a94ead49be660ed7e37f48c
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Main/System/CrossServer/CrossServerUtility.cs b/Main/System/CrossServer/CrossServerUtility.cs
deleted file mode 100644
index 7d93c18..0000000
--- a/Main/System/CrossServer/CrossServerUtility.cs
+++ /dev/null
@@ -1,67 +0,0 @@
-锘縰sing System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-using vnxbqy.UI;
-
-public class CrossServerUtility
-{
-
-    public static bool IsCrossServer()
-    {
-        return PlayerDatas.Instance.baseData.CrossServerFlag > 2;
-    }
-
-    public const int CrossServerRedKey = 213;
-    static Redpoint crossServerRedpoint = new Redpoint(CrossServerRedKey);
-
-    public static void UpdateCrossServerRedpoint()
-    {
-        // TODO YYL
-        // var oneVsOneCount = CrossServerOneVsOnePKSeason.Instance.isSatisfyMatch
-        //     ? CrossServerOneVsOnePlayerInfo.Instance.GetDayRemainNum() : 0;
-        // var crossServerBossCount = ModelCenter.Instance.GetModel<CrossServerBossModel>().redpoint.count;
-
-        // var count = oneVsOneCount + crossServerBossCount;
-        // if (count > 0)
-        // {
-        //     crossServerRedpoint.count = count;
-        //     crossServerRedpoint.state = RedPointState.Quantity;
-        // }
-        // else
-        // {
-        //     crossServerRedpoint.count = 0;
-        //     crossServerRedpoint.state = RedPointState.None;
-        // }
-    }
-
-    //璺ㄦ湇鎺掍綅璧涚敤姝ゅ嚱鏁版ā鎷燂紝鍚庣画闇�瑕佹暣鐞嗕笁鑰咃紙鏇村锛夊叧绯� ArenaManager.isArenaClient
-    public static bool IsCrossServerOneVsOne()
-    {
-        // TODO YYL
-
-        // if (ClientCrossServerOneVsOne.isClientCrossServerOneVsOne)
-        // {
-        //     return true;
-        // }
-
-        // var dungeonModel = ModelCenter.Instance.GetModel<DungeonModel>();
-        // var dataMapId = dungeonModel.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID);
-
-        // return dataMapId == CrossServerOneVsOneModel.CrossServerDataMapId || dataMapId == 32070;
-
-        return false;
-    }
-
-    public static bool IsCrossServerBoss()
-    {
-        // TODO YYL
-        if (PlayerDatas.Instance.baseData.CrossServerFlag <= 2)
-            return false;
-
-        // return PlayerDatas.Instance.baseData.MapID == 32080
-        //     || PlayerDatas.Instance.baseData.MapID == CrossServerBossModel.DATA_MAPID;
-
-        return false;
-    }
-
-}
diff --git a/Main/System/CrossServer/CrossServerUtility.cs.meta b/Main/System/CrossServer/CrossServerUtility.cs.meta
deleted file mode 100644
index 24dc7a6..0000000
--- a/Main/System/CrossServer/CrossServerUtility.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 968873529aa87514e876d1d10d4cec27
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Main/System/GMCommand/GMCmdManager.cs b/Main/System/GMCommand/GMCmdManager.cs
index dcb1ed5..e7a86b0 100644
--- a/Main/System/GMCommand/GMCmdManager.cs
+++ b/Main/System/GMCommand/GMCmdManager.cs
@@ -33,18 +33,6 @@
         GameNetSystem.Instance.SendInfo(gmCmd);
     }
 
-    /// <summary>
-    /// 鍙戦�丆rossServer GM
-    /// </summary>
-    /// <param name="sendQuest"></param>
-    public void SendCrossServerGMQuest(string sendQuest)
-    {
-        Debug.Log("sendQuest: " + sendQuest);
-        C320C_tagCGMCMD gmCmd = new C320C_tagCGMCMD();
-        gmCmd.Cmd = sendQuest;
-        gmCmd.CmdLen = (byte)(sendQuest.Length);
-        GameNetSystem.Instance.SendToCrossServer(gmCmd);
-    }
 
 
     public void GetCmdArray()
diff --git a/Main/System/GMCommand/GMCmdPanel.cs b/Main/System/GMCommand/GMCmdPanel.cs
index 3dd7ee2..a55fc9a 100644
--- a/Main/System/GMCommand/GMCmdPanel.cs
+++ b/Main/System/GMCommand/GMCmdPanel.cs
@@ -67,22 +67,13 @@
 
         public void SplitLongGMCmd(string value)
         {
-            if (value == "RoleDead" && CrossServerUtility.IsCrossServer())
+
+            string[] longCmdArray = value.Split('|');
+            for (int i = 0; i < longCmdArray.Length; i++)
             {
-                string[] longCmdArray = value.Split('|');
-                for (int i = 0; i < longCmdArray.Length; i++)
-                {
-                    cmdModel.SendCrossServerGMQuest(longCmdArray[i].Trim());
-                }
+                cmdModel.OnSendGMQuest(longCmdArray[i].Trim());
             }
-            else
-            {
-                string[] longCmdArray = value.Split('|');
-                for (int i = 0; i < longCmdArray.Length; i++)
-                {
-                    cmdModel.OnSendGMQuest(longCmdArray[i].Trim());
-                }
-            }
+
 
         }
 
diff --git a/Main/System/GMCommand/GMInputWin.cs b/Main/System/GMCommand/GMInputWin.cs
index 46abb66..8a3351b 100644
--- a/Main/System/GMCommand/GMInputWin.cs
+++ b/Main/System/GMCommand/GMInputWin.cs
@@ -22,8 +22,6 @@
         [SerializeField]
         private Button _sendBtn;
 
-        [SerializeField]
-        private Button m_CrossServerSend;
 
         [SerializeField]
         private Button _gmInfoBtn;
@@ -52,7 +50,6 @@
             _gmInfoBtn.onClick.AddListener(OnClickGMInfoBtn);
             _clearBtn.onClick.AddListener(OnClickClearBtn);
             achieveJumpTestBtn.AddListener(ClickAchieveJumpBtn);
-            m_CrossServerSend.SetListener(SendCrossServerGM);
             _cmdContent.SetActive(false);
         }
 
@@ -140,26 +137,6 @@
             // }
 
             cmdModel.OnSendGMQuest(_inputCmd.text.Trim());
-            cmdModel.SetRecordCmdlist(_inputCmd.text);
-        }
-
-        private void SendCrossServerGM()
-        {
-            if (_inputCmd.text == null || _inputCmd.text == "" || _inputCmd.text == string.Empty)
-                return;
-
-            // if (_inputCmd.text == "HappyXB")
-            // {
-            //     WindowCenter.Instance.Open<HappyXBWin>();
-            //     return;
-            // }
-            // else if (_inputCmd.text == "TreasureFindHost")
-            // {
-            //     WindowCenter.Instance.Open<TreasureFindHostWin>();
-            //     return;
-            // }
-
-            cmdModel.SendCrossServerGMQuest(_inputCmd.text.Trim());
             cmdModel.SetRecordCmdlist(_inputCmd.text);
         }
 
diff --git a/Main/System/Launch/LaunchBackGroundWin.cs b/Main/System/Launch/LaunchBackGroundWin.cs
index 5efcad7..a5c69b7 100644
--- a/Main/System/Launch/LaunchBackGroundWin.cs
+++ b/Main/System/Launch/LaunchBackGroundWin.cs
@@ -35,7 +35,7 @@
 
         var sprite = BuiltInLoader.LoadSprite("LoginBackGround");
         m_BackGroundImage.overrideSprite = sprite;
-        m_BackGroundImage.preserveAspect = true;
+        //m_BackGroundImage.preserveAspect = true;
         m_StaticBackGround.SetActive(true);
 
         this.transform.SetAsFirstSibling();
diff --git a/Main/System/Login/LoginManager.cs b/Main/System/Login/LoginManager.cs
index 15d04ba..0d8724a 100644
--- a/Main/System/Login/LoginManager.cs
+++ b/Main/System/Login/LoginManager.cs
@@ -317,50 +317,31 @@
                     send.ExtraLen = 0;
                     send.Extra = "";
                     break;
-                case VersionAuthority.Release:
-                    send.Extra = VersionConfig.Get().SpID + "|" + SDKUtils.Instance.Device.uniqueID;
-                    send.ExtraLen = (ushort)send.Extra.Length;
-                    if (SDKUtils.Instance.ChannelPlatform == SDKUtils.E_ChannelPlatform.Free)
-                    {
-                        send.IDType = 1;
-                        send.Password = sdkLoginResult.token;
-                    }
-                    else if (SDKUtils.Instance.ChannelPlatform == SDKUtils.E_ChannelPlatform.Quick)
-                    {
-                        send.IDType = 10;
-                        send.Extra += ("|" + sdkLoginResult.token + "|" + sdkLoginResult.qkUserName);
-                        send.ExtraLen = (ushort)send.Extra.Length;
-                    }
-                    else if (SDKUtils.Instance.ChannelPlatform == SDKUtils.E_ChannelPlatform.Hy ||
-                        SDKUtils.Instance.ChannelPlatform == SDKUtils.E_ChannelPlatform.hygt ||
-                        SDKUtils.Instance.ChannelPlatform == SDKUtils.E_ChannelPlatform.newyn ||
-                        SDKUtils.Instance.ChannelPlatform == SDKUtils.E_ChannelPlatform.en
-                        )
-                    {
-                        send.IDType = (byte)SDKUtils.Instance.ChannelPlatform;
-                        send.Extra += ("|" + sdkLoginResult.token + "|" + sdkLoginResult.qkUserName);
-                        send.ExtraLen = (ushort)send.Extra.Length;
-                    }
-                    
+                case VersionAuthority.Release:
+                {
+                    var deviceInfo = DeviceUtility.GetDeviceModel();
+                    deviceInfo.Replace(" ", "").Replace("=", "").Replace("%", "").Replace("-", "").Replace("|", "");
+                    var versionStr = StringUtility.Contact(VersionConfig.Get().version, "_", VersionConfig.Get().buildIndex, "_", deviceInfo);
+
+                    send.Extra = StringUtility.Contact(VersionConfig.Get().SpID, "|",
+                                                        SDKUtils.Instance.Device.uniqueID, "|",
+                                                        sdkLoginResult.token, "|",
+                                                        sdkLoginResult.qkUserName, "|",
+                                                        versionStr.Substring(0, Math.Min(24, versionStr.Length)));
+
+
+                    Debug.Log("=====> extra: " + send.Extra);
+                    send.ExtraLen = (ushort)send.Extra.Length;
+
+                    send.IDType = (byte)SDKUtils.Instance.ChannelPlatform;
+                    send.Password = sdkLoginResult.token;
                     send.AccID = sdkLoginResult.account;
-
-                    var deviceInfo = DeviceUtility.GetDeviceModel();
-                    deviceInfo.Replace(" ", "").Replace("=", "").Replace("%", "").Replace("-", "").Replace("|","");
-                    var versionStr = StringUtility.Contact(VersionConfig.Get().version, "_", VersionConfig.Get().buildIndex, "_", deviceInfo);
-
-                    send.Extra += ("|" + versionStr.Substring(0, Math.Min(24, versionStr.Length)));
-                    Debug.Log("=====> extra: " + send.Extra);
-                    send.ExtraLen = (ushort)send.Extra.Length;
                     send.MAC = DeviceUtility.GetMac();
                     send.Version = _serverInfo.Version;
                     send.LineNO = 255;
                     send.AppID = VersionConfig.Get().appId;
                     send.AccountID = (uint)sdkLoginResult.accountID;
                     send.TokenExpire = sdkLoginResult.tokenExpire;
-                    if (SDKUtils.Instance.ChannelPlatform == SDKUtils.E_ChannelPlatform.Sp)
-                    {
-                        send.TokenExpire = SDKUtils.Instance.FreePlatformInfo.timeStamp;
-                    }
                     send.Phone = (byte)sdkLoginResult.phone;
                     send.ServerID = (uint)ServerListCenter.Instance.currentServer.region_flag;
                     if (sdkIDCheckIDAuthentication.type == "1")
@@ -375,7 +356,8 @@
                     {
                         send.Adult = 0;
                     }
-                    break;
+                    break;
+                }
             }
 
             return send;
diff --git a/Main/System/Login/ServerBehaviourGroup.cs b/Main/System/Login/ServerBehaviourGroup.cs
index 94c52c3..090e166 100644
--- a/Main/System/Login/ServerBehaviourGroup.cs
+++ b/Main/System/Login/ServerBehaviourGroup.cs
@@ -10,7 +10,6 @@
     public class ServerBehaviourGroup : ScrollItem
     {
         [SerializeField] ServerBehaviour m_ServerBehaviour_1;
-        [SerializeField] ServerBehaviour m_ServerBehaviour_2;
 
         public override void Display(object _data)
         {
@@ -19,16 +18,10 @@
             var serverDataGroup = (ServerDataCouple)_data;
 
             m_ServerBehaviour_1.SetActive(serverDataGroup.serverData1.region_flag > 0);
-            m_ServerBehaviour_2.SetActive(serverDataGroup.serverData2.region_flag > 0);
 
             if (serverDataGroup.serverData1.region_flag > 0)
             {
                 m_ServerBehaviour_1.Display(serverDataGroup.serverData1);
-            }
-
-            if (serverDataGroup.serverData2.region_flag > 0)
-            {
-                m_ServerBehaviour_2.Display(serverDataGroup.serverData2);
             }
 
         }
diff --git a/Main/System/Login/ServerData.cs b/Main/System/Login/ServerData.cs
index 2bd42f6..f368378 100644
--- a/Main/System/Login/ServerData.cs
+++ b/Main/System/Login/ServerData.cs
@@ -126,18 +126,18 @@
 public struct ServerDataCouple
 {
     public ServerData serverData1;
-    public ServerData serverData2;
+    //public ServerData serverData2;
 
     public ServerDataCouple(ServerData _data1)
     {
         serverData1 = _data1;
-        serverData2 = default(ServerData);
+        //serverData2 = default(ServerData);
     }
 
     public ServerDataCouple(ServerData _data1, ServerData _data2)
     {
         serverData1 = _data1;
-        serverData2 = _data2;
+        //serverData2 = _data2;
     }
 }
 
diff --git a/Main/System/Login/ServerListWin.cs b/Main/System/Login/ServerListWin.cs
index 5fd6507..0e7d3f2 100644
--- a/Main/System/Login/ServerListWin.cs
+++ b/Main/System/Login/ServerListWin.cs
@@ -1,9 +1,6 @@
 锘縰sing UnityEngine;
-using System.Collections;
 using System.Collections.Generic;
 using UnityEngine.UI;
-using DG.Tweening;
-using Cysharp.Threading.Tasks;
 
 public class ServerListWin : UIBase
 {
diff --git a/Main/System/SystemSetting/SettingMgr.cs b/Main/System/SystemSetting/SettingMgr.cs
index 0ad827b..ef4c25b 100644
--- a/Main/System/SystemSetting/SettingMgr.cs
+++ b/Main/System/SystemSetting/SettingMgr.cs
@@ -45,8 +45,8 @@
             // #endregion
 
             #region 鍒濆鍖栫郴缁熻缃�
-            SystemSetting.Instance.SetSystemSettingSwitch(SystemSwitch.OtherPlayer, false);
-            SystemSetting.Instance.SetSystemSettingSwitch(SystemSwitch.HideMonster, false);
+            //SystemSetting.Instance.SetSystemSettingSwitch(SystemSwitch.OtherPlayer, false);
+            //SystemSetting.Instance.SetSystemSettingSwitch(SystemSwitch.HideMonster, false);
             #endregion
 
             // #region 鍒濆鍖栬亰澶╄缃�
diff --git a/Main/System/UIBase/UIBase.cs b/Main/System/UIBase/UIBase.cs
index e78de21..79135b2 100644
--- a/Main/System/UIBase/UIBase.cs
+++ b/Main/System/UIBase/UIBase.cs
@@ -44,7 +44,7 @@
     [SerializeField][HideInInspector] public int maxIdleRounds = 20;
 
     // 鍔ㄧ敾鐩稿叧
-    [SerializeField] public UIAnimationType openAnimationType = UIAnimationType.None;
+    [SerializeField] public UIAnimationType openAnimationType = UIAnimationType.ScaleInOut;
     [SerializeField] public UIAnimationType closeAnimationType = UIAnimationType.None;
     [SerializeField][HideInInspector] public float animationDuration = 0.3f;
     [SerializeField][HideInInspector] public Ease animationEase = Ease.OutQuad; // 纭繚浣跨敤 DG.Tweening.Ease
diff --git a/Main/Utility/StageLoadTimeOutCatcher.cs b/Main/Utility/StageLoadTimeOutCatcher.cs
deleted file mode 100644
index 33ae30f..0000000
--- a/Main/Utility/StageLoadTimeOutCatcher.cs
+++ /dev/null
@@ -1,105 +0,0 @@
-锘縰sing System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-using System;
-
-public class StageLoadTimeOutCatcher : MonoBehaviour
-{
-    public static ProtocolRecorder got0102Time;
-    public static ProtocolRecorder gotA126Time;
-    public static ProtocolRecorder gotA127Time;
-    public static ProtocolRecorder got0109Time;
-    public static ProtocolRecorder got0403Time;
-    public static ProtocolRecorder send0107Time;
-
-    static StageLoadTimeOutCatcher timeOutCatcher;
-
-    public int stageId = 0;
-    public DateTime startTime;
-
-    private void Awake()
-    {
-        startTime = DateTime.Now;
-    }
-
-    public static void Begin(int stageId)
-    {
-        if (timeOutCatcher != null)
-        {
-            DestroyImmediate(timeOutCatcher.gameObject);
-            timeOutCatcher = null;
-        }
-
-        var go = new GameObject("StageLoadTimeOutCatcher");
-        var catcher = go.AddMissingComponent<StageLoadTimeOutCatcher>();
-        catcher.stageId = stageId;
-        timeOutCatcher = catcher;
-        DontDestroyOnLoad(go);
-    }
-
-    public static void Stop()
-    {
-        if (timeOutCatcher != null)
-        {
-            DestroyImmediate(timeOutCatcher.gameObject);
-            timeOutCatcher = null;
-        }
-    }
-
-    public static void ReportLoadingOverTime()
-    {
-        if (timeOutCatcher != null)
-        {
-            DestroyImmediate(timeOutCatcher.gameObject);
-            timeOutCatcher = null;
-        }
-    }
-
-    public static void RecordProtocol(ServerType socketType, string number, DateTime time)
-    {
-        var recorder = new ProtocolRecorder(number, time, socketType);
-        switch (number)
-        {
-            case "0102":
-                got0102Time = recorder;
-                break;
-            case "A126":
-                gotA126Time = recorder;
-                break;
-            case "A127":
-                gotA127Time = recorder;
-                break;
-            case "0109":
-                got0109Time = recorder;
-                break;
-            case "0107":
-                send0107Time = recorder;
-                break;
-            case "0403":
-                got0403Time = recorder;
-                break;
-            default:
-                break;
-        }
-    }
-
-    public struct ProtocolRecorder
-    {
-        public string number;
-        public DateTime time;
-        public ServerType socketType;
-
-        public ProtocolRecorder(string number, DateTime time, ServerType socketType)
-        {
-            this.number = number;
-            this.time = time;
-            this.socketType = socketType;
-        }
-
-        public override string ToString()
-        {
-            return StringUtility.Contact("灏佸寘锛�", number, ";", "鏃堕棿锛�", time.ToString("HH:mm:ss"), ";", "鏈嶅姟鍣細", socketType);
-        }
-    }
-
-}
diff --git a/Main/Utility/StageLoadTimeOutCatcher.cs.meta b/Main/Utility/StageLoadTimeOutCatcher.cs.meta
deleted file mode 100644
index 3ca6706..0000000
--- a/Main/Utility/StageLoadTimeOutCatcher.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: c94dd2ad545844d41ae32b38c84f5370
-timeCreated: 1535611323
-licenseType: Pro
-MonoImporter:
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Main/Utility/TimeUtility.cs b/Main/Utility/TimeUtility.cs
index b1bcaad..734e4b9 100644
--- a/Main/Utility/TimeUtility.cs
+++ b/Main/Utility/TimeUtility.cs
@@ -24,8 +24,7 @@
         }
     }
 
-    ////A0 04 鍚屾瀹㈡埛绔椂闂� #tagServerDateTime 涓殑 CrossServerTime 涓虹帺瀹跺湪瀛愭湇涓敹鍒扮殑璺ㄦ湇鏃堕棿
-    //CrossServerNow涓虹帺瀹剁櫥褰曞湪璺ㄦ湇鏈嶅姟鍣ㄩ噷鐨勯�氱煡鏃堕棿, 涓嶪LTimeUtility.ServerCrossNow锛堢帺瀹跺湪瀛愭湇鏀跺埌璺ㄦ湇鐨勬椂闂撮�氱煡锛変笉鍚�
+    //A0 04 鍚屾瀹㈡埛绔椂闂� #tagServerDateTime 涓殑 CrossServerTime 涓虹帺瀹跺湪瀛愭湇涓敹鍒扮殑璺ㄦ湇鏃堕棿
     static DateTime s_CrossServerTime = DateTime.Now;
     static float _crossCheckTime = 0;
     public static DateTime CrossServerNow
@@ -162,10 +161,7 @@
     public static event Action OnCreateRoleTimeRefresh;
     // public static void OnRefreshCreateRoleTime(HA124_tagMCPlayerInfo _package)
     // {
-    //     if (_package.socketType == ServerType.CrossSever)
-    //     {
-    //         return;
-    //     }
+
 
     //     createRoleTime = Convert.ToDateTime(UIHelper.GetTime(_package.CreateRoleTime));
     //     createRoleTimeTail = new DateTime(createRoleTime.Year, createRoleTime.Month, createRoleTime.Day);
@@ -176,72 +172,64 @@
     //     Debug.LogFormat("CreateRoleTime {0}  CreateDays {1}", createRoleTimeTail, CreateDays);
     // }
 
-    public static event Action OnServerTimeRefresh;
-    // public static void OnRefreshServerTime(HA004_tagServerDateTime vNetData)
-    // {
-    //     var dateTime = new DateTime(vNetData.Year, vNetData.Month, vNetData.Day, vNetData.Hour, vNetData.Minute, vNetData.Second);
-    //     if (vNetData.socketType == ServerType.CrossSever)
-    //     {
-    //         s_CrossServerTime = dateTime;
-    //         _crossCheckTime = Time.realtimeSinceStartup;
-    //     }
-    //     else
-    //     {
-    //         s_ServerTime = dateTime;
-    //         _checkTime = Time.realtimeSinceStartup;
-    //         if (OnServerTimeRefresh != null)
-    //         {
-    //             OnServerTimeRefresh();
-    //         }
-    //     }
+    public static event Action OnServerTimeRefresh;
+    public static void OnRefreshServerTime(HA004_tagServerDateTime vNetData)
+    {
+        var dateTime = new DateTime(vNetData.Year, vNetData.Month, vNetData.Day, vNetData.Hour, vNetData.Minute, vNetData.Second);
+
+        s_ServerTime = dateTime;
+        _checkTime = Time.realtimeSinceStartup;
+        if (OnServerTimeRefresh != null)
+        {
+            OnServerTimeRefresh();
+        }
+
+        s_CrossServerTime = Convert.ToDateTime(vNetData.CrossServerTime);
+        _crossCheckTime = Time.realtimeSinceStartup;
+
+        TimeDownMgr.Instance.Begin(TimeDownMgr.CoolTimeType.SyncServerTime, 60, (float tick) =>
+        {
+            SyncServerTime();
+        }, 60);
+    }
 
-    //     TimeDownMgr.Instance.Begin(TimeDownMgr.CoolTimeType.SyncServerTime, 60, (float tick) =>
-    //     {
-    //         SyncServerTime();
-    //     }, 60);
-    // }
+    public static event Action OnServerOpenDayRefresh;
+    public static void OnRefreshServerOpenDay(HA005_tagOpenServerDay package)
+    {
+        {
+            OpenDay = package.Day;
+            IsMixServer = package.IsMixServer == 1;
+            MixOpenDay = package.MixDay;
+            openServerDayOfWeek = package.OpenWeekday == 7 ? DayOfWeek.Sunday : (DayOfWeek)package.OpenWeekday;
+            WeekOfYear = package.WeekOfYear;
+        }
+
+        OnRefreshServerTime(new HA004_tagServerDateTime()
+        {
+            Year = package.NowYear,
+            Month = package.NowMonth,
+            Day = package.NowDay,
+            Hour = package.NowHour,
+            Minute = package.NowMinute,
+            Second = package.NowSecond,
+            MicSecond = package.NowMicSecond,
+            socketType = package.socketType,
+        });
+
+
+        if (OnServerOpenDayRefresh != null)
+        {
+            OnServerOpenDayRefresh();
+        }
+    }
+
+    public static void SyncServerTime()
+    {
+        CA002_tagClientRequestServerTime pak = new CA002_tagClientRequestServerTime();
+        GameNetSystem.Instance.SendInfo(pak);
+
+    }
 
-    public static event Action OnServerOpenDayRefresh;
-    // public static void OnRefreshServerOpenDay(HA005_tagOpenServerDay package)
-    // {
-    //     if (package.socketType != ServerType.CrossSever)
-    //     {
-    //         OpenDay = package.Day;
-    //         IsMixServer = package.IsMixServer == 1;
-    //         MixOpenDay = package.MixDay;
-    //         openServerDayOfWeek = package.OpenWeekday == 7 ? DayOfWeek.Sunday : (DayOfWeek)package.OpenWeekday;
-    //         WeekOfYear = package.WeekOfYear;
-    //     }
-
-    //     OnRefreshServerTime(new HA004_tagServerDateTime()
-    //     {
-    //         Year = package.NowYear,
-    //         Month = package.NowMonth,
-    //         Day = package.NowDay,
-    //         Hour = package.NowHour,
-    //         Minute = package.NowMinute,
-    //         Second = package.NowSecond,
-    //         MicSecond = package.NowMicSecond,
-    //         socketType = package.socketType,
-    //     });
-
-
-    //     if (package.socketType != ServerType.CrossSever
-    //         && OnServerOpenDayRefresh != null)
-    //     {
-    //         OnServerOpenDayRefresh();
-    //     }
-    // }
-
-    // public static void SyncServerTime()
-    // {
-    //     CA002_tagClientRequestServerTime pak = new CA002_tagClientRequestServerTime();
-    //     GameNetSystem.Instance.SendInfo(pak);
-    //     if (GameNetSystem.Instance.crossServerSocketConnected)
-    //     {
-    //         GameNetSystem.Instance.SendToCrossServer(pak);
-    //     }
-    // }
     /// <summary>
     /// 鏍规嵁鏈嶅姟鍣ㄤ笅鍙戠殑绉掓暟鑾峰彇鏃堕棿
     /// </summary>

--
Gitblit v1.8.0