Skip to content

Commit

Permalink
Update CustomServersPatch for 2022.2.8+
Browse files Browse the repository at this point in the history
  • Loading branch information
js6pak committed Feb 27, 2022
1 parent bac31b1 commit e58f8b5
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 43 deletions.
49 changes: 7 additions & 42 deletions Reactor/Patches/CustomServersPatch.cs
Original file line number Diff line number Diff line change
@@ -1,52 +1,17 @@
using HarmonyLib;
using Hazel.Udp;
using Il2CppSystem.Net;
using InnerNet;

namespace Reactor.Patches
{
[HarmonyPatch]
internal static class CustomServersPatch
{
/// <summary>
/// Send the account id only to Among Us official servers
/// </summary>
[HarmonyPatch(typeof(InnerNetClient), nameof(InnerNetClient.GetConnectionData))]
public static class DontSendAccountIdPatch
[HarmonyPatch(typeof(AuthManager._CoConnect_d__4), nameof(AuthManager._CoConnect_d__4.MoveNext))]
[HarmonyPatch(typeof(AuthManager._CoWaitForNonce_d__6), nameof(AuthManager._CoWaitForNonce_d__6.MoveNext))]
[HarmonyPrefix]
public static bool DisableAuthServerPatch(out bool __result)
{
public static void Prefix(ref bool useDtlsLayout)
{
if (AmongUsClient.Instance.GameMode != GameModes.OnlineGame)
{
useDtlsLayout = false;
return;
}

var serverManager = ServerManager.Instance;
if (!serverManager || serverManager.CurrentRegion?.TryCast<DnsRegionInfo>() is not { } regionInfo || !regionInfo.Fqdn.EndsWith("among.us"))
{
useDtlsLayout = false;
}
}
}

/// <summary>
/// Encrypt connection only to Among Us official servers
/// </summary>
[HarmonyPatch(typeof(AuthManager), nameof(AuthManager.CreateDtlsConnection))]
public static class DontEncryptCustomServersPatch
{
public static bool Prefix(ref UnityUdpClientConnection __result, string targetIp, ushort targetPort)
{
var serverManager = ServerManager.Instance;
if (serverManager.CurrentRegion.TryCast<DnsRegionInfo>() is not { } regionInfo || !regionInfo.Fqdn.EndsWith("among.us"))
{
var remoteEndPoint = new IPEndPoint(IPAddress.Parse(targetIp), targetPort - 3);
__result = new UnityUdpClientConnection(null, remoteEndPoint);
return false;
}

return true;
}
__result = false;
return false;
}
}
}
2 changes: 1 addition & 1 deletion Reactor/Reactor.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<Nullable>enable</Nullable>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>

<VersionPrefix>1.2.2</VersionPrefix>
<VersionPrefix>1.2.3</VersionPrefix>
<VersionSuffix>dev</VersionSuffix>
<Description>Core mod and API for Among Us</Description>
<Authors>NuclearPowered</Authors>
Expand Down

0 comments on commit e58f8b5

Please sign in to comment.