Răsfoiți Sursa

把Release配置改成多进程配置

tanghai 2 ani în urmă
părinte
comite
ced1ac1211
30 a modificat fișierele cu 72 adăugiri și 37 ștergeri
  1. BIN
      Config/Excel/cs/StartConfig/Release/StartMachineConfigCategory.bytes
  2. BIN
      Config/Excel/cs/StartConfig/Release/StartProcessConfigCategory.bytes
  3. BIN
      Config/Excel/cs/StartConfig/Release/StartSceneConfigCategory.bytes
  4. BIN
      Config/Excel/s/StartConfig/Release/StartMachineConfigCategory.bytes
  5. BIN
      Config/Excel/s/StartConfig/Release/StartProcessConfigCategory.bytes
  6. BIN
      Config/Excel/s/StartConfig/Release/StartSceneConfigCategory.bytes
  7. 1 1
      Config/Json/cs/StartConfig/Release/StartMachineConfig.txt
  8. 1 0
      Config/Json/cs/StartConfig/Release/StartProcessConfig.txt
  9. 9 4
      Config/Json/cs/StartConfig/Release/StartSceneConfig.txt
  10. 1 1
      Config/Json/s/StartConfig/Release/StartMachineConfig.txt
  11. 1 0
      Config/Json/s/StartConfig/Release/StartProcessConfig.txt
  12. 9 4
      Config/Json/s/StartConfig/Release/StartSceneConfig.txt
  13. BIN
      Unity/Assets/Config/Excel/StartConfig/Release/StartMachineConfig@s.xlsx
  14. BIN
      Unity/Assets/Config/Excel/StartConfig/Release/StartProcessConfig@s.xlsx
  15. BIN
      Unity/Assets/Config/Excel/StartConfig/Release/StartSceneConfig@s.xlsx
  16. 1 1
      Unity/Assets/Resources/GlobalConfig.asset
  17. 1 0
      Unity/Assets/Scripts/Core/Entity/SceneType.cs
  18. 3 3
      Unity/Assets/Scripts/Core/Network/AChannel.cs
  19. 6 1
      Unity/Assets/Scripts/Core/Network/OpcodeType.cs
  20. 1 1
      Unity/Assets/Scripts/Core/World/Module/Fiber/FiberManager.cs
  21. 5 1
      Unity/Assets/Scripts/Core/World/Module/ObjectPool/ObjectPool.cs
  22. 0 4
      Unity/Assets/Scripts/Core/World/Module/Options/Options.cs
  23. 1 1
      Unity/Assets/Scripts/Hotfix/Client/Demo/NetClient/Ping/PingComponentSystem.cs
  24. 3 2
      Unity/Assets/Scripts/Hotfix/Server/Demo/Watcher/WatcherComponentSystem.cs
  25. 0 1
      Unity/Assets/Scripts/Hotfix/Server/Demo/Watcher/WatcherHelper.cs
  26. 3 4
      Unity/Assets/Scripts/Hotfix/Server/Module/NetInner/FiberInit_NetInner.cs
  27. 0 0
      Unity/Assets/Scripts/Hotfix/Server/Module/NetInner/FiberInit_NetInner.cs.meta
  28. 1 1
      Unity/Assets/Scripts/Hotfix/Share/Module/Actor/ActorSenderComponentSystem.cs
  29. 0 6
      Unity/Assets/Scripts/Hotfix/Share/Module/Actor/MailBoxType_UnOrderedMessageHandler.cs
  30. 25 1
      Unity/Assets/Scripts/Model/Server/Module/NetInner/A2NetInner_Message.cs

BIN
Config/Excel/cs/StartConfig/Release/StartMachineConfigCategory.bytes


BIN
Config/Excel/cs/StartConfig/Release/StartProcessConfigCategory.bytes


BIN
Config/Excel/cs/StartConfig/Release/StartSceneConfigCategory.bytes


BIN
Config/Excel/s/StartConfig/Release/StartMachineConfigCategory.bytes


BIN
Config/Excel/s/StartConfig/Release/StartProcessConfigCategory.bytes


BIN
Config/Excel/s/StartConfig/Release/StartSceneConfigCategory.bytes


+ 1 - 1
Config/Json/cs/StartConfig/Release/StartMachineConfig.txt

@@ -1,3 +1,3 @@
 {"dict": [
-[1, {"_t":"StartMachineConfig","_id":1,"InnerIP":"192.168.1.111","OuterIP":"192.168.1.111","WatcherPort":"10000"}],
+[1, {"_t":"StartMachineConfig","_id":1,"InnerIP":"127.0.0.1","OuterIP":"127.0.0.1","WatcherPort":"10000"}],
 ]}

+ 1 - 0
Config/Json/cs/StartConfig/Release/StartProcessConfig.txt

@@ -1,4 +1,5 @@
 {"dict": [
 [1, {"_t":"StartProcessConfig","_id":1,"MachineId":1}],
 [2, {"_t":"StartProcessConfig","_id":2,"MachineId":1}],
+[3, {"_t":"StartProcessConfig","_id":3,"MachineId":1}],
 ]}

+ 9 - 4
Config/Json/cs/StartConfig/Release/StartSceneConfig.txt

@@ -3,8 +3,13 @@
 [3, {"_t":"StartSceneConfig","_id":3,"Process":1,"Zone":1,"SceneType":"Realm","Name":"Realm","Port":30002}],
 [4, {"_t":"StartSceneConfig","_id":4,"Process":1,"Zone":1,"SceneType":"Gate","Name":"Gate1","Port":30003}],
 [5, {"_t":"StartSceneConfig","_id":5,"Process":1,"Zone":1,"SceneType":"Gate","Name":"Gate2","Port":30004}],
-[6, {"_t":"StartSceneConfig","_id":6,"Process":1,"Zone":1,"SceneType":"Location","Name":"Location","Port":0}],
-[7, {"_t":"StartSceneConfig","_id":7,"Process":1,"Zone":1,"SceneType":"Map","Name":"Map1","Port":0}],
-[8, {"_t":"StartSceneConfig","_id":8,"Process":1,"Zone":1,"SceneType":"Map","Name":"Map2","Port":0}],
-[200, {"_t":"StartSceneConfig","_id":200,"Process":1,"Zone":2,"SceneType":"Robot","Name":"Robot01","Port":0}],
+[11, {"_t":"StartSceneConfig","_id":11,"Process":2,"Zone":1,"SceneType":"NetInner","Name":"NetInner2","Port":30011}],
+[12, {"_t":"StartSceneConfig","_id":12,"Process":2,"Zone":1,"SceneType":"Location","Name":"Location","Port":0}],
+[13, {"_t":"StartSceneConfig","_id":13,"Process":2,"Zone":1,"SceneType":"Map","Name":"Map1","Port":0}],
+[14, {"_t":"StartSceneConfig","_id":14,"Process":2,"Zone":1,"SceneType":"Map","Name":"Map2","Port":0}],
+[30, {"_t":"StartSceneConfig","_id":30,"Process":3,"Zone":3,"SceneType":"RouterManager","Name":"RouterManager","Port":30300}],
+[31, {"_t":"StartSceneConfig","_id":31,"Process":3,"Zone":3,"SceneType":"Router","Name":"Router01","Port":30301}],
+[32, {"_t":"StartSceneConfig","_id":32,"Process":3,"Zone":3,"SceneType":"Router","Name":"Router02","Port":30302}],
+[33, {"_t":"StartSceneConfig","_id":33,"Process":3,"Zone":3,"SceneType":"Router","Name":"Router03","Port":30303}],
+[34, {"_t":"StartSceneConfig","_id":34,"Process":3,"Zone":3,"SceneType":"Router","Name":"Router04","Port":30304}],
 ]}

+ 1 - 1
Config/Json/s/StartConfig/Release/StartMachineConfig.txt

@@ -1,3 +1,3 @@
 {"dict": [
-[1, {"_t":"StartMachineConfig","_id":1,"InnerIP":"192.168.1.111","OuterIP":"192.168.1.111","WatcherPort":"10000"}],
+[1, {"_t":"StartMachineConfig","_id":1,"InnerIP":"127.0.0.1","OuterIP":"127.0.0.1","WatcherPort":"10000"}],
 ]}

+ 1 - 0
Config/Json/s/StartConfig/Release/StartProcessConfig.txt

@@ -1,4 +1,5 @@
 {"dict": [
 [1, {"_t":"StartProcessConfig","_id":1,"MachineId":1}],
 [2, {"_t":"StartProcessConfig","_id":2,"MachineId":1}],
+[3, {"_t":"StartProcessConfig","_id":3,"MachineId":1}],
 ]}

+ 9 - 4
Config/Json/s/StartConfig/Release/StartSceneConfig.txt

@@ -3,8 +3,13 @@
 [3, {"_t":"StartSceneConfig","_id":3,"Process":1,"Zone":1,"SceneType":"Realm","Name":"Realm","Port":30002}],
 [4, {"_t":"StartSceneConfig","_id":4,"Process":1,"Zone":1,"SceneType":"Gate","Name":"Gate1","Port":30003}],
 [5, {"_t":"StartSceneConfig","_id":5,"Process":1,"Zone":1,"SceneType":"Gate","Name":"Gate2","Port":30004}],
-[6, {"_t":"StartSceneConfig","_id":6,"Process":1,"Zone":1,"SceneType":"Location","Name":"Location","Port":0}],
-[7, {"_t":"StartSceneConfig","_id":7,"Process":1,"Zone":1,"SceneType":"Map","Name":"Map1","Port":0}],
-[8, {"_t":"StartSceneConfig","_id":8,"Process":1,"Zone":1,"SceneType":"Map","Name":"Map2","Port":0}],
-[200, {"_t":"StartSceneConfig","_id":200,"Process":1,"Zone":2,"SceneType":"Robot","Name":"Robot01","Port":0}],
+[11, {"_t":"StartSceneConfig","_id":11,"Process":2,"Zone":1,"SceneType":"NetInner","Name":"NetInner2","Port":30011}],
+[12, {"_t":"StartSceneConfig","_id":12,"Process":2,"Zone":1,"SceneType":"Location","Name":"Location","Port":0}],
+[13, {"_t":"StartSceneConfig","_id":13,"Process":2,"Zone":1,"SceneType":"Map","Name":"Map1","Port":0}],
+[14, {"_t":"StartSceneConfig","_id":14,"Process":2,"Zone":1,"SceneType":"Map","Name":"Map2","Port":0}],
+[30, {"_t":"StartSceneConfig","_id":30,"Process":3,"Zone":3,"SceneType":"RouterManager","Name":"RouterManager","Port":30300}],
+[31, {"_t":"StartSceneConfig","_id":31,"Process":3,"Zone":3,"SceneType":"Router","Name":"Router01","Port":30301}],
+[32, {"_t":"StartSceneConfig","_id":32,"Process":3,"Zone":3,"SceneType":"Router","Name":"Router02","Port":30302}],
+[33, {"_t":"StartSceneConfig","_id":33,"Process":3,"Zone":3,"SceneType":"Router","Name":"Router03","Port":30303}],
+[34, {"_t":"StartSceneConfig","_id":34,"Process":3,"Zone":3,"SceneType":"Router","Name":"Router04","Port":30304}],
 ]}

BIN
Unity/Assets/Config/Excel/StartConfig/Release/StartMachineConfig@s.xlsx


BIN
Unity/Assets/Config/Excel/StartConfig/Release/StartProcessConfig@s.xlsx


BIN
Unity/Assets/Config/Excel/StartConfig/Release/StartSceneConfig@s.xlsx


+ 1 - 1
Unity/Assets/Resources/GlobalConfig.asset

@@ -12,6 +12,6 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 36527db572638af47b03c805671cba75, type: 3}
   m_Name: GlobalConfig
   m_EditorClassIdentifier: 
-  CodeMode: 3
+  CodeMode: 1
   BuildType: 1
   AppType: 7

+ 1 - 0
Unity/Assets/Scripts/Core/Entity/SceneType.cs

@@ -24,6 +24,7 @@ namespace ET
 		LockStepClient = 1 << 16,
 		LockStepServer = 1 << 17,
 		RoomRoot = 1 << 18,
+		Watcher = 1 << 19,
 
 		// 客户端
 		Demo = 1 << 30,

+ 3 - 3
Unity/Assets/Scripts/Core/Network/AChannel.cs

@@ -13,12 +13,12 @@ namespace ET
 	public struct Packet
 	{
 		public const int MinPacketSize = 2;
-		public const int OpcodeIndex = 8;
+		public const int OpcodeIndex = 16;
 		public const int KcpOpcodeIndex = 0;
 		public const int OpcodeLength = 2;
 		public const int ActorIdIndex = 0;
-		public const int ActorIdLength = 14;
-		public const int MessageIndex = 10;
+		public const int ActorIdLength = 16;
+		public const int MessageIndex = 18;
 
 		public ushort Opcode;
 		public long ActorId;

+ 6 - 1
Unity/Assets/Scripts/Core/Network/OpcodeType.cs

@@ -64,7 +64,12 @@ namespace ET
 
         public Type GetType(ushort opcode)
         {
-            return this.typeOpcode.GetKeyByValue(opcode);
+            Type type = this.typeOpcode.GetKeyByValue(opcode);
+            if (type == null)
+            {
+                throw new Exception($"OpcodeType not found type: {opcode}");
+            }
+            return type;
         }
 
         public Type GetResponseType(Type request)

+ 1 - 1
Unity/Assets/Scripts/Core/World/Module/Fiber/FiberManager.cs

@@ -82,7 +82,7 @@ namespace ET
                     }
                     catch (Exception e)
                     {
-                        Log.Error(e);
+                        Log.Error($"init fiber fail: {sceneType} {e}");
                     }
                 });
 

+ 5 - 1
Unity/Assets/Scripts/Core/World/Module/ObjectPool/ObjectPool.cs

@@ -5,10 +5,14 @@ namespace ET
 {
     public class ObjectPool: Singleton<ObjectPool>, ISingletonAwake
     {
-        private readonly Dictionary<Type, Queue<object>> pool = new();
+        private Dictionary<Type, Queue<object>> pool;
         
         public void Awake()
         {
+            lock (this)
+            {
+                this.pool = new Dictionary<Type, Queue<object>>();
+            }
         }
         
         public T Fetch<T>() where T: class

+ 0 - 4
Unity/Assets/Scripts/Core/World/Module/Options/Options.cs

@@ -37,9 +37,5 @@ namespace ET
         
         [Option("Console", Required = false, Default = 0)]
         public int Console { get; set; }
-
-        // 进程启动是否创建该进程的scenes
-        [Option("CreateScenes", Required = false, Default = 1)]
-        public int CreateScenes { get; set; }
     }
 }

+ 1 - 1
Unity/Assets/Scripts/Hotfix/Client/Demo/NetClient/Ping/PingComponentSystem.cs

@@ -7,7 +7,7 @@ namespace ET.Client
         [EntitySystem]
         private static void Awake(this PingComponent self)
         {
-            self.PingAsync().Coroutine();
+            //self.PingAsync().Coroutine();
         }
         
         [EntitySystem]

+ 3 - 2
Unity/Assets/Scripts/Hotfix/Server/Demo/Watcher/WatcherComponentSystem.cs

@@ -6,7 +6,8 @@ namespace ET.Server
     [FriendOf(typeof(WatcherComponent))]
     public static partial class WatcherComponentSystem
     {
-        public static void Start(this WatcherComponent self, int createScenes = 0)
+        [EntitySystem]
+        public static void Awake(this WatcherComponent self)
         {
             string[] localIP = NetworkHelper.GetAddressIPs();
             var processConfigs = StartProcessConfigCategory.Instance.GetAll();
@@ -16,7 +17,7 @@ namespace ET.Server
                 {
                     continue;
                 }
-                System.Diagnostics.Process process = WatcherHelper.StartProcess(startProcessConfig.Id, createScenes);
+                System.Diagnostics.Process process = WatcherHelper.StartProcess(startProcessConfig.Id);
                 self.Processes.Add(startProcessConfig.Id, process);
             }
         }

+ 0 - 1
Unity/Assets/Scripts/Hotfix/Server/Demo/Watcher/WatcherHelper.cs

@@ -46,7 +46,6 @@ namespace ET.Server
                     $" --AppType=Server" +  
                     $" --StartConfig={Options.Instance.StartConfig}" +
                     $" --Develop={Options.Instance.Develop}" +
-                    $" --CreateScenes={createScenes}" +
                     $" --LogLevel={Options.Instance.LogLevel}" +
                     $" --Console={Options.Instance.Console}";
             Log.Debug($"{exe} {arguments}");

+ 3 - 4
Unity/Assets/Scripts/Hotfix/Server/Module/NetInner/FiberInit_Net.cs → Unity/Assets/Scripts/Hotfix/Server/Module/NetInner/FiberInit_NetInner.cs

@@ -3,7 +3,7 @@
 namespace ET.Server
 {
     [Invoke((long)SceneType.NetInner)]
-    public class FiberInit_Net: AInvokeHandler<FiberInit, ETTask>
+    public class FiberInit_NetInner: AInvokeHandler<FiberInit, ETTask>
     {
         public override async ETTask Handle(FiberInit fiberInit)
         {
@@ -11,9 +11,8 @@ namespace ET.Server
             root.AddComponent<MailBoxComponent, MailBoxType>(MailBoxType.UnOrderedMessage);
             root.AddComponent<ActorSenderComponent, SceneType>(SceneType.NetInner);
             root.AddComponent<ActorRecverComponent>();
-            StartMachineConfig startMachineConfig = StartMachineConfigCategory.Instance.Get(fiberInit.Fiber.Process);
-            IPEndPoint ipEndPoint = NetworkHelper.ToIPEndPoint($"{startMachineConfig.InnerIP}:{startMachineConfig.WatcherPort}");
-            root.AddComponent<NetInnerComponent, IPEndPoint>(ipEndPoint);
+            StartSceneConfig startSceneConfig = StartSceneConfigCategory.Instance.Get(fiberInit.Fiber.Id);
+            root.AddComponent<NetInnerComponent, IPEndPoint>(startSceneConfig.InnerIPPort);
 
             await ETTask.CompletedTask;
         }

+ 0 - 0
Unity/Assets/Scripts/Hotfix/Server/Module/NetInner/FiberInit_Net.cs.meta → Unity/Assets/Scripts/Hotfix/Server/Module/NetInner/FiberInit_NetInner.cs.meta


+ 1 - 1
Unity/Assets/Scripts/Hotfix/Share/Module/Actor/ActorSenderComponentSystem.cs

@@ -112,7 +112,7 @@ namespace ET
                 return;
             }
             
-            EventSystem.Instance.Invoke((long)self.SceneType, new ActorSenderInvoker());
+            EventSystem.Instance.Invoke((long)self.SceneType, new ActorSenderInvoker() {Fiber = fiber, ActorId = actorId, MessageObject = message});
         }
 
         public static int GetRpcId(this ActorSenderComponent self)

+ 0 - 6
Unity/Assets/Scripts/Hotfix/Share/Module/Actor/MailBoxType_UnOrderedMessageHandler.cs

@@ -14,12 +14,6 @@
             
             using MessageObject messageObject = args.MessageObject;
             
-            CoroutineLockComponent coroutineLockComponent = mailBoxComponent.CoroutineLockComponent;
-            if (coroutineLockComponent == null)
-            {
-                return;
-            }
-
             await ActorMessageDispatcherComponent.Instance.Handle(mailBoxComponent.Parent, args.FromAddress, messageObject);
         }
     }

+ 25 - 1
Unity/Assets/Scripts/Model/Server/Module/NetInner/A2NetInner_Message.cs

@@ -1,5 +1,8 @@
-namespace ET
+using MemoryPack;
+
+namespace ET
 {
+    [Message(1)]
     public class A2NetInner_Message: MessageObject, IActorMessage
     {
         public static A2NetInner_Message Create()
@@ -19,4 +22,25 @@
         public ActorId ActorId;
         public MessageObject MessageObject;
     }
+    
+    [Message(1)]
+    public class A2NetInner_Request: MessageObject, IActorMessage
+    {
+        public static A2NetInner_Message Create()
+        {
+            return ObjectPool.Instance.Fetch(typeof(A2NetInner_Message)) as A2NetInner_Message;
+        }
+
+        public override void Dispose()
+        {
+            this.FromAddress = default;
+            this.ActorId = default;
+            
+            ObjectPool.Instance.Recycle(this);
+        }
+        
+        public Address FromAddress;
+        public ActorId ActorId;
+        public MessageObject MessageObject;
+    }
 }