public void ClusterConnect() { while (Cluster == null) { try { Cluster = ProxyClient.Create <ICluster>(m_RemoteURI); if (!Information.IsNothing(Cluster)) { WorldServerConfiguration configuration = WorldServiceLocator._ConfigurationProvider.GetConfiguration(); if (Cluster.Connect(LocalURI, configuration.Maps.Select(_Closure_0024__._0024I13_002D0 ??= x => Conversions.ToUInteger(x)).ToList())) { break; } Cluster.Disconnect(LocalURI, configuration.Maps.Select(_Closure_0024__._0024I13_002D1 ??= x => Conversions.ToUInteger(x)).ToList()); } } catch (Exception ex) { ProjectData.SetProjectError(ex); Exception e = ex; WorldServiceLocator._WorldServer.Log.WriteLine(LogType.FAILED, "Unable to connect to cluster. [{0}]", e.Message); ProjectData.ClearProjectError(); } Cluster = null; Thread.Sleep(3000); } WorldServiceLocator._WorldServer.Log.WriteLine(LogType.SUCCESS, "Contacted cluster [{0}]", m_RemoteURI); }
public void ClusterConnect() { while (Cluster == null) { try { Cluster = ProxyClient.Create <ICluster>(m_RemoteURI); if (Cluster != null) { WorldServerConfiguration configuration = WorldServiceLocator._ConfigurationProvider.GetConfiguration(); if (Cluster.Connect(LocalURI, configuration.Maps.Select(x => Conversions.ToUInteger(x)).ToList())) { break; } Cluster.Disconnect(LocalURI, configuration.Maps.Select(x => Conversions.ToUInteger(x)).ToList()); } } catch (Exception ex) { Exception e = ex; WorldServiceLocator._WorldServer.Log.WriteLine(LogType.FAILED, "Unable to connect to cluster. [{0}]", e.Message); } Cluster = null; Thread.Sleep(3000); } WorldServiceLocator._WorldServer.Log.WriteLine(LogType.SUCCESS, "Contacted cluster [{0}]", m_RemoteURI); }
public bool InstanceCanCreate(int Type) { WorldServerConfiguration configuration = WorldServiceLocator._ConfigurationProvider.GetConfiguration(); return(Type switch { 3 => configuration.CreateBattlegrounds, 1 => configuration.CreatePartyInstances, 2 => configuration.CreateRaidInstances, 0 => configuration.CreateOther, _ => false, });
public WorldServerClass(DataStoreProvider dataStoreProvider) { _flagStopListen = false; LastCPUTime = 0.0; UsageCPU = 0f; Cluster = null; WorldServerConfiguration configuration = WorldServiceLocator._ConfigurationProvider.GetConfiguration(); m_RemoteURI = $"http://{configuration.ClusterConnectHost}:{configuration.ClusterConnectPort}"; LocalURI = $"http://{configuration.LocalConnectHost}:{configuration.LocalConnectPort}"; Cluster = null; WorldServiceLocator._WS_Network.LastPing = WorldServiceLocator._NativeMethods.timeGetTime(""); m_Connection = new Timer(CheckConnection, null, 10000, 10000); m_TimerCPU = new Timer(CheckCPU, null, 1000, 1000); this.dataStoreProvider = dataStoreProvider; }