Jump to content

etadmin_mod (!guidage)


Luk4ward

Recommended Posts

Hi,

 

im wondering if there are any perl expert or programmer who can help with this:

 

I created this based on other cmds:

 

#guidage
	elsif ( $config{'admin_functions'} && $data[0] eq "guidage" )
	{
		if ( &admin_check( $guid, "guidage", $age ) )
		{

			my $command = $data[0];
			my $target  = $data[1];
			my $found   = 0;
			my $sub;
		   ( $target, $found ) = &part2complete( $target, 1 );

			return if ( !&check_result( $command, $found, @say_params ) );

			if ( &get_admin_level( $tmphash{$target}{'guid'} ) )
			{

				if ( &convert_name( $tmphash{$target}{'name'} ) ne
					 &convert_name( $admins_name{ $tmphash{$target}{$age} } ) )
				{
					$sub = "^7(^5" . $admins_name{ $tmphash{$target}{$age} } . "^7) ";
					&say( $tmphash{$target}{'name'}
				  . "^7 has a GUID, that is only ^3"
				  . $age
				  . "^7 days old!" );
				}

			}
		  }
	  }

and added in etadmin_mod.pl

 

my $guidage;

and in etadmin.cfg

 

guidage = <part2name>

number of level = guidage

and its saying:

guidage: uknown command :/

 

 

any ideas?

Link to comment
Share on other sites

Imho you can't add a custom command for checking the guidage.

The guidage is checked when the player connects to the server.

Take a look at the section starting with

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

in etadmin_mod.pl

This checking is based on a logfile entry issued by pb:

#ET PB Server: [From #6 e9a9(VALID:153) playername My gl G:\WINDOWS\System32\opengl32.dll size=685568 md5=11CC241BEE030FC2982413A59E6E32B7

the guidage is the number right after 'VALID:'

 

You recieve a

guidage: uknown command

because you try to trigger a command 'guidage <playername>'

But there is no such command provided by et, etpro or punkbuster.

Link to comment
Share on other sites

Imho you can't add a custom command for checking the guidage.

The guidage is checked when the player connects to the server.

Take a look at the section starting with

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

in etadmin_mod.pl

This checking is based on a logfile entry issued by pb:

#ET PB Server: [From #6 e9a9(VALID:153) playername My gl G:\WINDOWS\System32\opengl32.dll size=685568 md5=11CC241BEE030FC2982413A59E6E32B7

the guidage is the number right after 'VALID:'

 

You recieve a

guidage: uknown command

because you try to trigger a command 'guidage <playername>'

But there is no such command provided by et, etpro or punkbuster.

well, you r right in 90%, cos i can add/change/edit whetver cmd i want. I'm just asking for help from any better then me programmist who can check the code...And yes i saw this line, i was basing on it

Link to comment
Share on other sites

  • 5 weeks later...

I wonder if anyone else is a slow as me ? I only sussed out minguidage command has been disabled by PB 2 days ago :(

I am wondering why you want to right a program for minguid age when admin mod has a function for it and or you can set it with pb in your server configs .! well they would have if it wasnt disabled :)

Link to comment
Share on other sites

When? erm..

Its a guidage, not a minguidage.....The minguidage isnt working from etadmin

EB have disabled the minguidage function, admin mod uses that in its checks. As nice a piece of work as the admin mod is, it does not quite have the ability to unencrypt pbguids.

Link to comment
Share on other sites

I have a question, i know when you connect to a server it shows all of your PB stuff(GUID and cvar violations) umm i would like to get my GUID but there are never any admins on when i try and get it. i used the pb_plist thing but i want my ENTIRE guid. Any ideas?

Link to comment
Share on other sites

  • 1 year later...
Guest mazak
do in console:

 

/clear

/pb_myguid

/condump pbguid.txt (a txt file will be saved in the folder of your mod played)

 

 

Hello all,

 

I saw an issue with minguidage in etadmin_mod.

It's checking guidage properly and kicks a user if guid is newest tha X defined in cfg.

BUT

 

It's depending on etconsole logs which not always contain pb guid age...

 

If logs forspecific user looks as follows:

 

####: [From #12 b4d5(VALID:925) Tofik]

 

 

there is no problem with checking guid.

 

On my server plenty of users have the following information in place of guid age.

 

####: [From #13 be05(?) [ii]maggot]

 

Looks PB is not able to gather guid age for all players.

Any ideas how to fix it?

Maybe pb cfghas to be changed?

 

regards

mazak

Link to comment
Share on other sites

its a pb issue.

PB cannot always retrive the GUID age of a certain player.

a honest player can play for hours before the PB server will get his guid age.

more-over, all players disconnect and reconnect to the PB server on map-change, so all their status is lost and needs to be retrived again, so a player that had a guid-age listed last map, might not have his guid-age listed now.

 

PB obviously dropped the guid-age thingie, propobly because some1 might be able to manipulate the date or something.

Link to comment
Share on other sites

  • 4 weeks later...
Guest mazak

Hi again!

 

Some time ago I had an idea to create PB independent guid list with it's age...

There has been even some small development job in pseudo code which i had write:

 

It has to be based on ok_guids file created by luk4ward in his etadmin mod modification.

 

#Checking if guid is listed on defined DB != PB acceptable values 0 - feature turned off 1 - enable checking guids.

 

check_db = 1

 

now let's go to etadmin_mod.pl

#====================

#DB well known guids check

#====================

 

#this should be at beginning of etadmin mode code

 

$host = "127.0.0.1";

$database = "ET_GUIDS";

$tablename = "OK_GUIDS";

$user = "guid_root";

$pw = "guid_pass";

 

 

 

 

elsif ( $config{'check_db'} && $line =~ /cl_guid\(\d+)\cl_punkbuster(\d+) (\d+)/ )

{

my $guid= $1;

 

$connect = Mysql->connect($host, $database, $user, $pw);

$connect->selectdb($database);

#only oldest entry in DB

$myquery = "SELECT * FROM $tablename WHERE guid = $guid order by 'id' asc limit 1";

$execute = $connect->query($myquery);

 

$rownumber = $execute->numrows();

$fieldnumber = $execute->numfields(); #returns # of records of DB

 

# PRINT THE RESULTS

print $rownumber."<br />";

print $fieldnumber."<br />";

 

#if function returns something -> checing date when it was added to DB

if ( $rownumber > 0)

{

while (@results = $execute->fetchrow())

{

#.$results[0].

#.....

#.$results[n].

#assuming that 2nd row is date when it was added to DB

$timeA = strtotime($t->date1->Getvalue());

$timeB=strtotime(($t->date1->Getvalue());

$g=intval(($timeB-$timeA)/86400))

if($g < 14)

{

&log("KEY DB AGE: $g less than 14 - Kick for Slot: $id($name)");

&say( $tmphash{$id}{'name'}

. "^7 has a GUID, is only ^3"

. $age.

. "^7 days old in our DB. Server refused entry!" );

&cmd( "pb_sv_kick $pb_id 1440 \"Your GUID is too new. Try again in "

. ( 14 - $g )

. " days\"" );

&disconnect( $pb_id - 1, $pb_id );

}

}

elseif

{

$date = timelocal(time);

$myquery = "INSERT INTO

$tablename (id, date, guid, ....)

VALUES (DEFAULT,$date,$guid, etc...)";

 

}

 

}

}

 

 

 

This is not code ...

I based on perl but made some entries just to know how my idea will work.

 

regards,,

mazak

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.