22 Commits
Author SHA1 Message Date
Daemon be49899a27 Added matux.fr to regions menu 2021-03-18 21:49:51 +00:00
Daemon 071b49f85d Added matux.fr to regions menu 2021-03-18 21:45:39 +00:00
Daemon fbc1751172 Removed outdated notice 2021-03-18 09:29:37 +00:00
Daemon 25ccc7124c Merge branch 'dev' 2021-03-14 15:49:43 +00:00
Daemon cd5093407a Merge branch '2021' of https://github.com/DaemonBeast/Unify into 2021 2021-03-14 15:46:45 +00:00
Daemon 489d1c85a7 Merge branch 'dev' into 2021 2021-03-14 15:45:08 +00:00
DaemonBeast c0d8638a27 Merge branch 'dev' into 2021 2021-03-14 15:25:55 +00:00
DaemonBeast 50c678901f Fixed modded handshake issue 2021-03-14 15:15:14 +00:00
DaemonBeast 3dbf2befc1 Revert "Modified mod to remove Reactor as a dependency"
This reverts commit af6e7f4b4c.
2021-03-14 12:40:21 +00:00
Daemon 3b9db051c9 Revert "Modified mod to remove Reactor as a dependency" 2021-03-14 12:29:00 +00:00
Daemon 6d18d01eb9 Revert "Modified mod to remove Reactor as a dependency" 2021-03-14 12:28:46 +00:00
Daemon e91ea01777 Revert "Modified mod to remove Reactor as a dependency" 2021-03-14 12:28:18 +00:00
Daemon bb69bbddfd Revert "Modified mod to remove Reactor as a dependency" 2021-03-14 12:27:47 +00:00
Daemon 8560fb6a55 Modified mod to remove Reactor as a dependency 2021-03-14 12:11:48 +00:00
Daemon 5668255792 Modified mod to remove Reactor as a dependency 2021-03-14 12:10:51 +00:00
DaemonBeast af6e7f4b4c Modified mod to remove Reactor as a dependency 2021-03-14 12:08:22 +00:00
DaemonBeast f35196d68c Improved wording in README 2021-03-13 22:02:02 +00:00
Daemon fe8f24ce98 Fixed custom regions
Merged stable dev branch with master branch
2021-03-13 15:23:51 +00:00
Daemon 7fc26d8b92 Fixed custom regions
Merged stable dev branch with 2021 branch
2021-03-13 15:22:53 +00:00
DaemonBeast 80051f9ec2 Removed unused using directives 2021-03-13 15:20:06 +00:00
DaemonBeast 999fb61e5e Updated README 2021-03-13 15:17:54 +00:00
DaemonBeast 907b2f9fe1 Fixed custom regions
Changed StaticRegionInfo to DnsRegionInfo
2021-03-13 15:11:39 +00:00
5 changed files with 50 additions and 33 deletions

No files matched your search

+4 -9
View File
@@ -1,10 +1,3 @@
> The 2021.3.5s release of this mod currently may not work properly or even at all since
> [Impostor](https://github.com/Impostor/Impostor) doesn't officially support 2021.3.5s yet and I haven't
> been able to test the mod to see if the custom regions actually work. However, you can compile an
> in-development version of Impostor [here](https://github.com/Impostor/Impostor/tree/2021.3.5) to try
> and connect to a local server using 2021.3.5s. I have tried to compile and run that version of Impostor
> but it didn't work at the time of testing.
# Unify
An Among Us mod to add extra regions to the regions menu.
@@ -26,14 +19,16 @@ The following regions have been added:
> **⚠ WARNING**
>
> This mod is only compatible with the steam release of the game.
> This mod requires you to have BepInEx and Reactor installed. You can install BepInEx and Reactor by following [this guide](INSTALLATION.md) or by following the steps on the
> following two pages: https://docs.reactor.gg/docs/basic/install_bepinex and https://docs.reactor.gg/docs/basic/install_reactor.
> This mod is only compatible with the steam release of the game.
> If you are still using 2020.12.9s and Reactor fails to load, try using the Reactor version located
> here: https://github.com/NuclearPowered/Reactor/actions/runs/593649307.
> If you are using 2021.3.5s and Reactor fails to load, ensure you have the latest version of Reactor installed.
1. Ensure that BepInEx and Reactor are installed (more information above).
2. Download the latest mod on the [releases](https://github.com/DaemonBeast/Unify/releases) page.
3. Move the mod to the `(Among Us game files)/BepInEx/plugins` folder.
+38 -20
View File
@@ -1,5 +1,9 @@
using System.Collections.Generic;
using System.Linq;
using BepInEx.Configuration;
using HarmonyLib;
using Hazel.Udp;
using Reactor;
using Array = System.Array;
using String = System.String;
@@ -9,21 +13,19 @@ namespace Unify.Patches
{
private static IRegionInfo[] _newRegions = new IRegionInfo[]
{
new StaticRegionInfo("skeld.net", StringNames.NoTranslation, "192.241.154.115", new ServerInfo[]
{
new ServerInfo("skeld.net-Master-1", "192.241.154.115", 22023)
}).Duplicate(),
new StaticRegionInfo("localhost", StringNames.NoTranslation, "127.0.0.1", new ServerInfo[]
{
new ServerInfo("localhost", "127.0.0.1", 22023)
}).Duplicate()
new DnsRegionInfo("192.241.154.115", "skeld.net", StringNames.NoTranslation, "192.241.154.115")
.Duplicate(),
new DnsRegionInfo("localhost", "localhost", StringNames.NoTranslation, "127.0.0.1")
.Duplicate(),
new DnsRegionInfo("152.228.160.91", "matux.fr", StringNames.NoTranslation, "152.228.160.91")
.Duplicate()
};
private static IRegionInfo[] _customRegions = MergeRegions(_newRegions, LoadCustomRegions());
private static IRegionInfo[] _customRegions = MergeRegions(_newRegions, LoadCustomUserRegions());
public static void Patch()
{
IRegionInfo[] patchedRegions = MergeRegions(ServerManager.DefaultRegions, _customRegions);
ServerManager.DefaultRegions = patchedRegions;
ServerManager.Instance.AvailableRegions = patchedRegions;
ServerManager.Instance.SaveServers();
@@ -38,23 +40,22 @@ namespace Unify.Patches
return patchedRegions;
}
private static IRegionInfo[] LoadCustomRegions()
private static IRegionInfo[] LoadCustomUserRegions()
{
List<IRegionInfo> customRegions = new List<IRegionInfo>();
for (int x = 0; x < 5; 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);
ConfigEntry<string> regionName = UnifyPlugin.ConfigFile.Bind(
$"Region {x + 1}", $"Name", "custom region");
ConfigEntry<string> regionIp = UnifyPlugin.ConfigFile.Bind(
$"Region {x + 1}", "IP", "");
if (String.IsNullOrWhiteSpace(regionIp.Value)) continue;
IRegionInfo regionInfo = new StaticRegionInfo(
regionName.Value, StringNames.NoTranslation, regionIp.Value, new ServerInfo[]
{
new ServerInfo(regionName.Value, regionIp.Value, regionPort.Value)
}).Duplicate();
IRegionInfo regionInfo = new DnsRegionInfo(
regionIp.Value, regionName.Value, StringNames.NoTranslation, regionIp.Value)
.Duplicate();
customRegions.Add(regionInfo);
}
@@ -62,4 +63,21 @@ namespace Unify.Patches
return customRegions.ToArray();
}
}
[HarmonyPatch(typeof(UdpConnection), nameof(UdpConnection.HandleSend))]
public static class DisableModdedHandshakePatch
{
[HarmonyBefore(new string[] { "gg.reactor.api" })]
public static void Prefix()
{
if (!UnifyPlugin.NormalHandshake.Contains(ServerManager.Instance.CurrentRegion.Name)) return;
PluginSingleton<ReactorPlugin>.Instance.ModdedHandshake.Value = false;
}
public static void Postfix()
{
PluginSingleton<ReactorPlugin>.Instance.ModdedHandshake.Value = true;
}
}
}
+6 -2
View File
@@ -11,21 +11,25 @@ namespace Unify
[BepInPlugin(Id, Name, Version)]
[BepInProcess("Among Us.exe")]
[BepInDependency(ReactorPlugin.Id)]
[ReactorPluginSide(PluginSide.ClientOnly)]
public class UnifyPlugin : BasePlugin
{
public const string Id = "daemon.unify.reactor";
private const string Name = "Unify";
private const string Version = "2.0.0";
private const string Version = "2.0.3";
public static readonly ConfigFile ConfigFile =
new ConfigFile(Path.Combine(Paths.ConfigPath, $"{UnifyPlugin.Id}.cfg"), true);
public static readonly string[] NormalHandshake =
new string[] {"North America", "Europe", "Asia", "skeld.net"};
public Harmony Harmony { get; } = new Harmony(Id);
public override void Load()
{
RegionsPatch.Patch();
Harmony.PatchAll();
}
}
+2 -2
View File
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework>
<Version>2.0.0</Version>
<Version>2.0.3</Version>
<Mappings>NuclearPowered/Mappings:0.2.0</Mappings>
<Description>Region mod for Reactor</Description>
@@ -14,7 +14,7 @@
</PropertyGroup>
<PropertyGroup Condition="'$(GamePlatform)' == 'Itch'">
<GameVersion>2020.11.17i</GameVersion>
<GameVersion>2021.11.17i</GameVersion>
<DefineConstants>$(DefineConstants);ITCH</DefineConstants>
</PropertyGroup>
Binary file not shown.