/// <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); }
/// <summary> /// /// </summary> /// <param name="cacheInterval"></param> /// <param name="loadDataFactory"></param> /// <param name="expiredInterval">定时清理过期缓存时间</param> public static void Start(int cacheInterval, Func <bool> loadDataFactory, int expiredInterval = 600) { bool result = false; CacheFactory.Initialize(expiredInterval, cacheInterval); var pythonManager = PythonScriptManager.Current; //建立消息队列连接 ActionMSMQ.Instance(); Global = new ContextCacheSet <CacheItem>("__gameenvironment_global"); if (loadDataFactory != null) { result = loadDataFactory(); } if (result) { Interlocked.Exchange(ref _isRunning, 1); } }
/// <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(); 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); }
/// <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; } DbConnectionProvider.Initialize(); 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> /// /// </summary> /// <param name="cacheInterval"></param> /// <param name="loadDataFactory"></param> /// <param name="expiredInterval">定时清理过期缓存时间</param> public static void Start(int cacheInterval, Func<bool> loadDataFactory, int expiredInterval = 600) { bool result = false; CacheFactory.Initialize(expiredInterval, cacheInterval); var pythonManager = PythonScriptManager.Current; //建立消息队列连接 ActionMSMQ.Instance(); Global = new ContextCacheSet<CacheItem>("__gameenvironment_global"); if (loadDataFactory != null) { result = loadDataFactory(); } if (result) { Interlocked.Exchange(ref _isRunning, 1); } }
/// <summary> /// /// </summary> /// <param name="cacheInterval"></param> /// <param name="loadDataFactory"></param> /// <param name="expiredInterval">定时清理过期缓存时间</param> /// <param name="entityAssembly">数据实体的程序集</param> public static void Start(int cacheInterval, Func<bool> loadDataFactory, int expiredInterval = 600, Assembly entityAssembly = null) { bool result = false; DbConnectionProvider.Initialize(); EntitySchemaSet.CacheGlobalPeriod = CacheGlobalPeriod; EntitySchemaSet.CacheUserPeriod = CacheUserPeriod; ZyGameBaseConfigManager.Intialize(); CacheFactory.Initialize(expiredInterval, cacheInterval); SensitiveWordService.LoadSchema(); if (entityAssembly != null) { ProtoBufUtils.LoadProtobufType(entityAssembly); EntitySchemaSet.LoadAssembly(entityAssembly); } PythonScriptManager.Current.Intialize(); EntitySchemaSet.StartCheckTableTimer(); Global = new ContextCacheSet<CacheItem>("__gameenvironment_global"); if (loadDataFactory != null) { result = loadDataFactory(); } if (result) { Interlocked.Exchange(ref _isRunning, 1); } }
/// <summary> /// /// </summary> /// <param name="cacheInterval"></param> /// <param name="loadDataFactory"></param> /// <param name="expiredInterval">定时清理过期缓存时间</param> /// <param name="entityAssembly">数据实体的程序集</param> /// <param name="changedHandle"></param> public static void Start(int cacheInterval, Func<bool> loadDataFactory, int expiredInterval = 600, Assembly entityAssembly = null, EntityChangedNotifyEvent changedHandle = null) { bool result = false; DbConnectionProvider.Initialize(); EntitySchemaSet.CacheGlobalPeriod = CacheGlobalPeriod; EntitySchemaSet.CacheUserPeriod = CacheUserPeriod; ZyGameBaseConfigManager.Intialize(); CacheFactory.Initialize(expiredInterval, cacheInterval, true, changedHandle); SensitiveWordService.LoadSchema(); if (entityAssembly != null) { ProtoBufUtils.LoadProtobufType(entityAssembly); EntitySchemaSet.LoadAssembly(entityAssembly); } ScriptEngines.SetPythonDebug = ConfigUtils.GetSetting("Python_IsDebug", false); ScriptEngines.AddReferencedAssembly("ZyGames.Framework.Game.dll"); EntitySchemaSet.StartCheckTableTimer(); Global = new ContextCacheSet<CacheItem>("__gameenvironment_global"); if (loadDataFactory != null) { result = loadDataFactory(); } ScriptEngines.Initialize(); if (result) { Interlocked.Exchange(ref _isRunning, 1); } }
/// <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) { _setting = setting; 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(); CacheFactory.Initialize(cacheSetting); Global = new ContextCacheSet<CacheItem>("__gameenvironment_global"); //init script. ScriptEngines.AddReferencedAssembly("ZyGames.Framework.Game.dll"); ScriptEngines.RegisterModelChangedBefore(OnModelChangeBefore); ScriptEngines.RegisterModelChangedAfter(OnModelChangeAtfer); _setting.OnScriptStartBefore(); ScriptEngines.Initialize(); Interlocked.Exchange(ref _isRunning, 1); }