Revert "框架更新"

This reverts commit a2cb248512.
This commit is contained in:
2025-10-29 22:41:19 +08:00
parent a2cb248512
commit 9572cf1955
429 changed files with 38758 additions and 7183 deletions

View File

@@ -1,67 +1,33 @@
// ================================================================================
// Fantasy.Net 服务器应用程序入口
// ================================================================================
// 本文件是 Fantasy.Net 分布式游戏服务器的主入口点
//
// 初始化流程:
// 1. 强制加载引用程序集,触发 ModuleInitializer 执行
// 2. 配置日志基础设施NLog
// 3. 启动 Fantasy.Net 框架
// ================================================================================
using Fantasy;
try
{
// 初始化引用的程序集,确保 ModuleInitializer 执行
// .NET 采用延迟加载机制 - 仅当类型被引用时才加载程序集
// 通过访问 AssemblyMarker 强制加载程序集并调用 ModuleInitializer
// 注意Native AOT 不存在延迟加载问题,所有程序集在编译时打包
AssemblyHelper.Initialize();
// 配置 NLog 日志基础设施
// 可选:传入 null 或省略参数以使用控制台日志
var logger = new Fantasy.NLog("Server");
// 使用配置的日志系统启动 Fantasy.Net 框架
await Fantasy.Platform.Net.Entry.Start(logger);
}
catch (Exception ex)
{
Console.Error.WriteLine($"服务器初始化过程中发生致命错误:{ex}");
Environment.Exit(1);
}
using Fantasy;
using Fantasy.ConfigTable;
using Fantasy.Helper;
using Fantasy.IdFactory;
using Fantasy.Platform.Net;
// using Fantasy;
// using Fantasy.ConfigTable;
// using Fantasy.Helper;
// using Fantasy.IdFactory;
// using Fantasy.Platform.Net;
//
//
//
// // 设置ID生成规则
// IdFactoryHelper.Initialize(IdFactoryType.World);
// // // 获取配置文件
// // // 比如通过远程获取这个配置文件,这样可以多组服务器共享一套配置了
// // var machineConfigText = await FileHelper.GetTextByRelativePath("../../../Config/Json/Server/MachineConfigData.Json");
// // var processConfigText = await FileHelper.GetTextByRelativePath("../../../Config/Json/Server/ProcessConfigData.Json");
// // var worldConfigText = await FileHelper.GetTextByRelativePath("../../../Config/Json/Server/WorldConfigData.Json");
// // var sceneConfigText = await FileHelper.GetTextByRelativePath("../../../Config/Json/Server/SceneConfigData.Json");
// // // 初始化配置文件
// // // 如果重复初始化方法会覆盖掉上一次的数据,非常适合热重载时使用
// // MachineConfigData.Initialize(machineConfigText);
// // ProcessConfigData.Initialize(processConfigText);
// // WorldConfigData.Initialize(worldConfigText);
// // SceneConfigData.Initialize(sceneConfigText);
//
// //解析配置文件
// var gameConfigText = await FileHelper.GetTextByRelativePath("../../../Config/Json/configs.Json");
// ConfigTableHelper.Initialize(gameConfigText,NB.AssemblyHelper.Assemblies);
//
// // 注册日志模块到框架
// // 开发者可以自己注册日志系统到框架只要实现Fantasy.ILog接口就可以。
// // 这里用的是NLog日志系统注册到框架中。
// Log.Register(new Fantasy.NLog("Server"));
//
// await Entry.Start(NB.AssemblyHelper.Assemblies);
// 设置ID生成规则
IdFactoryHelper.Initialize(IdFactoryType.World);
// // 获取配置文件
// // 比如通过远程获取这个配置文件,这样可以多组服务器共享一套配置了
// var machineConfigText = await FileHelper.GetTextByRelativePath("../../../Config/Json/Server/MachineConfigData.Json");
// var processConfigText = await FileHelper.GetTextByRelativePath("../../../Config/Json/Server/ProcessConfigData.Json");
// var worldConfigText = await FileHelper.GetTextByRelativePath("../../../Config/Json/Server/WorldConfigData.Json");
// var sceneConfigText = await FileHelper.GetTextByRelativePath("../../../Config/Json/Server/SceneConfigData.Json");
// // 初始化配置文件
// // 如果重复初始化方法会覆盖掉上一次的数据,非常适合热重载时使用
// MachineConfigData.Initialize(machineConfigText);
// ProcessConfigData.Initialize(processConfigText);
// WorldConfigData.Initialize(worldConfigText);
// SceneConfigData.Initialize(sceneConfigText);
//解析配置文件
var gameConfigText = await FileHelper.GetTextByRelativePath("../../../Config/Json/configs.Json");
ConfigTableHelper.Initialize(gameConfigText,NB.AssemblyHelper.Assemblies);
// 注册日志模块到框架
// 开发者可以自己注册日志系统到框架只要实现Fantasy.ILog接口就可以。
// 这里用的是NLog日志系统注册到框架中。
Log.Register(new Fantasy.NLog("Server"));
await Entry.Start(NB.AssemblyHelper.Assemblies);

View File

@@ -3,7 +3,7 @@
"profiles": {
"Main": {
"commandName": "Project",
"workingDirectory": "$(OutputPath)",
// "workingDirectory": "$(OutputPath)",
"environmentVariables": {},
"commandLineArgs": "--m Develop"
}