Slowly adding TOHE support

This commit is contained in:
D1GQ committed 2024-09-18 23:53:09 -05:00
1 parent 22bc8d28ff
commit 447cf893af
2 files changed
+64 -60

No files matched your search

+62 -60
View File
@@ -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 = "<color=#278720>♻</color><color=#0ed400><b>BetterAmongUs</b></color><color=#278720>♻</color>";
Utils.DisconnectSelf($"{BAU} does not support\n<b>Modded Lobbies</b>!");
var flag = Enum.IsDefined(typeof(CustomRPC), (int)callId) || Enum.IsDefined(typeof(RpcCalls), callId);
if (!flag && player.IsHost())
{
var BAU = "<color=#278720>♻</color><color=#0ed400><b>BetterAmongUs</b></color><color=#278720>♻</color>";
Utils.DisconnectSelf($"{BAU} does not support\n<b>Modded Lobbies</b>!");
}
}
}
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 = "<color=#278720>♻</color><color=#0ed400><b>BetterAmongUs</b></color><color=#278720>♻</color>";
Utils.DisconnectSelf($"{BAU} does not support <color=#ff9cdc><b>TOHE</b></color>");
}
break;
*/
}
}
public static void HandleRPC(PlayerControl player, byte callId, MessageReader oldReader)
+2
View File
@@ -34,6 +34,8 @@ public class PingTrackerPatch
sb.Append("<size=68%><color=#8040bf>By</color> <color=#bc4345>The Enhanced Network</color></size>\n");
// sb.Append($"<size=50%><color=#b5b5b5>{Main.Github}</color></size>\n");
if (GameStates.IsTOHEHostLobby) sb.Append($"<size=75%><color=#e197dc>TOHE Lobby</color></size>\n");
if (Main.BetterHost.Value && GameStates.IsHost)
{
sb.Append($"<size=75%>{Translator.GetString("BetterOption.BetterHost")}: <color=#00f04c>Enabled</color></size>\n");