AdminMod.de Foren

Alles Rund um AdminMod - Das HL Server Verwaltungs Tool
Aktuelle Zeit: 09.09.2010, 22:49

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Speedhack
Beitrag: 18.08.2007, 02:34 
Offline
AM.de Team
Benutzeravatar

Registriert: 27.11.2001, 02:00
Beiträge: 4258
Wohnort: In der Nähe von Bonn
Moin!
Gerade wieder einen Speedhacker gesehen....
aber irgendwie kam mir der Gedanke:
Der legt ja innerhalb 1 Sekunde eine unglaubliche Strecke zurück.
Wäre es denn nicht einfach möglich, diese Strecke zu berechnen...
und wenn die größer 10 "km" ist, dann sollte es doch wohl ein cheat und sofort erkennbar sein.
Hm... was ist an meiner Überlegung falsch?

_________________
Fehleranalyse: Poste den Inhalt Deiner liblist.gam, (listen)server.cfg, adminmod.cfg, users.ini, vault.ini, plugin.ini von adminmod und plugins.ini von metamod. Benutze auch die Such-Funktion


Nach oben
 Profil  
 
 Betreff des Beitrags:
Beitrag: 19.08.2007, 19:17 
Offline
AM.de Team
Benutzeravatar

Registriert: 23.11.2001, 01:00
Beiträge: 3903
Wohnort: Vor König Arthus
Die Überlegung ist grundsätzlich nicht verkehrt. Es ist nur sehr resourcenfressend, da Du eigentlich sekündlich alle Spieler und deren Standpunkt überprüfen müsstest. Außerdem muss man auch auch die Z-Achse berücksichtigen und somit Sprünge, bei denen man schneller ist als beim Laufen. Da müsste man dann einen vernünftigen Grenzwert finden.

Also, wenn überhaupt scheitert es an den Resourcen.

_________________
Der schwarze Ritter triumphiert immer...
WING-Clan | sWINGer Club (Stats) | sWINGing Ricochet (Stats)


Nach oben
 Profil  
 
 Betreff des Beitrags:
Beitrag: 21.12.2007, 19:05 
Offline

Registriert: 18.11.2006, 19:43
Beiträge: 26
may this helps
Read the comments with care:
Code:
#define MAXPLAYERS 32
#define SECDIST 230   //Sensitivity, may need to be adjusted
#define MAXOFFENCE 700 //Sensitivity, may need to be adjusted

new gmaxplayers;
new g_OldPos[3][MAXPLAYERS+1];
new g_Detections[MAXPLAYERS+1];
new g_Warning[MAXPLAYERS+1];

public plugin_init()
{
   set_timer("check_speedhack",1.0,99999,"");
   
   gmaxplayers = maxplayercount();
}

public plugin_connect(. ..)
{
   // we need "id" (index of user) as a 2nd PARAM;
   g_OldPos[0][id] = 0;
   g_OldPos[1][id] = 0;
   g_OldPos[2][id] = 0;
   
   // also index is "id"
   g_Detections[id] = 0;
   g_Warning[id] = 0;
}

public check_speedhack()
{
   for(new i=1; <= gmaxplayers; i++)
   {
      // num to str i;
      // not sure if exists, but a check for is user alive ? (pursupose exists)
      if(is_user_alive(i) )
      {
         new origin[3];
         new oldorigin[3];
         new dist;
         
         //Get origins
         // I don't know exactly how to get get_userorigin in correct way, but this i used on my AMXX Plugin
         get_user_origin(i, origin);
         oldorigin[0] = g_OldPos[0][i];
         oldorigin[1] = g_OldPos[1][i];
         oldorigin[2] = g_OldPos[2][i];
         
         // another problem i don't know if exists a function to get distance between 2 origins
         // in amxx exists, is called "get_distance(org1,org2)
         // pursopose exists
         dist = get_distance(origin, oldorigin);
         
         if (dist > SECDIST)
            g_Detections[i] = g_Detections[i] + dist - SECDIST;
            
         // not really required, but it's a good point to check if user is on buyzone
         // i know, in adminmod doesen't exists a function like that ( exits ? )
         if(is_user_in_buyzone(i) )
         {
            clearSpecificAlertValue(i);
         }
         
         
         if (g_Detections[i] > SECDIST)
         {
            g_Warning[i]++
            if (g_Warning[i] > 1)
               if (g_Detections[i] > MAXOFFENCE)
                  RegisterOffense(i)
         }
         
         g_OldPos[0][i] = origin[0]
         g_OldPos[1][i] = origin[1]
         g_OldPos[2][i] = origin[2]
      }
      
      else
      {
         clearSpecificAlertValue(i)
      }
   }
      
}

public clearSpecificAlertValue(id)
{
   g_Detections[id] = 0;
   g_Warning[id] = 0;
}
   
         
public RegisterOffense(...)
{
   // log the player or something;
   
   // a good to punish players;
   // do a loop, check if no admin on server and ban player
   // if exits an admin on server, just print a message to chat
}


Nach oben
 Profil  
 
 Betreff des Beitrags:
Beitrag: 22.12.2007, 14:35 
Offline
AM.de Team
Benutzeravatar

Registriert: 27.11.2001, 02:00
Beiträge: 4258
Wohnort: In der Nähe von Bonn
here you can find all descriptions of commands in adminmod
with correct syntax:

http://www.adminmod.de/?q=node/view/267&order=g

(get_userorigin)

_________________
Fehleranalyse: Poste den Inhalt Deiner liblist.gam, (listen)server.cfg, adminmod.cfg, users.ini, vault.ini, plugin.ini von adminmod und plugins.ini von metamod. Benutze auch die Such-Funktion


Nach oben
 Profil  
 
 Betreff des Beitrags:
Beitrag: 22.12.2007, 15:32 
Offline
AM.de Team
Benutzeravatar

Registriert: 23.11.2001, 01:00
Beiträge: 3903
Wohnort: Vor König Arthus
There is no function in adminmod which detects the buyzone. Only possible with the experimental version which is not developed anymore.

You have to track round ends in Counter-Strike. Otherwise most guys will be detected as being speed hackers. Use logd for that.

For distance include math.inc and use distance(). See include/math.inc for usage.

Btw, as I stated before, this script uses a lot of resources. Use it with care.

_________________
Der schwarze Ritter triumphiert immer...
WING-Clan | sWINGer Club (Stats) | sWINGing Ricochet (Stats)


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Deutsche Übersetzung durch phpBB.de