Esempio n. 1
0
            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);
            }
Esempio n. 2
0
        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();
        }
Esempio n. 3
0
        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());
        }
Esempio n. 4
0
        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();
        }
Esempio n. 5
0
        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;
        }
Esempio n. 6
0
        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);
            }
Esempio n. 8
0
        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();
        }
Esempio n. 9
0
        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);
        }