/// <summary> /// 开启服务 /// </summary> public void StartService(User user) { try { lock (this) { if (!_isRunning) { _gameServerManager.Startup(); _messageEngine.Startup(); _connectionManager.ClientConnect += new ClientConnectEventHandler(_gameServerManager.GameServerConnected); _connectionManager.ClientDisconnect += new ClientDisconnectEventHandler(_gameServerManager.GameServerDisconnected); try { _connectionManager.Startup(SystemConfig.Current.AdminServerListenPort, SystemConfig.Current.MaxConnectionCount); } catch (Exception ex) { throw (ex); } _FTPClient.Startup(); _gameServerMonitor.Start(); //从Initialize中移动到这里 _strategyManager.Load(); _scheduledTaskManager.Load(); _batchTaskManager.Load(); _automationManager.Working = true; _strategyManager.On = true; _scheduledTaskManager.On = true; //插件信息初始化 ServerPlugInFactory.Initialize(); if (SystemConfig.Current.EnablePaysys) { _paysysAgent.Start(); } if (user != null) { FSEyeObject serviceSwitch = SecurityManager.Get(SecurityObject.FullPath + SecurityManager.ObjectPathDelimiter + SecurityObjectServiceSwitch); LogSystem.TheInstance.WriteLog(user.SecurityObject.Id, OpType.WRITE, serviceSwitch.Id, string.Format(StringDef.LogMessageStartService, user.UserName)); } _isRunning = true; } } } catch (Exception e) { Util.DebugLog(e.Message); Util.DebugLog(e.StackTrace); } }