AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Plugin/Gameplay Ideas and Requests (https://forums.alliedmods.net/forumdisplay.php?f=60)
-   -   [L4D2] Airstuck teleportation patch (https://forums.alliedmods.net/showthread.php?t=328754)

JLmelenchon 11-24-2020 03:30

[L4D2] Airstuck teleportation patch
 
Can someone find a way to fix this **** please ? This exploit exist since a long time apparently, i can find posts about it since 2015.

https://www.reddit.com/r/l4d2/commen...d_out_the_map/

Marttt 11-24-2020 09:16

Re: [L4D2] Airstuck teleportation patch
 
Never have seen this bug in years, but people are talking about it very often now. In South America this happens mostly on zonemod servers, but seems unrelated (except for the fact that people are more "competitive" on these versus mods)

One way to fix, maybe is to check the origin of the SI if is origin = 0 and if is carrying a survivor, still would need to store the "last position" every sec maybe. Then teleport it back and kill the jockey. (I don't know if it only works for jockey btw)

JLmelenchon 11-24-2020 12:42

Re: [L4D2] Airstuck teleportation patch
 
Not really a bug from what i understood, it is more a cheat that can be triggered with a program apparently.

cravenge 11-24-2020 18:26

Re: [L4D2] Airstuck teleportation patch
 
Quote:

Originally Posted by Marttt (Post 2726108)
Never have seen this bug in years, but people are talking about it very often now. In South America this happens mostly on zonemod servers, but seems unrelated (except for the fact that people are more "competitive" on these versus mods)

One way to fix, maybe is to check the origin of the SI if is origin = 0 and if is carrying a survivor, still would need to store the "last position" every sec maybe. Then teleport it back and kill the jockey. (I don't know if it only works for jockey btw)

I stated this problem before but it went unnoticed. For now, I found a temporary solution and that is to disable Jockeys from spawning and double the amount of Hunters to spawn in order to compensate for it.

Simply teleporting the player back to their last origin doesn't stop the high possibility of everyone else crashing once this occurs.

BHaType 11-24-2020 20:09

Re: [L4D2] Airstuck teleportation patch
 
Airstuck appears if the player in the CreateMove function has set velocity/angles to FLT_MAX;

You can easily track this

PHP Code:

#define IS_NAN(%1) ( (%1) != (%1) )

public Action OnPlayerRunCmd (int clientint &buttonsint &impulsefloat vel[3], float angles[3], intweaponint &subtypeint &cmdnumint &tickcountint &seed)
{
    if ( 
IsFakeClient(client) )
        return;
    
    if ( 
IS_NAN(vel[0]) || IS_NAN(angles[0]) ) 
    {
        
LogMessage("%N is suspected of using airstuck (NAN value!!)"client);
    }



JLmelenchon 11-24-2020 21:41

Re: [L4D2] Airstuck teleportation patch
 
Quote:

Originally Posted by BHaType (Post 2726146)
Airstuck appears if the player in the CreateMove function has set velocity/angles to FLT_MAX;

You can easily track this

PHP Code:

#define IS_NAN(%1) ( (%1) != (%1) )

public Action OnPlayerRunCmd (int clientint &buttonsint &impulsefloat vel[3], float angles[3], intweaponint &subtypeint &cmdnumint &tickcountint &seed)
{
    if ( 
IsFakeClient(client) )
        return;
    
    if ( 
IS_NAN(vel[0]) || IS_NAN(angles[0]) ) 
    {
        
LogMessage("%N is suspected of using airstuck (NAN value!!)"client);
    }



I will try it first, but do you think it will be safe to enable automatic ban ?

BHaType 11-25-2020 06:30

Re: [L4D2] Airstuck teleportation patch
 
Quote:

Originally Posted by JLmelenchon (Post 2726154)
I will try it first, but do you think it will be safe to enable automatic ban ?

I do not know how player can break his angles/velocity without using cheats or console but I am not sure that such methods do not exist so decide for yourself

JLmelenchon 11-29-2020 07:42

Re: [L4D2] Airstuck teleportation patch
 
Added log to file.

Code:

#include <sourcemod>
#include <sdkhooks>
#include <sdktools>

#pragma newdecls required

#define IS_NAN(%1) ( (%1) != (%1) )

char path[256];

public Plugin myinfo =
{
        name = "Airstuck detection",
        author = "BHaType",
        description = "Detect cheaters who use airstuck exploit.",
        version = "1.0",
        url = "https://forums.alliedmods.net/showpost.php?p=2726146&postcount=5"
};

public void OnPluginStart()
{
        BuildPath(Path_SM, path, 256, "logs/airstuck.txt");
       
        HookEvent("player_connect_full", Event_PlayerConnect);
}

public void Event_PlayerConnect(Event event, const char[] name, bool dontBroadcast)
{
        int client = GetClientOfUserId(event.GetInt("userid"));

        if (client == 0 || !IsClientInGame(client) || IsFakeClient(client)) return;
}

public Action OnPlayerRunCmd (int client, int &buttons, int &impulse, float vel[3], float angles[3], int& weapon, int &subtype, int &cmdnum, int &tickcount, int &seed)
{
    if ( IsFakeClient(client) )
        return;
   
    if ( IS_NAN(vel[0]) || IS_NAN(angles[0]) )
    {
        char SteamID[32];
        GetClientAuthId(client, AuthId_Steam2, SteamID, sizeof(SteamID));
       
        LogToFile(path, ".:[Name: %N | STEAMID: %s  is suspected of using airstuck cheat.]:.", client, SteamID);
        LogMessage("%N is suspected of using airstuck (NAN value!!)", client);
    }
}


JLmelenchon 12-05-2020 11:41

Re: [L4D2] Airstuck teleportation patch
 
Well i doubt that this is working, it just happened in one of my games and it detected nothing.

cravenge 12-05-2020 18:59

Re: [L4D2] Airstuck teleportation patch
 
If anyone can provide me a screenshot of what the cheat's interface looks like, I might be able to whip something up to detect the other features it offers. I already have an experimental detection against spawning in plain sight in impossible cases and it seems to be working fine so far.


All times are GMT -4. The time now is 23:21.

Powered by vBulletin®
Copyright ©2000 - 2022, vBulletin Solutions, Inc.