Browse Source

服务器,机器人均测试通过,合并完成!

tanghai 3 years ago
parent
commit
24e0b63ee0

+ 1 - 1
Apps/App/Apps.App.csproj

@@ -5,7 +5,7 @@
     <TargetFramework>net6.0</TargetFramework>
     <RootNamespace>ET</RootNamespace>
     <LangVersion>8</LangVersion>
-    <AssemblyName>Server</AssemblyName>
+    <AssemblyName>Apps</AssemblyName>
   </PropertyGroup>
 
   <PropertyGroup>

+ 0 - 59
Apps/App/NLog.config

@@ -59,60 +59,6 @@
 		<target name="ErrorConsole" xsi:type="Console" layout="${longdate} ${message}" />
 	</targets>
 
-	<targets async="true">
-		<target name="RobotDebug" xsi:type="File"
-				openFileCacheTimeout="10"
-				keepFileOpen="true"
-				archiveNumbering="Date"
-				archiveEvery="Hour"
-				archiveDateFormat="yyyyMMddHH"
-				archiveFileName="${basedir}/../Logs/${logger}.${var:appIdFormat}.{#}.Debug.log"
-				fileName="${basedir}/../Logs/${logger}.${var:appIdFormat}.${date:format=yyyyMMddHH}.Debug.log"
-				deleteOldFileOnStartup="false"
-				layout="${longdate} ${callsite:className=false:methodName=false:fileName=true:includeSourcePath=false:skipFrames=2} ${message}" />
-	</targets>
-
-	<targets async="true">
-		<target name="RobotInfo" xsi:type="File"
-				bufferSize="10240"
-				openFileCacheTimeout="30"
-				keepFileOpen="true"
-				archiveNumbering="Date"
-				archiveEvery="Hour"
-				archiveDateFormat="yyyyMMddHH"
-				archiveFileName="${basedir}/../Logs/${logger}.${var:appIdFormat}.{#}.Info.log"
-				fileName="${basedir}/../Logs/${logger}.${var:appIdFormat}.${date:format=yyyyMMddHH}.Info.log"
-				deleteOldFileOnStartup="false"
-				layout="${longdate} ${message}" />
-	</targets>
-
-	<targets async="true">
-		<target name="RobotWarn" xsi:type="File"
-				bufferSize="10240"
-				openFileCacheTimeout="30"
-				keepFileOpen="true"
-				archiveNumbering="Date"
-				archiveEvery="Hour"
-				archiveDateFormat="yyyyMMddHH"
-				archiveFileName="${basedir}/../Logs/${logger}.${var:appIdFormat}.{#}.Warn.log"
-				fileName="${basedir}/../Logs/${logger}.${var:appIdFormat}.${date:format=yyyyMMddHH}.Warn.log"
-				deleteOldFileOnStartup="false"
-				layout="${longdate} ${message}" />
-	</targets>
-
-	<targets async="true">
-		<target name="RobotError" xsi:type="File"
-				openFileCacheTimeout="10"
-				keepFileOpen="true"
-				archiveNumbering="Date"
-				archiveEvery="Hour"
-				archiveDateFormat="yyyyMMddHH"
-				archiveFileName="${basedir}/../Logs/${logger}.${var:appIdFormat}.{#}.Error.log"
-				fileName="${basedir}/../Logs/${logger}.${var:appIdFormat}.${date:format=yyyyMMddHH}.Error.log"
-				deleteOldFileOnStartup="false"
-				layout="${longdate} ${message}" />
-	</targets>
-
 	<targets async="true">
 		<target name="Watcher" xsi:type="File"
 				openFileCacheTimeout="10"
@@ -132,11 +78,6 @@
 		<logger ruleName="ServerWarn" name="Server" minlevel="Warn" maxlevel="Warn" writeTo="ServerWarn" />
 		<logger ruleName="ServerError" name="Server" minlevel="Error" maxlevel="Error" writeTo="ServerError" />
 		<logger ruleName="ErrorConsole" name="Server" minlevel="Warn" maxlevel="Error" writeTo="ErrorConsole" />
-		<logger ruleName="RobotDebug" name="Robot" minlevel="Trace" maxlevel="Error" writeTo="RobotDebug" />
-		<logger ruleName="RobotInfo" name="Robot" minlevel="Trace" maxlevel="Error" writeTo="RobotInfo" />
-		<logger ruleName="RobotWarn" name="Robot" minlevel="Warn" maxlevel="Warn" writeTo="RobotWarn" />
-		<logger ruleName="RobotError" name="Robot" minlevel="Error" maxlevel="Error" writeTo="RobotError" />
-		<logger ruleName="RobotConsole" name="Robot" minlevel="Info" maxlevel="Error" writeTo="RobotConsole" />
 		<logger ruleName="Watcher" name="Watcher" minlevel="Trace" maxlevel="Error" writeTo="Watcher" />
 	</rules>
 </nlog>

+ 1 - 1
Apps/App/Program.cs

@@ -38,7 +38,7 @@ namespace ET
 				Log.ILog = new NLogger(Game.Options.AppType.ToString());
 				LogManager.Configuration.Variables["appIdFormat"] = $"{Game.Options.Process:000000}";
 				
-				Log.Info($"server start........................ {Game.Scene.Id}");
+				Log.Info($"apps start........................ {Game.Scene.Id}");
 
 				Game.EventSystem.Publish(new EventType.AppStart());
 				

+ 7 - 15
Apps/Hotfix/AppStart_Init.cs

@@ -28,10 +28,16 @@ namespace ET
             // 数值订阅组件
             Game.Scene.AddComponent<NumericWatcherComponent>();
             
-            Game.Scene.AddComponent<ZoneSceneManagerComponent>();
             Game.Scene.AddComponent<AIDispatcherComponent>();
+
+            #region 机器人使用
+
+            Game.Scene.AddComponent<ZoneSceneManagerComponent>();
             Game.Scene.AddComponent<RobotCaseDispatcherComponent>();
             Game.Scene.AddComponent<RobotCaseComponent>();
+
+            #endregion
+
             
             Game.Scene.AddComponent<NetThreadComponent>();
             
@@ -60,20 +66,6 @@ namespace ET
                     Game.Scene.AddComponent<NetInnerComponent, IPEndPoint, int>(NetworkHelper.ToIPEndPoint($"{startMachineConfig.InnerIP}:{startMachineConfig.WatcherPort}"), SessionStreamDispatcherType.SessionStreamDispatcherServerInner);
                     break;
                 }
-                case AppType.Robot:
-                {
-                    var processScenes = StartSceneConfigCategory.Instance.GetByProcess(Game.Options.Process);
-                    foreach (StartSceneConfig startConfig in processScenes)
-                    {
-                        await Server.SceneFactory.Create(Game.Scene, startConfig.Id, startConfig.InstanceId, startConfig.Zone, startConfig.Name, startConfig.Type, startConfig);
-                    }
-            
-                    if (Game.Options.Console == 1)
-                    {
-                        Game.Scene.AddComponent<ConsoleComponent>();
-                    }
-                    break;
-                }
                 case AppType.GameTool:
                     break;
             }

+ 1 - 0
Apps/Hotfix/Robot/Console/CreateRobotConsoleHandler.cs

@@ -42,6 +42,7 @@ namespace ET
                             Scene robotScene = Game.Scene.Get(robotSceneConfig.Id);
                             RobotManagerComponent robotManagerComponent = robotScene.GetComponent<RobotManagerComponent>();
                             Scene robot = await robotManagerComponent.NewRobot(Game.Options.Process * 10000 + i);
+                            robot.AddComponent<AIComponent, int>(1);
                             Log.Console($"create robot {robot.Zone}");
                             await TimerComponent.Instance.WaitAsync(2000);
                         }

+ 2 - 2
Apps/Hotfix/Watcher/WatcherHelper.cs

@@ -41,9 +41,9 @@ namespace ET
         {
             StartProcessConfig startProcessConfig = StartProcessConfigCategory.Instance.Get(processId);
             const string exe = "dotnet";
-            string arguments = $"{startProcessConfig.AppName}.dll" + 
+            string arguments = $"Apps.dll" + 
                     $" --Process={startProcessConfig.Id}" +
-                    $" --AppType={startProcessConfig.AppName}" +  
+                    $" --AppType=Server" +  
                     $" --Develop={Game.Options.Develop}" +
                     $" --CreateScenes={createScenes}" +
                     $" --LogLevel={Game.Options.LogLevel}";

+ 2 - 2
Apps/Model/Base/DllHelper.cs

@@ -13,8 +13,8 @@ namespace ET
             assemblyLoadContext?.Unload();
             System.GC.Collect();
             assemblyLoadContext = new AssemblyLoadContext("Hotfix", true);
-            byte[] dllBytes = File.ReadAllBytes("./Server.Hotfix.dll");
-            byte[] pdbBytes = File.ReadAllBytes("./Server.Hotfix.pdb");
+            byte[] dllBytes = File.ReadAllBytes("./Apps.Hotfix.dll");
+            byte[] pdbBytes = File.ReadAllBytes("./Apps.Hotfix.pdb");
             Assembly assembly = assemblyLoadContext.LoadFromStream(new MemoryStream(dllBytes), new MemoryStream(pdbBytes));
             return assembly;
         }

+ 0 - 2
Apps/Model/Generate/Config/StartProcessConfig.cs

@@ -75,8 +75,6 @@ namespace ET
 		public int MachineId { get; set; }
 		[ProtoMember(3)]
 		public int InnerPort { get; set; }
-		[ProtoMember(4)]
-		public string AppName { get; set; }
 
 	}
 }

+ 2 - 2
Config/StartProcessConfigCategory.bytes

@@ -1,3 +1,3 @@
 
-¡œ"Server
-¢œ"Robot
+¡œ
+¢œ

+ 1 - 1
Config/StartSceneConfigCategory.bytes

@@ -5,4 +5,4 @@
 "Location*Location
 "Map*Map1
 "Map*Map2
-È"Robot*Robot01
+È"Robot*Robot01

BIN
Excel/StartProcessConfig.xlsx


BIN
Excel/StartSceneConfig.xlsx


+ 1 - 1
Tools/App/ExcelExporter/ExcelExporter.cs

@@ -44,7 +44,7 @@ namespace ET
         private static string template;
 
         private const string clientClassDir = "../Unity/Codes/Model/Generate/Config";
-        private const string serverClassDir = "../Server/Model/Generate/Config";
+        private const string serverClassDir = "../Apps/Model/Generate/Config";
         
         private const string excelDir = "../Excel";
         

+ 2 - 2
Unity/Assets/Bundles/Config/StartProcessConfigCategory.bytes

@@ -1,3 +1,3 @@
 
-¡œ"Server
-¢œ"Robot
+¡œ
+¢œ

+ 1 - 1
Unity/Assets/Bundles/Config/StartSceneConfigCategory.bytes

@@ -5,4 +5,4 @@
 "Location*Location
 "Map*Map1
 "Map*Map2
-È"Robot*Robot01
+È"Robot*Robot01

+ 1 - 1
Unity/Assets/Editor/ServerCommandLineEditor/ServerCommandLineEditor.cs

@@ -8,7 +8,7 @@ namespace ET
         [MenuItem("Tools/启动单进程服务器(仅windows可用)")]
         public static void ShowWindow()
         {
-            string arguments = $"Server.dll --Process=1 --Console=1";
+            string arguments = $"Apps.dll --Process=1 --Console=1";
             ProcessHelper.Run("dotnet.exe", arguments, "../Bin/");
         }
     }

+ 1 - 2
Unity/Assets/Mono/Core/Options.cs

@@ -7,7 +7,6 @@ namespace ET
     public enum AppType
     {
         Server,
-        Robot,
         Watcher, // 每台物理机一个守护进程,用来启动该物理机上的所有进程
         GameTool,
         ExcelExporter,
@@ -18,7 +17,7 @@ namespace ET
     {
         public static Options Instance { get; set; }
         
-        [Option("AppType", Required = false, Default = AppType.Server, HelpText = "serverType enum")]
+        [Option("AppType", Required = false, Default = AppType.Server, HelpText = "AppType enum")]
         public AppType AppType { get; set; }
 
         [Option("Process", Required = false, Default = 1)]

+ 2 - 1
Unity/Assets/Mono/Module/NetworkTCP/TService.cs

@@ -29,7 +29,8 @@ namespace ET
 			this.ThreadSynchronizationContext = threadSynchronizationContext;
 			
 			this.acceptor = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
-			this.acceptor.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
+			// 容易出问题,先注释掉,按需开启
+			//this.acceptor.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
 			this.innArgs.Completed += this.OnComplete;
 			this.acceptor.Bind(ipEndPoint);
 			this.acceptor.Listen(1000);

+ 0 - 2
Unity/Codes/Model/Generate/Config/StartProcessConfig.cs

@@ -75,8 +75,6 @@ namespace ET
 		public int MachineId { get; set; }
 		[ProtoMember(3)]
 		public int InnerPort { get; set; }
-		[ProtoMember(4)]
-		public string AppName { get; set; }
 
 	}
 }