public override bool TakeAction() { switch (m_RequestPacket.Type) { case 1: DataTableLoader.LoadDataTables("Lobby"); m_ResponsePacket.Success = true; break; case 2: FlushKey(m_RequestPacket.Params); break; case 3: GameConfigs.Reload(); m_ResponsePacket.Success = true; break; case 4: GetOnlinePlayerCount(); break; case 5: ScriptEngines.Initialize(); break; default: return(false); } return(true); }
/// <summary> /// The game service start. /// </summary> /// <param name="setting">Environment setting.</param> /// <param name="cacheSetting">Cache setting.</param> public static void Start(EnvironmentSetting setting, CacheSetting cacheSetting) { if (IsRunning) { return; } TraceLog.WriteLine("{0} Server is starting...", DateTime.Now.ToString("HH:mm:ss")); _setting = setting; if (!RedisConnectionPool.Ping("127.0.0.1")) { string error = string.Format("Error: NIC is not connected or no network."); TraceLog.WriteLine(error); TraceLog.WriteError(error); return; } RedisConnectionPool.Initialize(_setting.Serializer); if (!RedisConnectionPool.CheckConnect()) { string error = string.Format("Error: the redis server is not started."); TraceLog.WriteLine(error); TraceLog.WriteError(error); return; } TraceLog.WriteLine("{0} Redis server connect successfully.", DateTime.Now.ToString("HH:mm:ss")); DbConnectionProvider.Initialize(); TraceLog.WriteLine("{0} DB server connect successfully.", DateTime.Now.ToString("HH:mm:ss")); EntitySchemaSet.CacheGlobalPeriod = _setting.CacheGlobalPeriod; EntitySchemaSet.CacheUserPeriod = _setting.CacheUserPeriod; if (_setting.EntityAssembly != null) { ProtoBufUtils.LoadProtobufType(_setting.EntityAssembly); EntitySchemaSet.LoadAssembly(_setting.EntityAssembly); } ZyGameBaseConfigManager.Intialize(); //init script. if (_setting.ScriptSysAsmReferences.Length > 0) { ScriptEngines.AddSysReferencedAssembly(_setting.ScriptSysAsmReferences); } ScriptEngines.AddReferencedAssembly("ZyGames.Framework.Game.dll"); if (_setting.ScriptAsmReferences.Length > 0) { ScriptEngines.AddReferencedAssembly(_setting.ScriptAsmReferences); } ScriptEngines.RegisterModelChangedBefore(OnModelChangeBefore); ScriptEngines.RegisterModelChangedAfter(OnModelChangeAtfer); ScriptEngines.OnLoaded += OnScriptLoaded; ScriptEngines.Initialize(); Language.SetLang(); CacheFactory.Initialize(cacheSetting, _setting.Serializer); EntitySchemaSet.StartCheckTableTimer(); Global = new ContextCacheSet <CacheItem>("__gameenvironment_global"); }
/// <summary> /// The game service start. /// </summary> /// <param name="setting">Environment setting.</param> /// <param name="cacheSetting">Cache setting.</param> public static void Start(EnvironmentSetting setting, CacheSetting cacheSetting) { if (_isRunning == 1) { return; } _setting = setting; if (!RedisConnectionPool.CheckConnect()) { string error = string.Format("Error: the redis server is not started."); Console.WriteLine(error); TraceLog.WriteError(error); return; } DbConnectionProvider.Initialize(); EntitySchemaSet.CacheGlobalPeriod = _setting.CacheGlobalPeriod; EntitySchemaSet.CacheUserPeriod = _setting.CacheUserPeriod; if (_setting.EntityAssembly != null) { ProtoBufUtils.LoadProtobufType(_setting.EntityAssembly); EntitySchemaSet.LoadAssembly(_setting.EntityAssembly); } EntitySchemaSet.StartCheckTableTimer(); LoadGameEntitySchema(); ZyGameBaseConfigManager.Intialize(); //init script. if (_setting.ScriptSysAsmReferences.Length > 0) { ScriptEngines.AddSysReferencedAssembly(_setting.ScriptSysAsmReferences); } ScriptEngines.AddReferencedAssembly("ZyGames.Framework.Game.dll"); if (_setting.ScriptAsmReferences.Length > 0) { ScriptEngines.AddReferencedAssembly(_setting.ScriptAsmReferences); } ScriptEngines.RegisterModelChangedBefore(OnModelChangeBefore); ScriptEngines.RegisterModelChangedAfter(OnModelChangeAtfer); ScriptEngines.Initialize(); Language.SetLang(); CacheFactory.Initialize(cacheSetting); Global = new ContextCacheSet <CacheItem>("__gameenvironment_global"); Interlocked.Exchange(ref _isRunning, 1); }
static void Main(string[] args) { try { autoTest tasks = new autoTest(); ScriptEngines.AddReferencedAssembly("ZyGames.Test.dll"); ScriptEngines.AddReferencedAssembly("GameRanking.Pack.dll"); ScriptEngines.AddReferencedAssembly("Protocol.dll"); ScriptEngines.AddReferencedAssembly("Utils.dll"); ScriptEngines.Initialize(); tasks.RunTasks(); } catch (Exception ex) { Console.WriteLine(ex.Message); TraceLog.WriteError("Main error:{0}", ex); Console.ReadKey(); } }
static void Main(string[] args) { try { var setting = new TaskSetting(); ScriptEngines.AddReferencedAssembly("ZyGames.Test.dll"); ScriptEngines.Initialize(); Console.WriteLine("==============================="); Console.WriteLine("Stress Test"); Console.WriteLine("Option:"); Console.WriteLine("\tPress \"Esc\" is exits!"); Console.WriteLine("==============================="); Console.WriteLine("Press any key start run"); if (Console.ReadKey().Key == ConsoleKey.Escape) { return; } Console.WriteLine("Running..."); //ThreadCaseWork<CaseStep> testCase = new ThreadCaseWork<CaseStep>(); while (true) { string result = ThreadManager.RunTest(setting); //string result = testCase.RunTest(setting); Console.WriteLine(result); TraceLog.ReleaseWrite(result); Console.WriteLine("Press any key to continue."); if (Console.ReadKey().Key == ConsoleKey.Escape) { break; } Console.WriteLine("Running..."); } } catch (Exception ex) { Console.WriteLine(ex.Message); TraceLog.WriteError("Main error:{0}", ex); Console.ReadKey(); } }