private bool CheckServerCapabilities() { if ((ServerStatus.Status == ServerStatusType.SHUTDOWN_STARTED || ServerStatus.Status == ServerStatusType.MAINTENANCE) && !EnvironmentSettings.IsDeveloperIP(this.m_connection.ClientIP.ToString())) { LoginFailedMessage loginFailedMessage = new LoginFailedMessage(); loginFailedMessage.SetErrorCode(LoginFailedMessage.ErrorCode.SERVER_MAINTENANCE); loginFailedMessage.SetEndMaintenanceTime(LogicMath.Max(ServerStatus.Time + ServerStatus.NextTime - TimeUtil.GetTimestamp(), 0)); this.SendMessage(loginFailedMessage); return(false); } if (ProxySessionManager.Count >= EnvironmentSettings.Settings.Proxy.SessionCapacity) { LoginFailedMessage loginFailedMessage = new LoginFailedMessage(); loginFailedMessage.SetErrorCode((LoginFailedMessage.ErrorCode) 1000); loginFailedMessage.SetReason("The servers are not able to connect you at this time. Try again in a few minutes."); this.SendMessage(loginFailedMessage); return(false); } return(true); }