User:Luk4ward

From WolfWiki
Jump to navigation Jump to search

http://forum.wolfteam.pl/templates/xandgrey/ettp/logo.jpg


=== Contact ===


=== About ===
I have put some stuff which are available for public, the rest you can see @ those servers:

  • ET.GamesNet.pl Cmpgn [ /connect 193.33.34.11:27965 ]
  • ET.GamesNet.pl SW [ /connect 193.33.34.15:27960 ]
  • u|k. public server 3.2.6_2.60b [ /connect 213.228.232.155:27960 ]



== ETpro lua scripts ==
=== >> Download ACpro mod << ===

http://luk4ward.boo.pl/files/gallery/thumbs/etpro_dir.gif

  • unzip all files to etpro folder on your server
  • new version: 1.6 [ac.lua] [E25953A5F450B5188391209CFF86CAB503DA2D35]


http://luk4ward.boo.pl/files/gallery/thumbs/ACpro.gif
http://luk4ward.boo.pl/files/gallery/rule10.gif

==== This Plugin / Mod / Script includes 6 mods: ====

http://luk4ward.boo.pl/files/gallery/rule10.gif

  1. Notes:
    • cl_guid is spoofable so keep this data secured !
    • tested on 2.60b server using etpro 3.2.6 and etadmin mod
    • you have to get the write/read rights to ipbans folder inside your etpro folder


http://luk4ward.boo.pl/files/gallery/rule10.gif
===== Logging data of players in etadmin_mod format =====

http://luk4ward.boo.pl/files/gallery/rule10.gif


http://luk4ward.boo.pl/files/gallery/thumbs/ftp_3.gif

  • Name
  • cl_guid
  • etpro guid
  • IP
  • Date
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)
	name    = requiem4dream
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID
	eguid   = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID
	ip      = 83.100.100.5
	reason  = data logged
	made    = 11/28/07 19:09:35
	expires = 0
	banner  = admin

Depends on condition it will be logged in such format to those files:

  • file: logs/players.log <- players with not banned IPs
  • file: logs/not_accepted_players.log <- players with banned IP and not accepted PB GUIDs [ output to console log ] :
filtercheck: client cheater NOT accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ not_accepted_players.log
  • file: logs/accepted_players.log <- players with banned IP and accepted PB GUIDs [ output to console log ] :
filtercheck: client cleanplayer accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ accepted_players.log


http://luk4ward.boo.pl/files/gallery/rule10.gif

players module


http://luk4ward.boo.pl/files/gallery/rule10.gif


http://luk4ward.boo.pl/files/gallery/thumbs/players_new.gif

Showing after typing /players :

  • Punkbuster IDs
  • Punkbuster GUIDs (last 8 digits from cl_guid)
  • IP (3 parts of IP)
  • Team (team and spawnpoint)
  • ETpro ID
  • Cut names (u can set the amount)
  • State of player (blank / REF or PRV / muted)
  • Optional
  • You can set the notes and warns !
ID                 Player                           PBid       PBguid            Team                 IP     
    name of player & STATE: blank/REF or PRV/muted         last 8 parts    team & spawnpoint    3 parts of IP
  • Notes and warning about players' data


Now new option ! You see players via rcon, just type:

players

and you will see this:
http://luk4ward.boo.pl/files/gallery/thumbs/new_console_players.gif


http://luk4ward.boo.pl/files/gallery/rule10.gif

Name module


http://luk4ward.boo.pl/files/gallery/rule10.gif

  • The name change limit module block client from changing nick after the limit. Instead of kicking as punkbuster it is restoring the original nick (if u set max_name_changes = -1 then u will allow unlimited nick changes)!


http://luk4ward.boo.pl/files/gallery/thumbs/rename_limit.gif

  • Clean nick module will clean the nick from weird characters, especially:
^

which is using to prevent from kicks or capturing the player ! You can use this via 2 ways:

  • Via rcon:
rename ID clean
  • ETadmin mod:
clean_name = rename <PART2ID> clean


http://luk4ward.boo.pl/files/gallery/thumbs/clean_name.gif
The most code by Hadro

http://luk4ward.boo.pl/files/gallery/rule10.gif

Exec files depends on warmup time or playing time


http://luk4ward.boo.pl/files/gallery/rule10.gif

  • This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing
  • Names of files can be edited
  • The info can be edited
  • Optional mod


http://luk4ward.boo.pl/files/gallery/rule10.gif

Date&time module


http://luk4ward.boo.pl/files/gallery/rule10.gif

  • This module will log into your log files data and time so u will know when the map starts etc.


http://luk4ward.boo.pl/files/gallery/thumbs/fixed_gamedate.gif

  • It also set every day a new etserver log with the date


http://luk4ward.boo.pl/files/gallery/thumbs/etserver_logs.gif

http://luk4ward.boo.pl/files/gallery/rule10.gif

Banmask with exceptions


http://luk4ward.boo.pl/files/gallery/rule10.gif


http://luk4ward.boo.pl/files/gallery/thumbs/error.gif

  • It's checking if the 2 parts of IP of connecting player matched with the names of files in the ipbans/

if #1 is true then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player
if #1 is false then allow player to join the server

  • For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -> see Logging data of players in etadmin_mod format section)
  • This module was optimized in 1.6 version by adding:
	  ------------------------------------------------------
	  -- when playing lua mod is loaded so there is no hurry
	  -- 10 is minimum:
	  
maxlines_limit = 10 

	  ------------------------------------------------------
	  
	  ------------------------------------------------------
	  -- on intermission and warmup connecting ppl have to be as fast as possible checked until lua will be unloaded
	  -- u can set critical_limit to 0 so no etpro guids during warmup & intermission will be logged but players will be checked immediately
	  -- the 3 is the minimum if there is no lines printed into console:
	  
critical_limit = 3  

Those settings u can change, they are using in script for finding etpro guids only once when player is connected. So its up to you how fast script is (in most such mods scripts are reading line per line and writing into log file data of players every map).
http://luk4ward.boo.pl/files/gallery/rule10.gif

#1st way via rcon:


http://luk4ward.boo.pl/files/gallery/rule10.gif


http://luk4ward.boo.pl/files/gallery/thumbs/rcon.gif

16:52:18:> add
		--------------
		Usage: add cl_guid nick ip by
		Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID luk4ward 83.100. admin
		Example#2: add guidGUIDGUIDGUIDGUIDGUIDGUIDguid luk4ward 83.100.100.5 admin
		Usage: add   mask  cheater ip by
		Example#1: add mask cheater 83.100. admin
		Example#2: add mask cheater 83.100.100.5 admin


http://luk4ward.boo.pl/files/gallery/rule10.gif

#2nd way via ftp:


http://luk4ward.boo.pl/files/gallery/rule10.gif


http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif

  1. how to ban 83.100:
    • create a file 83_100_.dat
    • copy to ipbans/
    • the end ! you can add comments by using #, example:
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin
   
  1. how to add exception:
    • open file 83_100.dat and add new line:
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin
   


http://luk4ward.boo.pl/files/gallery/rule10.gif

#3rd way via etadmin mod:


http://luk4ward.boo.pl/files/gallery/rule10.gif


http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif

  • edit etc/etadmin.cfg
  • find:
* IP Bans (works with all (etmain, etpro, shrub):
  • after commands add:
addguid = add <PART2GUID> <PART2NAME> <PART2IP> <PLAYER>
addmask = add mask <PART2NAME> <PART2IP> <PLAYER>
  • find where x is the highest level:
# Level x
    • and add:
x       = addguid, addmask
  • Usage in game:
/m mynick !addguid id/part2nick_of_clean_player
/m mynick !addmask id/part2nick_of_cheater
  • Notes:

You can use those commands only when a target is on the server or is connecting to the server !

Php scripts

soon

ETadmin mod hacks

Min guid age


  • Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates
  • Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:
    • pb_sv_cvarlogging 1
    • pb_sv_cvarwalk 1
    • PB_SV_CvarChangedPulse 90
    • pb_sv_cvaruserpulse 90


http://luk4ward.boo.pl/files/gallery/rule10.gif

Instructions


http://luk4ward.boo.pl/files/gallery/rule10.gif

  • Previously it was searching for line:
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE

And parsing the data like slot of the player and the age of guid. I searched in my 4 mb log for such line and there was only 1 line ! I think becuase of pb updates, nvm. The next step was to find any other lines with the (valid: x) phrase, so there are 3 lines:

^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -> after a map
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = "ET Pro, ET 2.60" -> enabled pb_sv_cvarwalk x [0>x<5]
  • So You have to enable punkbuster cvar searching and logging into your game log by using those commands:
PB_SV_CvarChangedPulse [Number]
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above
PB_SV_CvarUserPulse [Number]
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above
  • Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var)
  • Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]
  • Now hack your etadmin mod, to do this open etadmin_mod.pl
  • Find:
elsif ( $config{'minguidage'} && index( $line, "$config{'pb_sv_msgprefix'}: [From " ) == 0 )
    {

#ET PB Server: [From #6 e9a9(VALID:153) ^4[^jbd^4] S^1cow^4L] My gl G:\WINDOWS\System32\opengl32.dll size=685568 md5=11CC241BEE030FC2982413A59E6E32B7
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE

        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;

        # The age is the (days +1)
        my $age = $2 - 1;
        my $id  = $1 - 1;
        next if ( $age < 0 || $id < 0 );

        my $pb_id = $1;
        my $name = &convert_name( $tmphash{$id}{'name'}, 0, 0 );
        &log("Checking KEY AGE: Slot: $id($name), KeyAge: $age");
        if ( $config{'minguidage'} > $age )
        {
            &say(   $tmphash{$id}{'name'}
                  . "^7 has a GUID, that is only ^3"
                  . $age
                  . "^7 days old. Server refused entry!" );
            &cmd(   "pb_sv_kick $pb_id 5 \"Your GUID is too new. Try again in "
                  . ( $config{'minguidage'} - $age )
                  . " days\"" );
            &disconnect( $pb_id - 1, $pb_id );
        }
    }
  • Replace whole block of code with this:
# old: ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = "ET Pro, ET 2.60" -> enabled pb_sv_cvarwalk from 1 to 4
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] "cg_etVersion" "cg_uinfo" "ui_connecting" "cl_guid" "cl_motdString" "gamestate" -> enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90
# Remember to set pb_sv_cvarlogging to 1 or 3 !
#
# Code modified by Luk4ward based on Tommy100 modification

elsif ( $config{'minguidage'} && index( $line, "$config{'pb_sv_msgprefix'}: [From " ) == 0 )
    {

    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;
    
              # The age is the (days +1)
        my $age = $2 - 1;
        my $id  = $1 - 1;
        next if ( $age < 0 || $id < 0 );

        my $pb_id = $1;
        my $name = &convert_name( $tmphash{$id}{'name'}, 0, 0 );
        #now etadmin will be checking if the guy is already kicked or not
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid
        if ( $name ne "" )
        {
        if ( $config{'minguidage'} > $age )
        {
        &log("Checking KEY AGE: Slot: $id($name), KeyAge: $age");
            &say(   $tmphash{$id}{'name'}
                  . "^7 has a GUID, that is only ^3"
                  . $age
                  . "^7 days old. Server refused entry!" );
            &cmd(   "pb_sv_kick $pb_id 1440 \"Your GUID is too new. Try again in "
                  . ( $config{'minguidage'} - $age )
                  . " days\"" );
            &disconnect( $pb_id - 1, $pb_id );
        }
      }          
    }
  • Result in game:
[17:45:15] qsay "WPX has a GUID, that is only 5 days old. Server refused entry!"
[17:45:16] pb_sv_kick 20 5 "Your GUID is too new. Try again in 9 days"

Thanks to Tommy100 from PsB

Programms

soon