diff --git a/Modules/RPC.cs b/Modules/RPC.cs
index c1233d0..44075d8 100644
--- a/Modules/RPC.cs
+++ b/Modules/RPC.cs
@@ -153,72 +153,74 @@ internal static class RPC
{
if (player == null || player.IsLocalPlayer() || player.Data == null) return;
+ if (Enum.IsDefined(typeof(CustomRPC), (int)unchecked(callId)))
+ {
+ MessageReader reader = MessageReader.Get(oldReader);
+
+ switch (callId)
+ {
+ case (byte)CustomRPC.BetterCheck:
+ {
+ var SetBetterUser = reader.ReadBoolean();
+ var IsBetterHost = reader.ReadBoolean();
+ var Signature = reader.ReadString();
+ var Version = reader.ReadString();
+ var IsVerified = Signature == Main.modSignature;
+ if (!player.IsHost() && IsBetterHost)
+ {
+ BetterNotificationManager.NotifyCheat(player, $"Invalid Action RPC: {Enum.GetName((CustomRPC)callId)} called as BetterHost");
+ break;
+ }
+
+ if (string.IsNullOrEmpty(Signature) || string.IsNullOrEmpty(Version))
+ {
+ BetterNotificationManager.NotifyCheat(player, $"Invalid Action RPC: {Enum.GetName((CustomRPC)callId)} called with invalid info");
+ break;
+ }
+
+ player.BetterData().IsBetterUser = SetBetterUser;
+ player.BetterData().IsBetterHost = IsBetterHost;
+
+ if (IsVerified)
+ {
+ player.BetterData().IsVerifiedBetterUser = true;
+ }
+
+ Logger.Log($"Received better user RPC from: {player.Data.PlayerName}:{player.Data.FriendCode}:{Utils.GetHashPuid(player)} - " +
+ $"BetterUser: {SetBetterUser} - " +
+ $"BetterHost: {IsBetterHost} - " +
+ $"Version: {Version} - " +
+ $"Verified: {IsVerified} - " +
+ $"Signature: {Signature}");
+
+ SyncAllNames(force: true);
+ }
+ break;
+ /*
+ case (byte)CustomRPC.VersionCheck or (byte)CustomRPC.RequestRetryVersionCheck:
+ if (player.IsHost())
+ {
+ player.BetterData().IsTOHEHost = true;
+ }
+ break;
+ */
+ }
+ }
+
try
{
- var flag = Enum.IsDefined(typeof(CustomRPC), (int)callId) || Enum.IsDefined(typeof(RpcCalls), callId);
-
- if (!flag && player.IsHost())
+ if (!GameStates.IsTOHEHostLobby)
{
- var BAU = "♻BetterAmongUs♻";
- Utils.DisconnectSelf($"{BAU} does not support\nModded Lobbies!");
+ var flag = Enum.IsDefined(typeof(CustomRPC), (int)callId) || Enum.IsDefined(typeof(RpcCalls), callId);
+
+ if (!flag && player.IsHost())
+ {
+ var BAU = "♻BetterAmongUs♻";
+ Utils.DisconnectSelf($"{BAU} does not support\nModded Lobbies!");
+ }
}
}
catch { }
-
- if (!Enum.IsDefined(typeof(CustomRPC), (int)unchecked(callId))) return;
-
- MessageReader reader = MessageReader.Get(oldReader);
-
- switch (callId)
- {
- case (byte)CustomRPC.BetterCheck:
- {
- var SetBetterUser = reader.ReadBoolean();
- var IsBetterHost = reader.ReadBoolean();
- var Signature = reader.ReadString();
- var Version = reader.ReadString();
- var IsVerified = Signature == Main.modSignature;
- if (!player.IsHost() && IsBetterHost)
- {
- BetterNotificationManager.NotifyCheat(player, $"Invalid Action RPC: {Enum.GetName((CustomRPC)callId)} called as BetterHost");
- break;
- }
-
- if (string.IsNullOrEmpty(Signature) || string.IsNullOrEmpty(Version))
- {
- BetterNotificationManager.NotifyCheat(player, $"Invalid Action RPC: {Enum.GetName((CustomRPC)callId)} called with invalid info");
- break;
- }
-
- player.BetterData().IsBetterUser = SetBetterUser;
- player.BetterData().IsBetterHost = IsBetterHost;
-
- if (IsVerified)
- {
- player.BetterData().IsVerifiedBetterUser = true;
- }
-
- Logger.Log($"Received better user RPC from: {player.Data.PlayerName}:{player.Data.FriendCode}:{Utils.GetHashPuid(player)} - " +
- $"BetterUser: {SetBetterUser} - " +
- $"BetterHost: {IsBetterHost} - " +
- $"Version: {Version} - " +
- $"Verified: {IsVerified} - " +
- $"Signature: {Signature}");
-
- SyncAllNames(force: true);
- }
- break;
- /*
- case (byte)CustomRPC.VersionCheck or (byte)CustomRPC.RequestRetryVersionCheck:
- if (player.IsHost())
- {
- player.BetterData().IsTOHEHost = true;
- var BAU = "♻BetterAmongUs♻";
- Utils.DisconnectSelf($"{BAU} does not support TOHE");
- }
- break;
- */
- }
}
public static void HandleRPC(PlayerControl player, byte callId, MessageReader oldReader)
diff --git a/Patches/PingTrackerPatch.cs b/Patches/PingTrackerPatch.cs
index b2e45a6..1dd634b 100644
--- a/Patches/PingTrackerPatch.cs
+++ b/Patches/PingTrackerPatch.cs
@@ -34,6 +34,8 @@ public class PingTrackerPatch
sb.Append("By The Enhanced Network\n");
// sb.Append($"{Main.Github}\n");
+ if (GameStates.IsTOHEHostLobby) sb.Append($"TOHE Lobby\n");
+
if (Main.BetterHost.Value && GameStates.IsHost)
{
sb.Append($"{Translator.GetString("BetterOption.BetterHost")}: Enabled\n");