public static bool IsValid(NetPackageChat __instance)
 {
     try
     {
         if (__instance.Sender.playerName != mainName(__instance) || __instance.Sender.entityId != senderEntityId(__instance))
         {
             ClientInfo cInfo = PersistentOperations.GetClientInfoFromEntityId(senderEntityId(__instance));
             if (cInfo != null)
             {
                 GameUtils.KickPlayerForClientInfo(__instance.Sender, new GameUtils.KickPlayerData(GameUtils.EKickReason.Banned, 0, DateTime.Now.AddDays(1095), "Auto detection has banned you for packet manipulation"));
                 using (StreamWriter sw = new StreamWriter(Filepath, true, Encoding.UTF8))
                 {
                     sw.WriteLine(string.Format("Detected invalid chat message by '{0}' '{1}' named '{2}' against '{3}' '{4}' named '{5}'", __instance.Sender.PlatformId.CombinedString, __instance.Sender.CrossplatformId.CombinedString, __instance.Sender.playerName, cInfo.PlatformId.CombinedString, cInfo.CrossplatformId.CombinedString, cInfo.playerName));
                     sw.WriteLine();
                     sw.Flush();
                     sw.Close();
                 }
                 Log.Out(string.Format("[SERVERTOOLS] Detected invalid chat message by '{0}' '{1}' named '{2}' against '{3}' '{4}' named '{5}'. Client has been banned", __instance.Sender.PlatformId.CombinedString, __instance.Sender.CrossplatformId.CombinedString, __instance.Sender.playerName, cInfo.PlatformId.CombinedString, cInfo.CrossplatformId.CombinedString, cInfo.playerName));
                 return(false);
             }
         }
     }
     catch (Exception e)
     {
         Log.Out(string.Format("[SERVERTOOLS] Error in ChatPackage.IsValid: {0}", e.Message));
     }
     return(true);
 }
Esempio n. 2
0
 public static bool PackageChat_ProcessPackage_Prefix(NetPackageChat __instance, World _world)
 {
     try
     {
         if (Packages.IsEnabled && __instance.Sender != null)
         {
             ClientInfo _cInfo = __instance.Sender;
             if (_cInfo.entityId != _entityId(__instance))
             {
                 Log.Out(string.Format("[SERVERTOOLS] Detected erroneous data NetPackageChat uploaded by steam id {0}, owner id {1}, entity id {2} name {3}. Modifying their entity id to {4}", _cInfo.playerId, _cInfo.ownerId, _cInfo.entityId, _cInfo.playerName, _entityId(__instance)));
                 Packages.Writer(_cInfo.ownerId, _cInfo.playerId, _cInfo.playerName, string.Format("Modifying their entity id to {0}", _entityId(__instance)));
                 Packages.Ban(_cInfo.ownerId, _cInfo.playerId, _cInfo.playerName);
                 return(false);
             }
             if (_cInfo.playerName != _mainName(__instance))
             {
                 Log.Out(string.Format("[SERVERTOOLS] Detected erroneous data NetPackageChat uploaded by steam id {0}, owner id {1}, entity id {2} name {3}. Modifying their user name to {4}", _cInfo.playerId, _cInfo.ownerId, _cInfo.entityId, _cInfo.playerName, _mainName(__instance)));
                 Packages.Writer(_cInfo.ownerId, _cInfo.playerId, _cInfo.playerName, string.Format("Modifying their user name to {0}", _mainName(__instance)));
                 Packages.Ban(_cInfo.ownerId, _cInfo.playerId, _cInfo.playerName);
                 return(false);
             }
         }
     }
     catch (Exception e)
     {
         Log.Out(string.Format("[SERVERTOOLS] Error in PackagePersistentPlayerState.PackagePersistentPlayerState_ProcessPackage_Prefix: {0}", e.Message));
     }
     return(true);
 }
Esempio n. 3
0
 public static bool NetPackageChat_ProcessPackage_Prefix(NetPackageChat __instance)
 {
     if (PersistentOperations.Net_Package_Detector && __instance.Sender != null)
     {
         if (!ChatPackage.IsValid(__instance))
         {
             return(false);
         }
     }
     return(true);
 }