public static bool Prefix(ref RegionMenu __instance) { ClearOnClickAction(__instance.ButtonPool); CustomServerInfo customServer = new CustomServerInfo("FloofUs", "77.55.217.159", 22023); customServers.Add(customServer); if (ServerManager.DefaultRegions.Count != 3 + customServers.Count || forceReloadServers) { var regions = new IRegionInfo[3 + customServers.Count]; for (int i = 0; i < 3; i++) { regions[i] = _defaultRegions[i]; } for (int i = 0; i < customServers.Count; i++) { Il2CppReferenceArray <ServerInfo> servers = new [] { new ServerInfo(customServers[i].name, customServers[i].ip, (ushort)customServers[i].port) }; regions[i + 3] = new DnsRegionInfo(customServers[i].ip, customServers[i].name, StringNames.NoTranslation, servers).Cast <IRegionInfo>(); } ServerManager.DefaultRegions = regions; ServerManager.Instance.AvailableRegions = regions; ServerManager.Instance.SaveServers(); } return(true); }
public override void Load() { DebugMode = Config.Bind("Custom", "Enable Debug Mode", false); Ip = Config.Bind("Custom", "Custom Server IP", "127.0.0.1"); Port = Config.Bind("Custom", "Custom Server Port", (ushort)22023); IRegionInfo customRegion = new DnsRegionInfo(Ip.Value, "Custom", StringNames.NoTranslation, Ip.Value, Port.Value).Cast <IRegionInfo>(); ServerManager serverManager = DestroyableSingleton <ServerManager> .CHNDKKBEIDG; IRegionInfo[] regions = ServerManager.DefaultRegions; regions = regions.Concat(new IRegionInfo[] { customRegion }).ToArray(); ServerManager.DefaultRegions = regions; serverManager.AGFAPIKFOFF = regions; serverManager.SaveServers(); CEIOGGEDKAN.LMADJLEGIMH = CEIOGGEDKAN.IJGNCMMDGDI = Enumerable.Repeat(3, 16).ToArray(); // Max Imp = Recommended Imp = 3 CEIOGGEDKAN.JMEMPINECJN = Enumerable.Repeat(4, 15).ToArray(); // Min Players = 4 DebugMode = Config.Bind("Custom", "Enable Debug Mode", false); Instance = this; CustomOptionHolder.Load(); Harmony.PatchAll(); }
private static IRegionInfo[] LoadCustomUserRegions() { List <IRegionInfo> customRegions = new List <IRegionInfo>(); for (int x = 0; x < 9; x++) { ConfigEntry <string> regionName = UnifyPlugin.ConfigFile.Bind( $"Region {x + 1}", $"Name", "custom region"); ConfigEntry <string> regionIp = UnifyPlugin.ConfigFile.Bind( $"Region {x + 1}", "IP", ""); ConfigEntry <ushort> regionPort = UnifyPlugin.ConfigFile.Bind( $"Region {x + 1}", "Port", (ushort)22023); if (String.IsNullOrWhiteSpace(regionIp.Value)) { continue; } IRegionInfo regionInfo = new DnsRegionInfo( regionIp.Value, regionName.Value, StringNames.NoTranslation, regionIp.Value, regionPort.Value) .Cast <IRegionInfo>(); customRegions.Add(regionInfo); } return(customRegions.ToArray()); }
public override void Load() { DebugMode = Config.Bind("Custom", "Enable Debug Mode", false); StreamerMode = Config.Bind("Custom", "Enable Streamer Mode", false); StreamerModeReplacementText = Config.Bind("Custom", "Streamer Mode Replacement Text", "\n\nThe Other Roles"); StreamerModeReplacementColor = Config.Bind("Custom", "Streamer Mode Replacement Text Hex Color", "#87AAF5FF"); Ip = Config.Bind("Custom", "Custom Server IP", "127.0.0.1"); Port = Config.Bind("Custom", "Custom Server Port", (ushort)22023); CustomRegion = new DnsRegionInfo(Ip.Value, "Custom", StringNames.NoTranslation, Ip.Value, Port.Value); ServerManager serverManager = DestroyableSingleton <ServerManager> .Instance; IRegionInfo[] regions = ServerManager.DefaultRegions; regions = regions.Concat(new IRegionInfo[] { CustomRegion.Cast <IRegionInfo>() }).ToArray(); ServerManager.DefaultRegions = regions; serverManager.AvailableRegions = regions; serverManager.SaveServers(); GameOptionsData.RecommendedImpostors = GameOptionsData.MaxImpostors = Enumerable.Repeat(3, 16).ToArray(); // Max Imp = Recommended Imp = 3 GameOptionsData.MinPlayers = Enumerable.Repeat(4, 15).ToArray(); // Min Players = 4 DebugMode = Config.Bind("Custom", "Enable Debug Mode", false); Instance = this; CustomOptionHolder.Load(); CustomColors.Load(); Harmony.PatchAll(); }
public static void UpdateRegions() { ServerManager serverManager = DestroyableSingleton <ServerManager> .Instance; IRegionInfo[] regions = defaultRegions; var CustomRegion = new DnsRegionInfo(Ip.Value, "Custom", StringNames.NoTranslation, Ip.Value, Port.Value); regions = regions.Concat(new IRegionInfo[] { CustomRegion.Cast <IRegionInfo>() }).ToArray(); ServerManager.DefaultRegions = regions; serverManager.AvailableRegions = regions; }
public static bool SetDirectRegion(string ip, out IRegionInfo newRegion) { newRegion = null; if (!Regex.IsMatch(ip, @"^(\d{1,3}\.){3}\d{1,3}$")) { return(false); } newRegion = new DnsRegionInfo(ip, ip, StringNames.NoTranslation, ip, 22023) .Cast <IRegionInfo>(); RegionsPatch.DirectRegion = newRegion; RegionsPatch.Patch(); return(true); }
public static bool Prefix(ref RegionMenu __instance) { ClearOnClickAction(__instance.ButtonPool); Directory.CreateDirectory(CustomServersPlugin.userDataPath); if (File.Exists(Path.Combine(CustomServersPlugin.userDataPath, CustomServersPlugin.customServersFilePath))) { customServers = JsonConvert.DeserializeObject <List <CustomServerInfo> >(File.ReadAllText(Path.Combine(CustomServersPlugin.userDataPath, CustomServersPlugin.customServersFilePath))); CustomServersPlugin.Logger.LogDebug("Loaded custom servers list from file!"); } else { CustomServersPlugin.Logger.LogWarning("Custom servers list file not found!"); } if (ServerManager.DefaultRegions.Count != 4 + customServers.Count || forceReloadServers) { var regions = new IRegionInfo[4 + customServers.Count]; regions[0] = new DnsRegionInfo("Manage servers...", "Manage servers...", StringNames.NoTranslation, "Manage servers...").Cast <IRegionInfo>(); for (int i = 0; i < 3; i++) { regions[i + 1] = _defaultRegions[i]; } for (int i = 0; i < customServers.Count; i++) { Il2CppReferenceArray <ServerInfo> servers = new ServerInfo[1] { new ServerInfo(customServers[i].name, customServers[i].ip, (ushort)customServers[i].port) }; regions[i + 4] = new DnsRegionInfo(customServers[i].ip, customServers[i].name, StringNames.NoTranslation, servers).Cast <IRegionInfo>(); } ServerManager.DefaultRegions = regions; ServerManager.Instance.AvailableRegions = regions; ServerManager.Instance.SaveServers(); } return(true); }
public override void Load() { // カスタムサーバーへの接続先を追加 Ip = Config.Bind("Custom", "Custom Server IP", "18.177.110.86"); Port = Config.Bind("Custom", "Custom Server Port", (ushort)22023); IRegionInfo customRegion = new DnsRegionInfo(Ip.Value, "HaomingAWS", StringNames.NoTranslation, Ip.Value, Port.Value).Cast <IRegionInfo>(); ServerManager serverManager = DestroyableSingleton <ServerManager> .Instance; IRegionInfo[] regions = ServerManager.DefaultRegions; regions = regions.Concat(new IRegionInfo[] { customRegion }).ToArray(); ServerManager.DefaultRegions = regions; serverManager.AvailableRegions = regions; serverManager.SaveServers(); // RevealRolesにLoggerを登録 RR.GetInstance().logger = Log; Harmony.PatchAll(); }
public static IRegionInfo AddRegion(string name, string ip, ushort port) { if (Uri.CheckHostName(ip) != UriHostNameType.IPv4) { return(ServerManager.Instance.CurrentRegion); } IRegionInfo existingRegion = ServerManager.DefaultRegions.ToArray().FirstOrDefault(region => region.PingServer == ip); if (existingRegion != null) { return(existingRegion); } IRegionInfo newRegion = new DnsRegionInfo(ip, name, StringNames.NoTranslation, ip, port) .Cast <IRegionInfo>(); RegionsPatch.ModRegions.Add(newRegion); RegionsPatch.Patch(); return(newRegion); }