<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wolfwiki.anime.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Luk4ward</id>
	<title>WolfWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wolfwiki.anime.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Luk4ward"/>
	<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php/Special:Contributions/Luk4ward"/>
	<updated>2026-11-08T13:06:34Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2992</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2992"/>
		<updated>2009-02-26T17:27:44Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: /* [http://acpro.wolfteam.pl//gallery.php?id=6 &amp;gt;&amp;gt; Screenies of ACpro 2.1 mod &amp;lt;&amp;lt;] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;middle&amp;quot;&amp;gt;&lt;br /&gt;
http://luk4ward.wolfteam.pl/images/acpro2.1.png&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;luk4ward [at] wolfteam.pl&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl OBJective Cmpgn [ /connect 193.33.34.11:27965 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) shield mod created by Nappy&lt;br /&gt;
** -- *) /kill mod created by Infty modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;u|k. public server 3.2.6_2.60b [ /connect 83.142.226.97:29023 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;All server got modified etadmin mod which includes fixes and some other custom things, even individual pk3 files !&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
More servers with this mod:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;ET.GamesNet.pl SW PRO [ /connect 91.102.114.182:27965 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;[ N e X u S ] ET - 01 - [ETPro 3.2.6]&amp;lt;/b&amp;gt;: /connect 137.224.240.8:27960&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;[ N e X u S ] ET - 03 - [ETPro 3.2.6]&amp;lt;/b&amp;gt;: /connect 137.224.240.16:27960&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;G4@UPC.[PL]&amp;lt;/b&amp;gt;: /connect 81.18.192.11:27960&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;G5@UPC.[PL]&amp;lt;/b&amp;gt;: /connect 81.18.192.12:27960&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;#et-merc.fr + FunZone&amp;lt;/b&amp;gt;: /connect 87.98.242.56:27960&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://acpro.wolfteam.pl//category.php?id=1 &amp;gt;&amp;gt; Download ACpro 2.1 mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://acpro.wolfteam.pl//gallery.php?id=6 &amp;gt;&amp;gt; Screenies of ACpro 2.1 mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://acpro.wolfteam.pl/gallery/acpro_logs.gif http://acpro.wolfteam.pl/gallery/thumbs/ftp_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 2.1 includes [http://bani.anime.net/banimod/forums/viewtopic.php?t=6777 Reyalp&#039; fixes] modified by me and [http://wolfwiki.anime.net/index.php/User:Luk4ward#bad_names &amp;lt;b&amp;gt;IMPORTANT  fix for ETadmin mod level exploit using prepared name&amp;lt;/b&amp;gt;]&lt;br /&gt;
* credits inside .lua&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
23:57:21:&amp;gt; lua_status&lt;br /&gt;
---------------------&lt;br /&gt;
etpro: Loaded lua scripts&lt;br /&gt;
VM Modname                  Signature                                Filename&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
01 ACpro:2.1bslot:1          90ED6EF7A9BCFBBAAC51B6FBDEFADDCED9D4828E ac2pro.lua&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* rcon:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://acpro.wolfteam.pl/gallery/rcon_ac2pro.gif http://acpro.wolfteam.pl/gallery/thumbs/rcon_ac2pro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes [http://bani.anime.net/banimod/forums/viewtopic.php?t=6777 Reyalp&#039; fixes] and such mods: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging &amp;amp; checking data of players ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://acpro.wolfteam.pl/gallery/acpro_logs.gif http://acpro.wolfteam.pl/gallery/thumbs/acpro_logs.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== Separated file logs ======&lt;br /&gt;
&lt;br /&gt;
* ok_eguids.log -&amp;gt; logging all passed etpro guids in format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ EGUID ] @ DATE 2008 from IP [ nick ]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* bad_guids.log -&amp;gt; logging all refused guids (includes checking cl_guid !!!), &amp;lt;b&amp;gt;REAL examples&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ OpensourcePowa ] @ Sun Mar  9 11:56:05 2008 from 84.95.125.101:62733 [ HUHUH??? ]&lt;br /&gt;
[ 256624374273789392012475FUFUFUFU ] @ Wed Mar 19 10:39:52 2008 from 80.54.117.13:27960 [ Corky ]&lt;br /&gt;
[ UNKNOWN ] @ Sat Mar 29 20:47:48 2008 from 87.105.54.61:27960 [ Grim ]&lt;br /&gt;
[ CHEATERS_ALWAYS_WIN_LOLOLOLOLOLOLOLOLOLO ] @ Sat Mar 29 23:16:49 2008 from 90.213.91.116:27960 [ downloaded5kill ]&lt;br /&gt;
[TahBambucha] @ Sun Apr 27 23:33:19 2008 from 201.15.159.39:50200 [ mx.ETTV-1 ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
etpro IAC: 4 GUID [ EGUID ] [ ETPRO_PLAYER ]&lt;br /&gt;
guidcheck: 4) client ETPRO_PLAYER from IP got ok eGUID: EGUID more info @ logs/ok_eguids.log &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Guids&#039; logging and filenames are up to Admin !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log_badguids = true -- includes cl_guid&lt;br /&gt;
log_okeguids = true -- only eguids&lt;br /&gt;
&lt;br /&gt;
logfile_badguids = &amp;quot;logs/bad_guids.log&amp;quot;&lt;br /&gt;
logfile_okeguids = &amp;quot;logs/ok_eguids.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-- check file logfile_badguids for the names, date and IPs of people with spoofed guids (cl_guids and etpro guids)&lt;br /&gt;
-- check file okeguids for the names, date and IPs of people with ok etpro guids (no etadmin format)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* not/accepted_players.log &amp;amp; players.log include data of connecting players in format:&lt;br /&gt;
&lt;br /&gt;
** name &amp;lt;br /&amp;gt;&lt;br /&gt;
** cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
** yawn link &amp;lt;br /&amp;gt;&lt;br /&gt;
** ip &amp;lt;br /&amp;gt;&lt;br /&gt;
** date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = player&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	yawn    = http://www.yawn.be/findPlayer.yawn?gamecode=ET&amp;amp;pbGuid=GUIDGUID&lt;br /&gt;
	ip      = 123.456.789.0&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Client 7 connecting with 50 challenge ping&lt;br /&gt;
filtercheck: client 4 cnt 1st time @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
running script for client 4 @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
filtercheck: mode 2&lt;br /&gt;
filtercheck: opening ipbans/83_25_.dat&lt;br /&gt;
filtercheck: closing ipbans/83_25_.dat&lt;br /&gt;
filtercheck: client 4 ok, more info @ logs/players.log !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Checking userinfo ======&lt;br /&gt;
&lt;br /&gt;
* How to check player userinfo via Reyalp script modified by me:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:38:57:&amp;gt; checkuserinfo&lt;br /&gt;
------------------------&lt;br /&gt;
Usage: checkuserinfo [etpro id]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://acpro.wolfteam.pl/gallery/rcon_checkuserinfo.gif http://acpro.wolfteam.pl/gallery/thumbs/rcon_checkuserinfo.gif]&lt;br /&gt;
&lt;br /&gt;
* An option to ignore server administration by most modules of this script! You just have to type the tag (min length 3), but its recommended only if u got protected tag on the server !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Remember script will check a player while connecting and then while his userinfo is changed. Reyalp added also an option to check every x seconds one by one every player, but u can disable it via this script and use rcon command !&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://acpro.wolfteam.pl/gallery/ingame_players.gif http://acpro.wolfteam.pl/gallery/thumbs/ingame_players.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== in game ======&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can easily set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&lt;br /&gt;
                                            Counted players &lt;br /&gt;
&lt;br /&gt;
 Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====== via rcon ======&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Admin can see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://acpro.wolfteam.pl/gallery/rcon_players.gif http://acpro.wolfteam.pl/gallery/thumbs/rcon_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== name change ======&lt;br /&gt;
* You can set after how many times player can change his nick, after the limit it will restore to the default one and info with his ID will be shown to everyone&lt;br /&gt;
[http://acpro.wolfteam.pl/gallery/rename_limit.gif http://acpro.wolfteam.pl/gallery/thumbs/rename_limit.gif]&lt;br /&gt;
* You can set the kick name limit of player trying to change the name after reaching the name change limit&lt;br /&gt;
[http://acpro.wolfteam.pl/gallery/renames.gif http://acpro.wolfteam.pl/gallery/thumbs/renames.gif]&lt;br /&gt;
====== name length ======&lt;br /&gt;
* You can also set min and max length of allowed nicknames (length will not count spaces and color codes !)&lt;br /&gt;
[http://acpro.wolfteam.pl/gallery/badname_len.gif http://acpro.wolfteam.pl/gallery/thumbs/badname_len.gif]&lt;br /&gt;
====== bad names ======&lt;br /&gt;
* You can set bad names, by default script will check for Reyalp&#039;s bad names, english &amp;amp; polish bad names and for random bad nicks&lt;br /&gt;
[http://acpro.wolfteam.pl/gallery/badname.gif http://acpro.wolfteam.pl/gallery/thumbs/badname.gif]&lt;br /&gt;
* And also for extra carat char, which looks like this: ^&lt;br /&gt;
[http://acpro.wolfteam.pl/gallery/extra_carat.gif http://acpro.wolfteam.pl/gallery/thumbs/extra_carat.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Fixed ETADMIN MOD exploit which allow the attacker to get same level using prepared nick of victim (version 2.1)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== rcon cmds ======&lt;br /&gt;
* Script also gives u new rcon rename commands&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:33:40:&amp;gt; rename&lt;br /&gt;
-----------------&lt;br /&gt;
Usage: rename ID newnick&lt;br /&gt;
Example#1 (to clean the nick): rename ID clean&lt;br /&gt;
Example#2 (to cut the nick): rename ID cutnick&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://acpro.wolfteam.pl/gallery/rcon_rename.gif http://acpro.wolfteam.pl/gallery/thumbs/rcon_rename.gif]&lt;br /&gt;
** In game looks like this&lt;br /&gt;
[http://acpro.wolfteam.pl/gallery/ingame_rename.gif http://acpro.wolfteam.pl/gallery/thumbs/ingame_rename.gif]&lt;br /&gt;
[http://acpro.wolfteam.pl/gallery/clean_name.gif http://acpro.wolfteam.pl/gallery/thumbs/clean_name.gif]&lt;br /&gt;
&lt;br /&gt;
===== Anti-highping mod =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module allows admin to put on spec players with specified ping&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:00:19:&amp;gt; ping2spec&lt;br /&gt;
--------------------&lt;br /&gt;
Usage: ping2spec [ ping &amp;gt;0 ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://acpro.wolfteam.pl/gallery/ingame_ping2spec.gif http://acpro.wolfteam.pl/gallery/thumbs/ingame_ping2spec.gif]&lt;br /&gt;
[http://acpro.wolfteam.pl/gallery/rcon_ping2spec.gif http://acpro.wolfteam.pl/gallery/thumbs/rcon_ping2spec.gif]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Files can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://acpro.wolfteam.pl/gallery/fixed_gamedate.gif http://acpro.wolfteam.pl/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://acpro.wolfteam.pl/gallery/etserver_logs.gif http://acpro.wolfteam.pl/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://acpro.wolfteam.pl/gallery/howitworks.gif http://acpro.wolfteam.pl/gallery/thumbs/howitworks.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* ACpro ver 2.1 gives u the avability to change the Filter Mode:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- mode 1 will check against the first part of IP (like 83.)&lt;br /&gt;
-- mode 2 will check against the first two parts of IP (like 83.60.)&lt;br /&gt;
-- mode 4 will check against the first part of IP (like 83.)&lt;br /&gt;
--             and allow to join only from the added players of your added FilterMasks&lt;br /&gt;
--             example:&lt;br /&gt;
--             1) player from 1.2.3.4 is connecting&lt;br /&gt;
--             2) script not found a filename [1_.dat] from ipbans/ with his IP&lt;br /&gt;
--	       3) script refused entry&lt;br /&gt;
--             4) admin is adding FilterMask for ip 1.2.3.4 via rcon&lt;br /&gt;
--             5) player from 1.2.3.4 is connecting&lt;br /&gt;
--             6) script not found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             7) script refused entry&lt;br /&gt;
--             8) admin is adding his guid for ip 1.2.3.4 via rcon&lt;br /&gt;
--             9) player from 1.2.3.4 is connecting&lt;br /&gt;
--             10) script found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             11) script allowed to join the sever&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* #1 It&#039;s checking if the part/s of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server [ mode 1,2 ] or kick not recognized IP [ mode 4 ]&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see part about Logging data of players)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; There are 3 ways how to manage those bans (rcon, ftp, etadmin), the &amp;lt;i&amp;gt;HOW TO&amp;lt;/i&amp;gt; under is based on mode 2 but it looks the same for other (you just have to change filenames to one part of IP for 1,4 modes) ! &lt;br /&gt;
Modes 1,2 are for public server, but mode 4 is for leagues&#039; or private servers because it will allow to join only specified players.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://acpro.wolfteam.pl/gallery/rcon_add.gif http://acpro.wolfteam.pl/gallery/thumbs/rcon_add.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:07:30:&amp;gt; add&lt;br /&gt;
--------------&lt;br /&gt;
Examples depend on filter_mode [activated: 2] -&amp;gt; enter 2 first parts of IP (with 2 dots: one after each number) !&lt;br /&gt;
&lt;br /&gt;
Usage:     add             cl_guid                 nick        ip           by&lt;br /&gt;
Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.      admin&lt;br /&gt;
Example#2: add GuidGuidGUIDGUIDGUIDGuidGUIDGUID clean_player 83.100.123.  admin&lt;br /&gt;
Example#3: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.100.5 admin&lt;br /&gt;
&lt;br /&gt;
Usage:     add mask cheater     ip        by&lt;br /&gt;
Example#1: add mask cheater 83.100.      admin&lt;br /&gt;
Example#2: add mask cheater 83.100.123.  admin&lt;br /&gt;
Example#3: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://acpro.wolfteam.pl/gallery/ftp_2.gif http://acpro.wolfteam.pl/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://acpro.wolfteam.pl/gallery/etadmin.gif http://acpro.wolfteam.pl/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
=== VSP stats fixes ===&lt;br /&gt;
==== [http://www.scivox.net/smf/index.php?topic=834.msg6231#msg6231 &amp;gt;&amp;gt; Stop full punkbuster guids from being displayed &amp;lt;&amp;lt;] ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2962</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2962"/>
		<updated>2008-12-05T11:55:37Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: /* Contact */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;middle&amp;quot;&amp;gt;&lt;br /&gt;
http://luk4ward.wolfteam.pl/images/acpro2.1.png&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;luk4ward [at] wolfteam.pl&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl OBJective Cmpgn [ /connect 193.33.34.11:27965 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) shield mod created by Nappy&lt;br /&gt;
** -- *) /kill mod created by Infty modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;u|k. public server 3.2.6_2.60b [ /connect 83.142.226.97:29023 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;All server got modified etadmin mod which includes fixes and some other custom things, even individual pk3 files !&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
More servers with this mod:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;ET.GamesNet.pl SW PRO [ /connect 91.102.114.182:27965 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;[ N e X u S ] ET - 01 - [ETPro 3.2.6]&amp;lt;/b&amp;gt;: /connect 137.224.240.8:27960&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;[ N e X u S ] ET - 03 - [ETPro 3.2.6]&amp;lt;/b&amp;gt;: /connect 137.224.240.16:27960&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;G4@UPC.[PL]&amp;lt;/b&amp;gt;: /connect 81.18.192.11:27960&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;G5@UPC.[PL]&amp;lt;/b&amp;gt;: /connect 81.18.192.12:27960&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;#et-merc.fr + FunZone&amp;lt;/b&amp;gt;: /connect 87.98.242.56:27960&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://acpro.wolfteam.pl//category.php?id=1 &amp;gt;&amp;gt; Download ACpro 2.1 mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://acpro.wolfteam.pl//gallery.php?id=6 &amp;gt;&amp;gt; Screenies of ACpro 2.1 mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://acpro.wolfteam.pl/gallery/acpro_logs.gif http://acpro.wolfteam.pl/gallery/thumbs/ftp_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 2.1 includes [http://bani.anime.net/banimod/forums/viewtopic.php?t=6777 Reyalp&#039; fixes] modified by me and [http://wolfwiki.anime.net/index.php/User:Luk4ward#bad_names &amp;lt;b&amp;gt;IMPORTANT  fix for ETadmin mod level exploit using prepared name&amp;lt;/b&amp;gt;]&lt;br /&gt;
* credits inside .lua&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
23:57:21:&amp;gt; lua_status&lt;br /&gt;
---------------------&lt;br /&gt;
etpro: Loaded lua scripts&lt;br /&gt;
VM Modname                  Signature                                Filename&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
01 ACpro:2.1slot:1          A9CE3267322FB4990329EDDEA53B10A6B9174B78 ac2pro.lua&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* rcon:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://acpro.wolfteam.pl/gallery/rcon_ac2pro.gif http://acpro.wolfteam.pl/gallery/thumbs/rcon_ac2pro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes [http://bani.anime.net/banimod/forums/viewtopic.php?t=6777 Reyalp&#039; fixes] and such mods: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging &amp;amp; checking data of players ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://acpro.wolfteam.pl/gallery/acpro_logs.gif http://acpro.wolfteam.pl/gallery/thumbs/acpro_logs.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== Separated file logs ======&lt;br /&gt;
&lt;br /&gt;
* ok_eguids.log -&amp;gt; logging all passed etpro guids in format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ EGUID ] @ DATE 2008 from IP [ nick ]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* bad_guids.log -&amp;gt; logging all refused guids (includes checking cl_guid !!!), &amp;lt;b&amp;gt;REAL examples&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ OpensourcePowa ] @ Sun Mar  9 11:56:05 2008 from 84.95.125.101:62733 [ HUHUH??? ]&lt;br /&gt;
[ 256624374273789392012475FUFUFUFU ] @ Wed Mar 19 10:39:52 2008 from 80.54.117.13:27960 [ Corky ]&lt;br /&gt;
[ UNKNOWN ] @ Sat Mar 29 20:47:48 2008 from 87.105.54.61:27960 [ Grim ]&lt;br /&gt;
[ CHEATERS_ALWAYS_WIN_LOLOLOLOLOLOLOLOLOLO ] @ Sat Mar 29 23:16:49 2008 from 90.213.91.116:27960 [ downloaded5kill ]&lt;br /&gt;
[TahBambucha] @ Sun Apr 27 23:33:19 2008 from 201.15.159.39:50200 [ mx.ETTV-1 ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
etpro IAC: 4 GUID [ EGUID ] [ ETPRO_PLAYER ]&lt;br /&gt;
guidcheck: 4) client ETPRO_PLAYER from IP got ok eGUID: EGUID more info @ logs/ok_eguids.log &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Guids&#039; logging and filenames are up to Admin !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log_badguids = true -- includes cl_guid&lt;br /&gt;
log_okeguids = true -- only eguids&lt;br /&gt;
&lt;br /&gt;
logfile_badguids = &amp;quot;logs/bad_guids.log&amp;quot;&lt;br /&gt;
logfile_okeguids = &amp;quot;logs/ok_eguids.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-- check file logfile_badguids for the names, date and IPs of people with spoofed guids (cl_guids and etpro guids)&lt;br /&gt;
-- check file okeguids for the names, date and IPs of people with ok etpro guids (no etadmin format)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* not/accepted_players.log &amp;amp; players.log include data of connecting players in format:&lt;br /&gt;
&lt;br /&gt;
** name &amp;lt;br /&amp;gt;&lt;br /&gt;
** cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
** yawn link &amp;lt;br /&amp;gt;&lt;br /&gt;
** ip &amp;lt;br /&amp;gt;&lt;br /&gt;
** date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = player&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	yawn    = http://www.yawn.be/findPlayer.yawn?gamecode=ET&amp;amp;pbGuid=GUIDGUID&lt;br /&gt;
	ip      = 123.456.789.0&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Client 7 connecting with 50 challenge ping&lt;br /&gt;
filtercheck: client 4 cnt 1st time @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
running script for client 4 @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
filtercheck: mode 2&lt;br /&gt;
filtercheck: opening ipbans/83_25_.dat&lt;br /&gt;
filtercheck: closing ipbans/83_25_.dat&lt;br /&gt;
filtercheck: client 4 ok, more info @ logs/players.log !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Checking userinfo ======&lt;br /&gt;
&lt;br /&gt;
* How to check player userinfo via Reyalp script modified by me:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:38:57:&amp;gt; checkuserinfo&lt;br /&gt;
------------------------&lt;br /&gt;
Usage: checkuserinfo [etpro id]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://acpro.wolfteam.pl/gallery/rcon_checkuserinfo.gif http://acpro.wolfteam.pl/gallery/thumbs/rcon_checkuserinfo.gif]&lt;br /&gt;
&lt;br /&gt;
* An option to ignore server administration by most modules of this script! You just have to type the tag (min length 3), but its recommended only if u got protected tag on the server !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Remember script will check a player while connecting and then while his userinfo is changed. Reyalp added also an option to check every x seconds one by one every player, but u can disable it via this script and use rcon command !&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://acpro.wolfteam.pl/gallery/ingame_players.gif http://acpro.wolfteam.pl/gallery/thumbs/ingame_players.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== in game ======&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can easily set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&lt;br /&gt;
                                            Counted players &lt;br /&gt;
&lt;br /&gt;
 Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====== via rcon ======&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Admin can see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://acpro.wolfteam.pl/gallery/rcon_players.gif http://acpro.wolfteam.pl/gallery/thumbs/rcon_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== name change ======&lt;br /&gt;
* You can set after how many times player can change his nick, after the limit it will restore to the default one and info with his ID will be shown to everyone&lt;br /&gt;
[http://acpro.wolfteam.pl/gallery/rename_limit.gif http://acpro.wolfteam.pl/gallery/thumbs/rename_limit.gif]&lt;br /&gt;
* You can set the kick name limit of player trying to change the name after reaching the name change limit&lt;br /&gt;
[http://acpro.wolfteam.pl/gallery/renames.gif http://acpro.wolfteam.pl/gallery/thumbs/renames.gif]&lt;br /&gt;
====== name length ======&lt;br /&gt;
* You can also set min and max length of allowed nicknames (length will not count spaces and color codes !)&lt;br /&gt;
[http://acpro.wolfteam.pl/gallery/badname_len.gif http://acpro.wolfteam.pl/gallery/thumbs/badname_len.gif]&lt;br /&gt;
====== bad names ======&lt;br /&gt;
* You can set bad names, by default script will check for Reyalp&#039;s bad names, english &amp;amp; polish bad names and for random bad nicks&lt;br /&gt;
[http://acpro.wolfteam.pl/gallery/badname.gif http://acpro.wolfteam.pl/gallery/thumbs/badname.gif]&lt;br /&gt;
* And also for extra carat char, which looks like this: ^&lt;br /&gt;
[http://acpro.wolfteam.pl/gallery/extra_carat.gif http://acpro.wolfteam.pl/gallery/thumbs/extra_carat.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Fixed ETADMIN MOD exploit which allow the attacker to get same level using prepared nick of victim (version 2.1)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== rcon cmds ======&lt;br /&gt;
* Script also gives u new rcon rename commands&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:33:40:&amp;gt; rename&lt;br /&gt;
-----------------&lt;br /&gt;
Usage: rename ID newnick&lt;br /&gt;
Example#1 (to clean the nick): rename ID clean&lt;br /&gt;
Example#2 (to cut the nick): rename ID cutnick&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://acpro.wolfteam.pl/gallery/rcon_rename.gif http://acpro.wolfteam.pl/gallery/thumbs/rcon_rename.gif]&lt;br /&gt;
** In game looks like this&lt;br /&gt;
[http://acpro.wolfteam.pl/gallery/ingame_rename.gif http://acpro.wolfteam.pl/gallery/thumbs/ingame_rename.gif]&lt;br /&gt;
[http://acpro.wolfteam.pl/gallery/clean_name.gif http://acpro.wolfteam.pl/gallery/thumbs/clean_name.gif]&lt;br /&gt;
&lt;br /&gt;
===== Anti-highping mod =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module allows admin to put on spec players with specified ping&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:00:19:&amp;gt; ping2spec&lt;br /&gt;
--------------------&lt;br /&gt;
Usage: ping2spec [ ping &amp;gt;0 ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://acpro.wolfteam.pl/gallery/ingame_ping2spec.gif http://acpro.wolfteam.pl/gallery/thumbs/ingame_ping2spec.gif]&lt;br /&gt;
[http://acpro.wolfteam.pl/gallery/rcon_ping2spec.gif http://acpro.wolfteam.pl/gallery/thumbs/rcon_ping2spec.gif]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Files can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://acpro.wolfteam.pl/gallery/fixed_gamedate.gif http://acpro.wolfteam.pl/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://acpro.wolfteam.pl/gallery/etserver_logs.gif http://acpro.wolfteam.pl/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://acpro.wolfteam.pl/gallery/howitworks.gif http://acpro.wolfteam.pl/gallery/thumbs/howitworks.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* ACpro ver 2.1 gives u the avability to change the Filter Mode:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- mode 1 will check against the first part of IP (like 83.)&lt;br /&gt;
-- mode 2 will check against the first two parts of IP (like 83.60.)&lt;br /&gt;
-- mode 4 will check against the first part of IP (like 83.)&lt;br /&gt;
--             and allow to join only from the added players of your added FilterMasks&lt;br /&gt;
--             example:&lt;br /&gt;
--             1) player from 1.2.3.4 is connecting&lt;br /&gt;
--             2) script not found a filename [1_.dat] from ipbans/ with his IP&lt;br /&gt;
--	       3) script refused entry&lt;br /&gt;
--             4) admin is adding FilterMask for ip 1.2.3.4 via rcon&lt;br /&gt;
--             5) player from 1.2.3.4 is connecting&lt;br /&gt;
--             6) script not found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             7) script refused entry&lt;br /&gt;
--             8) admin is adding his guid for ip 1.2.3.4 via rcon&lt;br /&gt;
--             9) player from 1.2.3.4 is connecting&lt;br /&gt;
--             10) script found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             11) script allowed to join the sever&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* #1 It&#039;s checking if the part/s of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server [ mode 1,2 ] or kick not recognized IP [ mode 4 ]&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see part about Logging data of players)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; There are 3 ways how to manage those bans (rcon, ftp, etadmin), the &amp;lt;i&amp;gt;HOW TO&amp;lt;/i&amp;gt; under is based on mode 2 but it looks the same for other (you just have to change filenames to one part of IP for 1,4 modes) ! &lt;br /&gt;
Modes 1,2 are for public server, but mode 4 is for leagues&#039; or private servers because it will allow to join only specified players.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://acpro.wolfteam.pl/gallery/rcon_add.gif http://acpro.wolfteam.pl/gallery/thumbs/rcon_add.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:07:30:&amp;gt; add&lt;br /&gt;
--------------&lt;br /&gt;
Examples depend on filter_mode [activated: 2] -&amp;gt; enter 2 first parts of IP (with 2 dots: one after each number) !&lt;br /&gt;
&lt;br /&gt;
Usage:     add             cl_guid                 nick        ip           by&lt;br /&gt;
Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.      admin&lt;br /&gt;
Example#2: add GuidGuidGUIDGUIDGUIDGuidGUIDGUID clean_player 83.100.123.  admin&lt;br /&gt;
Example#3: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.100.5 admin&lt;br /&gt;
&lt;br /&gt;
Usage:     add mask cheater     ip        by&lt;br /&gt;
Example#1: add mask cheater 83.100.      admin&lt;br /&gt;
Example#2: add mask cheater 83.100.123.  admin&lt;br /&gt;
Example#3: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://acpro.wolfteam.pl/gallery/ftp_2.gif http://acpro.wolfteam.pl/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://acpro.wolfteam.pl/gallery/etadmin.gif http://acpro.wolfteam.pl/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
=== VSP stats fixes ===&lt;br /&gt;
==== [http://www.scivox.net/smf/index.php?topic=834.msg6231#msg6231 &amp;gt;&amp;gt; Stop full punkbuster guids from being displayed &amp;lt;&amp;lt;] ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2961</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2961"/>
		<updated>2008-12-05T11:54:55Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;middle&amp;quot;&amp;gt;&lt;br /&gt;
http://luk4ward.wolfteam.pl/images/acpro2.1.png&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl OBJective Cmpgn [ /connect 193.33.34.11:27965 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) shield mod created by Nappy&lt;br /&gt;
** -- *) /kill mod created by Infty modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;u|k. public server 3.2.6_2.60b [ /connect 83.142.226.97:29023 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;All server got modified etadmin mod which includes fixes and some other custom things, even individual pk3 files !&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
More servers with this mod:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;ET.GamesNet.pl SW PRO [ /connect 91.102.114.182:27965 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;[ N e X u S ] ET - 01 - [ETPro 3.2.6]&amp;lt;/b&amp;gt;: /connect 137.224.240.8:27960&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;[ N e X u S ] ET - 03 - [ETPro 3.2.6]&amp;lt;/b&amp;gt;: /connect 137.224.240.16:27960&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;G4@UPC.[PL]&amp;lt;/b&amp;gt;: /connect 81.18.192.11:27960&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;G5@UPC.[PL]&amp;lt;/b&amp;gt;: /connect 81.18.192.12:27960&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;#et-merc.fr + FunZone&amp;lt;/b&amp;gt;: /connect 87.98.242.56:27960&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://acpro.wolfteam.pl//category.php?id=1 &amp;gt;&amp;gt; Download ACpro 2.1 mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://acpro.wolfteam.pl//gallery.php?id=6 &amp;gt;&amp;gt; Screenies of ACpro 2.1 mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://acpro.wolfteam.pl/gallery/acpro_logs.gif http://acpro.wolfteam.pl/gallery/thumbs/ftp_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 2.1 includes [http://bani.anime.net/banimod/forums/viewtopic.php?t=6777 Reyalp&#039; fixes] modified by me and [http://wolfwiki.anime.net/index.php/User:Luk4ward#bad_names &amp;lt;b&amp;gt;IMPORTANT  fix for ETadmin mod level exploit using prepared name&amp;lt;/b&amp;gt;]&lt;br /&gt;
* credits inside .lua&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
23:57:21:&amp;gt; lua_status&lt;br /&gt;
---------------------&lt;br /&gt;
etpro: Loaded lua scripts&lt;br /&gt;
VM Modname                  Signature                                Filename&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
01 ACpro:2.1slot:1          A9CE3267322FB4990329EDDEA53B10A6B9174B78 ac2pro.lua&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* rcon:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://acpro.wolfteam.pl/gallery/rcon_ac2pro.gif http://acpro.wolfteam.pl/gallery/thumbs/rcon_ac2pro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes [http://bani.anime.net/banimod/forums/viewtopic.php?t=6777 Reyalp&#039; fixes] and such mods: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging &amp;amp; checking data of players ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://acpro.wolfteam.pl/gallery/acpro_logs.gif http://acpro.wolfteam.pl/gallery/thumbs/acpro_logs.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== Separated file logs ======&lt;br /&gt;
&lt;br /&gt;
* ok_eguids.log -&amp;gt; logging all passed etpro guids in format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ EGUID ] @ DATE 2008 from IP [ nick ]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* bad_guids.log -&amp;gt; logging all refused guids (includes checking cl_guid !!!), &amp;lt;b&amp;gt;REAL examples&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ OpensourcePowa ] @ Sun Mar  9 11:56:05 2008 from 84.95.125.101:62733 [ HUHUH??? ]&lt;br /&gt;
[ 256624374273789392012475FUFUFUFU ] @ Wed Mar 19 10:39:52 2008 from 80.54.117.13:27960 [ Corky ]&lt;br /&gt;
[ UNKNOWN ] @ Sat Mar 29 20:47:48 2008 from 87.105.54.61:27960 [ Grim ]&lt;br /&gt;
[ CHEATERS_ALWAYS_WIN_LOLOLOLOLOLOLOLOLOLO ] @ Sat Mar 29 23:16:49 2008 from 90.213.91.116:27960 [ downloaded5kill ]&lt;br /&gt;
[TahBambucha] @ Sun Apr 27 23:33:19 2008 from 201.15.159.39:50200 [ mx.ETTV-1 ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
etpro IAC: 4 GUID [ EGUID ] [ ETPRO_PLAYER ]&lt;br /&gt;
guidcheck: 4) client ETPRO_PLAYER from IP got ok eGUID: EGUID more info @ logs/ok_eguids.log &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Guids&#039; logging and filenames are up to Admin !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log_badguids = true -- includes cl_guid&lt;br /&gt;
log_okeguids = true -- only eguids&lt;br /&gt;
&lt;br /&gt;
logfile_badguids = &amp;quot;logs/bad_guids.log&amp;quot;&lt;br /&gt;
logfile_okeguids = &amp;quot;logs/ok_eguids.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-- check file logfile_badguids for the names, date and IPs of people with spoofed guids (cl_guids and etpro guids)&lt;br /&gt;
-- check file okeguids for the names, date and IPs of people with ok etpro guids (no etadmin format)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* not/accepted_players.log &amp;amp; players.log include data of connecting players in format:&lt;br /&gt;
&lt;br /&gt;
** name &amp;lt;br /&amp;gt;&lt;br /&gt;
** cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
** yawn link &amp;lt;br /&amp;gt;&lt;br /&gt;
** ip &amp;lt;br /&amp;gt;&lt;br /&gt;
** date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = player&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	yawn    = http://www.yawn.be/findPlayer.yawn?gamecode=ET&amp;amp;pbGuid=GUIDGUID&lt;br /&gt;
	ip      = 123.456.789.0&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Client 7 connecting with 50 challenge ping&lt;br /&gt;
filtercheck: client 4 cnt 1st time @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
running script for client 4 @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
filtercheck: mode 2&lt;br /&gt;
filtercheck: opening ipbans/83_25_.dat&lt;br /&gt;
filtercheck: closing ipbans/83_25_.dat&lt;br /&gt;
filtercheck: client 4 ok, more info @ logs/players.log !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Checking userinfo ======&lt;br /&gt;
&lt;br /&gt;
* How to check player userinfo via Reyalp script modified by me:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:38:57:&amp;gt; checkuserinfo&lt;br /&gt;
------------------------&lt;br /&gt;
Usage: checkuserinfo [etpro id]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://acpro.wolfteam.pl/gallery/rcon_checkuserinfo.gif http://acpro.wolfteam.pl/gallery/thumbs/rcon_checkuserinfo.gif]&lt;br /&gt;
&lt;br /&gt;
* An option to ignore server administration by most modules of this script! You just have to type the tag (min length 3), but its recommended only if u got protected tag on the server !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Remember script will check a player while connecting and then while his userinfo is changed. Reyalp added also an option to check every x seconds one by one every player, but u can disable it via this script and use rcon command !&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://acpro.wolfteam.pl/gallery/ingame_players.gif http://acpro.wolfteam.pl/gallery/thumbs/ingame_players.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== in game ======&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can easily set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&lt;br /&gt;
                                            Counted players &lt;br /&gt;
&lt;br /&gt;
 Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====== via rcon ======&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Admin can see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://acpro.wolfteam.pl/gallery/rcon_players.gif http://acpro.wolfteam.pl/gallery/thumbs/rcon_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== name change ======&lt;br /&gt;
* You can set after how many times player can change his nick, after the limit it will restore to the default one and info with his ID will be shown to everyone&lt;br /&gt;
[http://acpro.wolfteam.pl/gallery/rename_limit.gif http://acpro.wolfteam.pl/gallery/thumbs/rename_limit.gif]&lt;br /&gt;
* You can set the kick name limit of player trying to change the name after reaching the name change limit&lt;br /&gt;
[http://acpro.wolfteam.pl/gallery/renames.gif http://acpro.wolfteam.pl/gallery/thumbs/renames.gif]&lt;br /&gt;
====== name length ======&lt;br /&gt;
* You can also set min and max length of allowed nicknames (length will not count spaces and color codes !)&lt;br /&gt;
[http://acpro.wolfteam.pl/gallery/badname_len.gif http://acpro.wolfteam.pl/gallery/thumbs/badname_len.gif]&lt;br /&gt;
====== bad names ======&lt;br /&gt;
* You can set bad names, by default script will check for Reyalp&#039;s bad names, english &amp;amp; polish bad names and for random bad nicks&lt;br /&gt;
[http://acpro.wolfteam.pl/gallery/badname.gif http://acpro.wolfteam.pl/gallery/thumbs/badname.gif]&lt;br /&gt;
* And also for extra carat char, which looks like this: ^&lt;br /&gt;
[http://acpro.wolfteam.pl/gallery/extra_carat.gif http://acpro.wolfteam.pl/gallery/thumbs/extra_carat.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Fixed ETADMIN MOD exploit which allow the attacker to get same level using prepared nick of victim (version 2.1)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== rcon cmds ======&lt;br /&gt;
* Script also gives u new rcon rename commands&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:33:40:&amp;gt; rename&lt;br /&gt;
-----------------&lt;br /&gt;
Usage: rename ID newnick&lt;br /&gt;
Example#1 (to clean the nick): rename ID clean&lt;br /&gt;
Example#2 (to cut the nick): rename ID cutnick&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://acpro.wolfteam.pl/gallery/rcon_rename.gif http://acpro.wolfteam.pl/gallery/thumbs/rcon_rename.gif]&lt;br /&gt;
** In game looks like this&lt;br /&gt;
[http://acpro.wolfteam.pl/gallery/ingame_rename.gif http://acpro.wolfteam.pl/gallery/thumbs/ingame_rename.gif]&lt;br /&gt;
[http://acpro.wolfteam.pl/gallery/clean_name.gif http://acpro.wolfteam.pl/gallery/thumbs/clean_name.gif]&lt;br /&gt;
&lt;br /&gt;
===== Anti-highping mod =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module allows admin to put on spec players with specified ping&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:00:19:&amp;gt; ping2spec&lt;br /&gt;
--------------------&lt;br /&gt;
Usage: ping2spec [ ping &amp;gt;0 ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://acpro.wolfteam.pl/gallery/ingame_ping2spec.gif http://acpro.wolfteam.pl/gallery/thumbs/ingame_ping2spec.gif]&lt;br /&gt;
[http://acpro.wolfteam.pl/gallery/rcon_ping2spec.gif http://acpro.wolfteam.pl/gallery/thumbs/rcon_ping2spec.gif]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Files can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://acpro.wolfteam.pl/gallery/fixed_gamedate.gif http://acpro.wolfteam.pl/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://acpro.wolfteam.pl/gallery/etserver_logs.gif http://acpro.wolfteam.pl/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://acpro.wolfteam.pl/gallery/howitworks.gif http://acpro.wolfteam.pl/gallery/thumbs/howitworks.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* ACpro ver 2.1 gives u the avability to change the Filter Mode:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- mode 1 will check against the first part of IP (like 83.)&lt;br /&gt;
-- mode 2 will check against the first two parts of IP (like 83.60.)&lt;br /&gt;
-- mode 4 will check against the first part of IP (like 83.)&lt;br /&gt;
--             and allow to join only from the added players of your added FilterMasks&lt;br /&gt;
--             example:&lt;br /&gt;
--             1) player from 1.2.3.4 is connecting&lt;br /&gt;
--             2) script not found a filename [1_.dat] from ipbans/ with his IP&lt;br /&gt;
--	       3) script refused entry&lt;br /&gt;
--             4) admin is adding FilterMask for ip 1.2.3.4 via rcon&lt;br /&gt;
--             5) player from 1.2.3.4 is connecting&lt;br /&gt;
--             6) script not found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             7) script refused entry&lt;br /&gt;
--             8) admin is adding his guid for ip 1.2.3.4 via rcon&lt;br /&gt;
--             9) player from 1.2.3.4 is connecting&lt;br /&gt;
--             10) script found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             11) script allowed to join the sever&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* #1 It&#039;s checking if the part/s of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server [ mode 1,2 ] or kick not recognized IP [ mode 4 ]&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see part about Logging data of players)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; There are 3 ways how to manage those bans (rcon, ftp, etadmin), the &amp;lt;i&amp;gt;HOW TO&amp;lt;/i&amp;gt; under is based on mode 2 but it looks the same for other (you just have to change filenames to one part of IP for 1,4 modes) ! &lt;br /&gt;
Modes 1,2 are for public server, but mode 4 is for leagues&#039; or private servers because it will allow to join only specified players.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://acpro.wolfteam.pl/gallery/rcon_add.gif http://acpro.wolfteam.pl/gallery/thumbs/rcon_add.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:07:30:&amp;gt; add&lt;br /&gt;
--------------&lt;br /&gt;
Examples depend on filter_mode [activated: 2] -&amp;gt; enter 2 first parts of IP (with 2 dots: one after each number) !&lt;br /&gt;
&lt;br /&gt;
Usage:     add             cl_guid                 nick        ip           by&lt;br /&gt;
Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.      admin&lt;br /&gt;
Example#2: add GuidGuidGUIDGUIDGUIDGuidGUIDGUID clean_player 83.100.123.  admin&lt;br /&gt;
Example#3: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.100.5 admin&lt;br /&gt;
&lt;br /&gt;
Usage:     add mask cheater     ip        by&lt;br /&gt;
Example#1: add mask cheater 83.100.      admin&lt;br /&gt;
Example#2: add mask cheater 83.100.123.  admin&lt;br /&gt;
Example#3: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://acpro.wolfteam.pl/gallery/ftp_2.gif http://acpro.wolfteam.pl/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://acpro.wolfteam.pl/gallery/etadmin.gif http://acpro.wolfteam.pl/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
=== VSP stats fixes ===&lt;br /&gt;
==== [http://www.scivox.net/smf/index.php?topic=834.msg6231#msg6231 &amp;gt;&amp;gt; Stop full punkbuster guids from being displayed &amp;lt;&amp;lt;] ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://acpro.wolfteam.pl/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2957</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2957"/>
		<updated>2008-10-16T20:24:35Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;middle&amp;quot;&amp;gt;&lt;br /&gt;
http://luk4ward.boo.pl/images/acpro2.1.png&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl OBJective Cmpgn [ /connect 193.33.34.11:27965 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) shield mod created by Nappy&lt;br /&gt;
** -- *) /kill mod created by Infty modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;u|k. public server 3.2.6_2.60b [ /connect 83.142.226.97:29023 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;All server got modified etadmin mod which includes fixes and some other custom things, even individual pk3 files !&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
More servers with this mod:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;ET.GamesNet.pl SW PRO [ /connect 91.102.114.182:27965 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;[ N e X u S ] ET - 01 - [ETPro 3.2.6]&amp;lt;/b&amp;gt;: /connect 137.224.240.8:27960&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;[ N e X u S ] ET - 03 - [ETPro 3.2.6]&amp;lt;/b&amp;gt;: /connect 137.224.240.16:27960&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;G4@UPC.[PL]&amp;lt;/b&amp;gt;: /connect 81.18.192.11:27960&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;G5@UPC.[PL]&amp;lt;/b&amp;gt;: /connect 81.18.192.12:27960&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;#et-merc.fr + FunZone&amp;lt;/b&amp;gt;: /connect 87.98.242.56:27960&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=6 &amp;gt;&amp;gt; Download ACpro 2.1 mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/gallery.php?id=6 &amp;gt;&amp;gt; Screenies of ACpro 2.1 mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 2.1 includes [http://bani.anime.net/banimod/forums/viewtopic.php?t=6777 Reyalp&#039; fixes] modified by me and [http://wolfwiki.anime.net/index.php/User:Luk4ward#bad_names &amp;lt;b&amp;gt;IMPORTANT  fix for ETadmin mod level exploit using prepared name&amp;lt;/b&amp;gt;]&lt;br /&gt;
* credits inside .lua&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
23:57:21:&amp;gt; lua_status&lt;br /&gt;
---------------------&lt;br /&gt;
etpro: Loaded lua scripts&lt;br /&gt;
VM Modname                  Signature                                Filename&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
01 ACpro:2.1slot:1          A9CE3267322FB4990329EDDEA53B10A6B9174B78 ac2pro.lua&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* rcon:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_ac2pro.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ac2pro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes [http://bani.anime.net/banimod/forums/viewtopic.php?t=6777 Reyalp&#039; fixes] and such mods: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging &amp;amp; checking data of players ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/acpro_logs.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== Separated file logs ======&lt;br /&gt;
&lt;br /&gt;
* ok_eguids.log -&amp;gt; logging all passed etpro guids in format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ EGUID ] @ DATE 2008 from IP [ nick ]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* bad_guids.log -&amp;gt; logging all refused guids (includes checking cl_guid !!!), &amp;lt;b&amp;gt;REAL examples&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ OpensourcePowa ] @ Sun Mar  9 11:56:05 2008 from 84.95.125.101:62733 [ HUHUH??? ]&lt;br /&gt;
[ 256624374273789392012475FUFUFUFU ] @ Wed Mar 19 10:39:52 2008 from 80.54.117.13:27960 [ Corky ]&lt;br /&gt;
[ UNKNOWN ] @ Sat Mar 29 20:47:48 2008 from 87.105.54.61:27960 [ Grim ]&lt;br /&gt;
[ CHEATERS_ALWAYS_WIN_LOLOLOLOLOLOLOLOLOLO ] @ Sat Mar 29 23:16:49 2008 from 90.213.91.116:27960 [ downloaded5kill ]&lt;br /&gt;
[TahBambucha] @ Sun Apr 27 23:33:19 2008 from 201.15.159.39:50200 [ mx.ETTV-1 ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
etpro IAC: 4 GUID [ EGUID ] [ ETPRO_PLAYER ]&lt;br /&gt;
guidcheck: 4) client ETPRO_PLAYER from IP got ok eGUID: EGUID more info @ logs/ok_eguids.log &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Guids&#039; logging and filenames are up to Admin !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log_badguids = true -- includes cl_guid&lt;br /&gt;
log_okeguids = true -- only eguids&lt;br /&gt;
&lt;br /&gt;
logfile_badguids = &amp;quot;logs/bad_guids.log&amp;quot;&lt;br /&gt;
logfile_okeguids = &amp;quot;logs/ok_eguids.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-- check file logfile_badguids for the names, date and IPs of people with spoofed guids (cl_guids and etpro guids)&lt;br /&gt;
-- check file okeguids for the names, date and IPs of people with ok etpro guids (no etadmin format)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* not/accepted_players.log &amp;amp; players.log include data of connecting players in format:&lt;br /&gt;
&lt;br /&gt;
** name &amp;lt;br /&amp;gt;&lt;br /&gt;
** cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
** yawn link &amp;lt;br /&amp;gt;&lt;br /&gt;
** ip &amp;lt;br /&amp;gt;&lt;br /&gt;
** date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = player&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	yawn    = http://www.yawn.be/findPlayer.yawn?gamecode=ET&amp;amp;pbGuid=GUIDGUID&lt;br /&gt;
	ip      = 123.456.789.0&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Client 7 connecting with 50 challenge ping&lt;br /&gt;
filtercheck: client 4 cnt 1st time @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
running script for client 4 @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
filtercheck: mode 2&lt;br /&gt;
filtercheck: opening ipbans/83_25_.dat&lt;br /&gt;
filtercheck: closing ipbans/83_25_.dat&lt;br /&gt;
filtercheck: client 4 ok, more info @ logs/players.log !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Checking userinfo ======&lt;br /&gt;
&lt;br /&gt;
* How to check player userinfo via Reyalp script modified by me:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:38:57:&amp;gt; checkuserinfo&lt;br /&gt;
------------------------&lt;br /&gt;
Usage: checkuserinfo [etpro id]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_checkuserinfo.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_checkuserinfo.gif]&lt;br /&gt;
&lt;br /&gt;
* An option to ignore server administration by most modules of this script! You just have to type the tag (min length 3), but its recommended only if u got protected tag on the server !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Remember script will check a player while connecting and then while his userinfo is changed. Reyalp added also an option to check every x seconds one by one every player, but u can disable it via this script and use rcon command !&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ingame_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_players.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== in game ======&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can easily set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&lt;br /&gt;
                                            Counted players &lt;br /&gt;
&lt;br /&gt;
 Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====== via rcon ======&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Admin can see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== name change ======&lt;br /&gt;
* You can set after how many times player can change his nick, after the limit it will restore to the default one and info with his ID will be shown to everyone&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rename_limit.gif http://luk4ward.boo.pl/files/gallery/thumbs/rename_limit.gif]&lt;br /&gt;
* You can set the kick name limit of player trying to change the name after reaching the name change limit&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/renames.gif http://luk4ward.boo.pl/files/gallery/thumbs/renames.gif]&lt;br /&gt;
====== name length ======&lt;br /&gt;
* You can also set min and max length of allowed nicknames (length will not count spaces and color codes !)&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname_len.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname_len.gif]&lt;br /&gt;
====== bad names ======&lt;br /&gt;
* You can set bad names, by default script will check for Reyalp&#039;s bad names, english &amp;amp; polish bad names and for random bad nicks&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname.gif]&lt;br /&gt;
* And also for extra carat char, which looks like this: ^&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/extra_carat.gif http://luk4ward.boo.pl/files/gallery/thumbs/extra_carat.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Fixed ETADMIN MOD exploit which allow the attacker to get same level using prepared nick of victim (version 2.1)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== rcon cmds ======&lt;br /&gt;
* Script also gives u new rcon rename commands&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:33:40:&amp;gt; rename&lt;br /&gt;
-----------------&lt;br /&gt;
Usage: rename ID newnick&lt;br /&gt;
Example#1 (to clean the nick): rename ID clean&lt;br /&gt;
Example#2 (to cut the nick): rename ID cutnick&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_rename.gif]&lt;br /&gt;
** In game looks like this&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_rename.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/clean_name.gif http://luk4ward.boo.pl/files/gallery/thumbs/clean_name.gif]&lt;br /&gt;
&lt;br /&gt;
===== Anti-highping mod =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module allows admin to put on spec players with specified ping&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:00:19:&amp;gt; ping2spec&lt;br /&gt;
--------------------&lt;br /&gt;
Usage: ping2spec [ ping &amp;gt;0 ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_ping2spec.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ping2spec.gif]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Files can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/fixed_gamedate.gif http://luk4ward.boo.pl/files/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etserver_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/howitworks.gif http://luk4ward.boo.pl/files/gallery/thumbs/howitworks.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* ACpro ver 2.1 gives u the avability to change the Filter Mode:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- mode 1 will check against the first part of IP (like 83.)&lt;br /&gt;
-- mode 2 will check against the first two parts of IP (like 83.60.)&lt;br /&gt;
-- mode 4 will check against the first part of IP (like 83.)&lt;br /&gt;
--             and allow to join only from the added players of your added FilterMasks&lt;br /&gt;
--             example:&lt;br /&gt;
--             1) player from 1.2.3.4 is connecting&lt;br /&gt;
--             2) script not found a filename [1_.dat] from ipbans/ with his IP&lt;br /&gt;
--	       3) script refused entry&lt;br /&gt;
--             4) admin is adding FilterMask for ip 1.2.3.4 via rcon&lt;br /&gt;
--             5) player from 1.2.3.4 is connecting&lt;br /&gt;
--             6) script not found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             7) script refused entry&lt;br /&gt;
--             8) admin is adding his guid for ip 1.2.3.4 via rcon&lt;br /&gt;
--             9) player from 1.2.3.4 is connecting&lt;br /&gt;
--             10) script found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             11) script allowed to join the sever&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* #1 It&#039;s checking if the part/s of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server [ mode 1,2 ] or kick not recognized IP [ mode 4 ]&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see part about Logging data of players)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; There are 3 ways how to manage those bans (rcon, ftp, etadmin), the &amp;lt;i&amp;gt;HOW TO&amp;lt;/i&amp;gt; under is based on mode 2 but it looks the same for other (you just have to change filenames to one part of IP for 1,4 modes) ! &lt;br /&gt;
Modes 1,2 are for public server, but mode 4 is for leagues&#039; or private servers because it will allow to join only specified players.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_add.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_add.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:07:30:&amp;gt; add&lt;br /&gt;
--------------&lt;br /&gt;
Examples depend on filter_mode [activated: 2] -&amp;gt; enter 2 first parts of IP (with 2 dots: one after each number) !&lt;br /&gt;
&lt;br /&gt;
Usage:     add             cl_guid                 nick        ip           by&lt;br /&gt;
Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.      admin&lt;br /&gt;
Example#2: add GuidGuidGUIDGUIDGUIDGuidGUIDGUID clean_player 83.100.123.  admin&lt;br /&gt;
Example#3: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.100.5 admin&lt;br /&gt;
&lt;br /&gt;
Usage:     add mask cheater     ip        by&lt;br /&gt;
Example#1: add mask cheater 83.100.      admin&lt;br /&gt;
Example#2: add mask cheater 83.100.123.  admin&lt;br /&gt;
Example#3: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
=== VSP stats fixes ===&lt;br /&gt;
==== [http://www.scivox.net/smf/index.php?topic=834.msg6231#msg6231 &amp;gt;&amp;gt; Stop full punkbuster guids from being displayed &amp;lt;&amp;lt;] ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2955</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2955"/>
		<updated>2008-09-27T15:23:34Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: /* About */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;middle&amp;quot;&amp;gt;&lt;br /&gt;
http://luk4ward.boo.pl/images/acpro2.1.png&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl OBJective Cmpgn [ /connect 193.33.34.11:27965 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) shield mod created by Nappy&lt;br /&gt;
** -- *) /kill mod created by Infty modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;u|k. public server 3.2.6_2.60b [ /connect 83.142.226.97:29023 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;All server got modified etadmin mod which includes fixes and some other custom things, even individual pk3 files !&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
More servers with this mod:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;[ N e X u S ] ET - 01 - [ETPro 3.2.6]&amp;lt;/b&amp;gt;: /connect 137.224.240.8:27960&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;[ N e X u S ] ET - 03 - [ETPro 3.2.6]&amp;lt;/b&amp;gt;: /connect 137.224.240.16:27960&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;G4@UPC.[PL]&amp;lt;/b&amp;gt;: /connect 81.18.192.11:27960&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;G5@UPC.[PL]&amp;lt;/b&amp;gt;: /connect 81.18.192.12:27960&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;#et-merc.fr + FunZone&amp;lt;/b&amp;gt;: /connect 87.98.242.56:27960&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=6 &amp;gt;&amp;gt; Download ACpro 2.1 mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/gallery.php?id=6 &amp;gt;&amp;gt; Screenies of ACpro 2.1 mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 2.1 includes [http://bani.anime.net/banimod/forums/viewtopic.php?t=6777 Reyalp&#039; fixes] modified by me and [http://wolfwiki.anime.net/index.php/User:Luk4ward#bad_names &amp;lt;b&amp;gt;IMPORTANT  fix for ETadmin mod level exploit using prepared name&amp;lt;/b&amp;gt;]&lt;br /&gt;
* credits inside .lua&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
23:57:21:&amp;gt; lua_status&lt;br /&gt;
---------------------&lt;br /&gt;
etpro: Loaded lua scripts&lt;br /&gt;
VM Modname                  Signature                                Filename&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
01 ACpro:2.1slot:1          A9CE3267322FB4990329EDDEA53B10A6B9174B78 ac2pro.lua&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* rcon:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_ac2pro.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ac2pro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes [http://bani.anime.net/banimod/forums/viewtopic.php?t=6777 Reyalp&#039; fixes] and such mods: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging &amp;amp; checking data of players ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/acpro_logs.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== Separated file logs ======&lt;br /&gt;
&lt;br /&gt;
* ok_eguids.log -&amp;gt; logging all passed etpro guids in format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ EGUID ] @ DATE 2008 from IP [ nick ]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* bad_guids.log -&amp;gt; logging all refused guids (includes checking cl_guid !!!), &amp;lt;b&amp;gt;REAL examples&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ OpensourcePowa ] @ Sun Mar  9 11:56:05 2008 from 84.95.125.101:62733 [ HUHUH??? ]&lt;br /&gt;
[ 256624374273789392012475FUFUFUFU ] @ Wed Mar 19 10:39:52 2008 from 80.54.117.13:27960 [ Corky ]&lt;br /&gt;
[ UNKNOWN ] @ Sat Mar 29 20:47:48 2008 from 87.105.54.61:27960 [ Grim ]&lt;br /&gt;
[ CHEATERS_ALWAYS_WIN_LOLOLOLOLOLOLOLOLOLO ] @ Sat Mar 29 23:16:49 2008 from 90.213.91.116:27960 [ downloaded5kill ]&lt;br /&gt;
[TahBambucha] @ Sun Apr 27 23:33:19 2008 from 201.15.159.39:50200 [ mx.ETTV-1 ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
etpro IAC: 4 GUID [ EGUID ] [ ETPRO_PLAYER ]&lt;br /&gt;
guidcheck: 4) client ETPRO_PLAYER from IP got ok eGUID: EGUID more info @ logs/ok_eguids.log &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Guids&#039; logging and filenames are up to Admin !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log_badguids = true -- includes cl_guid&lt;br /&gt;
log_okeguids = true -- only eguids&lt;br /&gt;
&lt;br /&gt;
logfile_badguids = &amp;quot;logs/bad_guids.log&amp;quot;&lt;br /&gt;
logfile_okeguids = &amp;quot;logs/ok_eguids.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-- check file logfile_badguids for the names, date and IPs of people with spoofed guids (cl_guids and etpro guids)&lt;br /&gt;
-- check file okeguids for the names, date and IPs of people with ok etpro guids (no etadmin format)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* not/accepted_players.log &amp;amp; players.log include data of connecting players in format:&lt;br /&gt;
&lt;br /&gt;
** name &amp;lt;br /&amp;gt;&lt;br /&gt;
** cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
** yawn link &amp;lt;br /&amp;gt;&lt;br /&gt;
** ip &amp;lt;br /&amp;gt;&lt;br /&gt;
** date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = player&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	yawn    = http://www.yawn.be/findPlayer.yawn?gamecode=ET&amp;amp;pbGuid=GUIDGUID&lt;br /&gt;
	ip      = 123.456.789.0&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Client 7 connecting with 50 challenge ping&lt;br /&gt;
filtercheck: client 4 cnt 1st time @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
running script for client 4 @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
filtercheck: mode 2&lt;br /&gt;
filtercheck: opening ipbans/83_25_.dat&lt;br /&gt;
filtercheck: closing ipbans/83_25_.dat&lt;br /&gt;
filtercheck: client 4 ok, more info @ logs/players.log !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Checking userinfo ======&lt;br /&gt;
&lt;br /&gt;
* How to check player userinfo via Reyalp script modified by me:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:38:57:&amp;gt; checkuserinfo&lt;br /&gt;
------------------------&lt;br /&gt;
Usage: checkuserinfo [etpro id]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_checkuserinfo.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_checkuserinfo.gif]&lt;br /&gt;
&lt;br /&gt;
* An option to ignore server administration by most modules of this script! You just have to type the tag (min length 3), but its recommended only if u got protected tag on the server !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Remember script will check a player while connecting and then while his userinfo is changed. Reyalp added also an option to check every x seconds one by one every player, but u can disable it via this script and use rcon command !&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ingame_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_players.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== in game ======&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can easily set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&lt;br /&gt;
                                            Counted players &lt;br /&gt;
&lt;br /&gt;
 Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====== via rcon ======&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Admin can see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== name change ======&lt;br /&gt;
* You can set after how many times player can change his nick, after the limit it will restore to the default one and info with his ID will be shown to everyone&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rename_limit.gif http://luk4ward.boo.pl/files/gallery/thumbs/rename_limit.gif]&lt;br /&gt;
* You can set the kick name limit of player trying to change the name after reaching the name change limit&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/renames.gif http://luk4ward.boo.pl/files/gallery/thumbs/renames.gif]&lt;br /&gt;
====== name length ======&lt;br /&gt;
* You can also set min and max length of allowed nicknames (length will not count spaces and color codes !)&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname_len.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname_len.gif]&lt;br /&gt;
====== bad names ======&lt;br /&gt;
* You can set bad names, by default script will check for Reyalp&#039;s bad names, english &amp;amp; polish bad names and for random bad nicks&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname.gif]&lt;br /&gt;
* And also for extra carat char, which looks like this: ^&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/extra_carat.gif http://luk4ward.boo.pl/files/gallery/thumbs/extra_carat.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Fixed ETADMIN MOD exploit which allow the attacker to get same level using prepared nick of victim (version 2.1)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== rcon cmds ======&lt;br /&gt;
* Script also gives u new rcon rename commands&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:33:40:&amp;gt; rename&lt;br /&gt;
-----------------&lt;br /&gt;
Usage: rename ID newnick&lt;br /&gt;
Example#1 (to clean the nick): rename ID clean&lt;br /&gt;
Example#2 (to cut the nick): rename ID cutnick&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_rename.gif]&lt;br /&gt;
** In game looks like this&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_rename.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/clean_name.gif http://luk4ward.boo.pl/files/gallery/thumbs/clean_name.gif]&lt;br /&gt;
&lt;br /&gt;
===== Anti-highping mod =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module allows admin to put on spec players with specified ping&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:00:19:&amp;gt; ping2spec&lt;br /&gt;
--------------------&lt;br /&gt;
Usage: ping2spec [ ping &amp;gt;0 ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_ping2spec.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ping2spec.gif]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Files can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/fixed_gamedate.gif http://luk4ward.boo.pl/files/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etserver_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/howitworks.gif http://luk4ward.boo.pl/files/gallery/thumbs/howitworks.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* ACpro ver 2.1 gives u the avability to change the Filter Mode:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- mode 1 will check against the first part of IP (like 83.)&lt;br /&gt;
-- mode 2 will check against the first two parts of IP (like 83.60.)&lt;br /&gt;
-- mode 4 will check against the first part of IP (like 83.)&lt;br /&gt;
--             and allow to join only from the added players of your added FilterMasks&lt;br /&gt;
--             example:&lt;br /&gt;
--             1) player from 1.2.3.4 is connecting&lt;br /&gt;
--             2) script not found a filename [1_.dat] from ipbans/ with his IP&lt;br /&gt;
--	       3) script refused entry&lt;br /&gt;
--             4) admin is adding FilterMask for ip 1.2.3.4 via rcon&lt;br /&gt;
--             5) player from 1.2.3.4 is connecting&lt;br /&gt;
--             6) script not found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             7) script refused entry&lt;br /&gt;
--             8) admin is adding his guid for ip 1.2.3.4 via rcon&lt;br /&gt;
--             9) player from 1.2.3.4 is connecting&lt;br /&gt;
--             10) script found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             11) script allowed to join the sever&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* #1 It&#039;s checking if the part/s of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server [ mode 1,2 ] or kick not recognized IP [ mode 4 ]&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see part about Logging data of players)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; There are 3 ways how to manage those bans (rcon, ftp, etadmin), the &amp;lt;i&amp;gt;HOW TO&amp;lt;/i&amp;gt; under is based on mode 2 but it looks the same for other (you just have to change filenames to one part of IP for 1,4 modes) ! &lt;br /&gt;
Modes 1,2 are for public server, but mode 4 is for leagues&#039; or private servers because it will allow to join only specified players.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_add.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_add.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:07:30:&amp;gt; add&lt;br /&gt;
--------------&lt;br /&gt;
Examples depend on filter_mode [activated: 2] -&amp;gt; enter 2 first parts of IP (with 2 dots: one after each number) !&lt;br /&gt;
&lt;br /&gt;
Usage:     add             cl_guid                 nick        ip           by&lt;br /&gt;
Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.      admin&lt;br /&gt;
Example#2: add GuidGuidGUIDGUIDGUIDGuidGUIDGUID clean_player 83.100.123.  admin&lt;br /&gt;
Example#3: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.100.5 admin&lt;br /&gt;
&lt;br /&gt;
Usage:     add mask cheater     ip        by&lt;br /&gt;
Example#1: add mask cheater 83.100.      admin&lt;br /&gt;
Example#2: add mask cheater 83.100.123.  admin&lt;br /&gt;
Example#3: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
=== VSP stats fixes ===&lt;br /&gt;
==== [http://www.scivox.net/smf/index.php?topic=834.msg6231#msg6231 &amp;gt;&amp;gt; Stop full punkbuster guids from being displayed &amp;lt;&amp;lt;] ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2949</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2949"/>
		<updated>2008-08-12T14:58:41Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: /* About */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;middle&amp;quot;&amp;gt;&lt;br /&gt;
http://luk4ward.boo.pl/images/acpro2.1.png&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl OBJective Cmpgn [ /connect 193.33.34.11:27965 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) shield mod created by Nappy&lt;br /&gt;
** -- *) /kill mod created by Infty modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl TeamDeathMatch Cmpgn [ /connect 193.33.34.15:27960 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup mod created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
* &amp;lt;b&amp;gt;u|k. public server 3.2.6_2.60b [ /connect 83.142.226.97:29023 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;All server got modified etadmin mod which includes fixes and some other custom things, even individual pk3 files !&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
More servers with this mod:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;[ N e X u S ] ET - 01 - [ETPro 3.2.6]&amp;lt;/b&amp;gt;: /connect 137.224.240.8:27960&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;[ N e X u S ] ET - 03 - [ETPro 3.2.6]&amp;lt;/b&amp;gt;: /connect 137.224.240.16:27960&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;G4@UPC.[PL]&amp;lt;/b&amp;gt;: /connect 81.18.192.11:27960&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;G5@UPC.[PL]&amp;lt;/b&amp;gt;: /connect 81.18.192.12:27960&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;#et-merc.fr + FunZone&amp;lt;/b&amp;gt;: /connect 87.98.242.56:27960&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=6 &amp;gt;&amp;gt; Download ACpro 2.1 mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/gallery.php?id=6 &amp;gt;&amp;gt; Screenies of ACpro 2.1 mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 2.1 includes [http://bani.anime.net/banimod/forums/viewtopic.php?t=6777 Reyalp&#039; fixes] modified by me and [http://wolfwiki.anime.net/index.php/User:Luk4ward#bad_names &amp;lt;b&amp;gt;IMPORTANT  fix for ETadmin mod level exploit using prepared name&amp;lt;/b&amp;gt;]&lt;br /&gt;
* credits inside .lua&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
23:57:21:&amp;gt; lua_status&lt;br /&gt;
---------------------&lt;br /&gt;
etpro: Loaded lua scripts&lt;br /&gt;
VM Modname                  Signature                                Filename&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
01 ACpro:2.1slot:1          A9CE3267322FB4990329EDDEA53B10A6B9174B78 ac2pro.lua&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* rcon:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_ac2pro.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ac2pro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes [http://bani.anime.net/banimod/forums/viewtopic.php?t=6777 Reyalp&#039; fixes] and such mods: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging &amp;amp; checking data of players ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/acpro_logs.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== Separated file logs ======&lt;br /&gt;
&lt;br /&gt;
* ok_eguids.log -&amp;gt; logging all passed etpro guids in format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ EGUID ] @ DATE 2008 from IP [ nick ]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* bad_guids.log -&amp;gt; logging all refused guids (includes checking cl_guid !!!), &amp;lt;b&amp;gt;REAL examples&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ OpensourcePowa ] @ Sun Mar  9 11:56:05 2008 from 84.95.125.101:62733 [ HUHUH??? ]&lt;br /&gt;
[ 256624374273789392012475FUFUFUFU ] @ Wed Mar 19 10:39:52 2008 from 80.54.117.13:27960 [ Corky ]&lt;br /&gt;
[ UNKNOWN ] @ Sat Mar 29 20:47:48 2008 from 87.105.54.61:27960 [ Grim ]&lt;br /&gt;
[ CHEATERS_ALWAYS_WIN_LOLOLOLOLOLOLOLOLOLO ] @ Sat Mar 29 23:16:49 2008 from 90.213.91.116:27960 [ downloaded5kill ]&lt;br /&gt;
[TahBambucha] @ Sun Apr 27 23:33:19 2008 from 201.15.159.39:50200 [ mx.ETTV-1 ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
etpro IAC: 4 GUID [ EGUID ] [ ETPRO_PLAYER ]&lt;br /&gt;
guidcheck: 4) client ETPRO_PLAYER from IP got ok eGUID: EGUID more info @ logs/ok_eguids.log &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Guids&#039; logging and filenames are up to Admin !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log_badguids = true -- includes cl_guid&lt;br /&gt;
log_okeguids = true -- only eguids&lt;br /&gt;
&lt;br /&gt;
logfile_badguids = &amp;quot;logs/bad_guids.log&amp;quot;&lt;br /&gt;
logfile_okeguids = &amp;quot;logs/ok_eguids.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-- check file logfile_badguids for the names, date and IPs of people with spoofed guids (cl_guids and etpro guids)&lt;br /&gt;
-- check file okeguids for the names, date and IPs of people with ok etpro guids (no etadmin format)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* not/accepted_players.log &amp;amp; players.log include data of connecting players in format:&lt;br /&gt;
&lt;br /&gt;
** name &amp;lt;br /&amp;gt;&lt;br /&gt;
** cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
** yawn link &amp;lt;br /&amp;gt;&lt;br /&gt;
** ip &amp;lt;br /&amp;gt;&lt;br /&gt;
** date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = player&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	yawn    = http://www.yawn.be/findPlayer.yawn?gamecode=ET&amp;amp;pbGuid=GUIDGUID&lt;br /&gt;
	ip      = 123.456.789.0&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Client 7 connecting with 50 challenge ping&lt;br /&gt;
filtercheck: client 4 cnt 1st time @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
running script for client 4 @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
filtercheck: mode 2&lt;br /&gt;
filtercheck: opening ipbans/83_25_.dat&lt;br /&gt;
filtercheck: closing ipbans/83_25_.dat&lt;br /&gt;
filtercheck: client 4 ok, more info @ logs/players.log !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Checking userinfo ======&lt;br /&gt;
&lt;br /&gt;
* How to check player userinfo via Reyalp script modified by me:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:38:57:&amp;gt; checkuserinfo&lt;br /&gt;
------------------------&lt;br /&gt;
Usage: checkuserinfo [etpro id]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_checkuserinfo.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_checkuserinfo.gif]&lt;br /&gt;
&lt;br /&gt;
* An option to ignore server administration by most modules of this script! You just have to type the tag (min length 3), but its recommended only if u got protected tag on the server !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Remember script will check a player while connecting and then while his userinfo is changed. Reyalp added also an option to check every x seconds one by one every player, but u can disable it via this script and use rcon command !&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ingame_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_players.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== in game ======&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can easily set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&lt;br /&gt;
                                            Counted players &lt;br /&gt;
&lt;br /&gt;
 Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====== via rcon ======&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Admin can see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== name change ======&lt;br /&gt;
* You can set after how many times player can change his nick, after the limit it will restore to the default one and info with his ID will be shown to everyone&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rename_limit.gif http://luk4ward.boo.pl/files/gallery/thumbs/rename_limit.gif]&lt;br /&gt;
* You can set the kick name limit of player trying to change the name after reaching the name change limit&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/renames.gif http://luk4ward.boo.pl/files/gallery/thumbs/renames.gif]&lt;br /&gt;
====== name length ======&lt;br /&gt;
* You can also set min and max length of allowed nicknames (length will not count spaces and color codes !)&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname_len.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname_len.gif]&lt;br /&gt;
====== bad names ======&lt;br /&gt;
* You can set bad names, by default script will check for Reyalp&#039;s bad names, english &amp;amp; polish bad names and for random bad nicks&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname.gif]&lt;br /&gt;
* And also for extra carat char, which looks like this: ^&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/extra_carat.gif http://luk4ward.boo.pl/files/gallery/thumbs/extra_carat.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Fixed ETADMIN MOD exploit which allow the attacker to get same level using prepared nick of victim (version 2.1)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== rcon cmds ======&lt;br /&gt;
* Script also gives u new rcon rename commands&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:33:40:&amp;gt; rename&lt;br /&gt;
-----------------&lt;br /&gt;
Usage: rename ID newnick&lt;br /&gt;
Example#1 (to clean the nick): rename ID clean&lt;br /&gt;
Example#2 (to cut the nick): rename ID cutnick&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_rename.gif]&lt;br /&gt;
** In game looks like this&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_rename.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/clean_name.gif http://luk4ward.boo.pl/files/gallery/thumbs/clean_name.gif]&lt;br /&gt;
&lt;br /&gt;
===== Anti-highping mod =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module allows admin to put on spec players with specified ping&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:00:19:&amp;gt; ping2spec&lt;br /&gt;
--------------------&lt;br /&gt;
Usage: ping2spec [ ping &amp;gt;0 ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_ping2spec.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ping2spec.gif]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Files can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/fixed_gamedate.gif http://luk4ward.boo.pl/files/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etserver_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/howitworks.gif http://luk4ward.boo.pl/files/gallery/thumbs/howitworks.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* ACpro ver 2.1 gives u the avability to change the Filter Mode:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- mode 1 will check against the first part of IP (like 83.)&lt;br /&gt;
-- mode 2 will check against the first two parts of IP (like 83.60.)&lt;br /&gt;
-- mode 4 will check against the first part of IP (like 83.)&lt;br /&gt;
--             and allow to join only from the added players of your added FilterMasks&lt;br /&gt;
--             example:&lt;br /&gt;
--             1) player from 1.2.3.4 is connecting&lt;br /&gt;
--             2) script not found a filename [1_.dat] from ipbans/ with his IP&lt;br /&gt;
--	       3) script refused entry&lt;br /&gt;
--             4) admin is adding FilterMask for ip 1.2.3.4 via rcon&lt;br /&gt;
--             5) player from 1.2.3.4 is connecting&lt;br /&gt;
--             6) script not found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             7) script refused entry&lt;br /&gt;
--             8) admin is adding his guid for ip 1.2.3.4 via rcon&lt;br /&gt;
--             9) player from 1.2.3.4 is connecting&lt;br /&gt;
--             10) script found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             11) script allowed to join the sever&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* #1 It&#039;s checking if the part/s of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server [ mode 1,2 ] or kick not recognized IP [ mode 4 ]&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see part about Logging data of players)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; There are 3 ways how to manage those bans (rcon, ftp, etadmin), the &amp;lt;i&amp;gt;HOW TO&amp;lt;/i&amp;gt; under is based on mode 2 but it looks the same for other (you just have to change filenames to one part of IP for 1,4 modes) ! &lt;br /&gt;
Modes 1,2 are for public server, but mode 4 is for leagues&#039; or private servers because it will allow to join only specified players.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_add.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_add.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:07:30:&amp;gt; add&lt;br /&gt;
--------------&lt;br /&gt;
Examples depend on filter_mode [activated: 2] -&amp;gt; enter 2 first parts of IP (with 2 dots: one after each number) !&lt;br /&gt;
&lt;br /&gt;
Usage:     add             cl_guid                 nick        ip           by&lt;br /&gt;
Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.      admin&lt;br /&gt;
Example#2: add GuidGuidGUIDGUIDGUIDGuidGUIDGUID clean_player 83.100.123.  admin&lt;br /&gt;
Example#3: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.100.5 admin&lt;br /&gt;
&lt;br /&gt;
Usage:     add mask cheater     ip        by&lt;br /&gt;
Example#1: add mask cheater 83.100.      admin&lt;br /&gt;
Example#2: add mask cheater 83.100.123.  admin&lt;br /&gt;
Example#3: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
=== VSP stats fixes ===&lt;br /&gt;
==== [http://www.scivox.net/smf/index.php?topic=834.msg6231#msg6231 &amp;gt;&amp;gt; Stop full punkbuster guids from being displayed &amp;lt;&amp;lt;] ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2945</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2945"/>
		<updated>2008-05-09T20:34:53Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;middle&amp;quot;&amp;gt;&lt;br /&gt;
http://luk4ward.boo.pl/images/acpro2.1.png&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl OBJective Cmpgn [ /connect 193.33.34.11:27965 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) shield mod created by Nappy&lt;br /&gt;
** -- *) /kill mod created by Infty modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl TeamDeathMatch Cmpgn [ /connect 193.33.34.15:27960 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup mod created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
* &amp;lt;b&amp;gt;u|k. public server 3.2.6_2.60b [ /connect 83.142.226.97:29023 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;All server got modified etadmin mod which includes fixes and some other custom things, even individual pk3 files !&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
More servers with this mod:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;[ N e X u S ] ET - 01 - [ETPro 3.2.6]&amp;lt;/b&amp;gt;: /connect 137.224.240.8:27960&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;[ N e X u S ] ET - 03 - [ETPro 3.2.6]&amp;lt;/b&amp;gt;: /connect 137.224.240.16:27960&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;G4@UPC.[PL]&amp;lt;/b&amp;gt;: /connect 81.18.192.11:27960&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;G5@UPC.[PL]&amp;lt;/b&amp;gt;: /connect 81.18.192.12:27960&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;#et-merc.fr + FunZone&amp;lt;/b&amp;gt;: /connect 91.121.74.154:27960&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=6 &amp;gt;&amp;gt; Download ACpro 2.1 mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/gallery.php?id=6 &amp;gt;&amp;gt; Screenies of ACpro 2.1 mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 2.1 includes [http://bani.anime.net/banimod/forums/viewtopic.php?t=6777 Reyalp&#039; fixes] modified by me and [http://wolfwiki.anime.net/index.php/User:Luk4ward#bad_names &amp;lt;b&amp;gt;IMPORTANT  fix for ETadmin mod level exploit using prepared name&amp;lt;/b&amp;gt;]&lt;br /&gt;
* credits inside .lua&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
23:57:21:&amp;gt; lua_status&lt;br /&gt;
---------------------&lt;br /&gt;
etpro: Loaded lua scripts&lt;br /&gt;
VM Modname                  Signature                                Filename&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
01 ACpro:2.1slot:1          A9CE3267322FB4990329EDDEA53B10A6B9174B78 ac2pro.lua&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* rcon:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_ac2pro.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ac2pro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes [http://bani.anime.net/banimod/forums/viewtopic.php?t=6777 Reyalp&#039; fixes] and such mods: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging &amp;amp; checking data of players ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/acpro_logs.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== Separated file logs ======&lt;br /&gt;
&lt;br /&gt;
* ok_eguids.log -&amp;gt; logging all passed etpro guids in format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ EGUID ] @ DATE 2008 from IP [ nick ]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* bad_guids.log -&amp;gt; logging all refused guids (includes checking cl_guid !!!), &amp;lt;b&amp;gt;REAL examples&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ OpensourcePowa ] @ Sun Mar  9 11:56:05 2008 from 84.95.125.101:62733 [ HUHUH??? ]&lt;br /&gt;
[ 256624374273789392012475FUFUFUFU ] @ Wed Mar 19 10:39:52 2008 from 80.54.117.13:27960 [ Corky ]&lt;br /&gt;
[ UNKNOWN ] @ Sat Mar 29 20:47:48 2008 from 87.105.54.61:27960 [ Grim ]&lt;br /&gt;
[ CHEATERS_ALWAYS_WIN_LOLOLOLOLOLOLOLOLOLO ] @ Sat Mar 29 23:16:49 2008 from 90.213.91.116:27960 [ downloaded5kill ]&lt;br /&gt;
[TahBambucha] @ Sun Apr 27 23:33:19 2008 from 201.15.159.39:50200 [ mx.ETTV-1 ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
etpro IAC: 4 GUID [ EGUID ] [ ETPRO_PLAYER ]&lt;br /&gt;
guidcheck: 4) client ETPRO_PLAYER from IP got ok eGUID: EGUID more info @ logs/ok_eguids.log &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Guids&#039; logging and filenames are up to Admin !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log_badguids = true -- includes cl_guid&lt;br /&gt;
log_okeguids = true -- only eguids&lt;br /&gt;
&lt;br /&gt;
logfile_badguids = &amp;quot;logs/bad_guids.log&amp;quot;&lt;br /&gt;
logfile_okeguids = &amp;quot;logs/ok_eguids.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-- check file logfile_badguids for the names, date and IPs of people with spoofed guids (cl_guids and etpro guids)&lt;br /&gt;
-- check file okeguids for the names, date and IPs of people with ok etpro guids (no etadmin format)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* not/accepted_players.log &amp;amp; players.log include data of connecting players in format:&lt;br /&gt;
&lt;br /&gt;
** name &amp;lt;br /&amp;gt;&lt;br /&gt;
** cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
** yawn link &amp;lt;br /&amp;gt;&lt;br /&gt;
** ip &amp;lt;br /&amp;gt;&lt;br /&gt;
** date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = player&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	yawn    = http://www.yawn.be/findPlayer.yawn?gamecode=ET&amp;amp;pbGuid=GUIDGUID&lt;br /&gt;
	ip      = 123.456.789.0&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Client 7 connecting with 50 challenge ping&lt;br /&gt;
filtercheck: client 4 cnt 1st time @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
running script for client 4 @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
filtercheck: mode 2&lt;br /&gt;
filtercheck: opening ipbans/83_25_.dat&lt;br /&gt;
filtercheck: closing ipbans/83_25_.dat&lt;br /&gt;
filtercheck: client 4 ok, more info @ logs/players.log !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Checking userinfo ======&lt;br /&gt;
&lt;br /&gt;
* How to check player userinfo via Reyalp script modified by me:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:38:57:&amp;gt; checkuserinfo&lt;br /&gt;
------------------------&lt;br /&gt;
Usage: checkuserinfo [etpro id]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_checkuserinfo.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_checkuserinfo.gif]&lt;br /&gt;
&lt;br /&gt;
* An option to ignore server administration by most modules of this script! You just have to type the tag (min length 3), but its recommended only if u got protected tag on the server !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Remember script will check a player while connecting and then while his userinfo is changed. Reyalp added also an option to check every x seconds one by one every player, but u can disable it via this script and use rcon command !&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ingame_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_players.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== in game ======&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can easily set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&lt;br /&gt;
                                            Counted players &lt;br /&gt;
&lt;br /&gt;
 Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====== via rcon ======&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Admin can see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== name change ======&lt;br /&gt;
* You can set after how many times player can change his nick, after the limit it will restore to the default one and info with his ID will be shown to everyone&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rename_limit.gif http://luk4ward.boo.pl/files/gallery/thumbs/rename_limit.gif]&lt;br /&gt;
* You can set the kick name limit of player trying to change the name after reaching the name change limit&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/renames.gif http://luk4ward.boo.pl/files/gallery/thumbs/renames.gif]&lt;br /&gt;
====== name length ======&lt;br /&gt;
* You can also set min and max length of allowed nicknames (length will not count spaces and color codes !)&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname_len.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname_len.gif]&lt;br /&gt;
====== bad names ======&lt;br /&gt;
* You can set bad names, by default script will check for Reyalp&#039;s bad names, english &amp;amp; polish bad names and for random bad nicks&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname.gif]&lt;br /&gt;
* And also for extra carat char, which looks like this: ^&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/extra_carat.gif http://luk4ward.boo.pl/files/gallery/thumbs/extra_carat.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Fixed ETADMIN MOD exploit which allow the attacker to get same level using prepared nick of victim (version 2.1)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== rcon cmds ======&lt;br /&gt;
* Script also gives u new rcon rename commands&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:33:40:&amp;gt; rename&lt;br /&gt;
-----------------&lt;br /&gt;
Usage: rename ID newnick&lt;br /&gt;
Example#1 (to clean the nick): rename ID clean&lt;br /&gt;
Example#2 (to cut the nick): rename ID cutnick&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_rename.gif]&lt;br /&gt;
** In game looks like this&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_rename.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/clean_name.gif http://luk4ward.boo.pl/files/gallery/thumbs/clean_name.gif]&lt;br /&gt;
&lt;br /&gt;
===== Anti-highping mod =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module allows admin to put on spec players with specified ping&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:00:19:&amp;gt; ping2spec&lt;br /&gt;
--------------------&lt;br /&gt;
Usage: ping2spec [ ping &amp;gt;0 ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_ping2spec.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ping2spec.gif]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Files can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/fixed_gamedate.gif http://luk4ward.boo.pl/files/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etserver_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/howitworks.gif http://luk4ward.boo.pl/files/gallery/thumbs/howitworks.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* ACpro ver 2.1 gives u the avability to change the Filter Mode:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- mode 1 will check against the first part of IP (like 83.)&lt;br /&gt;
-- mode 2 will check against the first two parts of IP (like 83.60.)&lt;br /&gt;
-- mode 4 will check against the first part of IP (like 83.)&lt;br /&gt;
--             and allow to join only from the added players of your added FilterMasks&lt;br /&gt;
--             example:&lt;br /&gt;
--             1) player from 1.2.3.4 is connecting&lt;br /&gt;
--             2) script not found a filename [1_.dat] from ipbans/ with his IP&lt;br /&gt;
--	       3) script refused entry&lt;br /&gt;
--             4) admin is adding FilterMask for ip 1.2.3.4 via rcon&lt;br /&gt;
--             5) player from 1.2.3.4 is connecting&lt;br /&gt;
--             6) script not found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             7) script refused entry&lt;br /&gt;
--             8) admin is adding his guid for ip 1.2.3.4 via rcon&lt;br /&gt;
--             9) player from 1.2.3.4 is connecting&lt;br /&gt;
--             10) script found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             11) script allowed to join the sever&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* #1 It&#039;s checking if the part/s of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server [ mode 1,2 ] or kick not recognized IP [ mode 4 ]&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see part about Logging data of players)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; There are 3 ways how to manage those bans (rcon, ftp, etadmin), the &amp;lt;i&amp;gt;HOW TO&amp;lt;/i&amp;gt; under is based on mode 2 but it looks the same for other (you just have to change filenames to one part of IP for 1,4 modes) ! &lt;br /&gt;
Modes 1,2 are for public server, but mode 4 is for leagues&#039; or private servers because it will allow to join only specified players.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_add.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_add.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:07:30:&amp;gt; add&lt;br /&gt;
--------------&lt;br /&gt;
Examples depend on filter_mode [activated: 2] -&amp;gt; enter 2 first parts of IP (with 2 dots: one after each number) !&lt;br /&gt;
&lt;br /&gt;
Usage:     add             cl_guid                 nick        ip           by&lt;br /&gt;
Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.      admin&lt;br /&gt;
Example#2: add GuidGuidGUIDGUIDGUIDGuidGUIDGUID clean_player 83.100.123.  admin&lt;br /&gt;
Example#3: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.100.5 admin&lt;br /&gt;
&lt;br /&gt;
Usage:     add mask cheater     ip        by&lt;br /&gt;
Example#1: add mask cheater 83.100.      admin&lt;br /&gt;
Example#2: add mask cheater 83.100.123.  admin&lt;br /&gt;
Example#3: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
=== VSP stats fixes ===&lt;br /&gt;
==== [http://www.scivox.net/smf/index.php?topic=834.msg6231#msg6231 &amp;gt;&amp;gt; Stop full punkbuster guids from being displayed &amp;lt;&amp;lt;] ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2944</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2944"/>
		<updated>2008-05-09T10:00:31Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: /* About */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;middle&amp;quot;&amp;gt;&lt;br /&gt;
http://luk4ward.boo.pl/images/acpro2.1.png&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl OBJective Cmpgn [ /connect 193.33.34.11:27965 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) shield mod created by Nappy&lt;br /&gt;
** -- *) /kill mod created by Infty modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl TeamDeathMatch Cmpgn [ /connect 193.33.34.15:27960 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup mod created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
* &amp;lt;b&amp;gt;u|k. public server 3.2.6_2.60b [ /connect 83.142.226.97:29023 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;All server got modified etadmin mod which includes fixes and some other custom things, even individual pk3 files !&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
More servers with this mod:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;[ N e X u S ] ET - 01 - [ETPro 3.2.6]&amp;lt;/b&amp;gt;: /connect 137.224.240.8:27960&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;[ N e X u S ] ET - 03 - [ETPro 3.2.6]&amp;lt;/b&amp;gt;: /connect 137.224.240.16:27960&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;G4@UPC.[PL]&amp;lt;/b&amp;gt;: /connect 81.18.192.11:27960&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;G5@UPC.[PL]&amp;lt;/b&amp;gt;: /connect 81.18.192.12:27960&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=6 &amp;gt;&amp;gt; Download ACpro 2.1 mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/gallery.php?id=6 &amp;gt;&amp;gt; Screenies of ACpro 2.1 mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 2.1 includes [http://bani.anime.net/banimod/forums/viewtopic.php?t=6777 Reyalp&#039; fixes] modified by me and [http://wolfwiki.anime.net/index.php/User:Luk4ward#bad_names &amp;lt;b&amp;gt;IMPORTANT  fix for ETadmin mod level exploit using prepared name&amp;lt;/b&amp;gt;]&lt;br /&gt;
* credits inside .lua&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
23:57:21:&amp;gt; lua_status&lt;br /&gt;
---------------------&lt;br /&gt;
etpro: Loaded lua scripts&lt;br /&gt;
VM Modname                  Signature                                Filename&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
01 ACpro:2.1slot:1          A9CE3267322FB4990329EDDEA53B10A6B9174B78 ac2pro.lua&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* rcon:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_ac2pro.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ac2pro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes [http://bani.anime.net/banimod/forums/viewtopic.php?t=6777 Reyalp&#039; fixes] and such mods: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging &amp;amp; checking data of players ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/acpro_logs.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== Separated file logs ======&lt;br /&gt;
&lt;br /&gt;
* ok_eguids.log -&amp;gt; logging all passed etpro guids in format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ EGUID ] @ DATE 2008 from IP [ nick ]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* bad_guids.log -&amp;gt; logging all refused guids (includes checking cl_guid !!!), &amp;lt;b&amp;gt;REAL examples&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ OpensourcePowa ] @ Sun Mar  9 11:56:05 2008 from 84.95.125.101:62733 [ HUHUH??? ]&lt;br /&gt;
[ 256624374273789392012475FUFUFUFU ] @ Wed Mar 19 10:39:52 2008 from 80.54.117.13:27960 [ Corky ]&lt;br /&gt;
[ UNKNOWN ] @ Sat Mar 29 20:47:48 2008 from 87.105.54.61:27960 [ Grim ]&lt;br /&gt;
[ CHEATERS_ALWAYS_WIN_LOLOLOLOLOLOLOLOLOLO ] @ Sat Mar 29 23:16:49 2008 from 90.213.91.116:27960 [ downloaded5kill ]&lt;br /&gt;
[TahBambucha] @ Sun Apr 27 23:33:19 2008 from 201.15.159.39:50200 [ mx.ETTV-1 ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
etpro IAC: 4 GUID [ EGUID ] [ ETPRO_PLAYER ]&lt;br /&gt;
guidcheck: 4) client ETPRO_PLAYER from IP got ok eGUID: EGUID more info @ logs/ok_eguids.log &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Guids&#039; logging and filenames are up to Admin !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log_badguids = true -- includes cl_guid&lt;br /&gt;
log_okeguids = true -- only eguids&lt;br /&gt;
&lt;br /&gt;
logfile_badguids = &amp;quot;logs/bad_guids.log&amp;quot;&lt;br /&gt;
logfile_okeguids = &amp;quot;logs/ok_eguids.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-- check file logfile_badguids for the names, date and IPs of people with spoofed guids (cl_guids and etpro guids)&lt;br /&gt;
-- check file okeguids for the names, date and IPs of people with ok etpro guids (no etadmin format)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* not/accepted_players.log &amp;amp; players.log include data of connecting players in format:&lt;br /&gt;
&lt;br /&gt;
** name &amp;lt;br /&amp;gt;&lt;br /&gt;
** cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
** yawn link &amp;lt;br /&amp;gt;&lt;br /&gt;
** ip &amp;lt;br /&amp;gt;&lt;br /&gt;
** date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = player&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	yawn    = http://www.yawn.be/findPlayer.yawn?gamecode=ET&amp;amp;pbGuid=GUIDGUID&lt;br /&gt;
	ip      = 123.456.789.0&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Client 7 connecting with 50 challenge ping&lt;br /&gt;
filtercheck: client 4 cnt 1st time @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
running script for client 4 @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
filtercheck: mode 2&lt;br /&gt;
filtercheck: opening ipbans/83_25_.dat&lt;br /&gt;
filtercheck: closing ipbans/83_25_.dat&lt;br /&gt;
filtercheck: client 4 ok, more info @ logs/players.log !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Checking userinfo ======&lt;br /&gt;
&lt;br /&gt;
* How to check player userinfo via Reyalp script modified by me:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:38:57:&amp;gt; checkuserinfo&lt;br /&gt;
------------------------&lt;br /&gt;
Usage: checkuserinfo [etpro id]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_checkuserinfo.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_checkuserinfo.gif]&lt;br /&gt;
&lt;br /&gt;
* An option to ignore server administration by most modules of this script! You just have to type the tag (min length 3), but its recommended only if u got protected tag on the server !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Remember script will check a player while connecting and then while his userinfo is changed. Reyalp added also an option to check every x seconds one by one every player, but u can disable it via this script and use rcon command !&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ingame_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_players.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== in game ======&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can easily set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&lt;br /&gt;
                                            Counted players &lt;br /&gt;
&lt;br /&gt;
 Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====== via rcon ======&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Admin can see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== name change ======&lt;br /&gt;
* You can set after how many times player can change his nick, after the limit it will restore to the default one and info with his ID will be shown to everyone&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rename_limit.gif http://luk4ward.boo.pl/files/gallery/thumbs/rename_limit.gif]&lt;br /&gt;
* You can set the kick name limit of player trying to change the name after reaching the name change limit&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/renames.gif http://luk4ward.boo.pl/files/gallery/thumbs/renames.gif]&lt;br /&gt;
====== name length ======&lt;br /&gt;
* You can also set min and max length of allowed nicknames (length will not count spaces and color codes !)&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname_len.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname_len.gif]&lt;br /&gt;
====== bad names ======&lt;br /&gt;
* You can set bad names, by default script will check for Reyalp&#039;s bad names, english &amp;amp; polish bad names and for random bad nicks&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname.gif]&lt;br /&gt;
* And also for extra carat char, which looks like this: ^&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/extra_carat.gif http://luk4ward.boo.pl/files/gallery/thumbs/extra_carat.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Fixed ETADMIN MOD exploit which allow the attacker to get same level using prepared nick of victim (version 2.1)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== rcon cmds ======&lt;br /&gt;
* Script also gives u new rcon rename commands&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:33:40:&amp;gt; rename&lt;br /&gt;
-----------------&lt;br /&gt;
Usage: rename ID newnick&lt;br /&gt;
Example#1 (to clean the nick): rename ID clean&lt;br /&gt;
Example#2 (to cut the nick): rename ID cutnick&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_rename.gif]&lt;br /&gt;
** In game looks like this&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_rename.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/clean_name.gif http://luk4ward.boo.pl/files/gallery/thumbs/clean_name.gif]&lt;br /&gt;
&lt;br /&gt;
===== Anti-highping mod =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module allows admin to put on spec players with specified ping&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:00:19:&amp;gt; ping2spec&lt;br /&gt;
--------------------&lt;br /&gt;
Usage: ping2spec [ ping &amp;gt;0 ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_ping2spec.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ping2spec.gif]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Files can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/fixed_gamedate.gif http://luk4ward.boo.pl/files/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etserver_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/howitworks.gif http://luk4ward.boo.pl/files/gallery/thumbs/howitworks.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* ACpro ver 2.1 gives u the avability to change the Filter Mode:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- mode 1 will check against the first part of IP (like 83.)&lt;br /&gt;
-- mode 2 will check against the first two parts of IP (like 83.60.)&lt;br /&gt;
-- mode 4 will check against the first part of IP (like 83.)&lt;br /&gt;
--             and allow to join only from the added players of your added FilterMasks&lt;br /&gt;
--             example:&lt;br /&gt;
--             1) player from 1.2.3.4 is connecting&lt;br /&gt;
--             2) script not found a filename [1_.dat] from ipbans/ with his IP&lt;br /&gt;
--	       3) script refused entry&lt;br /&gt;
--             4) admin is adding FilterMask for ip 1.2.3.4 via rcon&lt;br /&gt;
--             5) player from 1.2.3.4 is connecting&lt;br /&gt;
--             6) script not found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             7) script refused entry&lt;br /&gt;
--             8) admin is adding his guid for ip 1.2.3.4 via rcon&lt;br /&gt;
--             9) player from 1.2.3.4 is connecting&lt;br /&gt;
--             10) script found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             11) script allowed to join the sever&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* #1 It&#039;s checking if the part/s of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server [ mode 1,2 ] or kick not recognized IP [ mode 4 ]&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see part about Logging data of players)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; There are 3 ways how to manage those bans (rcon, ftp, etadmin), the &amp;lt;i&amp;gt;HOW TO&amp;lt;/i&amp;gt; under is based on mode 2 but it looks the same for other (you just have to change filenames to one part of IP for 1,4 modes) ! &lt;br /&gt;
Modes 1,2 are for public server, but mode 4 is for leagues&#039; or private servers because it will allow to join only specified players.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_add.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_add.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:07:30:&amp;gt; add&lt;br /&gt;
--------------&lt;br /&gt;
Examples depend on filter_mode [activated: 2] -&amp;gt; enter 2 first parts of IP (with 2 dots: one after each number) !&lt;br /&gt;
&lt;br /&gt;
Usage:     add             cl_guid                 nick        ip           by&lt;br /&gt;
Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.      admin&lt;br /&gt;
Example#2: add GuidGuidGUIDGUIDGUIDGuidGUIDGUID clean_player 83.100.123.  admin&lt;br /&gt;
Example#3: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.100.5 admin&lt;br /&gt;
&lt;br /&gt;
Usage:     add mask cheater     ip        by&lt;br /&gt;
Example#1: add mask cheater 83.100.      admin&lt;br /&gt;
Example#2: add mask cheater 83.100.123.  admin&lt;br /&gt;
Example#3: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
=== VSP stats fixes ===&lt;br /&gt;
==== [http://www.scivox.net/smf/index.php?topic=834.msg6231#msg6231 &amp;gt;&amp;gt; Stop full punkbuster guids from being displayed &amp;lt;&amp;lt;] ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2943</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2943"/>
		<updated>2008-05-09T09:49:01Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;middle&amp;quot;&amp;gt;&lt;br /&gt;
http://luk4ward.boo.pl/images/acpro2.1.png&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl OBJective Cmpgn [ /connect 193.33.34.11:27965 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) shield mod created by Nappy&lt;br /&gt;
** -- *) /kill mod created by Infty modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl TeamDeathMatch Cmpgn [ /connect 193.33.34.15:27960 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup mod created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
* &amp;lt;b&amp;gt;u|k. public server 3.2.6_2.60b [ /connect 83.142.226.97:29023 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;All server got modified etadmin mod which includes fixes and some other custom things, even individual pk3 files !&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=6 &amp;gt;&amp;gt; Download ACpro 2.1 mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/gallery.php?id=6 &amp;gt;&amp;gt; Screenies of ACpro 2.1 mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 2.1 includes [http://bani.anime.net/banimod/forums/viewtopic.php?t=6777 Reyalp&#039; fixes] modified by me and [http://wolfwiki.anime.net/index.php/User:Luk4ward#bad_names &amp;lt;b&amp;gt;IMPORTANT  fix for ETadmin mod level exploit using prepared name&amp;lt;/b&amp;gt;]&lt;br /&gt;
* credits inside .lua&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
23:57:21:&amp;gt; lua_status&lt;br /&gt;
---------------------&lt;br /&gt;
etpro: Loaded lua scripts&lt;br /&gt;
VM Modname                  Signature                                Filename&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
01 ACpro:2.1slot:1          A9CE3267322FB4990329EDDEA53B10A6B9174B78 ac2pro.lua&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* rcon:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_ac2pro.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ac2pro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes [http://bani.anime.net/banimod/forums/viewtopic.php?t=6777 Reyalp&#039; fixes] and such mods: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging &amp;amp; checking data of players ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/acpro_logs.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== Separated file logs ======&lt;br /&gt;
&lt;br /&gt;
* ok_eguids.log -&amp;gt; logging all passed etpro guids in format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ EGUID ] @ DATE 2008 from IP [ nick ]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* bad_guids.log -&amp;gt; logging all refused guids (includes checking cl_guid !!!), &amp;lt;b&amp;gt;REAL examples&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ OpensourcePowa ] @ Sun Mar  9 11:56:05 2008 from 84.95.125.101:62733 [ HUHUH??? ]&lt;br /&gt;
[ 256624374273789392012475FUFUFUFU ] @ Wed Mar 19 10:39:52 2008 from 80.54.117.13:27960 [ Corky ]&lt;br /&gt;
[ UNKNOWN ] @ Sat Mar 29 20:47:48 2008 from 87.105.54.61:27960 [ Grim ]&lt;br /&gt;
[ CHEATERS_ALWAYS_WIN_LOLOLOLOLOLOLOLOLOLO ] @ Sat Mar 29 23:16:49 2008 from 90.213.91.116:27960 [ downloaded5kill ]&lt;br /&gt;
[TahBambucha] @ Sun Apr 27 23:33:19 2008 from 201.15.159.39:50200 [ mx.ETTV-1 ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
etpro IAC: 4 GUID [ EGUID ] [ ETPRO_PLAYER ]&lt;br /&gt;
guidcheck: 4) client ETPRO_PLAYER from IP got ok eGUID: EGUID more info @ logs/ok_eguids.log &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Guids&#039; logging and filenames are up to Admin !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log_badguids = true -- includes cl_guid&lt;br /&gt;
log_okeguids = true -- only eguids&lt;br /&gt;
&lt;br /&gt;
logfile_badguids = &amp;quot;logs/bad_guids.log&amp;quot;&lt;br /&gt;
logfile_okeguids = &amp;quot;logs/ok_eguids.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-- check file logfile_badguids for the names, date and IPs of people with spoofed guids (cl_guids and etpro guids)&lt;br /&gt;
-- check file okeguids for the names, date and IPs of people with ok etpro guids (no etadmin format)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* not/accepted_players.log &amp;amp; players.log include data of connecting players in format:&lt;br /&gt;
&lt;br /&gt;
** name &amp;lt;br /&amp;gt;&lt;br /&gt;
** cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
** yawn link &amp;lt;br /&amp;gt;&lt;br /&gt;
** ip &amp;lt;br /&amp;gt;&lt;br /&gt;
** date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = player&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	yawn    = http://www.yawn.be/findPlayer.yawn?gamecode=ET&amp;amp;pbGuid=GUIDGUID&lt;br /&gt;
	ip      = 123.456.789.0&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Client 7 connecting with 50 challenge ping&lt;br /&gt;
filtercheck: client 4 cnt 1st time @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
running script for client 4 @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
filtercheck: mode 2&lt;br /&gt;
filtercheck: opening ipbans/83_25_.dat&lt;br /&gt;
filtercheck: closing ipbans/83_25_.dat&lt;br /&gt;
filtercheck: client 4 ok, more info @ logs/players.log !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Checking userinfo ======&lt;br /&gt;
&lt;br /&gt;
* How to check player userinfo via Reyalp script modified by me:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:38:57:&amp;gt; checkuserinfo&lt;br /&gt;
------------------------&lt;br /&gt;
Usage: checkuserinfo [etpro id]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_checkuserinfo.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_checkuserinfo.gif]&lt;br /&gt;
&lt;br /&gt;
* An option to ignore server administration by most modules of this script! You just have to type the tag (min length 3), but its recommended only if u got protected tag on the server !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Remember script will check a player while connecting and then while his userinfo is changed. Reyalp added also an option to check every x seconds one by one every player, but u can disable it via this script and use rcon command !&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ingame_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_players.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== in game ======&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can easily set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&lt;br /&gt;
                                            Counted players &lt;br /&gt;
&lt;br /&gt;
 Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====== via rcon ======&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Admin can see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== name change ======&lt;br /&gt;
* You can set after how many times player can change his nick, after the limit it will restore to the default one and info with his ID will be shown to everyone&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rename_limit.gif http://luk4ward.boo.pl/files/gallery/thumbs/rename_limit.gif]&lt;br /&gt;
* You can set the kick name limit of player trying to change the name after reaching the name change limit&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/renames.gif http://luk4ward.boo.pl/files/gallery/thumbs/renames.gif]&lt;br /&gt;
====== name length ======&lt;br /&gt;
* You can also set min and max length of allowed nicknames (length will not count spaces and color codes !)&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname_len.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname_len.gif]&lt;br /&gt;
====== bad names ======&lt;br /&gt;
* You can set bad names, by default script will check for Reyalp&#039;s bad names, english &amp;amp; polish bad names and for random bad nicks&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname.gif]&lt;br /&gt;
* And also for extra carat char, which looks like this: ^&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/extra_carat.gif http://luk4ward.boo.pl/files/gallery/thumbs/extra_carat.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Fixed ETADMIN MOD exploit which allow the attacker to get same level using prepared nick of victim (version 2.1)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== rcon cmds ======&lt;br /&gt;
* Script also gives u new rcon rename commands&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:33:40:&amp;gt; rename&lt;br /&gt;
-----------------&lt;br /&gt;
Usage: rename ID newnick&lt;br /&gt;
Example#1 (to clean the nick): rename ID clean&lt;br /&gt;
Example#2 (to cut the nick): rename ID cutnick&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_rename.gif]&lt;br /&gt;
** In game looks like this&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_rename.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/clean_name.gif http://luk4ward.boo.pl/files/gallery/thumbs/clean_name.gif]&lt;br /&gt;
&lt;br /&gt;
===== Anti-highping mod =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module allows admin to put on spec players with specified ping&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:00:19:&amp;gt; ping2spec&lt;br /&gt;
--------------------&lt;br /&gt;
Usage: ping2spec [ ping &amp;gt;0 ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_ping2spec.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ping2spec.gif]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Files can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/fixed_gamedate.gif http://luk4ward.boo.pl/files/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etserver_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/howitworks.gif http://luk4ward.boo.pl/files/gallery/thumbs/howitworks.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* ACpro ver 2.1 gives u the avability to change the Filter Mode:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- mode 1 will check against the first part of IP (like 83.)&lt;br /&gt;
-- mode 2 will check against the first two parts of IP (like 83.60.)&lt;br /&gt;
-- mode 4 will check against the first part of IP (like 83.)&lt;br /&gt;
--             and allow to join only from the added players of your added FilterMasks&lt;br /&gt;
--             example:&lt;br /&gt;
--             1) player from 1.2.3.4 is connecting&lt;br /&gt;
--             2) script not found a filename [1_.dat] from ipbans/ with his IP&lt;br /&gt;
--	       3) script refused entry&lt;br /&gt;
--             4) admin is adding FilterMask for ip 1.2.3.4 via rcon&lt;br /&gt;
--             5) player from 1.2.3.4 is connecting&lt;br /&gt;
--             6) script not found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             7) script refused entry&lt;br /&gt;
--             8) admin is adding his guid for ip 1.2.3.4 via rcon&lt;br /&gt;
--             9) player from 1.2.3.4 is connecting&lt;br /&gt;
--             10) script found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             11) script allowed to join the sever&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* #1 It&#039;s checking if the part/s of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server [ mode 1,2 ] or kick not recognized IP [ mode 4 ]&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see part about Logging data of players)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; There are 3 ways how to manage those bans (rcon, ftp, etadmin), the &amp;lt;i&amp;gt;HOW TO&amp;lt;/i&amp;gt; under is based on mode 2 but it looks the same for other (you just have to change filenames to one part of IP for 1,4 modes) ! &lt;br /&gt;
Modes 1,2 are for public server, but mode 4 is for leagues&#039; or private servers because it will allow to join only specified players.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_add.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_add.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:07:30:&amp;gt; add&lt;br /&gt;
--------------&lt;br /&gt;
Examples depend on filter_mode [activated: 2] -&amp;gt; enter 2 first parts of IP (with 2 dots: one after each number) !&lt;br /&gt;
&lt;br /&gt;
Usage:     add             cl_guid                 nick        ip           by&lt;br /&gt;
Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.      admin&lt;br /&gt;
Example#2: add GuidGuidGUIDGUIDGUIDGuidGUIDGUID clean_player 83.100.123.  admin&lt;br /&gt;
Example#3: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.100.5 admin&lt;br /&gt;
&lt;br /&gt;
Usage:     add mask cheater     ip        by&lt;br /&gt;
Example#1: add mask cheater 83.100.      admin&lt;br /&gt;
Example#2: add mask cheater 83.100.123.  admin&lt;br /&gt;
Example#3: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
=== VSP stats fixes ===&lt;br /&gt;
==== [http://www.scivox.net/smf/index.php?topic=834.msg6231#msg6231 &amp;gt;&amp;gt; Stop full punkbuster guids from being displayed &amp;lt;&amp;lt;] ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2942</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2942"/>
		<updated>2008-05-09T00:33:45Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;middle&amp;quot;&amp;gt;&lt;br /&gt;
http://luk4ward.boo.pl/images/acpro2.1.png&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl OBJective Cmpgn [ /connect 193.33.34.11:27965 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) shield mod created by Nappy&lt;br /&gt;
** -- *) /kill mod created by Infty modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl TeamDeathMatch Cmpgn [ /connect 193.33.34.15:27960 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup mod created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
* &amp;lt;b&amp;gt;u|k. public server 3.2.6_2.60b [ /connect 83.142.226.97:29023 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;All server got modified etadmin mod which includes fixes and some other custom things, even individual pk3 files !&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=6 &amp;gt;&amp;gt; Download ACpro 2.1 mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/gallery.php?id=6 &amp;gt;&amp;gt; Screenies of ACpro 2.1 mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 2.1 includes [http://bani.anime.net/banimod/forums/viewtopic.php?t=6777 Reyalp&#039; fixes] modified by me and [http://wolfwiki.anime.net/index.php/User:Luk4ward#bad_names &amp;lt;b&amp;gt;IMPORTANT  fix for ETadmin mod level exploit using prepared name&amp;lt;/b&amp;gt;]&lt;br /&gt;
* credits inside .lua&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
23:57:21:&amp;gt; lua_status&lt;br /&gt;
---------------------&lt;br /&gt;
etpro: Loaded lua scripts&lt;br /&gt;
VM Modname                  Signature                                Filename&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
01 ACpro:2.1slot:1          A9CE3267322FB4990329EDDEA53B10A6B9174B78 ac2pro.lua&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* rcon:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_ac2pro.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ac2pro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes Reyalp&#039; fixes and such mods: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging &amp;amp; checking data of players ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/acpro_logs.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== Separated file logs ======&lt;br /&gt;
&lt;br /&gt;
* ok_eguids.log -&amp;gt; logging all passed etpro guids in format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ EGUID ] @ DATE 2008 from IP [ nick ]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* bad_guids.log -&amp;gt; logging all refused guids (includes checking cl_guid !!!), &amp;lt;b&amp;gt;REAL examples&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ OpensourcePowa ] @ Sun Mar  9 11:56:05 2008 from 84.95.125.101:62733 [ HUHUH??? ]&lt;br /&gt;
[ 256624374273789392012475FUFUFUFU ] @ Wed Mar 19 10:39:52 2008 from 80.54.117.13:27960 [ Corky ]&lt;br /&gt;
[ UNKNOWN ] @ Sat Mar 29 20:47:48 2008 from 87.105.54.61:27960 [ Grim ]&lt;br /&gt;
[ CHEATERS_ALWAYS_WIN_LOLOLOLOLOLOLOLOLOLO ] @ Sat Mar 29 23:16:49 2008 from 90.213.91.116:27960 [ downloaded5kill ]&lt;br /&gt;
[TahBambucha] @ Sun Apr 27 23:33:19 2008 from 201.15.159.39:50200 [ mx.ETTV-1 ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
etpro IAC: 4 GUID [ EGUID ] [ ETPRO_PLAYER ]&lt;br /&gt;
guidcheck: 4) client ETPRO_PLAYER from IP got ok eGUID: EGUID more info @ logs/ok_eguids.log &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Guids&#039; logging and filenames are up to Admin !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log_badguids = true -- includes cl_guid&lt;br /&gt;
log_okeguids = true -- only eguids&lt;br /&gt;
&lt;br /&gt;
logfile_badguids = &amp;quot;logs/bad_guids.log&amp;quot;&lt;br /&gt;
logfile_okeguids = &amp;quot;logs/ok_eguids.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-- check file logfile_badguids for the names, date and IPs of people with spoofed guids (cl_guids and etpro guids)&lt;br /&gt;
-- check file okeguids for the names, date and IPs of people with ok etpro guids (no etadmin format)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* not/accepted_players.log &amp;amp; players.log include data of connecting players in format:&lt;br /&gt;
&lt;br /&gt;
** name &amp;lt;br /&amp;gt;&lt;br /&gt;
** cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
** yawn link &amp;lt;br /&amp;gt;&lt;br /&gt;
** ip &amp;lt;br /&amp;gt;&lt;br /&gt;
** date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = player&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	yawn    = http://www.yawn.be/findPlayer.yawn?gamecode=ET&amp;amp;pbGuid=GUIDGUID&lt;br /&gt;
	ip      = 123.456.789.0&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Client 7 connecting with 50 challenge ping&lt;br /&gt;
filtercheck: client 4 cnt 1st time @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
running script for client 4 @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
filtercheck: mode 2&lt;br /&gt;
filtercheck: opening ipbans/83_25_.dat&lt;br /&gt;
filtercheck: closing ipbans/83_25_.dat&lt;br /&gt;
filtercheck: client 4 ok, more info @ logs/players.log !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Checking userinfo ======&lt;br /&gt;
&lt;br /&gt;
* How to check player userinfo via Reyalp script modified by me:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:38:57:&amp;gt; checkuserinfo&lt;br /&gt;
------------------------&lt;br /&gt;
Usage: checkuserinfo [etpro id]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_checkuserinfo.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_checkuserinfo.gif]&lt;br /&gt;
&lt;br /&gt;
* An option to ignore server administration by most modules of this script! You just have to type the tag (min length 3), but its recommended only if u got protected tag on the server !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Remember script will check a player while connecting and then while his userinfo is changed. Reyalp added also an option to check every x seconds one by one every player, but u can disable it via this script and use rcon command !&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ingame_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_players.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== in game ======&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can easily set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&lt;br /&gt;
                                            Counted players &lt;br /&gt;
&lt;br /&gt;
 Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====== via rcon ======&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Admin can see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== name change ======&lt;br /&gt;
* You can set after how many times player can change his nick, after the limit it will restore to the default one and info with his ID will be shown to everyone&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rename_limit.gif http://luk4ward.boo.pl/files/gallery/thumbs/rename_limit.gif]&lt;br /&gt;
* You can set the kick name limit of player trying to change the name after reaching the name change limit&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/renames.gif http://luk4ward.boo.pl/files/gallery/thumbs/renames.gif]&lt;br /&gt;
====== name length ======&lt;br /&gt;
* You can also set min and max length of allowed nicknames (length will not count spaces and color codes !)&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname_len.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname_len.gif]&lt;br /&gt;
====== bad names ======&lt;br /&gt;
* You can set bad names, by default script will check for Reyalp&#039;s bad names, english &amp;amp; polish bad names and for random bad nicks&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname.gif]&lt;br /&gt;
* And also for extra carat char, which looks like this: ^&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/extra_carat.gif http://luk4ward.boo.pl/files/gallery/thumbs/extra_carat.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Fixed ETADMIN MOD exploit which allow the attacker to get same level using prepared nick of victim (version 2.1)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== rcon cmds ======&lt;br /&gt;
* Script also gives u new rcon rename commands&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:33:40:&amp;gt; rename&lt;br /&gt;
-----------------&lt;br /&gt;
Usage: rename ID newnick&lt;br /&gt;
Example#1 (to clean the nick): rename ID clean&lt;br /&gt;
Example#2 (to cut the nick): rename ID cutnick&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_rename.gif]&lt;br /&gt;
** In game looks like this&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_rename.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/clean_name.gif http://luk4ward.boo.pl/files/gallery/thumbs/clean_name.gif]&lt;br /&gt;
&lt;br /&gt;
===== Anti-highping mod =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module allows admin to put on spec players with specified ping&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:00:19:&amp;gt; ping2spec&lt;br /&gt;
--------------------&lt;br /&gt;
Usage: ping2spec [ ping &amp;gt;0 ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_ping2spec.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ping2spec.gif]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Files can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/fixed_gamedate.gif http://luk4ward.boo.pl/files/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etserver_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/howitworks.gif http://luk4ward.boo.pl/files/gallery/thumbs/howitworks.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* ACpro ver 2.1 gives u the avability to change the Filter Mode:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- mode 1 will check against the first part of IP (like 83.)&lt;br /&gt;
-- mode 2 will check against the first two parts of IP (like 83.60.)&lt;br /&gt;
-- mode 4 will check against the first part of IP (like 83.)&lt;br /&gt;
--             and allow to join only from the added players of your added FilterMasks&lt;br /&gt;
--             example:&lt;br /&gt;
--             1) player from 1.2.3.4 is connecting&lt;br /&gt;
--             2) script not found a filename [1_.dat] from ipbans/ with his IP&lt;br /&gt;
--	       3) script refused entry&lt;br /&gt;
--             4) admin is adding FilterMask for ip 1.2.3.4 via rcon&lt;br /&gt;
--             5) player from 1.2.3.4 is connecting&lt;br /&gt;
--             6) script not found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             7) script refused entry&lt;br /&gt;
--             8) admin is adding his guid for ip 1.2.3.4 via rcon&lt;br /&gt;
--             9) player from 1.2.3.4 is connecting&lt;br /&gt;
--             10) script found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             11) script allowed to join the sever&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* #1 It&#039;s checking if the part/s of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server [ mode 1,2 ] or kick not recognized IP [ mode 4 ]&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see part about Logging data of players)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; There are 3 ways how to manage those bans (rcon, ftp, etadmin), the &amp;lt;i&amp;gt;HOW TO&amp;lt;/i&amp;gt; under is based on mode 2 but it looks the same for other (you just have to change filenames to one part of IP for 1,4 modes) ! &lt;br /&gt;
Modes 1,2 are for public server, but mode 4 is for leagues&#039; or private servers because it will allow to join only specified players.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_add.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_add.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:07:30:&amp;gt; add&lt;br /&gt;
--------------&lt;br /&gt;
Examples depend on filter_mode [activated: 2] -&amp;gt; enter 2 first parts of IP (with 2 dots: one after each number) !&lt;br /&gt;
&lt;br /&gt;
Usage:     add             cl_guid                 nick        ip           by&lt;br /&gt;
Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.      admin&lt;br /&gt;
Example#2: add GuidGuidGUIDGUIDGUIDGuidGUIDGUID clean_player 83.100.123.  admin&lt;br /&gt;
Example#3: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.100.5 admin&lt;br /&gt;
&lt;br /&gt;
Usage:     add mask cheater     ip        by&lt;br /&gt;
Example#1: add mask cheater 83.100.      admin&lt;br /&gt;
Example#2: add mask cheater 83.100.123.  admin&lt;br /&gt;
Example#3: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
=== VSP stats fixes ===&lt;br /&gt;
==== [http://www.scivox.net/smf/index.php?topic=834.msg6231#msg6231 &amp;gt;&amp;gt; Stop full punkbuster guids from being displayed &amp;lt;&amp;lt;] ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2941</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2941"/>
		<updated>2008-05-09T00:07:36Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: /* bad names */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;middle&amp;quot;&amp;gt;&lt;br /&gt;
http://luk4ward.boo.pl/images/acpro2.1.png&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl OBJective Cmpgn [ /connect 193.33.34.11:27965 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) shield mod created by Nappy&lt;br /&gt;
** -- *) /kill mod created by Infty modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl TeamDeathMatch Cmpgn [ /connect 193.33.34.15:27960 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup mod created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
* &amp;lt;b&amp;gt;u|k. public server 3.2.6_2.60b [ /connect 83.142.226.97:29023 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;All server got modified etadmin mod which includes fixes and some other custom things, even individual pk3 files !&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=6 &amp;gt;&amp;gt; Download ACpro 2.1 mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/gallery.php?id=6 &amp;gt;&amp;gt; Screenies of ACpro 2.1 mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 2.1 includes [http://bani.anime.net/banimod/forums/viewtopic.php?t=6777 Reyalp&#039; fixes] modified by me and [http://wolfwiki.anime.net/index.php/User:Luk4ward#bad_names &amp;lt;b&amp;gt;IMPORTANT  fix for ETadmin mod level exploit using prepared name&amp;lt;/b&amp;gt;]&lt;br /&gt;
* credits inside .lua&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
23:57:21:&amp;gt; lua_status&lt;br /&gt;
---------------------&lt;br /&gt;
etpro: Loaded lua scripts&lt;br /&gt;
VM Modname                  Signature                                Filename&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
01 ACpro:2.1slot:1          A9CE3267322FB4990329EDDEA53B10A6B9174B78 ac2pro.lua&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* rcon:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_ac2pro.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ac2pro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes such mods and Reyalp&#039; fixes: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging &amp;amp; checking data of players ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/acpro_logs.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== Separated file logs ======&lt;br /&gt;
&lt;br /&gt;
* ok_eguids.log -&amp;gt; logging all passed etpro guids in format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ EGUID ] @ DATE 2008 from IP [ nick ]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* bad_guids.log -&amp;gt; logging all refused guids (includes checking cl_guid !!!), &amp;lt;b&amp;gt;REAL examples&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ OpensourcePowa ] @ Sun Mar  9 11:56:05 2008 from 84.95.125.101:62733 [ HUHUH??? ]&lt;br /&gt;
[ 256624374273789392012475FUFUFUFU ] @ Wed Mar 19 10:39:52 2008 from 80.54.117.13:27960 [ Corky ]&lt;br /&gt;
[ UNKNOWN ] @ Sat Mar 29 20:47:48 2008 from 87.105.54.61:27960 [ Grim ]&lt;br /&gt;
[ CHEATERS_ALWAYS_WIN_LOLOLOLOLOLOLOLOLOLO ] @ Sat Mar 29 23:16:49 2008 from 90.213.91.116:27960 [ downloaded5kill ]&lt;br /&gt;
[TahBambucha] @ Sun Apr 27 23:33:19 2008 from 201.15.159.39:50200 [ mx.ETTV-1 ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
etpro IAC: 4 GUID [ EGUID ] [ ETPRO_PLAYER ]&lt;br /&gt;
guidcheck: 4) client ETPRO_PLAYER from IP got ok eGUID: EGUID more info @ logs/ok_eguids.log &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Guids&#039; logging and filenames are up to Admin !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log_badguids = true -- includes cl_guid&lt;br /&gt;
log_okeguids = true -- only eguids&lt;br /&gt;
&lt;br /&gt;
logfile_badguids = &amp;quot;logs/bad_guids.log&amp;quot;&lt;br /&gt;
logfile_okeguids = &amp;quot;logs/ok_eguids.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-- check file logfile_badguids for the names, date and IPs of people with spoofed guids (cl_guids and etpro guids)&lt;br /&gt;
-- check file okeguids for the names, date and IPs of people with ok etpro guids (no etadmin format)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* not/accepted_players.log &amp;amp; players.log include data of connecting players in format:&lt;br /&gt;
&lt;br /&gt;
** name &amp;lt;br /&amp;gt;&lt;br /&gt;
** cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
** yawn link &amp;lt;br /&amp;gt;&lt;br /&gt;
** ip &amp;lt;br /&amp;gt;&lt;br /&gt;
** date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = player&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	yawn    = http://www.yawn.be/findPlayer.yawn?gamecode=ET&amp;amp;pbGuid=GUIDGUID&lt;br /&gt;
	ip      = 123.456.789.0&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Client 7 connecting with 50 challenge ping&lt;br /&gt;
filtercheck: client 4 cnt 1st time @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
running script for client 4 @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
filtercheck: mode 2&lt;br /&gt;
filtercheck: opening ipbans/83_25_.dat&lt;br /&gt;
filtercheck: closing ipbans/83_25_.dat&lt;br /&gt;
filtercheck: client 4 ok, more info @ logs/players.log !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Checking userinfo ======&lt;br /&gt;
&lt;br /&gt;
* How to check player userinfo via Reyalp script modified by me:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:38:57:&amp;gt; checkuserinfo&lt;br /&gt;
------------------------&lt;br /&gt;
Usage: checkuserinfo [etpro id]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_checkuserinfo.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_checkuserinfo.gif]&lt;br /&gt;
&lt;br /&gt;
* An option to ignore server administration by most modules of this script! You just have to type the tag (min length 3), but its recommended only if u got protected tag on the server !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Remember script will check a player while connecting and then while his userinfo is changed. Reyalp added also an option to check every x seconds one by one every player, but u can disable it via this script and use rcon command !&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ingame_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_players.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== in game ======&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can easily set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&lt;br /&gt;
                                            Counted players &lt;br /&gt;
&lt;br /&gt;
 Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====== via rcon ======&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Admin can see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== name change ======&lt;br /&gt;
* You can set after how many times player can change his nick, after the limit it will restore to the default one and info with his ID will be shown to everyone&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rename_limit.gif http://luk4ward.boo.pl/files/gallery/thumbs/rename_limit.gif]&lt;br /&gt;
* You can set the kick name limit of player trying to change the name after reaching the name change limit&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/renames.gif http://luk4ward.boo.pl/files/gallery/thumbs/renames.gif]&lt;br /&gt;
====== name length ======&lt;br /&gt;
* You can also set min and max length of allowed nicknames (length will not count spaces and color codes !)&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname_len.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname_len.gif]&lt;br /&gt;
====== bad names ======&lt;br /&gt;
* You can set bad names, by default script will check for Reyalp&#039;s bad names, english &amp;amp; polish bad names and for random bad nicks&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname.gif]&lt;br /&gt;
* And also for extra carat char, which looks like this: ^&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/extra_carat.gif http://luk4ward.boo.pl/files/gallery/thumbs/extra_carat.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Fixed ETADMIN MOD exploit which allow the attacker to get same level using prepared nick of victim (version 2.1)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== rcon cmds ======&lt;br /&gt;
* Script also gives u new rcon rename commands&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:33:40:&amp;gt; rename&lt;br /&gt;
-----------------&lt;br /&gt;
Usage: rename ID newnick&lt;br /&gt;
Example#1 (to clean the nick): rename ID clean&lt;br /&gt;
Example#2 (to cut the nick): rename ID cutnick&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_rename.gif]&lt;br /&gt;
** In game looks like this&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_rename.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/clean_name.gif http://luk4ward.boo.pl/files/gallery/thumbs/clean_name.gif]&lt;br /&gt;
&lt;br /&gt;
===== Anti-highping mod =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module allows admin to put on spec players with specified ping&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:00:19:&amp;gt; ping2spec&lt;br /&gt;
--------------------&lt;br /&gt;
Usage: ping2spec [ ping &amp;gt;0 ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_ping2spec.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ping2spec.gif]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Files can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/fixed_gamedate.gif http://luk4ward.boo.pl/files/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etserver_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/howitworks.gif http://luk4ward.boo.pl/files/gallery/thumbs/howitworks.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* ACpro ver 2.1 gives u the avability to change the Filter Mode:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- mode 1 will check against the first part of IP (like 83.)&lt;br /&gt;
-- mode 2 will check against the first two parts of IP (like 83.60.)&lt;br /&gt;
-- mode 4 will check against the first part of IP (like 83.)&lt;br /&gt;
--             and allow to join only from the added players of your added FilterMasks&lt;br /&gt;
--             example:&lt;br /&gt;
--             1) player from 1.2.3.4 is connecting&lt;br /&gt;
--             2) script not found a filename [1_.dat] from ipbans/ with his IP&lt;br /&gt;
--	       3) script refused entry&lt;br /&gt;
--             4) admin is adding FilterMask for ip 1.2.3.4 via rcon&lt;br /&gt;
--             5) player from 1.2.3.4 is connecting&lt;br /&gt;
--             6) script not found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             7) script refused entry&lt;br /&gt;
--             8) admin is adding his guid for ip 1.2.3.4 via rcon&lt;br /&gt;
--             9) player from 1.2.3.4 is connecting&lt;br /&gt;
--             10) script found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             11) script allowed to join the sever&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* #1 It&#039;s checking if the part/s of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server [ mode 1,2 ] or kick not recognized IP [ mode 4 ]&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see part about Logging data of players)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; There are 3 ways how to manage those bans (rcon, ftp, etadmin), the &amp;lt;i&amp;gt;HOW TO&amp;lt;/i&amp;gt; under is based on mode 2 but it looks the same for other (you just have to change filenames to one part of IP for 1,4 modes) ! &lt;br /&gt;
Modes 1,2 are for public server, but mode 4 is for leagues&#039; or private servers because it will allow to join only specified players.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_add.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_add.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:07:30:&amp;gt; add&lt;br /&gt;
--------------&lt;br /&gt;
Examples depend on filter_mode [activated: 2] -&amp;gt; enter 2 first parts of IP (with 2 dots: one after each number) !&lt;br /&gt;
&lt;br /&gt;
Usage:     add             cl_guid                 nick        ip           by&lt;br /&gt;
Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.      admin&lt;br /&gt;
Example#2: add GuidGuidGUIDGUIDGUIDGuidGUIDGUID clean_player 83.100.123.  admin&lt;br /&gt;
Example#3: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.100.5 admin&lt;br /&gt;
&lt;br /&gt;
Usage:     add mask cheater     ip        by&lt;br /&gt;
Example#1: add mask cheater 83.100.      admin&lt;br /&gt;
Example#2: add mask cheater 83.100.123.  admin&lt;br /&gt;
Example#3: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
=== VSP stats fixes ===&lt;br /&gt;
==== [http://www.scivox.net/smf/index.php?topic=834.msg6231#msg6231 &amp;gt;&amp;gt; Stop full punkbuster guids from being displayed &amp;lt;&amp;lt;] ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2940</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2940"/>
		<updated>2008-05-09T00:06:01Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;middle&amp;quot;&amp;gt;&lt;br /&gt;
http://luk4ward.boo.pl/images/acpro2.1.png&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl OBJective Cmpgn [ /connect 193.33.34.11:27965 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) shield mod created by Nappy&lt;br /&gt;
** -- *) /kill mod created by Infty modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl TeamDeathMatch Cmpgn [ /connect 193.33.34.15:27960 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup mod created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
* &amp;lt;b&amp;gt;u|k. public server 3.2.6_2.60b [ /connect 83.142.226.97:29023 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;All server got modified etadmin mod which includes fixes and some other custom things, even individual pk3 files !&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=6 &amp;gt;&amp;gt; Download ACpro 2.1 mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/gallery.php?id=6 &amp;gt;&amp;gt; Screenies of ACpro 2.1 mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 2.1 includes [http://bani.anime.net/banimod/forums/viewtopic.php?t=6777 Reyalp&#039; fixes] modified by me and [http://wolfwiki.anime.net/index.php/User:Luk4ward#bad_names &amp;lt;b&amp;gt;IMPORTANT  fix for ETadmin mod level exploit using prepared name&amp;lt;/b&amp;gt;]&lt;br /&gt;
* credits inside .lua&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
23:57:21:&amp;gt; lua_status&lt;br /&gt;
---------------------&lt;br /&gt;
etpro: Loaded lua scripts&lt;br /&gt;
VM Modname                  Signature                                Filename&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
01 ACpro:2.1slot:1          A9CE3267322FB4990329EDDEA53B10A6B9174B78 ac2pro.lua&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* rcon:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_ac2pro.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ac2pro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes such mods and Reyalp&#039; fixes: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging &amp;amp; checking data of players ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/acpro_logs.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== Separated file logs ======&lt;br /&gt;
&lt;br /&gt;
* ok_eguids.log -&amp;gt; logging all passed etpro guids in format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ EGUID ] @ DATE 2008 from IP [ nick ]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* bad_guids.log -&amp;gt; logging all refused guids (includes checking cl_guid !!!), &amp;lt;b&amp;gt;REAL examples&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ OpensourcePowa ] @ Sun Mar  9 11:56:05 2008 from 84.95.125.101:62733 [ HUHUH??? ]&lt;br /&gt;
[ 256624374273789392012475FUFUFUFU ] @ Wed Mar 19 10:39:52 2008 from 80.54.117.13:27960 [ Corky ]&lt;br /&gt;
[ UNKNOWN ] @ Sat Mar 29 20:47:48 2008 from 87.105.54.61:27960 [ Grim ]&lt;br /&gt;
[ CHEATERS_ALWAYS_WIN_LOLOLOLOLOLOLOLOLOLO ] @ Sat Mar 29 23:16:49 2008 from 90.213.91.116:27960 [ downloaded5kill ]&lt;br /&gt;
[TahBambucha] @ Sun Apr 27 23:33:19 2008 from 201.15.159.39:50200 [ mx.ETTV-1 ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
etpro IAC: 4 GUID [ EGUID ] [ ETPRO_PLAYER ]&lt;br /&gt;
guidcheck: 4) client ETPRO_PLAYER from IP got ok eGUID: EGUID more info @ logs/ok_eguids.log &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Guids&#039; logging and filenames are up to Admin !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log_badguids = true -- includes cl_guid&lt;br /&gt;
log_okeguids = true -- only eguids&lt;br /&gt;
&lt;br /&gt;
logfile_badguids = &amp;quot;logs/bad_guids.log&amp;quot;&lt;br /&gt;
logfile_okeguids = &amp;quot;logs/ok_eguids.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-- check file logfile_badguids for the names, date and IPs of people with spoofed guids (cl_guids and etpro guids)&lt;br /&gt;
-- check file okeguids for the names, date and IPs of people with ok etpro guids (no etadmin format)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* not/accepted_players.log &amp;amp; players.log include data of connecting players in format:&lt;br /&gt;
&lt;br /&gt;
** name &amp;lt;br /&amp;gt;&lt;br /&gt;
** cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
** yawn link &amp;lt;br /&amp;gt;&lt;br /&gt;
** ip &amp;lt;br /&amp;gt;&lt;br /&gt;
** date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = player&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	yawn    = http://www.yawn.be/findPlayer.yawn?gamecode=ET&amp;amp;pbGuid=GUIDGUID&lt;br /&gt;
	ip      = 123.456.789.0&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Client 7 connecting with 50 challenge ping&lt;br /&gt;
filtercheck: client 4 cnt 1st time @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
running script for client 4 @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
filtercheck: mode 2&lt;br /&gt;
filtercheck: opening ipbans/83_25_.dat&lt;br /&gt;
filtercheck: closing ipbans/83_25_.dat&lt;br /&gt;
filtercheck: client 4 ok, more info @ logs/players.log !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Checking userinfo ======&lt;br /&gt;
&lt;br /&gt;
* How to check player userinfo via Reyalp script modified by me:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:38:57:&amp;gt; checkuserinfo&lt;br /&gt;
------------------------&lt;br /&gt;
Usage: checkuserinfo [etpro id]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_checkuserinfo.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_checkuserinfo.gif]&lt;br /&gt;
&lt;br /&gt;
* An option to ignore server administration by most modules of this script! You just have to type the tag (min length 3), but its recommended only if u got protected tag on the server !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Remember script will check a player while connecting and then while his userinfo is changed. Reyalp added also an option to check every x seconds one by one every player, but u can disable it via this script and use rcon command !&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ingame_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_players.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== in game ======&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can easily set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&lt;br /&gt;
                                            Counted players &lt;br /&gt;
&lt;br /&gt;
 Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====== via rcon ======&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Admin can see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== name change ======&lt;br /&gt;
* You can set after how many times player can change his nick, after the limit it will restore to the default one and info with his ID will be shown to everyone&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rename_limit.gif http://luk4ward.boo.pl/files/gallery/thumbs/rename_limit.gif]&lt;br /&gt;
* You can set the kick name limit of player trying to change the name after reaching the name change limit&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/renames.gif http://luk4ward.boo.pl/files/gallery/thumbs/renames.gif]&lt;br /&gt;
====== name length ======&lt;br /&gt;
* You can also set min and max length of allowed nicknames (length will not count spaces and color codes !)&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname_len.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname_len.gif]&lt;br /&gt;
====== bad names ======&lt;br /&gt;
* You can set bad names, by default script will check for Reyalp&#039;s bad names, english &amp;amp; polish bad names and for random bad nicks&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname.gif]&lt;br /&gt;
* And also for extra carat char, which looks like this: ^&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/extra_carat.gif http://luk4ward.boo.pl/files/gallery/thumbs/extra_carat.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Fixed ETADMIN MOD exploit which allow the attacker to get same level using prepared nick of victim (verion 2.1)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
====== rcon cmds ======&lt;br /&gt;
* Script also gives u new rcon rename commands&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:33:40:&amp;gt; rename&lt;br /&gt;
-----------------&lt;br /&gt;
Usage: rename ID newnick&lt;br /&gt;
Example#1 (to clean the nick): rename ID clean&lt;br /&gt;
Example#2 (to cut the nick): rename ID cutnick&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_rename.gif]&lt;br /&gt;
** In game looks like this&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_rename.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/clean_name.gif http://luk4ward.boo.pl/files/gallery/thumbs/clean_name.gif]&lt;br /&gt;
&lt;br /&gt;
===== Anti-highping mod =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module allows admin to put on spec players with specified ping&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:00:19:&amp;gt; ping2spec&lt;br /&gt;
--------------------&lt;br /&gt;
Usage: ping2spec [ ping &amp;gt;0 ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_ping2spec.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ping2spec.gif]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Files can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/fixed_gamedate.gif http://luk4ward.boo.pl/files/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etserver_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/howitworks.gif http://luk4ward.boo.pl/files/gallery/thumbs/howitworks.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* ACpro ver 2.1 gives u the avability to change the Filter Mode:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- mode 1 will check against the first part of IP (like 83.)&lt;br /&gt;
-- mode 2 will check against the first two parts of IP (like 83.60.)&lt;br /&gt;
-- mode 4 will check against the first part of IP (like 83.)&lt;br /&gt;
--             and allow to join only from the added players of your added FilterMasks&lt;br /&gt;
--             example:&lt;br /&gt;
--             1) player from 1.2.3.4 is connecting&lt;br /&gt;
--             2) script not found a filename [1_.dat] from ipbans/ with his IP&lt;br /&gt;
--	       3) script refused entry&lt;br /&gt;
--             4) admin is adding FilterMask for ip 1.2.3.4 via rcon&lt;br /&gt;
--             5) player from 1.2.3.4 is connecting&lt;br /&gt;
--             6) script not found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             7) script refused entry&lt;br /&gt;
--             8) admin is adding his guid for ip 1.2.3.4 via rcon&lt;br /&gt;
--             9) player from 1.2.3.4 is connecting&lt;br /&gt;
--             10) script found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             11) script allowed to join the sever&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* #1 It&#039;s checking if the part/s of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server [ mode 1,2 ] or kick not recognized IP [ mode 4 ]&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see part about Logging data of players)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; There are 3 ways how to manage those bans (rcon, ftp, etadmin), the &amp;lt;i&amp;gt;HOW TO&amp;lt;/i&amp;gt; under is based on mode 2 but it looks the same for other (you just have to change filenames to one part of IP for 1,4 modes) ! &lt;br /&gt;
Modes 1,2 are for public server, but mode 4 is for leagues&#039; or private servers because it will allow to join only specified players.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_add.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_add.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:07:30:&amp;gt; add&lt;br /&gt;
--------------&lt;br /&gt;
Examples depend on filter_mode [activated: 2] -&amp;gt; enter 2 first parts of IP (with 2 dots: one after each number) !&lt;br /&gt;
&lt;br /&gt;
Usage:     add             cl_guid                 nick        ip           by&lt;br /&gt;
Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.      admin&lt;br /&gt;
Example#2: add GuidGuidGUIDGUIDGUIDGuidGUIDGUID clean_player 83.100.123.  admin&lt;br /&gt;
Example#3: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.100.5 admin&lt;br /&gt;
&lt;br /&gt;
Usage:     add mask cheater     ip        by&lt;br /&gt;
Example#1: add mask cheater 83.100.      admin&lt;br /&gt;
Example#2: add mask cheater 83.100.123.  admin&lt;br /&gt;
Example#3: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
=== VSP stats fixes ===&lt;br /&gt;
==== [http://www.scivox.net/smf/index.php?topic=834.msg6231#msg6231 &amp;gt;&amp;gt; Stop full punkbuster guids from being displayed &amp;lt;&amp;lt;] ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2939</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2939"/>
		<updated>2008-05-09T00:03:45Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;middle&amp;quot;&amp;gt;&lt;br /&gt;
http://luk4ward.boo.pl/images/acpro2.1.png&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl OBJective Cmpgn [ /connect 193.33.34.11:27965 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) shield mod created by Nappy&lt;br /&gt;
** -- *) /kill mod created by Infty modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl TeamDeathMatch Cmpgn [ /connect 193.33.34.15:27960 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup mod created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
* &amp;lt;b&amp;gt;u|k. public server 3.2.6_2.60b [ /connect 83.142.226.97:29023 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;All server got modified etadmin mod which includes fixes and some other custom things, even individual pk3 files !&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=6 &amp;gt;&amp;gt; Download ACpro 2.1 mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/gallery.php?id=6 &amp;gt;&amp;gt; Screenies of ACpro 2.1 mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 2.1 includes [http://bani.anime.net/banimod/forums/viewtopic.php?t=6777 Reyalp&#039; fixes] modified by me and [http://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;amp;action=submit#bad_names &amp;lt;b&amp;gt;IMPORTANT  fix for ETadmin mod level exploit using prepared name&amp;lt;/b&amp;gt;]&lt;br /&gt;
* credits inside .lua&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
23:57:21:&amp;gt; lua_status&lt;br /&gt;
---------------------&lt;br /&gt;
etpro: Loaded lua scripts&lt;br /&gt;
VM Modname                  Signature                                Filename&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
01 ACpro:2.1slot:1          A9CE3267322FB4990329EDDEA53B10A6B9174B78 ac2pro.lua&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* rcon:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_ac2pro.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ac2pro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes such mods and Reyalp&#039; fixes: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging &amp;amp; checking data of players ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/acpro_logs.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== Separated file logs ======&lt;br /&gt;
&lt;br /&gt;
* ok_eguids.log -&amp;gt; logging all passed etpro guids in format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ EGUID ] @ DATE 2008 from IP [ nick ]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* bad_guids.log -&amp;gt; logging all refused guids (includes checking cl_guid !!!), &amp;lt;b&amp;gt;REAL examples&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ OpensourcePowa ] @ Sun Mar  9 11:56:05 2008 from 84.95.125.101:62733 [ HUHUH??? ]&lt;br /&gt;
[ 256624374273789392012475FUFUFUFU ] @ Wed Mar 19 10:39:52 2008 from 80.54.117.13:27960 [ Corky ]&lt;br /&gt;
[ UNKNOWN ] @ Sat Mar 29 20:47:48 2008 from 87.105.54.61:27960 [ Grim ]&lt;br /&gt;
[ CHEATERS_ALWAYS_WIN_LOLOLOLOLOLOLOLOLOLO ] @ Sat Mar 29 23:16:49 2008 from 90.213.91.116:27960 [ downloaded5kill ]&lt;br /&gt;
[TahBambucha] @ Sun Apr 27 23:33:19 2008 from 201.15.159.39:50200 [ mx.ETTV-1 ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
etpro IAC: 4 GUID [ EGUID ] [ ETPRO_PLAYER ]&lt;br /&gt;
guidcheck: 4) client ETPRO_PLAYER from IP got ok eGUID: EGUID more info @ logs/ok_eguids.log &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Guids&#039; logging and filenames are up to Admin !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log_badguids = true -- includes cl_guid&lt;br /&gt;
log_okeguids = true -- only eguids&lt;br /&gt;
&lt;br /&gt;
logfile_badguids = &amp;quot;logs/bad_guids.log&amp;quot;&lt;br /&gt;
logfile_okeguids = &amp;quot;logs/ok_eguids.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-- check file logfile_badguids for the names, date and IPs of people with spoofed guids (cl_guids and etpro guids)&lt;br /&gt;
-- check file okeguids for the names, date and IPs of people with ok etpro guids (no etadmin format)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* not/accepted_players.log &amp;amp; players.log include data of connecting players in format:&lt;br /&gt;
&lt;br /&gt;
** name &amp;lt;br /&amp;gt;&lt;br /&gt;
** cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
** yawn link &amp;lt;br /&amp;gt;&lt;br /&gt;
** ip &amp;lt;br /&amp;gt;&lt;br /&gt;
** date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = player&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	yawn    = http://www.yawn.be/findPlayer.yawn?gamecode=ET&amp;amp;pbGuid=GUIDGUID&lt;br /&gt;
	ip      = 123.456.789.0&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Client 7 connecting with 50 challenge ping&lt;br /&gt;
filtercheck: client 4 cnt 1st time @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
running script for client 4 @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
filtercheck: mode 2&lt;br /&gt;
filtercheck: opening ipbans/83_25_.dat&lt;br /&gt;
filtercheck: closing ipbans/83_25_.dat&lt;br /&gt;
filtercheck: client 4 ok, more info @ logs/players.log !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Checking userinfo ======&lt;br /&gt;
&lt;br /&gt;
* How to check player userinfo via Reyalp script modified by me:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:38:57:&amp;gt; checkuserinfo&lt;br /&gt;
------------------------&lt;br /&gt;
Usage: checkuserinfo [etpro id]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_checkuserinfo.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_checkuserinfo.gif]&lt;br /&gt;
&lt;br /&gt;
* An option to ignore server administration by most modules of this script! You just have to type the tag (min length 3), but its recommended only if u got protected tag on the server !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Remember script will check a player while connecting and then while his userinfo is changed. Reyalp added also an option to check every x seconds one by one every player, but u can disable it via this script and use rcon command !&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ingame_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_players.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== in game ======&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can easily set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&lt;br /&gt;
                                            Counted players &lt;br /&gt;
&lt;br /&gt;
 Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====== via rcon ======&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Admin can see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== name change ======&lt;br /&gt;
* You can set after how many times player can change his nick, after the limit it will restore to the default one and info with his ID will be shown to everyone&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rename_limit.gif http://luk4ward.boo.pl/files/gallery/thumbs/rename_limit.gif]&lt;br /&gt;
* You can set the kick name limit of player trying to change the name after reaching the name change limit&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/renames.gif http://luk4ward.boo.pl/files/gallery/thumbs/renames.gif]&lt;br /&gt;
====== name length ======&lt;br /&gt;
* You can also set min and max length of allowed nicknames (length will not count spaces and color codes !)&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname_len.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname_len.gif]&lt;br /&gt;
====== bad names ======&lt;br /&gt;
* You can set bad names, by default script will check for Reyalp&#039;s bad names, english &amp;amp; polish bad names and for random bad nicks&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname.gif]&lt;br /&gt;
* And also for extra carat char, which looks like this: ^&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/extra_carat.gif http://luk4ward.boo.pl/files/gallery/thumbs/extra_carat.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Fixed ETADMIN MOD exploit which allow the attacker to get same level using prepared nick of victim (verion 2.1)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
====== rcon cmds ======&lt;br /&gt;
* Script also gives u new rcon rename commands&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:33:40:&amp;gt; rename&lt;br /&gt;
-----------------&lt;br /&gt;
Usage: rename ID newnick&lt;br /&gt;
Example#1 (to clean the nick): rename ID clean&lt;br /&gt;
Example#2 (to cut the nick): rename ID cutnick&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_rename.gif]&lt;br /&gt;
** In game looks like this&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_rename.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/clean_name.gif http://luk4ward.boo.pl/files/gallery/thumbs/clean_name.gif]&lt;br /&gt;
&lt;br /&gt;
===== Anti-highping mod =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module allows admin to put on spec players with specified ping&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:00:19:&amp;gt; ping2spec&lt;br /&gt;
--------------------&lt;br /&gt;
Usage: ping2spec [ ping &amp;gt;0 ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_ping2spec.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ping2spec.gif]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Files can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/fixed_gamedate.gif http://luk4ward.boo.pl/files/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etserver_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/howitworks.gif http://luk4ward.boo.pl/files/gallery/thumbs/howitworks.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* ACpro ver 2.1 gives u the avability to change the Filter Mode:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- mode 1 will check against the first part of IP (like 83.)&lt;br /&gt;
-- mode 2 will check against the first two parts of IP (like 83.60.)&lt;br /&gt;
-- mode 4 will check against the first part of IP (like 83.)&lt;br /&gt;
--             and allow to join only from the added players of your added FilterMasks&lt;br /&gt;
--             example:&lt;br /&gt;
--             1) player from 1.2.3.4 is connecting&lt;br /&gt;
--             2) script not found a filename [1_.dat] from ipbans/ with his IP&lt;br /&gt;
--	       3) script refused entry&lt;br /&gt;
--             4) admin is adding FilterMask for ip 1.2.3.4 via rcon&lt;br /&gt;
--             5) player from 1.2.3.4 is connecting&lt;br /&gt;
--             6) script not found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             7) script refused entry&lt;br /&gt;
--             8) admin is adding his guid for ip 1.2.3.4 via rcon&lt;br /&gt;
--             9) player from 1.2.3.4 is connecting&lt;br /&gt;
--             10) script found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             11) script allowed to join the sever&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* #1 It&#039;s checking if the part/s of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server [ mode 1,2 ] or kick not recognized IP [ mode 4 ]&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see part about Logging data of players)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; There are 3 ways how to manage those bans (rcon, ftp, etadmin), the &amp;lt;i&amp;gt;HOW TO&amp;lt;/i&amp;gt; under is based on mode 2 but it looks the same for other (you just have to change filenames to one part of IP for 1,4 modes) ! &lt;br /&gt;
Modes 1,2 are for public server, but mode 4 is for leagues&#039; or private servers because it will allow to join only specified players.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_add.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_add.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:07:30:&amp;gt; add&lt;br /&gt;
--------------&lt;br /&gt;
Examples depend on filter_mode [activated: 2] -&amp;gt; enter 2 first parts of IP (with 2 dots: one after each number) !&lt;br /&gt;
&lt;br /&gt;
Usage:     add             cl_guid                 nick        ip           by&lt;br /&gt;
Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.      admin&lt;br /&gt;
Example#2: add GuidGuidGUIDGUIDGUIDGuidGUIDGUID clean_player 83.100.123.  admin&lt;br /&gt;
Example#3: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.100.5 admin&lt;br /&gt;
&lt;br /&gt;
Usage:     add mask cheater     ip        by&lt;br /&gt;
Example#1: add mask cheater 83.100.      admin&lt;br /&gt;
Example#2: add mask cheater 83.100.123.  admin&lt;br /&gt;
Example#3: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
=== VSP stats fixes ===&lt;br /&gt;
==== [http://www.scivox.net/smf/index.php?topic=834.msg6231#msg6231 &amp;gt;&amp;gt; Stop full punkbuster guids from being displayed &amp;lt;&amp;lt;] ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2938</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2938"/>
		<updated>2008-05-08T22:15:51Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: /* Separated file logs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;middle&amp;quot;&amp;gt;&lt;br /&gt;
http://luk4ward.boo.pl/images/acpro2halfsize.png&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl OBJective Cmpgn [ /connect 193.33.34.11:27965 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) shield mod created by Nappy&lt;br /&gt;
** -- *) /kill mod created by Infty modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl TeamDeathMatch Cmpgn [ /connect 193.33.34.15:27960 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup mod created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
* &amp;lt;b&amp;gt;u|k. public server 3.2.6_2.60b [ /connect 83.142.226.97:29023 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;All server got modified etadmin mod which includes fixes and some other custom things, even individual pk3 files !&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=6 &amp;gt;&amp;gt; Download ACpro 2.1 mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/gallery.php?id=6 &amp;gt;&amp;gt; Screenies of ACpro 2.1 mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 2.1 includes [http://bani.anime.net/banimod/forums/viewtopic.php?t=6777 Reyalp&#039; fixes] modified by me and [http://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;amp;action=submit#bad_names &amp;lt;b&amp;gt;IMPORTANT  fix for ETadmin mod level exploit using prepared name&amp;lt;/b&amp;gt;]&lt;br /&gt;
* credits inside .lua&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
23:57:21:&amp;gt; lua_status&lt;br /&gt;
---------------------&lt;br /&gt;
etpro: Loaded lua scripts&lt;br /&gt;
VM Modname                  Signature                                Filename&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
01 ACpro:2.1slot:1          A9CE3267322FB4990329EDDEA53B10A6B9174B78 ac2pro.lua&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* rcon:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_ac2pro.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ac2pro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes such mods and Reyalp&#039; fixes: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging &amp;amp; checking data of players ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/acpro_logs.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== Separated file logs ======&lt;br /&gt;
&lt;br /&gt;
* ok_eguids.log -&amp;gt; logging all passed etpro guids in format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ EGUID ] @ DATE 2008 from IP [ nick ]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* bad_guids.log -&amp;gt; logging all refused guids (includes checking cl_guid !!!), &amp;lt;b&amp;gt;REAL examples&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ OpensourcePowa ] @ Sun Mar  9 11:56:05 2008 from 84.95.125.101:62733 [ HUHUH??? ]&lt;br /&gt;
[ 256624374273789392012475FUFUFUFU ] @ Wed Mar 19 10:39:52 2008 from 80.54.117.13:27960 [ Corky ]&lt;br /&gt;
[ UNKNOWN ] @ Sat Mar 29 20:47:48 2008 from 87.105.54.61:27960 [ Grim ]&lt;br /&gt;
[ CHEATERS_ALWAYS_WIN_LOLOLOLOLOLOLOLOLOLO ] @ Sat Mar 29 23:16:49 2008 from 90.213.91.116:27960 [ downloaded5kill ]&lt;br /&gt;
[TahBambucha] @ Sun Apr 27 23:33:19 2008 from 201.15.159.39:50200 [ mx.ETTV-1 ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
etpro IAC: 4 GUID [ EGUID ] [ ETPRO_PLAYER ]&lt;br /&gt;
guidcheck: 4) client ETPRO_PLAYER from IP got ok eGUID: EGUID more info @ logs/ok_eguids.log &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Guids&#039; logging and filenames are up to Admin !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log_badguids = true -- includes cl_guid&lt;br /&gt;
log_okeguids = true -- only eguids&lt;br /&gt;
&lt;br /&gt;
logfile_badguids = &amp;quot;logs/bad_guids.log&amp;quot;&lt;br /&gt;
logfile_okeguids = &amp;quot;logs/ok_eguids.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-- check file logfile_badguids for the names, date and IPs of people with spoofed guids (cl_guids and etpro guids)&lt;br /&gt;
-- check file okeguids for the names, date and IPs of people with ok etpro guids (no etadmin format)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* not/accepted_players.log &amp;amp; players.log include data of connecting players in format:&lt;br /&gt;
&lt;br /&gt;
** name &amp;lt;br /&amp;gt;&lt;br /&gt;
** cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
** yawn link &amp;lt;br /&amp;gt;&lt;br /&gt;
** ip &amp;lt;br /&amp;gt;&lt;br /&gt;
** date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = player&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	yawn    = http://www.yawn.be/findPlayer.yawn?gamecode=ET&amp;amp;pbGuid=GUIDGUID&lt;br /&gt;
	ip      = 123.456.789.0&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Client 7 connecting with 50 challenge ping&lt;br /&gt;
filtercheck: client 4 cnt 1st time @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
running script for client 4 @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
filtercheck: mode 2&lt;br /&gt;
filtercheck: opening ipbans/83_25_.dat&lt;br /&gt;
filtercheck: closing ipbans/83_25_.dat&lt;br /&gt;
filtercheck: client 4 ok, more info @ logs/players.log !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Checking userinfo ======&lt;br /&gt;
&lt;br /&gt;
* How to check player userinfo via Reyalp script modified by me:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:38:57:&amp;gt; checkuserinfo&lt;br /&gt;
------------------------&lt;br /&gt;
Usage: checkuserinfo [etpro id]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_checkuserinfo.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_checkuserinfo.gif]&lt;br /&gt;
&lt;br /&gt;
* An option to ignore server administration by most modules of this script! You just have to type the tag (min length 3), but its recommended only if u got protected tag on the server !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Remember script will check a player while connecting and then while his userinfo is changed. Reyalp added also an option to check every x seconds one by one every player, but u can disable it via this script and use rcon command !&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ingame_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_players.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== in game ======&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can easily set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&lt;br /&gt;
                                            Counted players &lt;br /&gt;
&lt;br /&gt;
 Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====== via rcon ======&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Admin can see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== name change ======&lt;br /&gt;
* You can set after how many times player can change his nick, after the limit it will restore to the default one and info with his ID will be shown to everyone&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rename_limit.gif http://luk4ward.boo.pl/files/gallery/thumbs/rename_limit.gif]&lt;br /&gt;
* You can set the kick name limit of player trying to change the name after reaching the name change limit&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/renames.gif http://luk4ward.boo.pl/files/gallery/thumbs/renames.gif]&lt;br /&gt;
====== name length ======&lt;br /&gt;
* You can also set min and max length of allowed nicknames (length will not count spaces and color codes !)&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname_len.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname_len.gif]&lt;br /&gt;
====== bad names ======&lt;br /&gt;
* You can set bad names, by default script will check for Reyalp&#039;s bad names, english &amp;amp; polish bad names and for random bad nicks&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname.gif]&lt;br /&gt;
* And also for extra carat char, which looks like this: ^&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/extra_carat.gif http://luk4ward.boo.pl/files/gallery/thumbs/extra_carat.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Fixed ETADMIN MOD exploit which allow the attacker to get same level using prepared nick of victim (verion 2.1)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
====== rcon cmds ======&lt;br /&gt;
* Script also gives u new rcon rename commands&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:33:40:&amp;gt; rename&lt;br /&gt;
-----------------&lt;br /&gt;
Usage: rename ID newnick&lt;br /&gt;
Example#1 (to clean the nick): rename ID clean&lt;br /&gt;
Example#2 (to cut the nick): rename ID cutnick&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_rename.gif]&lt;br /&gt;
** In game looks like this&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_rename.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/clean_name.gif http://luk4ward.boo.pl/files/gallery/thumbs/clean_name.gif]&lt;br /&gt;
&lt;br /&gt;
===== Anti-highping mod =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module allows admin to put on spec players with specified ping&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:00:19:&amp;gt; ping2spec&lt;br /&gt;
--------------------&lt;br /&gt;
Usage: ping2spec [ ping &amp;gt;0 ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_ping2spec.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ping2spec.gif]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Files can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/fixed_gamedate.gif http://luk4ward.boo.pl/files/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etserver_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/howitworks.gif http://luk4ward.boo.pl/files/gallery/thumbs/howitworks.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* ACpro ver 2.1 gives u the avability to change the Filter Mode:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- mode 1 will check against the first part of IP (like 83.)&lt;br /&gt;
-- mode 2 will check against the first two parts of IP (like 83.60.)&lt;br /&gt;
-- mode 4 will check against the first part of IP (like 83.)&lt;br /&gt;
--             and allow to join only from the added players of your added FilterMasks&lt;br /&gt;
--             example:&lt;br /&gt;
--             1) player from 1.2.3.4 is connecting&lt;br /&gt;
--             2) script not found a filename [1_.dat] from ipbans/ with his IP&lt;br /&gt;
--	       3) script refused entry&lt;br /&gt;
--             4) admin is adding FilterMask for ip 1.2.3.4 via rcon&lt;br /&gt;
--             5) player from 1.2.3.4 is connecting&lt;br /&gt;
--             6) script not found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             7) script refused entry&lt;br /&gt;
--             8) admin is adding his guid for ip 1.2.3.4 via rcon&lt;br /&gt;
--             9) player from 1.2.3.4 is connecting&lt;br /&gt;
--             10) script found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             11) script allowed to join the sever&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* #1 It&#039;s checking if the part/s of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server [ mode 1,2 ] or kick not recognized IP [ mode 4 ]&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see part about Logging data of players)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; There are 3 ways how to manage those bans (rcon, ftp, etadmin), the &amp;lt;i&amp;gt;HOW TO&amp;lt;/i&amp;gt; under is based on mode 2 but it looks the same for other (you just have to change filenames to one part of IP for 1,4 modes) ! &lt;br /&gt;
Modes 1,2 are for public server, but mode 4 is for leagues&#039; or private servers because it will allow to join only specified players.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_add.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_add.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:07:30:&amp;gt; add&lt;br /&gt;
--------------&lt;br /&gt;
Examples depend on filter_mode [activated: 2] -&amp;gt; enter 2 first parts of IP (with 2 dots: one after each number) !&lt;br /&gt;
&lt;br /&gt;
Usage:     add             cl_guid                 nick        ip           by&lt;br /&gt;
Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.      admin&lt;br /&gt;
Example#2: add GuidGuidGUIDGUIDGUIDGuidGUIDGUID clean_player 83.100.123.  admin&lt;br /&gt;
Example#3: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.100.5 admin&lt;br /&gt;
&lt;br /&gt;
Usage:     add mask cheater     ip        by&lt;br /&gt;
Example#1: add mask cheater 83.100.      admin&lt;br /&gt;
Example#2: add mask cheater 83.100.123.  admin&lt;br /&gt;
Example#3: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
=== VSP stats fixes ===&lt;br /&gt;
==== [http://www.scivox.net/smf/index.php?topic=834.msg6231#msg6231 &amp;gt;&amp;gt; Stop full punkbuster guids from being displayed &amp;lt;&amp;lt;] ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2937</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2937"/>
		<updated>2008-05-08T22:14:54Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;middle&amp;quot;&amp;gt;&lt;br /&gt;
http://luk4ward.boo.pl/images/acpro2halfsize.png&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl OBJective Cmpgn [ /connect 193.33.34.11:27965 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) shield mod created by Nappy&lt;br /&gt;
** -- *) /kill mod created by Infty modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl TeamDeathMatch Cmpgn [ /connect 193.33.34.15:27960 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup mod created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
* &amp;lt;b&amp;gt;u|k. public server 3.2.6_2.60b [ /connect 83.142.226.97:29023 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;All server got modified etadmin mod which includes fixes and some other custom things, even individual pk3 files !&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=6 &amp;gt;&amp;gt; Download ACpro 2.1 mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/gallery.php?id=6 &amp;gt;&amp;gt; Screenies of ACpro 2.1 mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 2.1 includes [http://bani.anime.net/banimod/forums/viewtopic.php?t=6777 Reyalp&#039; fixes] modified by me and [http://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;amp;action=submit#bad_names &amp;lt;b&amp;gt;IMPORTANT  fix for ETadmin mod level exploit using prepared name&amp;lt;/b&amp;gt;]&lt;br /&gt;
* credits inside .lua&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
23:57:21:&amp;gt; lua_status&lt;br /&gt;
---------------------&lt;br /&gt;
etpro: Loaded lua scripts&lt;br /&gt;
VM Modname                  Signature                                Filename&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
01 ACpro:2.1slot:1          A9CE3267322FB4990329EDDEA53B10A6B9174B78 ac2pro.lua&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* rcon:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_ac2pro.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ac2pro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes such mods and Reyalp&#039; fixes: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging &amp;amp; checking data of players ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/acpro_logs.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== Separated file logs ======&lt;br /&gt;
&lt;br /&gt;
* ok_eguids.log -&amp;gt; logging all passed etpro guids in format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ EGUID ] @ DATE 2008 from IP [ nick ]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* bad_guids.log -&amp;gt; logging all refused guids (includes checking cl_guid !!!), &amp;lt;b&amp;gt;REAL examples&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ OpensourcePowa ] @ Sun Mar  9 11:56:05 2008 from 84.95.125.101:62733 [ HUHUH??? ]&lt;br /&gt;
[ 256624374273789392012475FUFUFUFU ] @ Wed Mar 19 10:39:52 2008 from 80.54.117.13:27960 [ Corky ]&lt;br /&gt;
[ UNKNOWN ] @ Sat Mar 29 20:47:48 2008 from 87.105.54.61:27960 [ Grim ]&lt;br /&gt;
[ CHEATERS_ALWAYS_WIN_LOLOLOLOLOLOLOLOLOLO ] @ Sat Mar 29 23:16:49 2008 from 90.213.91.116:27960 [ downloaded5kill ] &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
etpro IAC: 4 GUID [ EGUID ] [ ETPRO_PLAYER ]&lt;br /&gt;
guidcheck: 4) client ETPRO_PLAYER from IP got ok eGUID: EGUID more info @ logs/ok_eguids.log &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Guids&#039; logging and filenames are up to Admin !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log_badguids = true -- includes cl_guid&lt;br /&gt;
log_okeguids = true -- only eguids&lt;br /&gt;
&lt;br /&gt;
logfile_badguids = &amp;quot;logs/bad_guids.log&amp;quot;&lt;br /&gt;
logfile_okeguids = &amp;quot;logs/ok_eguids.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-- check file logfile_badguids for the names, date and IPs of people with spoofed guids (cl_guids and etpro guids)&lt;br /&gt;
-- check file okeguids for the names, date and IPs of people with ok etpro guids (no etadmin format)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* not/accepted_players.log &amp;amp; players.log include data of connecting players in format:&lt;br /&gt;
&lt;br /&gt;
** name &amp;lt;br /&amp;gt;&lt;br /&gt;
** cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
** yawn link &amp;lt;br /&amp;gt;&lt;br /&gt;
** ip &amp;lt;br /&amp;gt;&lt;br /&gt;
** date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = player&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	yawn    = http://www.yawn.be/findPlayer.yawn?gamecode=ET&amp;amp;pbGuid=GUIDGUID&lt;br /&gt;
	ip      = 123.456.789.0&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Client 7 connecting with 50 challenge ping&lt;br /&gt;
filtercheck: client 4 cnt 1st time @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
running script for client 4 @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
filtercheck: mode 2&lt;br /&gt;
filtercheck: opening ipbans/83_25_.dat&lt;br /&gt;
filtercheck: closing ipbans/83_25_.dat&lt;br /&gt;
filtercheck: client 4 ok, more info @ logs/players.log !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Checking userinfo ======&lt;br /&gt;
&lt;br /&gt;
* How to check player userinfo via Reyalp script modified by me:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:38:57:&amp;gt; checkuserinfo&lt;br /&gt;
------------------------&lt;br /&gt;
Usage: checkuserinfo [etpro id]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_checkuserinfo.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_checkuserinfo.gif]&lt;br /&gt;
&lt;br /&gt;
* An option to ignore server administration by most modules of this script! You just have to type the tag (min length 3), but its recommended only if u got protected tag on the server !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Remember script will check a player while connecting and then while his userinfo is changed. Reyalp added also an option to check every x seconds one by one every player, but u can disable it via this script and use rcon command !&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ingame_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_players.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== in game ======&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can easily set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&lt;br /&gt;
                                            Counted players &lt;br /&gt;
&lt;br /&gt;
 Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====== via rcon ======&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Admin can see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== name change ======&lt;br /&gt;
* You can set after how many times player can change his nick, after the limit it will restore to the default one and info with his ID will be shown to everyone&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rename_limit.gif http://luk4ward.boo.pl/files/gallery/thumbs/rename_limit.gif]&lt;br /&gt;
* You can set the kick name limit of player trying to change the name after reaching the name change limit&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/renames.gif http://luk4ward.boo.pl/files/gallery/thumbs/renames.gif]&lt;br /&gt;
====== name length ======&lt;br /&gt;
* You can also set min and max length of allowed nicknames (length will not count spaces and color codes !)&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname_len.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname_len.gif]&lt;br /&gt;
====== bad names ======&lt;br /&gt;
* You can set bad names, by default script will check for Reyalp&#039;s bad names, english &amp;amp; polish bad names and for random bad nicks&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname.gif]&lt;br /&gt;
* And also for extra carat char, which looks like this: ^&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/extra_carat.gif http://luk4ward.boo.pl/files/gallery/thumbs/extra_carat.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Fixed ETADMIN MOD exploit which allow the attacker to get same level using prepared nick of victim (verion 2.1)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
====== rcon cmds ======&lt;br /&gt;
* Script also gives u new rcon rename commands&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:33:40:&amp;gt; rename&lt;br /&gt;
-----------------&lt;br /&gt;
Usage: rename ID newnick&lt;br /&gt;
Example#1 (to clean the nick): rename ID clean&lt;br /&gt;
Example#2 (to cut the nick): rename ID cutnick&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_rename.gif]&lt;br /&gt;
** In game looks like this&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_rename.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/clean_name.gif http://luk4ward.boo.pl/files/gallery/thumbs/clean_name.gif]&lt;br /&gt;
&lt;br /&gt;
===== Anti-highping mod =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module allows admin to put on spec players with specified ping&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:00:19:&amp;gt; ping2spec&lt;br /&gt;
--------------------&lt;br /&gt;
Usage: ping2spec [ ping &amp;gt;0 ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_ping2spec.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ping2spec.gif]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Files can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/fixed_gamedate.gif http://luk4ward.boo.pl/files/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etserver_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/howitworks.gif http://luk4ward.boo.pl/files/gallery/thumbs/howitworks.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* ACpro ver 2.1 gives u the avability to change the Filter Mode:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- mode 1 will check against the first part of IP (like 83.)&lt;br /&gt;
-- mode 2 will check against the first two parts of IP (like 83.60.)&lt;br /&gt;
-- mode 4 will check against the first part of IP (like 83.)&lt;br /&gt;
--             and allow to join only from the added players of your added FilterMasks&lt;br /&gt;
--             example:&lt;br /&gt;
--             1) player from 1.2.3.4 is connecting&lt;br /&gt;
--             2) script not found a filename [1_.dat] from ipbans/ with his IP&lt;br /&gt;
--	       3) script refused entry&lt;br /&gt;
--             4) admin is adding FilterMask for ip 1.2.3.4 via rcon&lt;br /&gt;
--             5) player from 1.2.3.4 is connecting&lt;br /&gt;
--             6) script not found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             7) script refused entry&lt;br /&gt;
--             8) admin is adding his guid for ip 1.2.3.4 via rcon&lt;br /&gt;
--             9) player from 1.2.3.4 is connecting&lt;br /&gt;
--             10) script found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             11) script allowed to join the sever&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* #1 It&#039;s checking if the part/s of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server [ mode 1,2 ] or kick not recognized IP [ mode 4 ]&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see part about Logging data of players)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; There are 3 ways how to manage those bans (rcon, ftp, etadmin), the &amp;lt;i&amp;gt;HOW TO&amp;lt;/i&amp;gt; under is based on mode 2 but it looks the same for other (you just have to change filenames to one part of IP for 1,4 modes) ! &lt;br /&gt;
Modes 1,2 are for public server, but mode 4 is for leagues&#039; or private servers because it will allow to join only specified players.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_add.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_add.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:07:30:&amp;gt; add&lt;br /&gt;
--------------&lt;br /&gt;
Examples depend on filter_mode [activated: 2] -&amp;gt; enter 2 first parts of IP (with 2 dots: one after each number) !&lt;br /&gt;
&lt;br /&gt;
Usage:     add             cl_guid                 nick        ip           by&lt;br /&gt;
Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.      admin&lt;br /&gt;
Example#2: add GuidGuidGUIDGUIDGUIDGuidGUIDGUID clean_player 83.100.123.  admin&lt;br /&gt;
Example#3: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.100.5 admin&lt;br /&gt;
&lt;br /&gt;
Usage:     add mask cheater     ip        by&lt;br /&gt;
Example#1: add mask cheater 83.100.      admin&lt;br /&gt;
Example#2: add mask cheater 83.100.123.  admin&lt;br /&gt;
Example#3: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
=== VSP stats fixes ===&lt;br /&gt;
==== [http://www.scivox.net/smf/index.php?topic=834.msg6231#msg6231 &amp;gt;&amp;gt; Stop full punkbuster guids from being displayed &amp;lt;&amp;lt;] ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2936</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2936"/>
		<updated>2008-05-08T22:13:24Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;middle&amp;quot;&amp;gt;&lt;br /&gt;
http://luk4ward.boo.pl/images/acpro2halfsize.png&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl OBJective Cmpgn [ /connect 193.33.34.11:27965 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) shield mod created by Nappy&lt;br /&gt;
** -- *) /kill mod created by Infty modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl TeamDeathMatch Cmpgn [ /connect 193.33.34.15:27960 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup mod created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
* &amp;lt;b&amp;gt;u|k. public server 3.2.6_2.60b [ /connect 83.142.226.97:29023 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) ACpro 2.1 mod (see below) by Luk4ward&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;All server got modified etadmin mod which includes fixes and some other custom things, even individual pk3 files !&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=6 &amp;gt;&amp;gt; Download ACpro 2.1 mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/gallery.php?id=6 &amp;gt;&amp;gt; Screenies of ACpro 2.1 mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 2.1 includes [http://bani.anime.net/banimod/forums/viewtopic.php?t=6777 Reyalp&#039; fixes] modified by me and [http://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;amp;action=submit#bad_names &amp;lt;b&amp;gt;IMPORTANT  fix for ETadmin mod level exploit using prepared name&amp;lt;/b&amp;gt;]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
23:57:21:&amp;gt; lua_status&lt;br /&gt;
---------------------&lt;br /&gt;
etpro: Loaded lua scripts&lt;br /&gt;
VM Modname                  Signature                                Filename&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
01 ACpro:2.1slot:1          A9CE3267322FB4990329EDDEA53B10A6B9174B78 ac2pro.lua&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* rcon:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_ac2pro.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ac2pro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes such mods and Reyalp&#039; fixes: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging &amp;amp; checking data of players ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/acpro_logs.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== Separated file logs ======&lt;br /&gt;
&lt;br /&gt;
* ok_eguids.log -&amp;gt; logging all passed etpro guids in format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ EGUID ] @ DATE 2008 from IP [ nick ]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* bad_guids.log -&amp;gt; logging all refused guids (includes checking cl_guid !!!), &amp;lt;b&amp;gt;REAL examples&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ OpensourcePowa ] @ Sun Mar  9 11:56:05 2008 from 84.95.125.101:62733 [ HUHUH??? ]&lt;br /&gt;
[ 256624374273789392012475FUFUFUFU ] @ Wed Mar 19 10:39:52 2008 from 80.54.117.13:27960 [ Corky ]&lt;br /&gt;
[ UNKNOWN ] @ Sat Mar 29 20:47:48 2008 from 87.105.54.61:27960 [ Grim ]&lt;br /&gt;
[ CHEATERS_ALWAYS_WIN_LOLOLOLOLOLOLOLOLOLO ] @ Sat Mar 29 23:16:49 2008 from 90.213.91.116:27960 [ downloaded5kill ] &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
etpro IAC: 4 GUID [ EGUID ] [ ETPRO_PLAYER ]&lt;br /&gt;
guidcheck: 4) client ETPRO_PLAYER from IP got ok eGUID: EGUID more info @ logs/ok_eguids.log &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Guids&#039; logging and filenames are up to Admin !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log_badguids = true -- includes cl_guid&lt;br /&gt;
log_okeguids = true -- only eguids&lt;br /&gt;
&lt;br /&gt;
logfile_badguids = &amp;quot;logs/bad_guids.log&amp;quot;&lt;br /&gt;
logfile_okeguids = &amp;quot;logs/ok_eguids.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-- check file logfile_badguids for the names, date and IPs of people with spoofed guids (cl_guids and etpro guids)&lt;br /&gt;
-- check file okeguids for the names, date and IPs of people with ok etpro guids (no etadmin format)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* not/accepted_players.log &amp;amp; players.log include data of connecting players in format:&lt;br /&gt;
&lt;br /&gt;
** name &amp;lt;br /&amp;gt;&lt;br /&gt;
** cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
** yawn link &amp;lt;br /&amp;gt;&lt;br /&gt;
** ip &amp;lt;br /&amp;gt;&lt;br /&gt;
** date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = player&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	yawn    = http://www.yawn.be/findPlayer.yawn?gamecode=ET&amp;amp;pbGuid=GUIDGUID&lt;br /&gt;
	ip      = 123.456.789.0&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Client 7 connecting with 50 challenge ping&lt;br /&gt;
filtercheck: client 4 cnt 1st time @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
running script for client 4 @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
filtercheck: mode 2&lt;br /&gt;
filtercheck: opening ipbans/83_25_.dat&lt;br /&gt;
filtercheck: closing ipbans/83_25_.dat&lt;br /&gt;
filtercheck: client 4 ok, more info @ logs/players.log !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Checking userinfo ======&lt;br /&gt;
&lt;br /&gt;
* How to check player userinfo via Reyalp script modified by me:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:38:57:&amp;gt; checkuserinfo&lt;br /&gt;
------------------------&lt;br /&gt;
Usage: checkuserinfo [etpro id]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_checkuserinfo.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_checkuserinfo.gif]&lt;br /&gt;
&lt;br /&gt;
* An option to ignore server administration by most modules of this script! You just have to type the tag (min length 3), but its recommended only if u got protected tag on the server !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Remember script will check a player while connecting and then while his userinfo is changed. Reyalp added also an option to check every x seconds one by one every player, but u can disable it via this script and use rcon command !&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ingame_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_players.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== in game ======&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can easily set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&lt;br /&gt;
                                            Counted players &lt;br /&gt;
&lt;br /&gt;
 Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====== via rcon ======&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Admin can see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== name change ======&lt;br /&gt;
* You can set after how many times player can change his nick, after the limit it will restore to the default one and info with his ID will be shown to everyone&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rename_limit.gif http://luk4ward.boo.pl/files/gallery/thumbs/rename_limit.gif]&lt;br /&gt;
* You can set the kick name limit of player trying to change the name after reaching the name change limit&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/renames.gif http://luk4ward.boo.pl/files/gallery/thumbs/renames.gif]&lt;br /&gt;
====== name length ======&lt;br /&gt;
* You can also set min and max length of allowed nicknames (length will not count spaces and color codes !)&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname_len.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname_len.gif]&lt;br /&gt;
====== bad names ======&lt;br /&gt;
* You can set bad names, by default script will check for Reyalp&#039;s bad names, english &amp;amp; polish bad names and for random bad nicks&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname.gif]&lt;br /&gt;
* And also for extra carat char, which looks like this: ^&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/extra_carat.gif http://luk4ward.boo.pl/files/gallery/thumbs/extra_carat.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Fixed ETADMIN MOD exploit which allow the attacker to get same level using prepared nick of victim (verion 2.1)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
====== rcon cmds ======&lt;br /&gt;
* Script also gives u new rcon rename commands&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:33:40:&amp;gt; rename&lt;br /&gt;
-----------------&lt;br /&gt;
Usage: rename ID newnick&lt;br /&gt;
Example#1 (to clean the nick): rename ID clean&lt;br /&gt;
Example#2 (to cut the nick): rename ID cutnick&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_rename.gif]&lt;br /&gt;
** In game looks like this&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_rename.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/clean_name.gif http://luk4ward.boo.pl/files/gallery/thumbs/clean_name.gif]&lt;br /&gt;
&lt;br /&gt;
===== Anti-highping mod =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module allows admin to put on spec players with specified ping&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:00:19:&amp;gt; ping2spec&lt;br /&gt;
--------------------&lt;br /&gt;
Usage: ping2spec [ ping &amp;gt;0 ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_ping2spec.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ping2spec.gif]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Files can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/fixed_gamedate.gif http://luk4ward.boo.pl/files/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etserver_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/howitworks.gif http://luk4ward.boo.pl/files/gallery/thumbs/howitworks.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* ACpro ver 2.1 gives u the avability to change the Filter Mode:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- mode 1 will check against the first part of IP (like 83.)&lt;br /&gt;
-- mode 2 will check against the first two parts of IP (like 83.60.)&lt;br /&gt;
-- mode 4 will check against the first part of IP (like 83.)&lt;br /&gt;
--             and allow to join only from the added players of your added FilterMasks&lt;br /&gt;
--             example:&lt;br /&gt;
--             1) player from 1.2.3.4 is connecting&lt;br /&gt;
--             2) script not found a filename [1_.dat] from ipbans/ with his IP&lt;br /&gt;
--	       3) script refused entry&lt;br /&gt;
--             4) admin is adding FilterMask for ip 1.2.3.4 via rcon&lt;br /&gt;
--             5) player from 1.2.3.4 is connecting&lt;br /&gt;
--             6) script not found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             7) script refused entry&lt;br /&gt;
--             8) admin is adding his guid for ip 1.2.3.4 via rcon&lt;br /&gt;
--             9) player from 1.2.3.4 is connecting&lt;br /&gt;
--             10) script found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             11) script allowed to join the sever&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* #1 It&#039;s checking if the part/s of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server [ mode 1,2 ] or kick not recognized IP [ mode 4 ]&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see part about Logging data of players)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; There are 3 ways how to manage those bans (rcon, ftp, etadmin), the &amp;lt;i&amp;gt;HOW TO&amp;lt;/i&amp;gt; under is based on mode 2 but it looks the same for other (you just have to change filenames to one part of IP for 1,4 modes) ! &lt;br /&gt;
Modes 1,2 are for public server, but mode 4 is for leagues&#039; or private servers because it will allow to join only specified players.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_add.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_add.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:07:30:&amp;gt; add&lt;br /&gt;
--------------&lt;br /&gt;
Examples depend on filter_mode [activated: 2] -&amp;gt; enter 2 first parts of IP (with 2 dots: one after each number) !&lt;br /&gt;
&lt;br /&gt;
Usage:     add             cl_guid                 nick        ip           by&lt;br /&gt;
Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.      admin&lt;br /&gt;
Example#2: add GuidGuidGUIDGUIDGUIDGuidGUIDGUID clean_player 83.100.123.  admin&lt;br /&gt;
Example#3: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.100.5 admin&lt;br /&gt;
&lt;br /&gt;
Usage:     add mask cheater     ip        by&lt;br /&gt;
Example#1: add mask cheater 83.100.      admin&lt;br /&gt;
Example#2: add mask cheater 83.100.123.  admin&lt;br /&gt;
Example#3: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
=== VSP stats fixes ===&lt;br /&gt;
==== [http://www.scivox.net/smf/index.php?topic=834.msg6231#msg6231 &amp;gt;&amp;gt; Stop full punkbuster guids from being displayed &amp;lt;&amp;lt;] ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2934</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2934"/>
		<updated>2008-04-21T23:07:26Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: /* About */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;middle&amp;quot;&amp;gt;&lt;br /&gt;
http://luk4ward.boo.pl/images/acpro2halfsize.png&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl OBJective Cmpgn [ /connect 193.33.34.11:27965 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) shield mod created by Nappy&lt;br /&gt;
** -- *) /kill mod created by Infty modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) ACpro 2.0 mod (see below) by Luk4ward&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl TeamDeathMatch Cmpgn [ /connect 193.33.34.15:27960 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup mod created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) ACpro 2.0 mod (see below) by Luk4ward&lt;br /&gt;
* &amp;lt;b&amp;gt;u|k. public server 3.2.6_2.60b [ /connect 83.142.226.97:29023 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) ACpro 2.0 mod (see below) by Luk4ward&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;All server got modified etadmin mod which includes fixes and some other custom things, even individual pk3 files !&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=6 &amp;gt;&amp;gt; Download ACpro mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/gallery.php?id=6 &amp;gt;&amp;gt; Screenies of ACpro mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 2.0 includes [http://bani.anime.net/banimod/forums/viewtopic.php?t=6777 Reyalp&#039; fixes] modified by me&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
18:35:07:&amp;gt; lua_status&lt;br /&gt;
---------------------&lt;br /&gt;
etpro: Loaded lua scripts&lt;br /&gt;
VM Modname                  Signature                                Filename&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
01 ACpro:2.0slot:1          C70E0F01B0A0CC35BD1155898F4F511E3BC582F3 ac2pro.lua&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* rcon:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_ac2pro.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ac2pro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes such mods and Reyalp&#039; fixes: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging &amp;amp; checking data of players ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/acpro_logs.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== Separated file logs ======&lt;br /&gt;
&lt;br /&gt;
* ok_eguids.log -&amp;gt; logging all passed etpro guids in format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ EGUID ] @ DATE 2008 from IP [ nick ]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* bad_guids.log -&amp;gt; logging all refused guids (includes checking cl_guid !!!), &amp;lt;b&amp;gt;REAL examples&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ OpensourcePowa ] @ Sun Mar  9 11:56:05 2008 from 84.95.125.101:62733 [ HUHUH??? ]&lt;br /&gt;
[ 256624374273789392012475FUFUFUFU ] @ Wed Mar 19 10:39:52 2008 from 80.54.117.13:27960 [ Corky ]&lt;br /&gt;
[ UNKNOWN ] @ Sat Mar 29 20:47:48 2008 from 87.105.54.61:27960 [ Grim ]&lt;br /&gt;
[ CHEATERS_ALWAYS_WIN_LOLOLOLOLOLOLOLOLOLO ] @ Sat Mar 29 23:16:49 2008 from 90.213.91.116:27960 [ downloaded5kill ] &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
etpro IAC: 4 GUID [ EGUID ] [ ETPRO_PLAYER ]&lt;br /&gt;
guidcheck: 4) client ETPRO_PLAYER from IP got ok eGUID: EGUID more info @ logs/ok_eguids.log &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Guids&#039; logging and filenames are up to Admin !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log_badguids = true -- includes cl_guid&lt;br /&gt;
log_okeguids = true -- only eguids&lt;br /&gt;
&lt;br /&gt;
logfile_badguids = &amp;quot;logs/bad_guids.log&amp;quot;&lt;br /&gt;
logfile_okeguids = &amp;quot;logs/ok_eguids.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-- check file logfile_badguids for the names, date and IPs of people with spoofed guids (cl_guids and etpro guids)&lt;br /&gt;
-- check file okeguids for the names, date and IPs of people with ok etpro guids (no etadmin format)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* not/accepted_players.log &amp;amp; players.log include data of connecting players in format:&lt;br /&gt;
&lt;br /&gt;
** name &amp;lt;br /&amp;gt;&lt;br /&gt;
** cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
** yawn link &amp;lt;br /&amp;gt;&lt;br /&gt;
** ip &amp;lt;br /&amp;gt;&lt;br /&gt;
** date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = player&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	yawn    = http://www.yawn.be/findPlayer.yawn?gamecode=ET&amp;amp;pbGuid=GUIDGUID&lt;br /&gt;
	ip      = 123.456.789.0&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Client 7 connecting with 50 challenge ping&lt;br /&gt;
filtercheck: client 4 cnt 1st time @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
running script for client 4 @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
filtercheck: mode 2&lt;br /&gt;
filtercheck: opening ipbans/83_25_.dat&lt;br /&gt;
filtercheck: closing ipbans/83_25_.dat&lt;br /&gt;
filtercheck: client 4 ok, more info @ logs/players.log !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Checking userinfo ======&lt;br /&gt;
&lt;br /&gt;
* How to check player userinfo via Reyalp script modified by me:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:38:57:&amp;gt; checkuserinfo&lt;br /&gt;
------------------------&lt;br /&gt;
Usage: checkuserinfo [etpro id]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_checkuserinfo.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_checkuserinfo.gif]&lt;br /&gt;
&lt;br /&gt;
* An option to ignore server administration by most modules of this script! You just have to type the tag (min length 3), but its recommended only if u got protected tag on the server !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Remember script will check a player while connecting and then while his userinfo is changed. Reyalp added also an option to check every x seconds one by one every player, but u can disable it via this script and use rcon command !&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ingame_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_players.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== in game ======&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can easily set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&lt;br /&gt;
                                            Counted players &lt;br /&gt;
&lt;br /&gt;
 Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====== via rcon ======&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Admin can see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== name change ======&lt;br /&gt;
* You can set after how many times player can change his nick, after the limit it will restore to the default one and info with his ID will be shown to everyone&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rename_limit.gif http://luk4ward.boo.pl/files/gallery/thumbs/rename_limit.gif]&lt;br /&gt;
* You can set the kick name limit of player trying to change the name after reaching the name change limit&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/renames.gif http://luk4ward.boo.pl/files/gallery/thumbs/renames.gif]&lt;br /&gt;
====== name length ======&lt;br /&gt;
* You can also set min and max length of allowed nicknames (length will not count spaces and color codes !)&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname_len.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname_len.gif]&lt;br /&gt;
====== bad names ======&lt;br /&gt;
* You can set bad names, by default script will check for Reyalp&#039;s bad names, english &amp;amp; polish bad names and for random bad nicks&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname.gif]&lt;br /&gt;
* And also for extra carat char, which looks like this: ^&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/extra_carat.gif http://luk4ward.boo.pl/files/gallery/thumbs/extra_carat.gif]&lt;br /&gt;
====== rcon cmds ======&lt;br /&gt;
* Script also gives u new rcon rename commands&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:33:40:&amp;gt; rename&lt;br /&gt;
-----------------&lt;br /&gt;
Usage: rename ID newnick&lt;br /&gt;
Example#1 (to clean the nick): rename ID clean&lt;br /&gt;
Example#2 (to cut the nick): rename ID cutnick&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_rename.gif]&lt;br /&gt;
** In game looks like this&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_rename.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/clean_name.gif http://luk4ward.boo.pl/files/gallery/thumbs/clean_name.gif]&lt;br /&gt;
&lt;br /&gt;
===== Anti-highping mod =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module allows admin to put on spec players with specified ping&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:00:19:&amp;gt; ping2spec&lt;br /&gt;
--------------------&lt;br /&gt;
Usage: ping2spec [ ping &amp;gt;0 ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_ping2spec.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ping2spec.gif]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Files can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/fixed_gamedate.gif http://luk4ward.boo.pl/files/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etserver_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/howitworks.gif http://luk4ward.boo.pl/files/gallery/thumbs/howitworks.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* ACpro ver 2.0 gives u the avability to change the Filter Mode:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- mode 1 will check against the first part of IP (like 83.)&lt;br /&gt;
-- mode 2 will check against the first two parts of IP (like 83.60.)&lt;br /&gt;
-- mode 4 will check against the first part of IP (like 83.)&lt;br /&gt;
--             and allow to join only from the added players of your added FilterMasks&lt;br /&gt;
--             example:&lt;br /&gt;
--             1) player from 1.2.3.4 is connecting&lt;br /&gt;
--             2) script not found a filename [1_.dat] from ipbans/ with his IP&lt;br /&gt;
--	       3) script refused entry&lt;br /&gt;
--             4) admin is adding FilterMask for ip 1.2.3.4 via rcon&lt;br /&gt;
--             5) player from 1.2.3.4 is connecting&lt;br /&gt;
--             6) script not found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             7) script refused entry&lt;br /&gt;
--             8) admin is adding his guid for ip 1.2.3.4 via rcon&lt;br /&gt;
--             9) player from 1.2.3.4 is connecting&lt;br /&gt;
--             10) script found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             11) script allowed to join the sever&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* #1 It&#039;s checking if the part/s of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server [ mode 1,2 ] or kick not recognized IP [ mode 4 ]&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see part about Logging data of players)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; There are 3 ways how to manage those bans (rcon, ftp, etadmin), the &amp;lt;i&amp;gt;HOW TO&amp;lt;/i&amp;gt; under is based on mode 2 but it looks the same for other (you just have to change filenames to one part of IP for 1,4 modes) ! &lt;br /&gt;
Modes 1,2 are for public server, but mode 4 is for leagues&#039; or private servers because it will allow to join only specified players.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_add.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_add.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:07:30:&amp;gt; add&lt;br /&gt;
--------------&lt;br /&gt;
Examples depend on filter_mode [activated: 2] -&amp;gt; enter 2 first parts of IP (with 2 dots: one after each number) !&lt;br /&gt;
&lt;br /&gt;
Usage:     add             cl_guid                 nick        ip           by&lt;br /&gt;
Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.      admin&lt;br /&gt;
Example#2: add GuidGuidGUIDGUIDGUIDGuidGUIDGUID clean_player 83.100.123.  admin&lt;br /&gt;
Example#3: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.100.5 admin&lt;br /&gt;
&lt;br /&gt;
Usage:     add mask cheater     ip        by&lt;br /&gt;
Example#1: add mask cheater 83.100.      admin&lt;br /&gt;
Example#2: add mask cheater 83.100.123.  admin&lt;br /&gt;
Example#3: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
=== VSP stats fixes ===&lt;br /&gt;
==== [http://www.scivox.net/smf/index.php?topic=834.msg6231#msg6231 &amp;gt;&amp;gt; Stop full punkbuster guids from being displayed &amp;lt;&amp;lt;] ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2933</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2933"/>
		<updated>2008-04-16T18:52:38Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;middle&amp;quot;&amp;gt;&lt;br /&gt;
http://luk4ward.boo.pl/images/acpro2halfsize.png&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl OBJective Cmpgn [ /connect 193.33.34.11:27965 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) shield mod created by Nappy&lt;br /&gt;
** -- *) /kill mod created by Infty modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup &amp;amp; fixed time mod created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) welcome mod created by Luk4ward&lt;br /&gt;
** -- *) ACpro 2.0 mod (see below) by Luk4ward&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl TeamDeathMatch Cmpgn [ /connect 193.33.34.15:27960 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup &amp;amp; fixed time mod created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) welcome mod created by Luk4ward&lt;br /&gt;
** -- *) ACpro 2.0 mod (see below) by Luk4ward&lt;br /&gt;
* &amp;lt;b&amp;gt;u|k. public server 3.2.6_2.60b [ /connect 83.142.226.97:29023 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) ACpro 2.0 mod (see below) by Luk4ward&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;All server got modified etadmin mod which includes fixes and some other custom things, even individual pk3 files !&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=6 &amp;gt;&amp;gt; Download ACpro mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/gallery.php?id=6 &amp;gt;&amp;gt; Screenies of ACpro mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 2.0 includes [http://bani.anime.net/banimod/forums/viewtopic.php?t=6777 Reyalp&#039; fixes] modified by me&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
18:35:07:&amp;gt; lua_status&lt;br /&gt;
---------------------&lt;br /&gt;
etpro: Loaded lua scripts&lt;br /&gt;
VM Modname                  Signature                                Filename&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
01 ACpro:2.0slot:1          C70E0F01B0A0CC35BD1155898F4F511E3BC582F3 ac2pro.lua&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* rcon:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_ac2pro.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ac2pro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes such mods and Reyalp&#039; fixes: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging &amp;amp; checking data of players ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/acpro_logs.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== Separated file logs ======&lt;br /&gt;
&lt;br /&gt;
* ok_eguids.log -&amp;gt; logging all passed etpro guids in format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ EGUID ] @ DATE 2008 from IP [ nick ]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* bad_guids.log -&amp;gt; logging all refused guids (includes checking cl_guid !!!), &amp;lt;b&amp;gt;REAL examples&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ OpensourcePowa ] @ Sun Mar  9 11:56:05 2008 from 84.95.125.101:62733 [ HUHUH??? ]&lt;br /&gt;
[ 256624374273789392012475FUFUFUFU ] @ Wed Mar 19 10:39:52 2008 from 80.54.117.13:27960 [ Corky ]&lt;br /&gt;
[ UNKNOWN ] @ Sat Mar 29 20:47:48 2008 from 87.105.54.61:27960 [ Grim ]&lt;br /&gt;
[ CHEATERS_ALWAYS_WIN_LOLOLOLOLOLOLOLOLOLO ] @ Sat Mar 29 23:16:49 2008 from 90.213.91.116:27960 [ downloaded5kill ] &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
etpro IAC: 4 GUID [ EGUID ] [ ETPRO_PLAYER ]&lt;br /&gt;
guidcheck: 4) client ETPRO_PLAYER from IP got ok eGUID: EGUID more info @ logs/ok_eguids.log &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Guids&#039; logging and filenames are up to Admin !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log_badguids = true -- includes cl_guid&lt;br /&gt;
log_okeguids = true -- only eguids&lt;br /&gt;
&lt;br /&gt;
logfile_badguids = &amp;quot;logs/bad_guids.log&amp;quot;&lt;br /&gt;
logfile_okeguids = &amp;quot;logs/ok_eguids.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-- check file logfile_badguids for the names, date and IPs of people with spoofed guids (cl_guids and etpro guids)&lt;br /&gt;
-- check file okeguids for the names, date and IPs of people with ok etpro guids (no etadmin format)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* not/accepted_players.log &amp;amp; players.log include data of connecting players in format:&lt;br /&gt;
&lt;br /&gt;
** name &amp;lt;br /&amp;gt;&lt;br /&gt;
** cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
** yawn link &amp;lt;br /&amp;gt;&lt;br /&gt;
** ip &amp;lt;br /&amp;gt;&lt;br /&gt;
** date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = player&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	yawn    = http://www.yawn.be/findPlayer.yawn?gamecode=ET&amp;amp;pbGuid=GUIDGUID&lt;br /&gt;
	ip      = 123.456.789.0&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Client 7 connecting with 50 challenge ping&lt;br /&gt;
filtercheck: client 4 cnt 1st time @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
running script for client 4 @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
filtercheck: mode 2&lt;br /&gt;
filtercheck: opening ipbans/83_25_.dat&lt;br /&gt;
filtercheck: closing ipbans/83_25_.dat&lt;br /&gt;
filtercheck: client 4 ok, more info @ logs/players.log !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Checking userinfo ======&lt;br /&gt;
&lt;br /&gt;
* How to check player userinfo via Reyalp script modified by me:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:38:57:&amp;gt; checkuserinfo&lt;br /&gt;
------------------------&lt;br /&gt;
Usage: checkuserinfo [etpro id]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_checkuserinfo.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_checkuserinfo.gif]&lt;br /&gt;
&lt;br /&gt;
* An option to ignore server administration by most modules of this script! You just have to type the tag (min length 3), but its recommended only if u got protected tag on the server !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Remember script will check a player while connecting and then while his userinfo is changed. Reyalp added also an option to check every x seconds one by one every player, but u can disable it via this script and use rcon command !&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ingame_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_players.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== in game ======&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can easily set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&lt;br /&gt;
                                            Counted players &lt;br /&gt;
&lt;br /&gt;
 Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====== via rcon ======&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Admin can see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== name change ======&lt;br /&gt;
* You can set after how many times player can change his nick, after the limit it will restore to the default one and info with his ID will be shown to everyone&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rename_limit.gif http://luk4ward.boo.pl/files/gallery/thumbs/rename_limit.gif]&lt;br /&gt;
* You can set the kick name limit of player trying to change the name after reaching the name change limit&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/renames.gif http://luk4ward.boo.pl/files/gallery/thumbs/renames.gif]&lt;br /&gt;
====== name length ======&lt;br /&gt;
* You can also set min and max length of allowed nicknames (length will not count spaces and color codes !)&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname_len.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname_len.gif]&lt;br /&gt;
====== bad names ======&lt;br /&gt;
* You can set bad names, by default script will check for Reyalp&#039;s bad names, english &amp;amp; polish bad names and for random bad nicks&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname.gif]&lt;br /&gt;
* And also for extra carat char, which looks like this: ^&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/extra_carat.gif http://luk4ward.boo.pl/files/gallery/thumbs/extra_carat.gif]&lt;br /&gt;
====== rcon cmds ======&lt;br /&gt;
* Script also gives u new rcon rename commands&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:33:40:&amp;gt; rename&lt;br /&gt;
-----------------&lt;br /&gt;
Usage: rename ID newnick&lt;br /&gt;
Example#1 (to clean the nick): rename ID clean&lt;br /&gt;
Example#2 (to cut the nick): rename ID cutnick&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_rename.gif]&lt;br /&gt;
** In game looks like this&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_rename.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/clean_name.gif http://luk4ward.boo.pl/files/gallery/thumbs/clean_name.gif]&lt;br /&gt;
&lt;br /&gt;
===== Anti-highping mod =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module allows admin to put on spec players with specified ping&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:00:19:&amp;gt; ping2spec&lt;br /&gt;
--------------------&lt;br /&gt;
Usage: ping2spec [ ping &amp;gt;0 ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_ping2spec.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ping2spec.gif]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Files can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/fixed_gamedate.gif http://luk4ward.boo.pl/files/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etserver_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/howitworks.gif http://luk4ward.boo.pl/files/gallery/thumbs/howitworks.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* ACpro ver 2.0 gives u the avability to change the Filter Mode:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- mode 1 will check against the first part of IP (like 83.)&lt;br /&gt;
-- mode 2 will check against the first two parts of IP (like 83.60.)&lt;br /&gt;
-- mode 4 will check against the first part of IP (like 83.)&lt;br /&gt;
--             and allow to join only from the added players of your added FilterMasks&lt;br /&gt;
--             example:&lt;br /&gt;
--             1) player from 1.2.3.4 is connecting&lt;br /&gt;
--             2) script not found a filename [1_.dat] from ipbans/ with his IP&lt;br /&gt;
--	       3) script refused entry&lt;br /&gt;
--             4) admin is adding FilterMask for ip 1.2.3.4 via rcon&lt;br /&gt;
--             5) player from 1.2.3.4 is connecting&lt;br /&gt;
--             6) script not found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             7) script refused entry&lt;br /&gt;
--             8) admin is adding his guid for ip 1.2.3.4 via rcon&lt;br /&gt;
--             9) player from 1.2.3.4 is connecting&lt;br /&gt;
--             10) script found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             11) script allowed to join the sever&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* #1 It&#039;s checking if the part/s of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server [ mode 1,2 ] or kick not recognized IP [ mode 4 ]&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see part about Logging data of players)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; There are 3 ways how to manage those bans (rcon, ftp, etadmin), the &amp;lt;i&amp;gt;HOW TO&amp;lt;/i&amp;gt; under is based on mode 2 but it looks the same for other (you just have to change filenames to one part of IP for 1,4 modes) ! &lt;br /&gt;
Modes 1,2 are for public server, but mode 4 is for leagues&#039; or private servers because it will allow to join only specified players.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_add.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_add.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:07:30:&amp;gt; add&lt;br /&gt;
--------------&lt;br /&gt;
Examples depend on filter_mode [activated: 2] -&amp;gt; enter 2 first parts of IP (with 2 dots: one after each number) !&lt;br /&gt;
&lt;br /&gt;
Usage:     add             cl_guid                 nick        ip           by&lt;br /&gt;
Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.      admin&lt;br /&gt;
Example#2: add GuidGuidGUIDGUIDGUIDGuidGUIDGUID clean_player 83.100.123.  admin&lt;br /&gt;
Example#3: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.100.5 admin&lt;br /&gt;
&lt;br /&gt;
Usage:     add mask cheater     ip        by&lt;br /&gt;
Example#1: add mask cheater 83.100.      admin&lt;br /&gt;
Example#2: add mask cheater 83.100.123.  admin&lt;br /&gt;
Example#3: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
=== VSP stats fixes ===&lt;br /&gt;
==== [http://www.scivox.net/smf/index.php?topic=834.msg6231#msg6231 &amp;gt;&amp;gt; Stop full punkbuster guids from being displayed &amp;lt;&amp;lt;] ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2932</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2932"/>
		<updated>2008-04-14T19:22:43Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
http://luk4ward.boo.pl/images/acpro2halfsize.png&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl OBJective Cmpgn [ /connect 193.33.34.11:27965 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) shield mod created by Nappy&lt;br /&gt;
** -- *) /kill mod created by Infty modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup &amp;amp; fixed time mod created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) welcome mod created by Luk4ward&lt;br /&gt;
** -- *) ACpro 2.0 mod (see below) by Luk4ward&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl TeamDeathMatch Cmpgn [ /connect 193.33.34.15:27960 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup &amp;amp; fixed time mod created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) welcome mod created by Luk4ward&lt;br /&gt;
** -- *) ACpro 2.0 mod (see below) by Luk4ward&lt;br /&gt;
* &amp;lt;b&amp;gt;u|k. public server 3.2.6_2.60b [ /connect 83.142.226.97:29023 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) ACpro 2.0 mod (see below) by Luk4ward&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;All server got modified etadmin mod which includes fixes and some other custom things, even individual pk3 files !&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=6 &amp;gt;&amp;gt; Download ACpro mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/gallery.php?id=6 &amp;gt;&amp;gt; Screenies of ACpro mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 2.0 includes [http://bani.anime.net/banimod/forums/viewtopic.php?t=6777 Reyalp&#039; fixes] modified by me&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
18:35:07:&amp;gt; lua_status&lt;br /&gt;
---------------------&lt;br /&gt;
etpro: Loaded lua scripts&lt;br /&gt;
VM Modname                  Signature                                Filename&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
01 ACpro:2.0slot:1          C70E0F01B0A0CC35BD1155898F4F511E3BC582F3 ac2pro.lua&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* rcon:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_ac2pro.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ac2pro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes such mods and Reyalp&#039; fixes: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging &amp;amp; checking data of players ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/acpro_logs.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== Separated file logs ======&lt;br /&gt;
&lt;br /&gt;
* ok_eguids.log -&amp;gt; logging all passed etpro guids in format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ EGUID ] @ DATE 2008 from IP [ nick ]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* bad_guids.log -&amp;gt; logging all refused guids (includes checking cl_guid !!!), &amp;lt;b&amp;gt;REAL examples&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ OpensourcePowa ] @ Sun Mar  9 11:56:05 2008 from 84.95.125.101:62733 [ HUHUH??? ]&lt;br /&gt;
[ 256624374273789392012475FUFUFUFU ] @ Wed Mar 19 10:39:52 2008 from 80.54.117.13:27960 [ Corky ]&lt;br /&gt;
[ UNKNOWN ] @ Sat Mar 29 20:47:48 2008 from 87.105.54.61:27960 [ Grim ]&lt;br /&gt;
[ CHEATERS_ALWAYS_WIN_LOLOLOLOLOLOLOLOLOLO ] @ Sat Mar 29 23:16:49 2008 from 90.213.91.116:27960 [ downloaded5kill ] &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
etpro IAC: 4 GUID [ EGUID ] [ ETPRO_PLAYER ]&lt;br /&gt;
guidcheck: 4) client ETPRO_PLAYER from IP got ok eGUID: EGUID more info @ logs/ok_eguids.log &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Guids&#039; logging and filenames are up to Admin !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log_badguids = true -- includes cl_guid&lt;br /&gt;
log_okeguids = true -- only eguids&lt;br /&gt;
&lt;br /&gt;
logfile_badguids = &amp;quot;logs/bad_guids.log&amp;quot;&lt;br /&gt;
logfile_okeguids = &amp;quot;logs/ok_eguids.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-- check file logfile_badguids for the names, date and IPs of people with spoofed guids (cl_guids and etpro guids)&lt;br /&gt;
-- check file okeguids for the names, date and IPs of people with ok etpro guids (no etadmin format)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* not/accepted_players.log &amp;amp; players.log include data of connecting players in format:&lt;br /&gt;
&lt;br /&gt;
** name &amp;lt;br /&amp;gt;&lt;br /&gt;
** cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
** yawn link &amp;lt;br /&amp;gt;&lt;br /&gt;
** ip &amp;lt;br /&amp;gt;&lt;br /&gt;
** date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = player&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	yawn    = http://www.yawn.be/findPlayer.yawn?gamecode=ET&amp;amp;pbGuid=GUIDGUID&lt;br /&gt;
	ip      = 123.456.789.0&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Client 7 connecting with 50 challenge ping&lt;br /&gt;
filtercheck: client 4 cnt 1st time @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
running script for client 4 @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
filtercheck: mode 2&lt;br /&gt;
filtercheck: opening ipbans/83_25_.dat&lt;br /&gt;
filtercheck: closing ipbans/83_25_.dat&lt;br /&gt;
filtercheck: client 4 ok, more info @ logs/players.log !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Checking userinfo ======&lt;br /&gt;
&lt;br /&gt;
* How to check player userinfo via Reyalp script modified by me:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:38:57:&amp;gt; checkuserinfo&lt;br /&gt;
------------------------&lt;br /&gt;
Usage: checkuserinfo [etpro id]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_checkuserinfo.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_checkuserinfo.gif]&lt;br /&gt;
&lt;br /&gt;
* An option to ignore server administration by most modules of this script! You just have to type the tag (min length 3), but its recommended only if u got protected tag on the server !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Remember script will check a player while connecting and then while his userinfo is changed. Reyalp added also an option to check every x seconds one by one every player, but u can disable it via this script and use rcon command !&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ingame_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_players.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== in game ======&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can easily set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&lt;br /&gt;
                                            Counted players &lt;br /&gt;
&lt;br /&gt;
 Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====== via rcon ======&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Admin can see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== name change ======&lt;br /&gt;
* You can set after how many times player can change his nick, after the limit it will restore to the default one and info with his ID will be shown to everyone&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rename_limit.gif http://luk4ward.boo.pl/files/gallery/thumbs/rename_limit.gif]&lt;br /&gt;
* You can set the kick name limit of player trying to change the name after reaching the name change limit&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/renames.gif http://luk4ward.boo.pl/files/gallery/thumbs/renames.gif]&lt;br /&gt;
====== name length ======&lt;br /&gt;
* You can also set min and max length of allowed nicknames (length will not count spaces and color codes !)&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname_len.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname_len.gif]&lt;br /&gt;
====== bad names ======&lt;br /&gt;
* You can set bad names, by default script will check for Reyalp&#039;s bad names, english &amp;amp; polish bad names and for random bad nicks&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname.gif]&lt;br /&gt;
* And also for extra carat char, which looks like this: ^&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/extra_carat.gif http://luk4ward.boo.pl/files/gallery/thumbs/extra_carat.gif]&lt;br /&gt;
====== rcon cmds ======&lt;br /&gt;
* Script also gives u new rcon rename commands&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:33:40:&amp;gt; rename&lt;br /&gt;
-----------------&lt;br /&gt;
Usage: rename ID newnick&lt;br /&gt;
Example#1 (to clean the nick): rename ID clean&lt;br /&gt;
Example#2 (to cut the nick): rename ID cutnick&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_rename.gif]&lt;br /&gt;
** In game looks like this&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_rename.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/clean_name.gif http://luk4ward.boo.pl/files/gallery/thumbs/clean_name.gif]&lt;br /&gt;
&lt;br /&gt;
===== Anti-highping mod =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module allows admin to put on spec players with specified ping&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:00:19:&amp;gt; ping2spec&lt;br /&gt;
--------------------&lt;br /&gt;
Usage: ping2spec [ ping &amp;gt;0 ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_ping2spec.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ping2spec.gif]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Files can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/fixed_gamedate.gif http://luk4ward.boo.pl/files/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etserver_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/howitworks.gif http://luk4ward.boo.pl/files/gallery/thumbs/howitworks.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* ACpro ver 2.0 gives u the avability to change the Filter Mode:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- mode 1 will check against the first part of IP (like 83.)&lt;br /&gt;
-- mode 2 will check against the first two parts of IP (like 83.60.)&lt;br /&gt;
-- mode 4 will check against the first part of IP (like 83.)&lt;br /&gt;
--             and allow to join only from the added players of your added FilterMasks&lt;br /&gt;
--             example:&lt;br /&gt;
--             1) player from 1.2.3.4 is connecting&lt;br /&gt;
--             2) script not found a filename [1_.dat] from ipbans/ with his IP&lt;br /&gt;
--	       3) script refused entry&lt;br /&gt;
--             4) admin is adding FilterMask for ip 1.2.3.4 via rcon&lt;br /&gt;
--             5) player from 1.2.3.4 is connecting&lt;br /&gt;
--             6) script not found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             7) script refused entry&lt;br /&gt;
--             8) admin is adding his guid for ip 1.2.3.4 via rcon&lt;br /&gt;
--             9) player from 1.2.3.4 is connecting&lt;br /&gt;
--             10) script found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             11) script allowed to join the sever&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* #1 It&#039;s checking if the part/s of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server [ mode 1,2 ] or kick not recognized IP [ mode 4 ]&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see part about Logging data of players)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; There are 3 ways how to manage those bans (rcon, ftp, etadmin), the &amp;lt;i&amp;gt;HOW TO&amp;lt;/i&amp;gt; under is based on mode 2 but it looks the same for other (you just have to change filenames to one part of IP for 1,4 modes) ! &lt;br /&gt;
Modes 1,2 are for public server, but mode 4 is for leagues&#039; or private servers because it will allow to join only specified players.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_add.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_add.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:07:30:&amp;gt; add&lt;br /&gt;
--------------&lt;br /&gt;
Examples depend on filter_mode [activated: 2] -&amp;gt; enter 2 first parts of IP (with 2 dots: one after each number) !&lt;br /&gt;
&lt;br /&gt;
Usage:     add             cl_guid                 nick        ip           by&lt;br /&gt;
Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.      admin&lt;br /&gt;
Example#2: add GuidGuidGUIDGUIDGUIDGuidGUIDGUID clean_player 83.100.123.  admin&lt;br /&gt;
Example#3: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.100.5 admin&lt;br /&gt;
&lt;br /&gt;
Usage:     add mask cheater     ip        by&lt;br /&gt;
Example#1: add mask cheater 83.100.      admin&lt;br /&gt;
Example#2: add mask cheater 83.100.123.  admin&lt;br /&gt;
Example#3: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
=== VSP stats fixes ===&lt;br /&gt;
==== [http://www.scivox.net/smf/index.php?topic=834.msg6231#msg6231 &amp;gt;&amp;gt; Stop full punkbuster guids from being displayed &amp;lt;&amp;lt;] ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2931</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2931"/>
		<updated>2008-04-14T18:33:12Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
http://luk4ward.boo.pl/images/acpro2halfsize.png&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl OBJective Cmpgn [ /connect 193.33.34.11:27965 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) shield mod created by Nappy&lt;br /&gt;
** -- *) /kill mod created by Infty modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup &amp;amp; fixed time mod created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) welcome mod created by Luk4ward&lt;br /&gt;
** -- *) ACpro 2.0 mod (see below) by Luk4ward&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl TeamDeathMatch Cmpgn [ /connect 193.33.34.15:27960 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup &amp;amp; fixed time mod created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) welcome mod created by Luk4ward&lt;br /&gt;
** -- *) ACpro 2.0 mod (see below) by Luk4ward&lt;br /&gt;
* &amp;lt;b&amp;gt;u|k. public server 3.2.6_2.60b [ /connect 83.142.226.97:29023 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) ACpro 2.0 mod (see below) by Luk4ward&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;All server got modified etadmin mod which includes fixes and some other custom things, even individual pk3 files !&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=6 &amp;gt;&amp;gt; Download ACpro mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 2.0 includes [http://bani.anime.net/banimod/forums/viewtopic.php?t=6777 Reyalp&#039; fixes] modified by me&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
18:35:07:&amp;gt; lua_status&lt;br /&gt;
---------------------&lt;br /&gt;
etpro: Loaded lua scripts&lt;br /&gt;
VM Modname                  Signature                                Filename&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
01 ACpro:2.0slot:1          C70E0F01B0A0CC35BD1155898F4F511E3BC582F3 ac2pro.lua&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* rcon:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_ac2pro.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ac2pro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes such mods and Reyalp&#039; fixes: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging &amp;amp; checking data of players ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/acpro_logs.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== Separated file logs ======&lt;br /&gt;
&lt;br /&gt;
* ok_eguids.log -&amp;gt; logging all passed etpro guids in format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ EGUID ] @ DATE 2008 from IP [ nick ]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* bad_guids.log -&amp;gt; logging all refused guids (includes checking cl_guid !!!), &amp;lt;b&amp;gt;REAL examples&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ OpensourcePowa ] @ Sun Mar  9 11:56:05 2008 from 84.95.125.101:62733 [ HUHUH??? ]&lt;br /&gt;
[ 256624374273789392012475FUFUFUFU ] @ Wed Mar 19 10:39:52 2008 from 80.54.117.13:27960 [ Corky ]&lt;br /&gt;
[ UNKNOWN ] @ Sat Mar 29 20:47:48 2008 from 87.105.54.61:27960 [ Grim ]&lt;br /&gt;
[ CHEATERS_ALWAYS_WIN_LOLOLOLOLOLOLOLOLOLO ] @ Sat Mar 29 23:16:49 2008 from 90.213.91.116:27960 [ downloaded5kill ] &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
etpro IAC: 4 GUID [ EGUID ] [ ETPRO_PLAYER ]&lt;br /&gt;
guidcheck: 4) client ETPRO_PLAYER from IP got ok eGUID: EGUID more info @ logs/ok_eguids.log &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Guids&#039; logging and filenames are up to Admin !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log_badguids = true -- includes cl_guid&lt;br /&gt;
log_okeguids = true -- only eguids&lt;br /&gt;
&lt;br /&gt;
logfile_badguids = &amp;quot;logs/bad_guids.log&amp;quot;&lt;br /&gt;
logfile_okeguids = &amp;quot;logs/ok_eguids.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-- check file logfile_badguids for the names, date and IPs of people with spoofed guids (cl_guids and etpro guids)&lt;br /&gt;
-- check file okeguids for the names, date and IPs of people with ok etpro guids (no etadmin format)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* not/accepted_players.log &amp;amp; players.log include data of connecting players in format:&lt;br /&gt;
&lt;br /&gt;
** name &amp;lt;br /&amp;gt;&lt;br /&gt;
** cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
** yawn link &amp;lt;br /&amp;gt;&lt;br /&gt;
** ip &amp;lt;br /&amp;gt;&lt;br /&gt;
** date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = player&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	yawn    = http://www.yawn.be/findPlayer.yawn?gamecode=ET&amp;amp;pbGuid=GUIDGUID&lt;br /&gt;
	ip      = 123.456.789.0&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Client 7 connecting with 50 challenge ping&lt;br /&gt;
filtercheck: client 4 cnt 1st time @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
running script for client 4 @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
filtercheck: mode 2&lt;br /&gt;
filtercheck: opening ipbans/83_25_.dat&lt;br /&gt;
filtercheck: closing ipbans/83_25_.dat&lt;br /&gt;
filtercheck: client 4 ok, more info @ logs/players.log !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Checking userinfo ======&lt;br /&gt;
&lt;br /&gt;
* How to check player userinfo via Reyalp script modified by me:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:38:57:&amp;gt; checkuserinfo&lt;br /&gt;
------------------------&lt;br /&gt;
Usage: checkuserinfo [etpro id]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_checkuserinfo.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_checkuserinfo.gif]&lt;br /&gt;
&lt;br /&gt;
* An option to ignore server administration by most modules of this script! You just have to type the tag (min length 3), but its recommended only if u got protected tag on the server !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Remember script will check a player while connecting and then while his userinfo is changed. Reyalp added also an option to check every x seconds one by one every player, but u can disable it via this script and use rcon command !&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ingame_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_players.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== in game ======&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can easily set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&lt;br /&gt;
                                            Counted players &lt;br /&gt;
&lt;br /&gt;
 Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====== via rcon ======&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Admin can see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== name change ======&lt;br /&gt;
* You can set after how many times player can change his nick, after the limit it will restore to the default one and info with his ID will be shown to everyone&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rename_limit.gif http://luk4ward.boo.pl/files/gallery/thumbs/rename_limit.gif]&lt;br /&gt;
* You can set the kick name limit of player trying to change the name after reaching the name change limit&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/renames.gif http://luk4ward.boo.pl/files/gallery/thumbs/renames.gif]&lt;br /&gt;
====== name length ======&lt;br /&gt;
* You can also set min and max length of allowed nicknames (length will not count spaces and color codes !)&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname_len.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname_len.gif]&lt;br /&gt;
====== bad names ======&lt;br /&gt;
* You can set bad names, by default script will check for Reyalp&#039;s bad names, english &amp;amp; polish bad names and for random bad nicks&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname.gif]&lt;br /&gt;
* And also for extra carat char, which looks like this: ^&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/extra_carat.gif http://luk4ward.boo.pl/files/gallery/thumbs/extra_carat.gif]&lt;br /&gt;
====== rcon cmds ======&lt;br /&gt;
* Script also gives u new rcon rename commands&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:33:40:&amp;gt; rename&lt;br /&gt;
-----------------&lt;br /&gt;
Usage: rename ID newnick&lt;br /&gt;
Example#1 (to clean the nick): rename ID clean&lt;br /&gt;
Example#2 (to cut the nick): rename ID cutnick&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_rename.gif]&lt;br /&gt;
** In game looks like this&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_rename.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/clean_name.gif http://luk4ward.boo.pl/files/gallery/thumbs/clean_name.gif]&lt;br /&gt;
&lt;br /&gt;
===== Anti-highping mod =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module allows admin to put on spec players with specified ping&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:00:19:&amp;gt; ping2spec&lt;br /&gt;
--------------------&lt;br /&gt;
Usage: ping2spec [ ping &amp;gt;0 ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_ping2spec.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ping2spec.gif]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Files can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/fixed_gamedate.gif http://luk4ward.boo.pl/files/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etserver_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/howitworks.gif http://luk4ward.boo.pl/files/gallery/thumbs/howitworks.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* ACpro ver 2.0 gives u the avability to change the Filter Mode:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- mode 1 will check against the first part of IP (like 83.)&lt;br /&gt;
-- mode 2 will check against the first two parts of IP (like 83.60.)&lt;br /&gt;
-- mode 4 will check against the first part of IP (like 83.)&lt;br /&gt;
--             and allow to join only from the added players of your added FilterMasks&lt;br /&gt;
--             example:&lt;br /&gt;
--             1) player from 1.2.3.4 is connecting&lt;br /&gt;
--             2) script not found a filename [1_.dat] from ipbans/ with his IP&lt;br /&gt;
--	       3) script refused entry&lt;br /&gt;
--             4) admin is adding FilterMask for ip 1.2.3.4 via rcon&lt;br /&gt;
--             5) player from 1.2.3.4 is connecting&lt;br /&gt;
--             6) script not found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             7) script refused entry&lt;br /&gt;
--             8) admin is adding his guid for ip 1.2.3.4 via rcon&lt;br /&gt;
--             9) player from 1.2.3.4 is connecting&lt;br /&gt;
--             10) script found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             11) script allowed to join the sever&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* #1 It&#039;s checking if the part/s of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server [ mode 1,2 ] or kick not recognized IP [ mode 4 ]&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see part about Logging data of players)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; There are 3 ways how to manage those bans (rcon, ftp, etadmin), the &amp;lt;i&amp;gt;HOW TO&amp;lt;/i&amp;gt; under is based on mode 2 but it looks the same for other (you just have to change filenames to one part of IP for 1,4 modes) ! &lt;br /&gt;
Modes 1,2 are for public server, but mode 4 is for leagues&#039; or private servers because it will allow to join only specified players.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_add.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_add.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:07:30:&amp;gt; add&lt;br /&gt;
--------------&lt;br /&gt;
Examples depend on filter_mode [activated: 2] -&amp;gt; enter 2 first parts of IP (with 2 dots: one after each number) !&lt;br /&gt;
&lt;br /&gt;
Usage:     add             cl_guid                 nick        ip           by&lt;br /&gt;
Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.      admin&lt;br /&gt;
Example#2: add GuidGuidGUIDGUIDGUIDGuidGUIDGUID clean_player 83.100.123.  admin&lt;br /&gt;
Example#3: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.100.5 admin&lt;br /&gt;
&lt;br /&gt;
Usage:     add mask cheater     ip        by&lt;br /&gt;
Example#1: add mask cheater 83.100.      admin&lt;br /&gt;
Example#2: add mask cheater 83.100.123.  admin&lt;br /&gt;
Example#3: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
=== VSP stats fixes ===&lt;br /&gt;
==== [http://www.scivox.net/smf/index.php?topic=834.msg6231#msg6231 &amp;gt;&amp;gt; Stop full punkbuster guids from being displayed &amp;lt;&amp;lt;] ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2930</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2930"/>
		<updated>2008-04-14T18:24:22Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
http://luk4ward.boo.pl/images/acpro2halfsize.png&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl OBJective Cmpgn [ /connect 193.33.34.11:27965 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) shield mod created by Nappy&lt;br /&gt;
** -- *) /kill mod created by Infty modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup &amp;amp; fixed time mod created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) welcome mod created by Luk4ward&lt;br /&gt;
** -- *) ACpro 2.0 mod (see below) by Luk4ward&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl TeamDeathMatch Cmpgn [ /connect 193.33.34.15:27960 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup &amp;amp; fixed time mod created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) welcome mod created by Luk4ward&lt;br /&gt;
** -- *) ACpro 2.0 mod (see below) by Luk4ward&lt;br /&gt;
* &amp;lt;b&amp;gt;u|k. public server 3.2.6_2.60b [ /connect 83.142.226.97:29023 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) ACpro 2.0 mod (see below) by Luk4ward&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;All server got modified etadmin mod which includes fixes and some other custom things, even individual pk3 files !&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=6 &amp;gt;&amp;gt; Download ACpro mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 2.0 includes [http://bani.anime.net/banimod/forums/viewtopic.php?t=6777 Reyalp&#039; fixes] modified by me&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
18:35:07:&amp;gt; lua_status&lt;br /&gt;
---------------------&lt;br /&gt;
etpro: Loaded lua scripts&lt;br /&gt;
VM Modname                  Signature                                Filename&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
01 ACpro:2.0slot:1          C70E0F01B0A0CC35BD1155898F4F511E3BC582F3 ac2pro.lua&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* rcon:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_ac2pro.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ac2pro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes such mods and Reyalp&#039; fixes: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging &amp;amp; checking data of players ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/acpro_logs.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== Separated file logs ======&lt;br /&gt;
&lt;br /&gt;
* ok_eguids.log -&amp;gt; logging all passed etpro guids in format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ EGUID ] @ DATE 2008 from IP [ nick ]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* bad_guids.log -&amp;gt; logging all refused guids (includes checking cl_guid !!!), &amp;lt;b&amp;gt;REAL examples&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ OpensourcePowa ] @ Sun Mar  9 11:56:05 2008 from 84.95.125.101:62733 [ HUHUH??? ]&lt;br /&gt;
[ 256624374273789392012475FUFUFUFU ] @ Wed Mar 19 10:39:52 2008 from 80.54.117.13:27960 [ Corky ]&lt;br /&gt;
[ UNKNOWN ] @ Sat Mar 29 20:47:48 2008 from 87.105.54.61:27960 [ Grim ]&lt;br /&gt;
[ CHEATERS_ALWAYS_WIN_LOLOLOLOLOLOLOLOLOLO ] @ Sat Mar 29 23:16:49 2008 from 90.213.91.116:27960 [ downloaded5kill ] &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
etpro IAC: 4 GUID [ EGUID ] [ ETPRO_PLAYER ]&lt;br /&gt;
guidcheck: 4) client ETPRO_PLAYER from IP got ok eGUID: EGUID more info @ logs/ok_eguids.log &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Guids&#039; logging and filenames are up to Admin !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log_badguids = true -- includes cl_guid&lt;br /&gt;
log_okeguids = true -- only eguids&lt;br /&gt;
&lt;br /&gt;
logfile_badguids = &amp;quot;logs/bad_guids.log&amp;quot;&lt;br /&gt;
logfile_okeguids = &amp;quot;logs/ok_eguids.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-- check file logfile_badguids for the names, date and IPs of people with spoofed guids (cl_guids and etpro guids)&lt;br /&gt;
-- check file okeguids for the names, date and IPs of people with ok etpro guids (no etadmin format)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* not/accepted_players.log &amp;amp; players.log include data of connecting players in format:&lt;br /&gt;
&lt;br /&gt;
** name &amp;lt;br /&amp;gt;&lt;br /&gt;
** cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
** yawn link &amp;lt;br /&amp;gt;&lt;br /&gt;
** ip &amp;lt;br /&amp;gt;&lt;br /&gt;
** date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = player&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	yawn    = http://www.yawn.be/findPlayer.yawn?gamecode=ET&amp;amp;pbGuid=GUIDGUID&lt;br /&gt;
	ip      = 123.456.789.0&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Client 7 connecting with 50 challenge ping&lt;br /&gt;
filtercheck: client 4 cnt 1st time @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
running script for client 4 @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
filtercheck: mode 2&lt;br /&gt;
filtercheck: opening ipbans/83_25_.dat&lt;br /&gt;
filtercheck: closing ipbans/83_25_.dat&lt;br /&gt;
filtercheck: client 4 ok, more info @ logs/players.log !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Checking userinfo ======&lt;br /&gt;
&lt;br /&gt;
* How to check player userinfo via Reyalp script modified by me:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:38:57:&amp;gt; checkuserinfo&lt;br /&gt;
------------------------&lt;br /&gt;
Usage: checkuserinfo [etpro id]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_checkuserinfo.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_checkuserinfo.gif]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Remember script will check a player while connecting and then while his userinfo is changed. Reyalp added also an option to check every x seconds one by one every player, but u can disable it via this script and use rcon command !&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ingame_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_players.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== in game ======&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can easily set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&lt;br /&gt;
                                            Counted players &lt;br /&gt;
&lt;br /&gt;
 Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====== via rcon ======&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Admin can see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== name change ======&lt;br /&gt;
* You can set after how many times player can change his nick, after the limit it will restore to the default one and info with his ID will be shown to everyone&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rename_limit.gif http://luk4ward.boo.pl/files/gallery/thumbs/rename_limit.gif]&lt;br /&gt;
* You can set the kick name limit of player trying to change the name after reaching the name change limit&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/renames.gif http://luk4ward.boo.pl/files/gallery/thumbs/renames.gif]&lt;br /&gt;
====== name length ======&lt;br /&gt;
* You can also set min and max length of allowed nicknames (length will not count spaces and color codes !)&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname_len.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname_len.gif]&lt;br /&gt;
====== bad names ======&lt;br /&gt;
* You can set bad names, by default script will check for Reyalp&#039;s bad names, english &amp;amp; polish bad names and for random bad nicks&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname.gif]&lt;br /&gt;
* And also for extra carat char, which looks like this: ^&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/extra_carat.gif http://luk4ward.boo.pl/files/gallery/thumbs/extra_carat.gif]&lt;br /&gt;
====== rcon cmds ======&lt;br /&gt;
* Script also gives u new rcon rename commands&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:33:40:&amp;gt; rename&lt;br /&gt;
-----------------&lt;br /&gt;
Usage: rename ID newnick&lt;br /&gt;
Example#1 (to clean the nick): rename ID clean&lt;br /&gt;
Example#2 (to cut the nick): rename ID cutnick&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_rename.gif]&lt;br /&gt;
** In game looks like this&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_rename.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/clean_name.gif http://luk4ward.boo.pl/files/gallery/thumbs/clean_name.gif]&lt;br /&gt;
&lt;br /&gt;
===== Anti-highping mod =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module allows admin to put on spec players with specified ping&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:00:19:&amp;gt; ping2spec&lt;br /&gt;
--------------------&lt;br /&gt;
Usage: ping2spec [ ping &amp;gt;0 ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_ping2spec.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ping2spec.gif]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Files can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/fixed_gamedate.gif http://luk4ward.boo.pl/files/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etserver_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/howitworks.gif http://luk4ward.boo.pl/files/gallery/thumbs/howitworks.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* ACpro ver 2.0 gives u the avability to change the Filter Mode:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- mode 1 will check against the first part of IP (like 83.)&lt;br /&gt;
-- mode 2 will check against the first two parts of IP (like 83.60.)&lt;br /&gt;
-- mode 4 will check against the first part of IP (like 83.)&lt;br /&gt;
--             and allow to join only from the added players of your added FilterMasks&lt;br /&gt;
--             example:&lt;br /&gt;
--             1) player from 1.2.3.4 is connecting&lt;br /&gt;
--             2) script not found a filename [1_.dat] from ipbans/ with his IP&lt;br /&gt;
--	       3) script refused entry&lt;br /&gt;
--             4) admin is adding FilterMask for ip 1.2.3.4 via rcon&lt;br /&gt;
--             5) player from 1.2.3.4 is connecting&lt;br /&gt;
--             6) script not found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             7) script refused entry&lt;br /&gt;
--             8) admin is adding his guid for ip 1.2.3.4 via rcon&lt;br /&gt;
--             9) player from 1.2.3.4 is connecting&lt;br /&gt;
--             10) script found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             11) script allowed to join the sever&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* #1 It&#039;s checking if the part/s of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server [ mode 1,2 ] or kick not recognized IP [ mode 4 ]&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see part about Logging data of players)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt; There are 3 ways how to manage those bans (rcon, ftp, etadmin), the &amp;lt;i&amp;gt;HOW TO&amp;lt;/i&amp;gt; under is based on mode 2 but it looks the same for other (you just have to change filenames to one part of IP for 1,4 modes) ! &lt;br /&gt;
Modes 1,2 are for public server, but mode 4 is for leagues&#039; or private servers because it will allow to join only specified players.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_add.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_add.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:07:30:&amp;gt; add&lt;br /&gt;
--------------&lt;br /&gt;
Examples depend on filter_mode [activated: 2] -&amp;gt; enter 2 first parts of IP (with 2 dots: one after each number) !&lt;br /&gt;
&lt;br /&gt;
Usage:     add             cl_guid                 nick        ip           by&lt;br /&gt;
Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.      admin&lt;br /&gt;
Example#2: add GuidGuidGUIDGUIDGUIDGuidGUIDGUID clean_player 83.100.123.  admin&lt;br /&gt;
Example#3: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.100.5 admin&lt;br /&gt;
&lt;br /&gt;
Usage:     add mask cheater     ip        by&lt;br /&gt;
Example#1: add mask cheater 83.100.      admin&lt;br /&gt;
Example#2: add mask cheater 83.100.123.  admin&lt;br /&gt;
Example#3: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
=== VSP stats fixes ===&lt;br /&gt;
==== [http://www.scivox.net/smf/index.php?topic=834.msg6231#msg6231 &amp;gt;&amp;gt; Stop full punkbuster guids from being displayed &amp;lt;&amp;lt;] ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2929</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2929"/>
		<updated>2008-04-14T18:08:07Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
http://luk4ward.boo.pl/images/acpro2halfsize.png&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl OBJective Cmpgn [ /connect 193.33.34.11:27965 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) shield mod created by Nappy&lt;br /&gt;
** -- *) /kill mod created by Infty modified by Luk4ward &amp;amp; McSteve&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup &amp;amp; fixed time mod created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) welcome mod created by Luk4ward&lt;br /&gt;
** -- *) ACpro 2.0 mod (see below) by Luk4ward&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl TeamDeathMatch Cmpgn [ /connect 193.33.34.15:27960 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) clients&#039; commands and votes mod created by Hadr0 modified by Luk4ward&lt;br /&gt;
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) !punish &amp;amp; !kill mod created by =FF=im2good4u modified by Deus &amp;amp; Luk4ward&lt;br /&gt;
** -- *) funny warmup &amp;amp; fixed time mod created by McSteve modified by Luk4ward&lt;br /&gt;
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward&lt;br /&gt;
** -- *) playsound clientnum soundfile plugin created by Phenomenon&lt;br /&gt;
** -- *) welcome mod created by Luk4ward&lt;br /&gt;
** -- *) ACpro 2.0 mod (see below) by Luk4ward&lt;br /&gt;
* &amp;lt;b&amp;gt;u|k. public server 3.2.6_2.60b [ /connect 83.142.226.97:29023 ]&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
** -- *) killer&#039;s hp mod created by Phenomenon modified by Luk4ward&lt;br /&gt;
** -- *) ACpro 2.0 mod (see below) by Luk4ward&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;All server got modified etadmin mod which includes fixes and some other custom things, even individual pk3 files !&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=6 &amp;gt;&amp;gt; Download ACpro mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 2.0&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
18:35:07:&amp;gt; lua_status&lt;br /&gt;
---------------------&lt;br /&gt;
etpro: Loaded lua scripts&lt;br /&gt;
VM Modname                  Signature                                Filename&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
01 ACpro:2.0slot:1          C70E0F01B0A0CC35BD1155898F4F511E3BC582F3 ac2pro.lua&lt;br /&gt;
-- ------------------------ ---------------------------------------- ------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* rcon:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_ac2pro.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ac2pro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes such mods and Reyalp&#039; fixes: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging &amp;amp; checking data of players ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/acpro_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/acpro_logs.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== Separated file logs ======&lt;br /&gt;
&lt;br /&gt;
* ok_eguids.log -&amp;gt; logging all passed etpro guids in format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ EGUID ] @ DATE 2008 from IP [ nick ]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* bad_guids.log -&amp;gt; logging all refused guids (includes checking cl_guid !!!), &amp;lt;b&amp;gt;REAL examples&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[OpensourcePowa] @ Sun Mar  9 11:56:05 2008 from 84.95.125.101:62733 [ HUHUH??? ]&lt;br /&gt;
[256624374273789392012475FUFUFUFU] @ Wed Mar 19 10:39:52 2008 from 80.54.117.13:27960 [ Corky ]&lt;br /&gt;
UNKNOWN] @ Sat Mar 29 20:47:48 2008 from 87.105.54.61:27960 [ Grim ]&lt;br /&gt;
[CHEATERS_ALWAYS_WIN_LOLOLOLOLOLOLOLOLOLO] @ Sat Mar 29 23:16:49 2008 from 90.213.91.116:27960 [ downloaded5kill ] &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
etpro IAC: 4 GUID [ EGUID ] [ ETPRO_PLAYER ]&lt;br /&gt;
guidcheck: 4) client ETPRO_PLAYER from IP got ok eGUID: EGUID more info @ logs/ok_eguids.log &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Guids&#039; logging and filenames are up to Admin !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log_badguids = true -- includes cl_guid&lt;br /&gt;
log_okeguids = true -- only eguids&lt;br /&gt;
&lt;br /&gt;
logfile_badguids = &amp;quot;logs/bad_guids.log&amp;quot;&lt;br /&gt;
logfile_okeguids = &amp;quot;logs/ok_eguids.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-- check file logfile_badguids for the names, date and IPs of people with spoofed guids (cl_guids and etpro guids)&lt;br /&gt;
-- check file okeguids for the names, date and IPs of people with ok etpro guids (no etadmin format)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* not/accepted_players.log &amp;amp; players.log include data of connecting players in format:&lt;br /&gt;
&lt;br /&gt;
** name &amp;lt;br /&amp;gt;&lt;br /&gt;
** cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
** yawn link &amp;lt;br /&amp;gt;&lt;br /&gt;
** ip &amp;lt;br /&amp;gt;&lt;br /&gt;
** date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = player&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	yawn    = http://www.yawn.be/findPlayer.yawn?gamecode=ET&amp;amp;pbGuid=GUIDGUID&lt;br /&gt;
	ip      = 123.456.789.0&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
example output to etconsole.log:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Client 7 connecting with 50 challenge ping&lt;br /&gt;
filtercheck: client 4 cnt 1st time @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
running script for client 4 @ Mon Apr 14 18:57:37 2008&lt;br /&gt;
filtercheck: mode 2&lt;br /&gt;
filtercheck: opening ipbans/83_25_.dat&lt;br /&gt;
filtercheck: closing ipbans/83_25_.dat&lt;br /&gt;
filtercheck: client 4 ok, more info @ logs/players.log !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Checking userinfo ======&lt;br /&gt;
&lt;br /&gt;
* How to check player userinfo via Reyalp script modified by me:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:38:57:&amp;gt; checkuserinfo&lt;br /&gt;
------------------------&lt;br /&gt;
Usage: checkuserinfo [etpro id]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_checkuserinfo.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_checkuserinfo.gif]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Remember script will check a player while connecting and then while his userinfo is changed. Reyalp added also an option to check every x seconds one by one every player, but u can disable it via this script and use rcon command !&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ingame_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_players.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====== in game ======&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can easily set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&lt;br /&gt;
                                            Counted players &lt;br /&gt;
&lt;br /&gt;
 Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====== via rcon ======&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Admin can see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== name change ======&lt;br /&gt;
* You can set after how many times player can change his nick, after the limit it will restore to the default one and info with his ID will be shown to everyone&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rename_limit.gif http://luk4ward.boo.pl/files/gallery/thumbs/rename_limit.gif]&lt;br /&gt;
* You can set the kick name limit of player trying to change the name after reaching the name change limit&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/renames.gif http://luk4ward.boo.pl/files/gallery/thumbs/renames.gif]&lt;br /&gt;
====== name length ======&lt;br /&gt;
* You can also set min and max length of allowed nicknames (length will not count spaces and color codes !)&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname_len.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname_len.gif]&lt;br /&gt;
====== bad names ======&lt;br /&gt;
* You can set bad names, by default script will check for Reyalp&#039;s bad names, english &amp;amp; polish bad names and for random bad nicks&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/badname.gif http://luk4ward.boo.pl/files/gallery/thumbs/badname.gif]&lt;br /&gt;
* And also for extra carat char, which looks like this: ^&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/extra_carat.gif http://luk4ward.boo.pl/files/gallery/thumbs/extra_carat.gif]&lt;br /&gt;
====== rcon cmds ======&lt;br /&gt;
* Script also gives u new rcon rename commands&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
19:33:40:&amp;gt; rename&lt;br /&gt;
-----------------&lt;br /&gt;
Usage: rename ID newnick&lt;br /&gt;
Example#1 (to clean the nick): rename ID clean&lt;br /&gt;
Example#2 (to cut the nick): rename ID cutnick&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_rename.gif]&lt;br /&gt;
** In game looks like this&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_rename.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_rename.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/clean_name.gif http://luk4ward.boo.pl/files/gallery/thumbs/clean_name.gif]&lt;br /&gt;
&lt;br /&gt;
===== Anti-highping mod =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module allows admin to put on spec players with specified ping&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:00:19:&amp;gt; ping2spec&lt;br /&gt;
--------------------&lt;br /&gt;
Usage: ping2spec [ ping &amp;gt;0 ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ingame_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/ingame_ping2spec.gif]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/rcon_ping2spec.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_ping2spec.gif]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Files can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/fixed_gamedate.gif http://luk4ward.boo.pl/files/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etserver_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/howitworks.gif http://luk4ward.boo.pl/files/gallery/thumbs/howitworks.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* ACpro ver 2.0 gives u the avability to change the Filter Mode:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- mode 1 will check against the first part of IP (like 83.)&lt;br /&gt;
-- mode 2 will check against the first two parts of IP (like 83.60.)&lt;br /&gt;
-- mode 4 will check against the first part of IP (like 83.)&lt;br /&gt;
--             and allow to join only from the added players of your added FilterMasks&lt;br /&gt;
--             example:&lt;br /&gt;
--             1) player from 1.2.3.4 is connecting&lt;br /&gt;
--             2) script not found a filename [1_.dat] from ipbans/ with his IP&lt;br /&gt;
--	       3) script refused entry&lt;br /&gt;
--             4) admin is adding FilterMask for ip 1.2.3.4 via rcon&lt;br /&gt;
--             5) player from 1.2.3.4 is connecting&lt;br /&gt;
--             6) script not found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             7) script refused entry&lt;br /&gt;
--             8) admin is adding his guid for ip 1.2.3.4 via rcon&lt;br /&gt;
--             9) player from 1.2.3.4 is connecting&lt;br /&gt;
--             10) script found his GUID in the filename [1_.dat] from ipbans/ of his IP&lt;br /&gt;
--             11) script allowed to join the sever&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* #1 It&#039;s checking if the part/s of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server [ mode 1,2] or kick not recognized IP [ mode 4 ]&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see part about Logging data of players)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon_add.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon_add.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:07:30:&amp;gt; add&lt;br /&gt;
--------------&lt;br /&gt;
Examples depend on filter_mode [activated: 2] -&amp;gt; enter 2 first parts of IP (with 2 dots: one after each number) !&lt;br /&gt;
&lt;br /&gt;
Usage:     add             cl_guid                 nick        ip           by&lt;br /&gt;
Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.      admin&lt;br /&gt;
Example#2: add GuidGuidGUIDGUIDGUIDGuidGUIDGUID clean_player 83.100.123.  admin&lt;br /&gt;
Example#3: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.100.5 admin&lt;br /&gt;
&lt;br /&gt;
Usage:     add mask cheater     ip        by&lt;br /&gt;
Example#1: add mask cheater 83.100.      admin&lt;br /&gt;
Example#2: add mask cheater 83.100.123.  admin&lt;br /&gt;
Example#3: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
=== VSP stats fixes ===&lt;br /&gt;
==== [http://www.scivox.net/smf/index.php?topic=834.msg6231#msg6231 &amp;gt;&amp;gt; Stop full punkbuster guids from being displayed &amp;lt;&amp;lt;] ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2925</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2925"/>
		<updated>2008-03-31T22:15:29Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: /* About */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://et.team.pro http://gfx.wolfteam.pl/wolfteam_shortlogo.png] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl Cmpgn&amp;lt;/b&amp;gt; [ /connect 193.33.34.11:27965 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl TDM&amp;lt;/b&amp;gt; [ /connect 193.33.34.15:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* u|k. public server 3.2.6_2.60b [ /connect 83.142.226.97:29023 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=5 &amp;gt;&amp;gt; Download ACpro mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etpro_dir.gif http://luk4ward.boo.pl/files/gallery/thumbs/etpro_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 1.6 [ac.lua] [7B8BD0A62E8FA4BD5702D1CFE477181626751470]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ACpro.gif http://luk4ward.boo.pl/files/gallery/thumbs/ACpro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes 6 mods: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights to ipbans folder inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging data of players in etadmin_mod format ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_3.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_3.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Name &amp;lt;br /&amp;gt;&lt;br /&gt;
* cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* etpro guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* IP &amp;lt;br /&amp;gt;&lt;br /&gt;
* Date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = requiem4dream&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	eguid   = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	ip      = 83.100.100.5&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depends on condition it will be logged in such format to those files:&lt;br /&gt;
&lt;br /&gt;
* file: logs/players.log &amp;lt;- players with not banned IPs&lt;br /&gt;
* file: logs/not_accepted_players.log &amp;lt;- players with banned IP and not accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
filtercheck: client cheater NOT accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ not_accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
* file: logs/accepted_players.log &amp;lt;- players with banned IP and accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;filtercheck: client cleanplayer accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/players_new.gif http://luk4ward.boo.pl/files/gallery/thumbs/players_new.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Now new option !&amp;lt;/b&amp;gt; You see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/new_console_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/new_console_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
* 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 &amp;lt;b&amp;gt;max_name_changes = -1&amp;lt;/b&amp;gt; then u will allow unlimited nick changes)!&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rename_limit.gif http://luk4ward.boo.pl/files/gallery/thumbs/rename_limit.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* Clean nick module will clean the nick from weird characters, especially:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
which is using to prevent from kicks or capturing the player !&lt;br /&gt;
You can use this via 2 ways:&lt;br /&gt;
* Via rcon:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rename ID clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* ETadmin mod:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
clean_name = rename &amp;lt;PART2ID&amp;gt; clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/clean_name.gif http://luk4ward.boo.pl/files/gallery/thumbs/clean_name.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
The most code by [http://wolfwiki.anime.net/index.php/User:Hadr0 Hadro] &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Names of files can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/fixed_gamedate.gif http://luk4ward.boo.pl/files/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etserver_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/error.gif http://luk4ward.boo.pl/files/gallery/thumbs/error.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* It&#039;s checking if the 2 parts of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see Logging data of players in etadmin_mod format section)&lt;br /&gt;
* This module was optimized in 1.6 version by adding:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
	  -- when playing lua mod is loaded so there is no hurry&lt;br /&gt;
	  -- 10 is minimum:&lt;br /&gt;
	  &lt;br /&gt;
maxlines_limit = 10 &lt;br /&gt;
&lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;	  &lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
	  -- on intermission and warmup connecting ppl have to be as fast as possible checked until lua will be unloaded&lt;br /&gt;
	  -- u can set critical_limit to 0 so no etpro guids during warmup &amp;amp; intermission will be logged but players will be checked immediately&lt;br /&gt;
	  -- the 3 is the minimum if there is no lines printed into console:&lt;br /&gt;
	  &lt;br /&gt;
critical_limit = 3  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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).&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
16:52:18:&amp;gt; add&lt;br /&gt;
		--------------&lt;br /&gt;
		Usage: add cl_guid nick ip by&lt;br /&gt;
		Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID luk4ward 83.100. admin&lt;br /&gt;
		Example#2: add guidGUIDGUIDGUIDGUIDGUIDGUIDguid luk4ward 83.100.100.5 admin&lt;br /&gt;
		Usage: add   mask  cheater ip by&lt;br /&gt;
		Example#1: add mask cheater 83.100. admin&lt;br /&gt;
		Example#2: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
=== VSP stats fixes ===&lt;br /&gt;
==== [http://www.scivox.net/smf/index.php?topic=834.msg6231#msg6231 &amp;gt;&amp;gt; Stop full punkbuster guids from being displayed &amp;lt;&amp;lt;] ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2924</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2924"/>
		<updated>2008-03-31T22:15:03Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://et.team.pro http://gfx.wolfteam.pl/wolfteam_shortlogo.png] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl Cmpgn&amp;lt;/b&amp;gt; [ /connect 193.33.34.11:27965 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl SW&amp;lt;/b&amp;gt; [ /connect 193.33.34.15:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* u|k. public server 3.2.6_2.60b [ /connect 83.142.226.97:29023 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=5 &amp;gt;&amp;gt; Download ACpro mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etpro_dir.gif http://luk4ward.boo.pl/files/gallery/thumbs/etpro_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 1.6 [ac.lua] [7B8BD0A62E8FA4BD5702D1CFE477181626751470]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ACpro.gif http://luk4ward.boo.pl/files/gallery/thumbs/ACpro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes 6 mods: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights to ipbans folder inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging data of players in etadmin_mod format ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_3.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_3.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Name &amp;lt;br /&amp;gt;&lt;br /&gt;
* cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* etpro guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* IP &amp;lt;br /&amp;gt;&lt;br /&gt;
* Date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = requiem4dream&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	eguid   = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	ip      = 83.100.100.5&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depends on condition it will be logged in such format to those files:&lt;br /&gt;
&lt;br /&gt;
* file: logs/players.log &amp;lt;- players with not banned IPs&lt;br /&gt;
* file: logs/not_accepted_players.log &amp;lt;- players with banned IP and not accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
filtercheck: client cheater NOT accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ not_accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
* file: logs/accepted_players.log &amp;lt;- players with banned IP and accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;filtercheck: client cleanplayer accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/players_new.gif http://luk4ward.boo.pl/files/gallery/thumbs/players_new.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Now new option !&amp;lt;/b&amp;gt; You see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/new_console_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/new_console_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
* 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 &amp;lt;b&amp;gt;max_name_changes = -1&amp;lt;/b&amp;gt; then u will allow unlimited nick changes)!&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rename_limit.gif http://luk4ward.boo.pl/files/gallery/thumbs/rename_limit.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* Clean nick module will clean the nick from weird characters, especially:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
which is using to prevent from kicks or capturing the player !&lt;br /&gt;
You can use this via 2 ways:&lt;br /&gt;
* Via rcon:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rename ID clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* ETadmin mod:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
clean_name = rename &amp;lt;PART2ID&amp;gt; clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/clean_name.gif http://luk4ward.boo.pl/files/gallery/thumbs/clean_name.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
The most code by [http://wolfwiki.anime.net/index.php/User:Hadr0 Hadro] &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Names of files can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/fixed_gamedate.gif http://luk4ward.boo.pl/files/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etserver_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/error.gif http://luk4ward.boo.pl/files/gallery/thumbs/error.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* It&#039;s checking if the 2 parts of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see Logging data of players in etadmin_mod format section)&lt;br /&gt;
* This module was optimized in 1.6 version by adding:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
	  -- when playing lua mod is loaded so there is no hurry&lt;br /&gt;
	  -- 10 is minimum:&lt;br /&gt;
	  &lt;br /&gt;
maxlines_limit = 10 &lt;br /&gt;
&lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;	  &lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
	  -- on intermission and warmup connecting ppl have to be as fast as possible checked until lua will be unloaded&lt;br /&gt;
	  -- u can set critical_limit to 0 so no etpro guids during warmup &amp;amp; intermission will be logged but players will be checked immediately&lt;br /&gt;
	  -- the 3 is the minimum if there is no lines printed into console:&lt;br /&gt;
	  &lt;br /&gt;
critical_limit = 3  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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).&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
16:52:18:&amp;gt; add&lt;br /&gt;
		--------------&lt;br /&gt;
		Usage: add cl_guid nick ip by&lt;br /&gt;
		Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID luk4ward 83.100. admin&lt;br /&gt;
		Example#2: add guidGUIDGUIDGUIDGUIDGUIDGUIDguid luk4ward 83.100.100.5 admin&lt;br /&gt;
		Usage: add   mask  cheater ip by&lt;br /&gt;
		Example#1: add mask cheater 83.100. admin&lt;br /&gt;
		Example#2: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
=== VSP stats fixes ===&lt;br /&gt;
==== [http://www.scivox.net/smf/index.php?topic=834.msg6231#msg6231 &amp;gt;&amp;gt; Stop full punkbuster guids from being displayed &amp;lt;&amp;lt;] ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2917</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2917"/>
		<updated>2008-02-29T19:59:48Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: /* Php scripts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://et.team.pro http://forum.wolfteam.pl/templates/xandgrey/ettp/logo.jpg] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl Cmpgn&amp;lt;/b&amp;gt; [ /connect 193.33.34.11:27965 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl SW&amp;lt;/b&amp;gt; [ /connect 193.33.34.15:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* u|k. public server 3.2.6_2.60b [ /connect 83.142.226.97:29023 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=5 &amp;gt;&amp;gt; Download ACpro mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etpro_dir.gif http://luk4ward.boo.pl/files/gallery/thumbs/etpro_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 1.6 [ac.lua] [7B8BD0A62E8FA4BD5702D1CFE477181626751470]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ACpro.gif http://luk4ward.boo.pl/files/gallery/thumbs/ACpro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes 6 mods: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights to ipbans folder inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging data of players in etadmin_mod format ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_3.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_3.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Name &amp;lt;br /&amp;gt;&lt;br /&gt;
* cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* etpro guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* IP &amp;lt;br /&amp;gt;&lt;br /&gt;
* Date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = requiem4dream&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	eguid   = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	ip      = 83.100.100.5&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depends on condition it will be logged in such format to those files:&lt;br /&gt;
&lt;br /&gt;
* file: logs/players.log &amp;lt;- players with not banned IPs&lt;br /&gt;
* file: logs/not_accepted_players.log &amp;lt;- players with banned IP and not accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
filtercheck: client cheater NOT accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ not_accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
* file: logs/accepted_players.log &amp;lt;- players with banned IP and accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;filtercheck: client cleanplayer accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/players_new.gif http://luk4ward.boo.pl/files/gallery/thumbs/players_new.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Now new option !&amp;lt;/b&amp;gt; You see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/new_console_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/new_console_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
* 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 &amp;lt;b&amp;gt;max_name_changes = -1&amp;lt;/b&amp;gt; then u will allow unlimited nick changes)!&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rename_limit.gif http://luk4ward.boo.pl/files/gallery/thumbs/rename_limit.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* Clean nick module will clean the nick from weird characters, especially:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
which is using to prevent from kicks or capturing the player !&lt;br /&gt;
You can use this via 2 ways:&lt;br /&gt;
* Via rcon:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rename ID clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* ETadmin mod:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
clean_name = rename &amp;lt;PART2ID&amp;gt; clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/clean_name.gif http://luk4ward.boo.pl/files/gallery/thumbs/clean_name.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
The most code by [http://wolfwiki.anime.net/index.php/User:Hadr0 Hadro] &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Names of files can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/fixed_gamedate.gif http://luk4ward.boo.pl/files/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etserver_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/error.gif http://luk4ward.boo.pl/files/gallery/thumbs/error.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* It&#039;s checking if the 2 parts of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see Logging data of players in etadmin_mod format section)&lt;br /&gt;
* This module was optimized in 1.6 version by adding:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
	  -- when playing lua mod is loaded so there is no hurry&lt;br /&gt;
	  -- 10 is minimum:&lt;br /&gt;
	  &lt;br /&gt;
maxlines_limit = 10 &lt;br /&gt;
&lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;	  &lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
	  -- on intermission and warmup connecting ppl have to be as fast as possible checked until lua will be unloaded&lt;br /&gt;
	  -- u can set critical_limit to 0 so no etpro guids during warmup &amp;amp; intermission will be logged but players will be checked immediately&lt;br /&gt;
	  -- the 3 is the minimum if there is no lines printed into console:&lt;br /&gt;
	  &lt;br /&gt;
critical_limit = 3  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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).&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
16:52:18:&amp;gt; add&lt;br /&gt;
		--------------&lt;br /&gt;
		Usage: add cl_guid nick ip by&lt;br /&gt;
		Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID luk4ward 83.100. admin&lt;br /&gt;
		Example#2: add guidGUIDGUIDGUIDGUIDGUIDGUIDguid luk4ward 83.100.100.5 admin&lt;br /&gt;
		Usage: add   mask  cheater ip by&lt;br /&gt;
		Example#1: add mask cheater 83.100. admin&lt;br /&gt;
		Example#2: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
=== VSP stats fixes ===&lt;br /&gt;
==== [http://www.scivox.net/smf/index.php?topic=834.msg6231#msg6231 &amp;gt;&amp;gt; Stop full punkbuster guids from being displayed &amp;lt;&amp;lt;] ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2916</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2916"/>
		<updated>2008-02-29T19:57:09Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: /* Php scripts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://et.team.pro http://forum.wolfteam.pl/templates/xandgrey/ettp/logo.jpg] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl Cmpgn&amp;lt;/b&amp;gt; [ /connect 193.33.34.11:27965 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl SW&amp;lt;/b&amp;gt; [ /connect 193.33.34.15:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* u|k. public server 3.2.6_2.60b [ /connect 83.142.226.97:29023 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=5 &amp;gt;&amp;gt; Download ACpro mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etpro_dir.gif http://luk4ward.boo.pl/files/gallery/thumbs/etpro_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 1.6 [ac.lua] [7B8BD0A62E8FA4BD5702D1CFE477181626751470]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ACpro.gif http://luk4ward.boo.pl/files/gallery/thumbs/ACpro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes 6 mods: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights to ipbans folder inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging data of players in etadmin_mod format ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_3.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_3.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Name &amp;lt;br /&amp;gt;&lt;br /&gt;
* cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* etpro guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* IP &amp;lt;br /&amp;gt;&lt;br /&gt;
* Date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = requiem4dream&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	eguid   = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	ip      = 83.100.100.5&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depends on condition it will be logged in such format to those files:&lt;br /&gt;
&lt;br /&gt;
* file: logs/players.log &amp;lt;- players with not banned IPs&lt;br /&gt;
* file: logs/not_accepted_players.log &amp;lt;- players with banned IP and not accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
filtercheck: client cheater NOT accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ not_accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
* file: logs/accepted_players.log &amp;lt;- players with banned IP and accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;filtercheck: client cleanplayer accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/players_new.gif http://luk4ward.boo.pl/files/gallery/thumbs/players_new.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Now new option !&amp;lt;/b&amp;gt; You see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/new_console_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/new_console_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
* 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 &amp;lt;b&amp;gt;max_name_changes = -1&amp;lt;/b&amp;gt; then u will allow unlimited nick changes)!&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rename_limit.gif http://luk4ward.boo.pl/files/gallery/thumbs/rename_limit.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* Clean nick module will clean the nick from weird characters, especially:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
which is using to prevent from kicks or capturing the player !&lt;br /&gt;
You can use this via 2 ways:&lt;br /&gt;
* Via rcon:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rename ID clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* ETadmin mod:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
clean_name = rename &amp;lt;PART2ID&amp;gt; clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/clean_name.gif http://luk4ward.boo.pl/files/gallery/thumbs/clean_name.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
The most code by [http://wolfwiki.anime.net/index.php/User:Hadr0 Hadro] &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Names of files can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/fixed_gamedate.gif http://luk4ward.boo.pl/files/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etserver_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/error.gif http://luk4ward.boo.pl/files/gallery/thumbs/error.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* It&#039;s checking if the 2 parts of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see Logging data of players in etadmin_mod format section)&lt;br /&gt;
* This module was optimized in 1.6 version by adding:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
	  -- when playing lua mod is loaded so there is no hurry&lt;br /&gt;
	  -- 10 is minimum:&lt;br /&gt;
	  &lt;br /&gt;
maxlines_limit = 10 &lt;br /&gt;
&lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;	  &lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
	  -- on intermission and warmup connecting ppl have to be as fast as possible checked until lua will be unloaded&lt;br /&gt;
	  -- u can set critical_limit to 0 so no etpro guids during warmup &amp;amp; intermission will be logged but players will be checked immediately&lt;br /&gt;
	  -- the 3 is the minimum if there is no lines printed into console:&lt;br /&gt;
	  &lt;br /&gt;
critical_limit = 3  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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).&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
16:52:18:&amp;gt; add&lt;br /&gt;
		--------------&lt;br /&gt;
		Usage: add cl_guid nick ip by&lt;br /&gt;
		Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID luk4ward 83.100. admin&lt;br /&gt;
		Example#2: add guidGUIDGUIDGUIDGUIDGUIDGUIDguid luk4ward 83.100.100.5 admin&lt;br /&gt;
		Usage: add   mask  cheater ip by&lt;br /&gt;
		Example#1: add mask cheater 83.100. admin&lt;br /&gt;
		Example#2: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
=== VSP stats fixes ===&lt;br /&gt;
==== [http://www.scivox.net/smf/index.php?topic=834.msg6231#msg6231 &amp;gt;&amp;gt; How to hide full punkbuster guid from being displayed &amp;lt;&amp;lt;] ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2915</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2915"/>
		<updated>2008-02-24T21:16:15Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://et.team.pro http://forum.wolfteam.pl/templates/xandgrey/ettp/logo.jpg] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl Cmpgn&amp;lt;/b&amp;gt; [ /connect 193.33.34.11:27965 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl SW&amp;lt;/b&amp;gt; [ /connect 193.33.34.15:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* u|k. public server 3.2.6_2.60b [ /connect 83.142.226.97:29023 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=5 &amp;gt;&amp;gt; Download ACpro mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etpro_dir.gif http://luk4ward.boo.pl/files/gallery/thumbs/etpro_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 1.6 [ac.lua] [7B8BD0A62E8FA4BD5702D1CFE477181626751470]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ACpro.gif http://luk4ward.boo.pl/files/gallery/thumbs/ACpro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes 6 mods: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights to ipbans folder inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging data of players in etadmin_mod format ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_3.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_3.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Name &amp;lt;br /&amp;gt;&lt;br /&gt;
* cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* etpro guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* IP &amp;lt;br /&amp;gt;&lt;br /&gt;
* Date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = requiem4dream&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	eguid   = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	ip      = 83.100.100.5&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depends on condition it will be logged in such format to those files:&lt;br /&gt;
&lt;br /&gt;
* file: logs/players.log &amp;lt;- players with not banned IPs&lt;br /&gt;
* file: logs/not_accepted_players.log &amp;lt;- players with banned IP and not accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
filtercheck: client cheater NOT accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ not_accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
* file: logs/accepted_players.log &amp;lt;- players with banned IP and accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;filtercheck: client cleanplayer accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/players_new.gif http://luk4ward.boo.pl/files/gallery/thumbs/players_new.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Now new option !&amp;lt;/b&amp;gt; You see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/new_console_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/new_console_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
* 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 &amp;lt;b&amp;gt;max_name_changes = -1&amp;lt;/b&amp;gt; then u will allow unlimited nick changes)!&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rename_limit.gif http://luk4ward.boo.pl/files/gallery/thumbs/rename_limit.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* Clean nick module will clean the nick from weird characters, especially:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
which is using to prevent from kicks or capturing the player !&lt;br /&gt;
You can use this via 2 ways:&lt;br /&gt;
* Via rcon:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rename ID clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* ETadmin mod:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
clean_name = rename &amp;lt;PART2ID&amp;gt; clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/clean_name.gif http://luk4ward.boo.pl/files/gallery/thumbs/clean_name.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
The most code by [http://wolfwiki.anime.net/index.php/User:Hadr0 Hadro] &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Names of files can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/fixed_gamedate.gif http://luk4ward.boo.pl/files/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etserver_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/error.gif http://luk4ward.boo.pl/files/gallery/thumbs/error.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* It&#039;s checking if the 2 parts of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see Logging data of players in etadmin_mod format section)&lt;br /&gt;
* This module was optimized in 1.6 version by adding:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
	  -- when playing lua mod is loaded so there is no hurry&lt;br /&gt;
	  -- 10 is minimum:&lt;br /&gt;
	  &lt;br /&gt;
maxlines_limit = 10 &lt;br /&gt;
&lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;	  &lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
	  -- on intermission and warmup connecting ppl have to be as fast as possible checked until lua will be unloaded&lt;br /&gt;
	  -- u can set critical_limit to 0 so no etpro guids during warmup &amp;amp; intermission will be logged but players will be checked immediately&lt;br /&gt;
	  -- the 3 is the minimum if there is no lines printed into console:&lt;br /&gt;
	  &lt;br /&gt;
critical_limit = 3  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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).&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
16:52:18:&amp;gt; add&lt;br /&gt;
		--------------&lt;br /&gt;
		Usage: add cl_guid nick ip by&lt;br /&gt;
		Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID luk4ward 83.100. admin&lt;br /&gt;
		Example#2: add guidGUIDGUIDGUIDGUIDGUIDGUIDguid luk4ward 83.100.100.5 admin&lt;br /&gt;
		Usage: add   mask  cheater ip by&lt;br /&gt;
		Example#1: add mask cheater 83.100. admin&lt;br /&gt;
		Example#2: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
&#039;&#039;soon&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2914</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2914"/>
		<updated>2008-02-24T16:45:07Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: /* Exec files depends on warmup time or playing time */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://et.team.pro http://forum.wolfteam.pl/templates/xandgrey/ettp/logo.jpg] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl Cmpgn&amp;lt;/b&amp;gt; [ /connect 193.33.34.11:27965 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl SW&amp;lt;/b&amp;gt; [ /connect 193.33.34.15:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* u|k. public server 3.2.6_2.60b [ /connect 213.228.232.155:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=5 &amp;gt;&amp;gt; Download ACpro mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etpro_dir.gif http://luk4ward.boo.pl/files/gallery/thumbs/etpro_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 1.6 [ac.lua] [7B8BD0A62E8FA4BD5702D1CFE477181626751470]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ACpro.gif http://luk4ward.boo.pl/files/gallery/thumbs/ACpro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes 6 mods: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights to ipbans folder inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging data of players in etadmin_mod format ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_3.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_3.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Name &amp;lt;br /&amp;gt;&lt;br /&gt;
* cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* etpro guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* IP &amp;lt;br /&amp;gt;&lt;br /&gt;
* Date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = requiem4dream&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	eguid   = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	ip      = 83.100.100.5&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depends on condition it will be logged in such format to those files:&lt;br /&gt;
&lt;br /&gt;
* file: logs/players.log &amp;lt;- players with not banned IPs&lt;br /&gt;
* file: logs/not_accepted_players.log &amp;lt;- players with banned IP and not accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
filtercheck: client cheater NOT accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ not_accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
* file: logs/accepted_players.log &amp;lt;- players with banned IP and accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;filtercheck: client cleanplayer accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/players_new.gif http://luk4ward.boo.pl/files/gallery/thumbs/players_new.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Now new option !&amp;lt;/b&amp;gt; You see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/new_console_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/new_console_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
* 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 &amp;lt;b&amp;gt;max_name_changes = -1&amp;lt;/b&amp;gt; then u will allow unlimited nick changes)!&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rename_limit.gif http://luk4ward.boo.pl/files/gallery/thumbs/rename_limit.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* Clean nick module will clean the nick from weird characters, especially:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
which is using to prevent from kicks or capturing the player !&lt;br /&gt;
You can use this via 2 ways:&lt;br /&gt;
* Via rcon:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rename ID clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* ETadmin mod:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
clean_name = rename &amp;lt;PART2ID&amp;gt; clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/clean_name.gif http://luk4ward.boo.pl/files/gallery/thumbs/clean_name.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
The most code by [http://wolfwiki.anime.net/index.php/User:Hadr0 Hadro] &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Names of files can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/fixed_gamedate.gif http://luk4ward.boo.pl/files/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etserver_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/error.gif http://luk4ward.boo.pl/files/gallery/thumbs/error.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* It&#039;s checking if the 2 parts of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see Logging data of players in etadmin_mod format section)&lt;br /&gt;
* This module was optimized in 1.6 version by adding:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
	  -- when playing lua mod is loaded so there is no hurry&lt;br /&gt;
	  -- 10 is minimum:&lt;br /&gt;
	  &lt;br /&gt;
maxlines_limit = 10 &lt;br /&gt;
&lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;	  &lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
	  -- on intermission and warmup connecting ppl have to be as fast as possible checked until lua will be unloaded&lt;br /&gt;
	  -- u can set critical_limit to 0 so no etpro guids during warmup &amp;amp; intermission will be logged but players will be checked immediately&lt;br /&gt;
	  -- the 3 is the minimum if there is no lines printed into console:&lt;br /&gt;
	  &lt;br /&gt;
critical_limit = 3  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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).&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
16:52:18:&amp;gt; add&lt;br /&gt;
		--------------&lt;br /&gt;
		Usage: add cl_guid nick ip by&lt;br /&gt;
		Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID luk4ward 83.100. admin&lt;br /&gt;
		Example#2: add guidGUIDGUIDGUIDGUIDGUIDGUIDguid luk4ward 83.100.100.5 admin&lt;br /&gt;
		Usage: add   mask  cheater ip by&lt;br /&gt;
		Example#1: add mask cheater 83.100. admin&lt;br /&gt;
		Example#2: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
&#039;&#039;soon&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2913</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2913"/>
		<updated>2008-02-24T16:44:44Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://et.team.pro http://forum.wolfteam.pl/templates/xandgrey/ettp/logo.jpg] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl Cmpgn&amp;lt;/b&amp;gt; [ /connect 193.33.34.11:27965 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl SW&amp;lt;/b&amp;gt; [ /connect 193.33.34.15:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* u|k. public server 3.2.6_2.60b [ /connect 213.228.232.155:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=5 &amp;gt;&amp;gt; Download ACpro mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etpro_dir.gif http://luk4ward.boo.pl/files/gallery/thumbs/etpro_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 1.6 [ac.lua] [7B8BD0A62E8FA4BD5702D1CFE477181626751470]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ACpro.gif http://luk4ward.boo.pl/files/gallery/thumbs/ACpro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes 6 mods: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights to ipbans folder inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging data of players in etadmin_mod format ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_3.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_3.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Name &amp;lt;br /&amp;gt;&lt;br /&gt;
* cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* etpro guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* IP &amp;lt;br /&amp;gt;&lt;br /&gt;
* Date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = requiem4dream&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	eguid   = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	ip      = 83.100.100.5&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depends on condition it will be logged in such format to those files:&lt;br /&gt;
&lt;br /&gt;
* file: logs/players.log &amp;lt;- players with not banned IPs&lt;br /&gt;
* file: logs/not_accepted_players.log &amp;lt;- players with banned IP and not accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
filtercheck: client cheater NOT accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ not_accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
* file: logs/accepted_players.log &amp;lt;- players with banned IP and accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;filtercheck: client cleanplayer accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/players_new.gif http://luk4ward.boo.pl/files/gallery/thumbs/players_new.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Now new option !&amp;lt;/b&amp;gt; You see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/new_console_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/new_console_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
* 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 &amp;lt;b&amp;gt;max_name_changes = -1&amp;lt;/b&amp;gt; then u will allow unlimited nick changes)!&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rename_limit.gif http://luk4ward.boo.pl/files/gallery/thumbs/rename_limit.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* Clean nick module will clean the nick from weird characters, especially:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
which is using to prevent from kicks or capturing the player !&lt;br /&gt;
You can use this via 2 ways:&lt;br /&gt;
* Via rcon:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rename ID clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* ETadmin mod:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
clean_name = rename &amp;lt;PART2ID&amp;gt; clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/clean_name.gif http://luk4ward.boo.pl/files/gallery/thumbs/clean_name.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
The most code by [http://wolfwiki.anime.net/index.php/User:Hadr0 Hadro] &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Names of files can be edited&lt;br /&gt;
* The info can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/fixed_gamedate.gif http://luk4ward.boo.pl/files/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etserver_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/error.gif http://luk4ward.boo.pl/files/gallery/thumbs/error.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* It&#039;s checking if the 2 parts of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see Logging data of players in etadmin_mod format section)&lt;br /&gt;
* This module was optimized in 1.6 version by adding:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
	  -- when playing lua mod is loaded so there is no hurry&lt;br /&gt;
	  -- 10 is minimum:&lt;br /&gt;
	  &lt;br /&gt;
maxlines_limit = 10 &lt;br /&gt;
&lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;	  &lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
	  -- on intermission and warmup connecting ppl have to be as fast as possible checked until lua will be unloaded&lt;br /&gt;
	  -- u can set critical_limit to 0 so no etpro guids during warmup &amp;amp; intermission will be logged but players will be checked immediately&lt;br /&gt;
	  -- the 3 is the minimum if there is no lines printed into console:&lt;br /&gt;
	  &lt;br /&gt;
critical_limit = 3  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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).&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
16:52:18:&amp;gt; add&lt;br /&gt;
		--------------&lt;br /&gt;
		Usage: add cl_guid nick ip by&lt;br /&gt;
		Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID luk4ward 83.100. admin&lt;br /&gt;
		Example#2: add guidGUIDGUIDGUIDGUIDGUIDGUIDguid luk4ward 83.100.100.5 admin&lt;br /&gt;
		Usage: add   mask  cheater ip by&lt;br /&gt;
		Example#1: add mask cheater 83.100. admin&lt;br /&gt;
		Example#2: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
&#039;&#039;soon&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2912</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2912"/>
		<updated>2008-02-24T14:05:47Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: /* ETpro lua scripts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://et.team.pro http://forum.wolfteam.pl/templates/xandgrey/ettp/logo.jpg] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl Cmpgn&amp;lt;/b&amp;gt; [ /connect 193.33.34.11:27965 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl SW&amp;lt;/b&amp;gt; [ /connect 193.33.34.15:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* u|k. public server 3.2.6_2.60b [ /connect 213.228.232.155:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=4 &amp;gt;&amp;gt; Download ACpro mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etpro_dir.gif http://luk4ward.boo.pl/files/gallery/thumbs/etpro_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 1.6 [ac.lua] [E25953A5F450B5188391209CFF86CAB503DA2D35]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ACpro.gif http://luk4ward.boo.pl/files/gallery/thumbs/ACpro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes 6 mods: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights to ipbans folder inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging data of players in etadmin_mod format ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_3.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_3.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Name &amp;lt;br /&amp;gt;&lt;br /&gt;
* cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* etpro guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* IP &amp;lt;br /&amp;gt;&lt;br /&gt;
* Date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = requiem4dream&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	eguid   = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	ip      = 83.100.100.5&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depends on condition it will be logged in such format to those files:&lt;br /&gt;
&lt;br /&gt;
* file: logs/players.log &amp;lt;- players with not banned IPs&lt;br /&gt;
* file: logs/not_accepted_players.log &amp;lt;- players with banned IP and not accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
filtercheck: client cheater NOT accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ not_accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
* file: logs/accepted_players.log &amp;lt;- players with banned IP and accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;filtercheck: client cleanplayer accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/players_new.gif http://luk4ward.boo.pl/files/gallery/thumbs/players_new.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Now new option !&amp;lt;/b&amp;gt; You see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/new_console_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/new_console_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
* 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 &amp;lt;b&amp;gt;max_name_changes = -1&amp;lt;/b&amp;gt; then u will allow unlimited nick changes)!&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rename_limit.gif http://luk4ward.boo.pl/files/gallery/thumbs/rename_limit.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* Clean nick module will clean the nick from weird characters, especially:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
which is using to prevent from kicks or capturing the player !&lt;br /&gt;
You can use this via 2 ways:&lt;br /&gt;
* Via rcon:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rename ID clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* ETadmin mod:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
clean_name = rename &amp;lt;PART2ID&amp;gt; clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/clean_name.gif http://luk4ward.boo.pl/files/gallery/thumbs/clean_name.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
The most code by [http://wolfwiki.anime.net/index.php/User:Hadr0 Hadro] &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Names of files can be edited&lt;br /&gt;
* The info can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/fixed_gamedate.gif http://luk4ward.boo.pl/files/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etserver_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/error.gif http://luk4ward.boo.pl/files/gallery/thumbs/error.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* It&#039;s checking if the 2 parts of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see Logging data of players in etadmin_mod format section)&lt;br /&gt;
* This module was optimized in 1.6 version by adding:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
	  -- when playing lua mod is loaded so there is no hurry&lt;br /&gt;
	  -- 10 is minimum:&lt;br /&gt;
	  &lt;br /&gt;
maxlines_limit = 10 &lt;br /&gt;
&lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;	  &lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
	  -- on intermission and warmup connecting ppl have to be as fast as possible checked until lua will be unloaded&lt;br /&gt;
	  -- u can set critical_limit to 0 so no etpro guids during warmup &amp;amp; intermission will be logged but players will be checked immediately&lt;br /&gt;
	  -- the 3 is the minimum if there is no lines printed into console:&lt;br /&gt;
	  &lt;br /&gt;
critical_limit = 3  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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).&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
16:52:18:&amp;gt; add&lt;br /&gt;
		--------------&lt;br /&gt;
		Usage: add cl_guid nick ip by&lt;br /&gt;
		Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID luk4ward 83.100. admin&lt;br /&gt;
		Example#2: add guidGUIDGUIDGUIDGUIDGUIDGUIDguid luk4ward 83.100.100.5 admin&lt;br /&gt;
		Usage: add   mask  cheater ip by&lt;br /&gt;
		Example#1: add mask cheater 83.100. admin&lt;br /&gt;
		Example#2: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
&#039;&#039;soon&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2911</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2911"/>
		<updated>2008-02-24T14:04:44Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: /* Banmask with exceptions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://et.team.pro http://forum.wolfteam.pl/templates/xandgrey/ettp/logo.jpg] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl Cmpgn&amp;lt;/b&amp;gt; [ /connect 193.33.34.11:27965 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl SW&amp;lt;/b&amp;gt; [ /connect 193.33.34.15:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* u|k. public server 3.2.6_2.60b [ /connect 213.228.232.155:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=3 &amp;gt;&amp;gt; Download ACpro mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etpro_dir.gif http://luk4ward.boo.pl/files/gallery/thumbs/etpro_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 1.6 [ac.lua] [E25953A5F450B5188391209CFF86CAB503DA2D35]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ACpro.gif http://luk4ward.boo.pl/files/gallery/thumbs/ACpro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes 6 mods: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights to ipbans folder inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging data of players in etadmin_mod format ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_3.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_3.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Name &amp;lt;br /&amp;gt;&lt;br /&gt;
* cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* etpro guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* IP &amp;lt;br /&amp;gt;&lt;br /&gt;
* Date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = requiem4dream&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	eguid   = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	ip      = 83.100.100.5&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depends on condition it will be logged in such format to those files:&lt;br /&gt;
&lt;br /&gt;
* file: logs/players.log &amp;lt;- players with not banned IPs&lt;br /&gt;
* file: logs/not_accepted_players.log &amp;lt;- players with banned IP and not accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
filtercheck: client cheater NOT accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ not_accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
* file: logs/accepted_players.log &amp;lt;- players with banned IP and accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;filtercheck: client cleanplayer accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/players_new.gif http://luk4ward.boo.pl/files/gallery/thumbs/players_new.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Now new option !&amp;lt;/b&amp;gt; You see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/new_console_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/new_console_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
* 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 &amp;lt;b&amp;gt;max_name_changes = -1&amp;lt;/b&amp;gt; then u will allow unlimited nick changes)!&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rename_limit.gif http://luk4ward.boo.pl/files/gallery/thumbs/rename_limit.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* Clean nick module will clean the nick from weird characters, especially:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
which is using to prevent from kicks or capturing the player !&lt;br /&gt;
You can use this via 2 ways:&lt;br /&gt;
* Via rcon:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rename ID clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* ETadmin mod:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
clean_name = rename &amp;lt;PART2ID&amp;gt; clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/clean_name.gif http://luk4ward.boo.pl/files/gallery/thumbs/clean_name.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
The most code by [http://wolfwiki.anime.net/index.php/User:Hadr0 Hadro] &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Names of files can be edited&lt;br /&gt;
* The info can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/fixed_gamedate.gif http://luk4ward.boo.pl/files/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etserver_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/error.gif http://luk4ward.boo.pl/files/gallery/thumbs/error.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* It&#039;s checking if the 2 parts of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see Logging data of players in etadmin_mod format section)&lt;br /&gt;
* This module was optimized in 1.6 version by adding:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
	  -- when playing lua mod is loaded so there is no hurry&lt;br /&gt;
	  -- 10 is minimum:&lt;br /&gt;
	  &lt;br /&gt;
maxlines_limit = 10 &lt;br /&gt;
&lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;	  &lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
	  -- on intermission and warmup connecting ppl have to be as fast as possible checked until lua will be unloaded&lt;br /&gt;
	  -- u can set critical_limit to 0 so no etpro guids during warmup &amp;amp; intermission will be logged but players will be checked immediately&lt;br /&gt;
	  -- the 3 is the minimum if there is no lines printed into console:&lt;br /&gt;
	  &lt;br /&gt;
critical_limit = 3  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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).&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
16:52:18:&amp;gt; add&lt;br /&gt;
		--------------&lt;br /&gt;
		Usage: add cl_guid nick ip by&lt;br /&gt;
		Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID luk4ward 83.100. admin&lt;br /&gt;
		Example#2: add guidGUIDGUIDGUIDGUIDGUIDGUIDguid luk4ward 83.100.100.5 admin&lt;br /&gt;
		Usage: add   mask  cheater ip by&lt;br /&gt;
		Example#1: add mask cheater 83.100. admin&lt;br /&gt;
		Example#2: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
&#039;&#039;soon&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2910</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2910"/>
		<updated>2008-02-24T13:55:17Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://et.team.pro http://forum.wolfteam.pl/templates/xandgrey/ettp/logo.jpg] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl Cmpgn&amp;lt;/b&amp;gt; [ /connect 193.33.34.11:27965 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl SW&amp;lt;/b&amp;gt; [ /connect 193.33.34.15:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* u|k. public server 3.2.6_2.60b [ /connect 213.228.232.155:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/category.php?id=1 &amp;gt;&amp;gt; Download ACpro mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etpro_dir.gif http://luk4ward.boo.pl/files/gallery/thumbs/etpro_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 1.6 [ac.lua] [E25953A5F450B5188391209CFF86CAB503DA2D35]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ACpro.gif http://luk4ward.boo.pl/files/gallery/thumbs/ACpro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes 6 mods: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights to ipbans folder inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging data of players in etadmin_mod format ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_3.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_3.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Name &amp;lt;br /&amp;gt;&lt;br /&gt;
* cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* etpro guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* IP &amp;lt;br /&amp;gt;&lt;br /&gt;
* Date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = requiem4dream&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	eguid   = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	ip      = 83.100.100.5&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depends on condition it will be logged in such format to those files:&lt;br /&gt;
&lt;br /&gt;
* file: logs/players.log &amp;lt;- players with not banned IPs&lt;br /&gt;
* file: logs/not_accepted_players.log &amp;lt;- players with banned IP and not accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
filtercheck: client cheater NOT accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ not_accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
* file: logs/accepted_players.log &amp;lt;- players with banned IP and accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;filtercheck: client cleanplayer accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/players_new.gif http://luk4ward.boo.pl/files/gallery/thumbs/players_new.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Now new option !&amp;lt;/b&amp;gt; You see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/new_console_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/new_console_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
* 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 &amp;lt;b&amp;gt;max_name_changes = -1&amp;lt;/b&amp;gt; then u will allow unlimited nick changes)!&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rename_limit.gif http://luk4ward.boo.pl/files/gallery/thumbs/rename_limit.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* Clean nick module will clean the nick from weird characters, especially:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
which is using to prevent from kicks or capturing the player !&lt;br /&gt;
You can use this via 2 ways:&lt;br /&gt;
* Via rcon:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rename ID clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* ETadmin mod:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
clean_name = rename &amp;lt;PART2ID&amp;gt; clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/clean_name.gif http://luk4ward.boo.pl/files/gallery/thumbs/clean_name.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
The most code by [http://wolfwiki.anime.net/index.php/User:Hadr0 Hadro] &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Names of files can be edited&lt;br /&gt;
* The info can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/fixed_gamedate.gif http://luk4ward.boo.pl/files/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etserver_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/error.gif http://luk4ward.boo.pl/files/gallery/thumbs/error.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* It&#039;s checking if the 2 parts of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see Logging data of players in etadmin_mod format section)&lt;br /&gt;
* This module was optimized in 1.6 version by adding:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
	  -- when playing lua mod is loaded so there is no hurry&lt;br /&gt;
	  -- 10 is minimum:&lt;br /&gt;
	  &lt;br /&gt;
maxlines_limit = 10 &lt;br /&gt;
&lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;	  &lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
	  -- on intermission and warmup connecting ppl have to be as fast as possible checked until lua will be unloaded&lt;br /&gt;
	  -- u can set critical_limit to 0 so no etpro guids during warmup &amp;amp; intermission will be logged but players will be checked immediately&lt;br /&gt;
	  -- the 3 is the minimum if there is no lines printed into console:&lt;br /&gt;
	  &lt;br /&gt;
critical_limit = 3  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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 restart of map).&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
16:52:18:&amp;gt; add&lt;br /&gt;
		--------------&lt;br /&gt;
		Usage: add cl_guid nick ip by&lt;br /&gt;
		Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID luk4ward 83.100. admin&lt;br /&gt;
		Example#2: add guidGUIDGUIDGUIDGUIDGUIDGUIDguid luk4ward 83.100.100.5 admin&lt;br /&gt;
		Usage: add   mask  cheater ip by&lt;br /&gt;
		Example#1: add mask cheater 83.100. admin&lt;br /&gt;
		Example#2: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
&#039;&#039;soon&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2909</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2909"/>
		<updated>2008-02-24T13:36:31Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: /* Banmask with exceptions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://et.team.pro http://forum.wolfteam.pl/templates/xandgrey/ettp/logo.jpg] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl Cmpgn&amp;lt;/b&amp;gt; [ /connect 193.33.34.11:27965 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl SW&amp;lt;/b&amp;gt; [ /connect 193.33.34.15:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* u|k. public server 3.2.6_2.60b [ /connect 213.228.232.155:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=3 &amp;gt;&amp;gt; Download ACpro mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etpro_dir.gif http://luk4ward.boo.pl/files/gallery/thumbs/etpro_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 1.6 [ac.lua] [E25953A5F450B5188391209CFF86CAB503DA2D35]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ACpro.gif http://luk4ward.boo.pl/files/gallery/thumbs/ACpro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes 6 mods: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights to ipbans folder inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging data of players in etadmin_mod format ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_3.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_3.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Name &amp;lt;br /&amp;gt;&lt;br /&gt;
* cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* etpro guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* IP &amp;lt;br /&amp;gt;&lt;br /&gt;
* Date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = requiem4dream&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	eguid   = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	ip      = 83.100.100.5&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depends on condition it will be logged in such format to those files:&lt;br /&gt;
&lt;br /&gt;
* file: logs/players.log &amp;lt;- players with not banned IPs&lt;br /&gt;
* file: logs/not_accepted_players.log &amp;lt;- players with banned IP and not accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
filtercheck: client cheater NOT accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ not_accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
* file: logs/accepted_players.log &amp;lt;- players with banned IP and accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;filtercheck: client cleanplayer accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/players_new.gif http://luk4ward.boo.pl/files/gallery/thumbs/players_new.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Now new option !&amp;lt;/b&amp;gt; You see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/new_console_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/new_console_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
* 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 &amp;lt;b&amp;gt;max_name_changes = -1&amp;lt;/b&amp;gt; then u will allow unlimited nick changes)!&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rename_limit.gif http://luk4ward.boo.pl/files/gallery/thumbs/rename_limit.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* Clean nick module will clean the nick from weird characters, especially:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
which is using to prevent from kicks or capturing the player !&lt;br /&gt;
You can use this via 2 ways:&lt;br /&gt;
* Via rcon:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rename ID clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* ETadmin mod:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
clean_name = rename &amp;lt;PART2ID&amp;gt; clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/clean_name.gif http://luk4ward.boo.pl/files/gallery/thumbs/clean_name.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
The most code by [http://wolfwiki.anime.net/index.php/User:Hadr0 Hadro] &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Names of files can be edited&lt;br /&gt;
* The info can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/fixed_gamedate.gif http://luk4ward.boo.pl/files/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etserver_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/error.gif http://luk4ward.boo.pl/files/gallery/thumbs/error.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* It&#039;s checking if the 2 parts of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see Logging data of players in etadmin_mod format section)&lt;br /&gt;
* This module was optimized in 1.6 version by adding:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
	  -- when playing lua mod is loaded so there is no hurry&lt;br /&gt;
	  -- 10 is minimum:&lt;br /&gt;
	  &lt;br /&gt;
maxlines_limit = 10 &lt;br /&gt;
&lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;	  &lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
	  -- on intermission and warmup connecting ppl have to be as fast as possible checked until lua will be unloaded&lt;br /&gt;
	  -- u can set critical_limit to 0 so no etpro guids during warmup &amp;amp; intermission will be logged but players will be checked immediately&lt;br /&gt;
	  -- the 3 is the minimum if there is no lines printed into console:&lt;br /&gt;
	  &lt;br /&gt;
critical_limit = 3  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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 restart of map).&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
16:52:18:&amp;gt; add&lt;br /&gt;
		--------------&lt;br /&gt;
		Usage: add cl_guid nick ip by&lt;br /&gt;
		Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID luk4ward 83.100. admin&lt;br /&gt;
		Example#2: add guidGUIDGUIDGUIDGUIDGUIDGUIDguid luk4ward 83.100.100.5 admin&lt;br /&gt;
		Usage: add   mask  cheater ip by&lt;br /&gt;
		Example#1: add mask cheater 83.100. admin&lt;br /&gt;
		Example#2: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
&#039;&#039;soon&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2908</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2908"/>
		<updated>2008-02-24T13:35:48Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: /* Banmask with exceptions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://et.team.pro http://forum.wolfteam.pl/templates/xandgrey/ettp/logo.jpg] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl Cmpgn&amp;lt;/b&amp;gt; [ /connect 193.33.34.11:27965 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl SW&amp;lt;/b&amp;gt; [ /connect 193.33.34.15:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* u|k. public server 3.2.6_2.60b [ /connect 213.228.232.155:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=3 &amp;gt;&amp;gt; Download ACpro mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etpro_dir.gif http://luk4ward.boo.pl/files/gallery/thumbs/etpro_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 1.6 [ac.lua] [E25953A5F450B5188391209CFF86CAB503DA2D35]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ACpro.gif http://luk4ward.boo.pl/files/gallery/thumbs/ACpro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes 6 mods: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights to ipbans folder inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging data of players in etadmin_mod format ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_3.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_3.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Name &amp;lt;br /&amp;gt;&lt;br /&gt;
* cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* etpro guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* IP &amp;lt;br /&amp;gt;&lt;br /&gt;
* Date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = requiem4dream&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	eguid   = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	ip      = 83.100.100.5&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depends on condition it will be logged in such format to those files:&lt;br /&gt;
&lt;br /&gt;
* file: logs/players.log &amp;lt;- players with not banned IPs&lt;br /&gt;
* file: logs/not_accepted_players.log &amp;lt;- players with banned IP and not accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
filtercheck: client cheater NOT accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ not_accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
* file: logs/accepted_players.log &amp;lt;- players with banned IP and accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;filtercheck: client cleanplayer accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/players_new.gif http://luk4ward.boo.pl/files/gallery/thumbs/players_new.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Now new option !&amp;lt;/b&amp;gt; You see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/new_console_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/new_console_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
* 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 &amp;lt;b&amp;gt;max_name_changes = -1&amp;lt;/b&amp;gt; then u will allow unlimited nick changes)!&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rename_limit.gif http://luk4ward.boo.pl/files/gallery/thumbs/rename_limit.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* Clean nick module will clean the nick from weird characters, especially:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
which is using to prevent from kicks or capturing the player !&lt;br /&gt;
You can use this via 2 ways:&lt;br /&gt;
* Via rcon:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rename ID clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* ETadmin mod:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
clean_name = rename &amp;lt;PART2ID&amp;gt; clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/clean_name.gif http://luk4ward.boo.pl/files/gallery/thumbs/clean_name.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
The most code by [http://wolfwiki.anime.net/index.php/User:Hadr0 Hadro] &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Names of files can be edited&lt;br /&gt;
* The info can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/fixed_gamedate.gif http://luk4ward.boo.pl/files/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etserver_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/error.gif http://luk4ward.boo.pl/files/gallery/thumbs/error.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* It&#039;s checking if the 2 parts of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see Logging data of players in etadmin_mod format section)&lt;br /&gt;
* This module was optimized in 1.6 version by adding:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
	  -- when playing lua mod is loaded so there is no hurry&lt;br /&gt;
	  -- 10 is minimum:&lt;br /&gt;
	  &lt;br /&gt;
maxlines_limit = 10 &lt;br /&gt;
&lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;	  &lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
	  -- on intermission and warmup connecting ppl have to be as fast as possible checked until lua will be unloaded&lt;br /&gt;
	  -- u can set critical_limit to 0 so no etpro guids during warmup &amp;amp; intermission will be logged but players will be checked immediately&lt;br /&gt;
	  -- the 3 is the minimum if there is no lines printed into console:&lt;br /&gt;
	  &lt;br /&gt;
critical_limit = 3  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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).&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
16:52:18:&amp;gt; add&lt;br /&gt;
		--------------&lt;br /&gt;
		Usage: add cl_guid nick ip by&lt;br /&gt;
		Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID luk4ward 83.100. admin&lt;br /&gt;
		Example#2: add guidGUIDGUIDGUIDGUIDGUIDGUIDguid luk4ward 83.100.100.5 admin&lt;br /&gt;
		Usage: add   mask  cheater ip by&lt;br /&gt;
		Example#1: add mask cheater 83.100. admin&lt;br /&gt;
		Example#2: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
&#039;&#039;soon&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2907</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2907"/>
		<updated>2008-02-24T13:29:05Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: /* Banmask with exceptions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://et.team.pro http://forum.wolfteam.pl/templates/xandgrey/ettp/logo.jpg] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl Cmpgn&amp;lt;/b&amp;gt; [ /connect 193.33.34.11:27965 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl SW&amp;lt;/b&amp;gt; [ /connect 193.33.34.15:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* u|k. public server 3.2.6_2.60b [ /connect 213.228.232.155:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=3 &amp;gt;&amp;gt; Download ACpro mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etpro_dir.gif http://luk4ward.boo.pl/files/gallery/thumbs/etpro_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 1.6 [ac.lua] [E25953A5F450B5188391209CFF86CAB503DA2D35]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ACpro.gif http://luk4ward.boo.pl/files/gallery/thumbs/ACpro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes 6 mods: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights to ipbans folder inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging data of players in etadmin_mod format ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_3.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_3.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Name &amp;lt;br /&amp;gt;&lt;br /&gt;
* cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* etpro guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* IP &amp;lt;br /&amp;gt;&lt;br /&gt;
* Date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = requiem4dream&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	eguid   = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	ip      = 83.100.100.5&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depends on condition it will be logged in such format to those files:&lt;br /&gt;
&lt;br /&gt;
* file: logs/players.log &amp;lt;- players with not banned IPs&lt;br /&gt;
* file: logs/not_accepted_players.log &amp;lt;- players with banned IP and not accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
filtercheck: client cheater NOT accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ not_accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
* file: logs/accepted_players.log &amp;lt;- players with banned IP and accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;filtercheck: client cleanplayer accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/players_new.gif http://luk4ward.boo.pl/files/gallery/thumbs/players_new.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Now new option !&amp;lt;/b&amp;gt; You see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/new_console_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/new_console_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
* 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 &amp;lt;b&amp;gt;max_name_changes = -1&amp;lt;/b&amp;gt; then u will allow unlimited nick changes)!&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rename_limit.gif http://luk4ward.boo.pl/files/gallery/thumbs/rename_limit.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* Clean nick module will clean the nick from weird characters, especially:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
which is using to prevent from kicks or capturing the player !&lt;br /&gt;
You can use this via 2 ways:&lt;br /&gt;
* Via rcon:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rename ID clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* ETadmin mod:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
clean_name = rename &amp;lt;PART2ID&amp;gt; clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/clean_name.gif http://luk4ward.boo.pl/files/gallery/thumbs/clean_name.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
The most code by [http://wolfwiki.anime.net/index.php/User:Hadr0 Hadro] &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Names of files can be edited&lt;br /&gt;
* The info can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/fixed_gamedate.gif http://luk4ward.boo.pl/files/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etserver_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/error.gif http://luk4ward.boo.pl/files/gallery/thumbs/error.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* It&#039;s checking if the 2 parts of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see Logging data of players in etadmin_mod format section)&lt;br /&gt;
* This module was optimized in 1.6 version by adding:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
	  -- when playing lua mod is loaded so there is no hurry&lt;br /&gt;
	  -- 10 is minimum:&lt;br /&gt;
	  &lt;br /&gt;
maxlines_limit = 10 &lt;br /&gt;
&lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;	  &lt;br /&gt;
	  ------------------------------------------------------&lt;br /&gt;
	  -- on intermission and warmup connecting ppl have to be as fast as possible checked until lua will be unloaded&lt;br /&gt;
	  -- u can set critical_limit to 0 so no etpro guids during warmup &amp;amp; intermission will be logged but players will be checked immediately&lt;br /&gt;
	  -- the 3 is the minimum if there is no lines printed into console:&lt;br /&gt;
	  &lt;br /&gt;
critical_limit = 3  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
16:52:18:&amp;gt; add&lt;br /&gt;
		--------------&lt;br /&gt;
		Usage: add cl_guid nick ip by&lt;br /&gt;
		Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID luk4ward 83.100. admin&lt;br /&gt;
		Example#2: add guidGUIDGUIDGUIDGUIDGUIDGUIDguid luk4ward 83.100.100.5 admin&lt;br /&gt;
		Usage: add   mask  cheater ip by&lt;br /&gt;
		Example#1: add mask cheater 83.100. admin&lt;br /&gt;
		Example#2: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
&#039;&#039;soon&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2906</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2906"/>
		<updated>2008-02-24T13:26:42Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://et.team.pro http://forum.wolfteam.pl/templates/xandgrey/ettp/logo.jpg] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl Cmpgn&amp;lt;/b&amp;gt; [ /connect 193.33.34.11:27965 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl SW&amp;lt;/b&amp;gt; [ /connect 193.33.34.15:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* u|k. public server 3.2.6_2.60b [ /connect 213.228.232.155:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=3 &amp;gt;&amp;gt; Download ACpro mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etpro_dir.gif http://luk4ward.boo.pl/files/gallery/thumbs/etpro_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 1.6 [ac.lua] [E25953A5F450B5188391209CFF86CAB503DA2D35]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ACpro.gif http://luk4ward.boo.pl/files/gallery/thumbs/ACpro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes 6 mods: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights to ipbans folder inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging data of players in etadmin_mod format ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_3.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_3.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Name &amp;lt;br /&amp;gt;&lt;br /&gt;
* cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* etpro guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* IP &amp;lt;br /&amp;gt;&lt;br /&gt;
* Date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = requiem4dream&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	eguid   = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	ip      = 83.100.100.5&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depends on condition it will be logged in such format to those files:&lt;br /&gt;
&lt;br /&gt;
* file: logs/players.log &amp;lt;- players with not banned IPs&lt;br /&gt;
* file: logs/not_accepted_players.log &amp;lt;- players with banned IP and not accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
filtercheck: client cheater NOT accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ not_accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
* file: logs/accepted_players.log &amp;lt;- players with banned IP and accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;filtercheck: client cleanplayer accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/players_new.gif http://luk4ward.boo.pl/files/gallery/thumbs/players_new.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Now new option !&amp;lt;/b&amp;gt; You see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/new_console_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/new_console_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
* 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 &amp;lt;b&amp;gt;max_name_changes = -1&amp;lt;/b&amp;gt; then u will allow unlimited nick changes)!&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rename_limit.gif http://luk4ward.boo.pl/files/gallery/thumbs/rename_limit.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* Clean nick module will clean the nick from weird characters, especially:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
which is using to prevent from kicks or capturing the player !&lt;br /&gt;
You can use this via 2 ways:&lt;br /&gt;
* Via rcon:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rename ID clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* ETadmin mod:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
clean_name = rename &amp;lt;PART2ID&amp;gt; clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/clean_name.gif http://luk4ward.boo.pl/files/gallery/thumbs/clean_name.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
The most code by [http://wolfwiki.anime.net/index.php/User:Hadr0 Hadro] &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Names of files can be edited&lt;br /&gt;
* The info can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/fixed_gamedate.gif http://luk4ward.boo.pl/files/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etserver_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/error.gif http://luk4ward.boo.pl/files/gallery/thumbs/error.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* It&#039;s checking if the 2 parts of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see Logging data of players in etadmin_mod format section)&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
16:52:18:&amp;gt; add&lt;br /&gt;
		--------------&lt;br /&gt;
		Usage: add cl_guid nick ip by&lt;br /&gt;
		Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID luk4ward 83.100. admin&lt;br /&gt;
		Example#2: add guidGUIDGUIDGUIDGUIDGUIDGUIDguid luk4ward 83.100.100.5 admin&lt;br /&gt;
		Usage: add   mask  cheater ip by&lt;br /&gt;
		Example#1: add mask cheater 83.100. admin&lt;br /&gt;
		Example#2: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
&#039;&#039;soon&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2905</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2905"/>
		<updated>2008-02-24T13:25:00Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://et.team.pro http://forum.wolfteam.pl/templates/xandgrey/ettp/logo.jpg] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl Cmpgn&amp;lt;/b&amp;gt; [ /connect 193.33.34.11:27965 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl SW&amp;lt;/b&amp;gt; [ /connect 193.33.34.15:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* u|k. public server 3.2.6_2.60b [ /connect 213.228.232.155:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=3 &amp;gt;&amp;gt; Download ACpro mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etpro_dir.gif http://luk4ward.boo.pl/files/gallery/thumbs/etpro_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 1.6 [ac.lua] [E25953A5F450B5188391209CFF86CAB503DA2D35]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ACpro.gif http://luk4ward.boo.pl/files/gallery/thumbs/ACpro.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes 6 mods: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights to ipbans folder inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging data of players in etadmin_mod format ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_3.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_3.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Name &amp;lt;br /&amp;gt;&lt;br /&gt;
* cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* etpro guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* IP &amp;lt;br /&amp;gt;&lt;br /&gt;
* Date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = requiem4dream&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	eguid   = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	ip      = 83.100.100.5&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depends on condition it will be logged in such format to those files:&lt;br /&gt;
&lt;br /&gt;
* file: logs/players.log &amp;lt;- players with not banned IPs&lt;br /&gt;
* file: logs/not_accepted_players.log &amp;lt;- players with banned IP and not accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
filtercheck: client cheater NOT accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ not_accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
* file: logs/accepted_players.log &amp;lt;- players with banned IP and accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;filtercheck: client cleanplayer accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/players_new.gif http://luk4ward.boo.pl/files/gallery/thumbs/players_new.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Now new option !&amp;lt;/b&amp;gt; You see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/new_console_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/new_console_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
* 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 to -1 then u will allow unlimited nick changes)!&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rename_limit.gif http://luk4ward.boo.pl/files/gallery/thumbs/rename_limit.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* Clean nick module will clean the nick from weird characters, especially:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
which is using to prevent from kicks or capturing the player !&lt;br /&gt;
You can use this via 2 ways:&lt;br /&gt;
* Via rcon:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rename ID clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* ETadmin mod:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
clean_name = rename &amp;lt;PART2ID&amp;gt; clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/clean_name.gif http://luk4ward.boo.pl/files/gallery/thumbs/clean_name.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
The most code by [http://wolfwiki.anime.net/index.php/User:Hadr0 Hadro] &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Names of files can be edited&lt;br /&gt;
* The info can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/fixed_gamedate.gif http://luk4ward.boo.pl/files/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etserver_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/error.gif http://luk4ward.boo.pl/files/gallery/thumbs/error.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* It&#039;s checking if the 2 parts of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see Logging data of players in etadmin_mod format section)&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
16:52:18:&amp;gt; add&lt;br /&gt;
		--------------&lt;br /&gt;
		Usage: add cl_guid nick ip by&lt;br /&gt;
		Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID luk4ward 83.100. admin&lt;br /&gt;
		Example#2: add guidGUIDGUIDGUIDGUIDGUIDGUIDguid luk4ward 83.100.100.5 admin&lt;br /&gt;
		Usage: add   mask  cheater ip by&lt;br /&gt;
		Example#1: add mask cheater 83.100. admin&lt;br /&gt;
		Example#2: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
&#039;&#039;soon&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2904</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2904"/>
		<updated>2008-02-24T13:22:45Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://et.team.pro http://forum.wolfteam.pl/templates/xandgrey/ettp/logo.jpg] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl Cmpgn&amp;lt;/b&amp;gt; [ /connect 193.33.34.11:27965 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl SW&amp;lt;/b&amp;gt; [ /connect 193.33.34.15:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* u|k. public server 3.2.6_2.60b [ /connect 213.228.232.155:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=3 &amp;gt;&amp;gt; Download ACpro mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/etpro_dir.gif http://luk4ward.boo.pl/files/gallery/thumbs/etpro_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 1.6 [ac.lua] [E25953A5F450B5188391209CFF86CAB503DA2D35]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ACpro.gif http://luk4ward.boo.pl/files/gallery/thumbs/ACpro.gif.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes 6 mods: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights to ipbans folder inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging data of players in etadmin_mod format ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_3.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_3.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Name &amp;lt;br /&amp;gt;&lt;br /&gt;
* cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* etpro guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* IP &amp;lt;br /&amp;gt;&lt;br /&gt;
* Date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = requiem4dream&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	eguid   = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	ip      = 83.100.100.5&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depends on condition it will be logged in such format to those files:&lt;br /&gt;
&lt;br /&gt;
* file: logs/players.log &amp;lt;- players with not banned IPs&lt;br /&gt;
* file: logs/not_accepted_players.log &amp;lt;- players with banned IP and not accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
filtercheck: client cheater NOT accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ not_accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
* file: logs/accepted_players.log &amp;lt;- players with banned IP and accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;filtercheck: client cleanplayer accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/players_new.gif http://luk4ward.boo.pl/files/gallery/thumbs/players_new.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Now new option !&amp;lt;/b&amp;gt; You see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/new_console_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/new_console_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
* 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 to -1 then u will allow unlimited nick changes)!&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rename_limit.gif http://luk4ward.boo.pl/files/gallery/thumbs/rename_limit.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* Clean nick module will clean the nick from weird characters, especially:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
which is using to prevent from kicks or capturing the player !&lt;br /&gt;
You can use this via 2 ways:&lt;br /&gt;
* Via rcon:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rename ID clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* ETadmin mod:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
clean_name = rename &amp;lt;PART2ID&amp;gt; clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/clean_name.gif http://luk4ward.boo.pl/files/gallery/thumbs/clean_name.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
The most code by [http://wolfwiki.anime.net/index.php/User:Hadr0 Hadro] &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Names of files can be edited&lt;br /&gt;
* The info can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/fixed_gamedate.gif http://luk4ward.boo.pl/files/gallery/thumbs/fixed_gamedate.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etserver_logs.gif http://luk4ward.boo.pl/files/gallery/thumbs/etserver_logs.gif]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/error.gif http://luk4ward.boo.pl/files/gallery/thumbs/error.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* It&#039;s checking if the 2 parts of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see Logging data of players in etadmin_mod format section)&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
16:52:18:&amp;gt; add&lt;br /&gt;
		--------------&lt;br /&gt;
		Usage: add cl_guid nick ip by&lt;br /&gt;
		Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID luk4ward 83.100. admin&lt;br /&gt;
		Example#2: add guidGUIDGUIDGUIDGUIDGUIDGUIDguid luk4ward 83.100.100.5 admin&lt;br /&gt;
		Usage: add   mask  cheater ip by&lt;br /&gt;
		Example#1: add mask cheater 83.100. admin&lt;br /&gt;
		Example#2: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
&#039;&#039;soon&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2903</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2903"/>
		<updated>2008-02-23T21:41:02Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://et.team.pro http://forum.wolfteam.pl/templates/xandgrey/ettp/logo.jpg] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl Cmpgn&amp;lt;/b&amp;gt; [ /connect 193.33.34.11:27965 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl SW&amp;lt;/b&amp;gt; [ /connect 193.33.34.15:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* u|k. public server 3.2.6_2.60b [ /connect 213.228.232.155:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=3 &amp;gt;&amp;gt; Download ACpro mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/etpro_dir.gif http://luk4ward.boo.pl/files/gallery/thumbs/etpro_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 1.6 [ac.lua] [E25953A5F450B5188391209CFF86CAB503DA2D35]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ACpro.gif http://luk4ward.boo.pl/files/gallery/thumbs/ACpro.gif.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes 6 mods: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights to ipbans folder inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging data of players in etadmin_mod format ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_3.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_3.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Name &amp;lt;br /&amp;gt;&lt;br /&gt;
* cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* etpro guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* IP &amp;lt;br /&amp;gt;&lt;br /&gt;
* Date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = requiem4dream&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	eguid   = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	ip      = 83.100.100.5&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depends on condition it will be logged in such format to those files:&lt;br /&gt;
&lt;br /&gt;
* file: logs/players.log &amp;lt;- players with not banned IPs&lt;br /&gt;
* file: logs/not_accepted_players.log &amp;lt;- players with banned IP and not accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
filtercheck: client cheater NOT accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ not_accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
* file: logs/accepted_players.log &amp;lt;- players with banned IP and accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;filtercheck: client cleanplayer accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/players_new.gif http://luk4ward.boo.pl/files/gallery/thumbs/players_new.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Now new option !&amp;lt;/b&amp;gt; You see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/new_console_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/new_console_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
* 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 to -1 then u will allow unlimited nick changes)!&amp;lt;br /&amp;gt;&lt;br /&gt;
* Clean nick module will clean the nick from weird characters, especially:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
which is using to prevent from kicks or capturing the player !&lt;br /&gt;
You can use this via 2 ways:&lt;br /&gt;
* Via rcon:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rename ID clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* ETadmin mod:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
clean_name = rename &amp;lt;PART2ID&amp;gt; clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The most code by [http://wolfwiki.anime.net/index.php/User:Hadr0 Hadro] &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Names of files can be edited&lt;br /&gt;
* The info can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Date&amp;amp;time module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module will log into your log files data and time so u will know when the map starts etc.&lt;br /&gt;
* It also set every day a new etserver log with the date&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/error.gif http://luk4ward.boo.pl/files/gallery/thumbs/error.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* It&#039;s checking if the 2 parts of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see Logging data of players in etadmin_mod format section)&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
16:52:18:&amp;gt; add&lt;br /&gt;
		--------------&lt;br /&gt;
		Usage: add cl_guid nick ip by&lt;br /&gt;
		Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID luk4ward 83.100. admin&lt;br /&gt;
		Example#2: add guidGUIDGUIDGUIDGUIDGUIDGUIDguid luk4ward 83.100.100.5 admin&lt;br /&gt;
		Usage: add   mask  cheater ip by&lt;br /&gt;
		Example#1: add mask cheater 83.100. admin&lt;br /&gt;
		Example#2: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
&#039;&#039;soon&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2902</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2902"/>
		<updated>2008-02-23T21:38:23Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://et.team.pro http://forum.wolfteam.pl/templates/xandgrey/ettp/logo.jpg] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl Cmpgn&amp;lt;/b&amp;gt; [ /connect 193.33.34.11:27965 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl SW&amp;lt;/b&amp;gt; [ /connect 193.33.34.15:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* u|k. public server 3.2.6_2.60b [ /connect 213.228.232.155:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=3 &amp;gt;&amp;gt; Download ACpro mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/etpro_dir.gif http://luk4ward.boo.pl/files/gallery/thumbs/etpro_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 1.6 [ac.lua] [E25953A5F450B5188391209CFF86CAB503DA2D35]&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ACpro.gif http://luk4ward.boo.pl/files/gallery/thumbs/ACpro.gif.gif]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes 5 mods: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights to ipbans folder inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging data of players in etadmin_mod format ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_3.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_3.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Name &amp;lt;br /&amp;gt;&lt;br /&gt;
* cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* etpro guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* IP &amp;lt;br /&amp;gt;&lt;br /&gt;
* Date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = requiem4dream&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	eguid   = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	ip      = 83.100.100.5&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depends on condition it will be logged in such format to those files:&lt;br /&gt;
&lt;br /&gt;
* file: logs/players.log &amp;lt;- players with not banned IPs&lt;br /&gt;
* file: logs/not_accepted_players.log &amp;lt;- players with banned IP and not accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
filtercheck: client cheater NOT accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ not_accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
* file: logs/accepted_players.log &amp;lt;- players with banned IP and accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;filtercheck: client cleanplayer accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/players_new.gif http://luk4ward.boo.pl/files/gallery/thumbs/players_new.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Now new option !&amp;lt;/b&amp;gt; You see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/new_console_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/new_console_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
* 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 to -1 then u will allow unlimited nick changes)!&amp;lt;br /&amp;gt;&lt;br /&gt;
* Clean nick module will clean the nick from weird characters, especially:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
which is using to prevent from kicks or capturing the player !&lt;br /&gt;
You can use this via 2 ways:&lt;br /&gt;
* Via rcon:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rename ID clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* ETadmin mod:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
clean_name = rename &amp;lt;PART2ID&amp;gt; clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The most code by [http://wolfwiki.anime.net/index.php/User:Hadr0 Hadro] &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Exec files depends on warmup time or playing time =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing&lt;br /&gt;
* Names of files can be edited&lt;br /&gt;
* The info can be edited&lt;br /&gt;
* Optional mod&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/error.gif http://luk4ward.boo.pl/files/gallery/thumbs/error.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* It&#039;s checking if the 2 parts of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see Logging data of players in etadmin_mod format section)&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
16:52:18:&amp;gt; add&lt;br /&gt;
		--------------&lt;br /&gt;
		Usage: add cl_guid nick ip by&lt;br /&gt;
		Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID luk4ward 83.100. admin&lt;br /&gt;
		Example#2: add guidGUIDGUIDGUIDGUIDGUIDGUIDguid luk4ward 83.100.100.5 admin&lt;br /&gt;
		Usage: add   mask  cheater ip by&lt;br /&gt;
		Example#1: add mask cheater 83.100. admin&lt;br /&gt;
		Example#2: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
&#039;&#039;soon&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2901</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2901"/>
		<updated>2008-02-23T21:30:06Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://et.team.pro http://forum.wolfteam.pl/templates/xandgrey/ettp/logo.jpg] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl Cmpgn&amp;lt;/b&amp;gt; [ /connect 193.33.34.11:27965 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl SW&amp;lt;/b&amp;gt; [ /connect 193.33.34.15:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* u|k. public server 3.2.6_2.60b [ /connect 213.228.232.155:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=3 &amp;gt;&amp;gt; Download ACpro mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/etpro_dir.gif http://luk4ward.boo.pl/files/gallery/thumbs/etpro_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 1.6 [ac.lua] [E25953A5F450B5188391209CFF86CAB503DA2D35]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes 5 mods: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights to ipbans folder inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging data of players in etadmin_mod format ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_3.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_3.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Name &amp;lt;br /&amp;gt;&lt;br /&gt;
* cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* etpro guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* IP &amp;lt;br /&amp;gt;&lt;br /&gt;
* Date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = requiem4dream&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	eguid   = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	ip      = 83.100.100.5&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depends on condition it will be logged in such format to those files:&lt;br /&gt;
&lt;br /&gt;
* file: logs/players.log &amp;lt;- players with not banned IPs&lt;br /&gt;
* file: logs/not_accepted_players.log &amp;lt;- players with banned IP and not accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
filtercheck: client cheater NOT accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ not_accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
* file: logs/accepted_players.log &amp;lt;- players with banned IP and accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;filtercheck: client cleanplayer accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== players module=====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/players_new.gif http://luk4ward.boo.pl/files/gallery/thumbs/players_new.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Now new option !&amp;lt;/b&amp;gt; You see players via rcon, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
players&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you will see this:&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/new_console_players.gif http://luk4ward.boo.pl/files/gallery/thumbs/new_console_players.gif]&amp;lt;br /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Name module =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
* The name change limit module block client from changing nick after the limit. Instead of kicking as punkbuster it is restoring the original nick !&amp;lt;br /&amp;gt;&lt;br /&gt;
* Clean nick module will clean the nick from weird characters, especially:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
which is using to prevent from kicks or capturing the player !&lt;br /&gt;
You can use this via 2 ways:&lt;br /&gt;
* Via rcon:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rename ID clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* ETadmin mod:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
clean_name = rename &amp;lt;PART2ID&amp;gt; clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The most code by [Hadro http://wolfwiki.anime.net/index.php/User:Hadr0]Hadro: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/error.gif http://luk4ward.boo.pl/files/gallery/thumbs/error.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* It&#039;s checking if the 2 parts of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see Logging data of players in etadmin_mod format section)&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
16:52:18:&amp;gt; add&lt;br /&gt;
		--------------&lt;br /&gt;
		Usage: add cl_guid nick ip by&lt;br /&gt;
		Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID luk4ward 83.100. admin&lt;br /&gt;
		Example#2: add guidGUIDGUIDGUIDGUIDGUIDGUIDguid luk4ward 83.100.100.5 admin&lt;br /&gt;
		Usage: add   mask  cheater ip by&lt;br /&gt;
		Example#1: add mask cheater 83.100. admin&lt;br /&gt;
		Example#2: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
&#039;&#039;soon&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2900</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2900"/>
		<updated>2008-02-23T21:09:45Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://et.team.pro http://forum.wolfteam.pl/templates/xandgrey/ettp/logo.jpg] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl Cmpgn&amp;lt;/b&amp;gt; [ /connect 193.33.34.11:27965 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl SW&amp;lt;/b&amp;gt; [ /connect 193.33.34.15:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* u|k. public server 3.2.6_2.60b [ /connect 213.228.232.155:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=3 &amp;gt;&amp;gt; Download ACpro mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/etpro_dir.gif http://luk4ward.boo.pl/files/gallery/thumbs/etpro_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 1.6 [ac.lua] [E25953A5F450B5188391209CFF86CAB503DA2D35]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes 3 mods: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights to ipbans folder inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging data of players in etadmin_mod format ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_3.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_3.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Name &amp;lt;br /&amp;gt;&lt;br /&gt;
* cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* etpro guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* IP &amp;lt;br /&amp;gt;&lt;br /&gt;
* Date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = requiem4dream&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	eguid   = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	ip      = 83.100.100.5&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depends on condition it will be logged in such format to those files:&lt;br /&gt;
&lt;br /&gt;
* file: logs/players.log &amp;lt;- players with not banned IPs&lt;br /&gt;
* file: logs/not_accepted_players.log &amp;lt;- players with banned IP and not accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
filtercheck: client cheater NOT accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ not_accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
* file: logs/accepted_players.log &amp;lt;- players with banned IP and accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;filtercheck: client cleanplayer accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== /players =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/players_new.gif http://luk4ward.boo.pl/files/gallery/thumbs/players_new.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/error.gif http://luk4ward.boo.pl/files/gallery/thumbs/error.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* It&#039;s checking if the 2 parts of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see Logging data of players in etadmin_mod format section)&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
16:52:18:&amp;gt; add&lt;br /&gt;
		--------------&lt;br /&gt;
		Usage: add cl_guid nick ip by&lt;br /&gt;
		Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID luk4ward 83.100. admin&lt;br /&gt;
		Example#2: add guidGUIDGUIDGUIDGUIDGUIDGUIDguid luk4ward 83.100.100.5 admin&lt;br /&gt;
		Usage: add   mask  cheater ip by&lt;br /&gt;
		Example#1: add mask cheater 83.100. admin&lt;br /&gt;
		Example#2: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
&#039;&#039;soon&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2899</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2899"/>
		<updated>2008-02-23T21:09:16Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://et.team.pro http://forum.wolfteam.pl/templates/xandgrey/ettp/logo.jpg] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl Cmpgn&amp;lt;/b&amp;gt; [ /connect 193.33.34.11:27965 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl SW&amp;lt;/b&amp;gt; [ /connect 193.33.34.15:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* u|k. public server 3.2.6_2.60b [ /connect 213.228.232.155:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=3 &amp;gt;&amp;gt; Download ACpro mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/thumbs/etpro_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 1.6 [ac.lua] [E25953A5F450B5188391209CFF86CAB503DA2D35]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes 3 mods: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights to ipbans folder inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging data of players in etadmin_mod format ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_3.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_3.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Name &amp;lt;br /&amp;gt;&lt;br /&gt;
* cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* etpro guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* IP &amp;lt;br /&amp;gt;&lt;br /&gt;
* Date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = requiem4dream&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	eguid   = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	ip      = 83.100.100.5&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depends on condition it will be logged in such format to those files:&lt;br /&gt;
&lt;br /&gt;
* file: logs/players.log &amp;lt;- players with not banned IPs&lt;br /&gt;
* file: logs/not_accepted_players.log &amp;lt;- players with banned IP and not accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
filtercheck: client cheater NOT accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ not_accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
* file: logs/accepted_players.log &amp;lt;- players with banned IP and accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;filtercheck: client cleanplayer accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== /players =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/players_new.gif http://luk4ward.boo.pl/files/gallery/thumbs/players_new.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/error.gif http://luk4ward.boo.pl/files/gallery/thumbs/error.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* It&#039;s checking if the 2 parts of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see Logging data of players in etadmin_mod format section)&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
16:52:18:&amp;gt; add&lt;br /&gt;
		--------------&lt;br /&gt;
		Usage: add cl_guid nick ip by&lt;br /&gt;
		Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID luk4ward 83.100. admin&lt;br /&gt;
		Example#2: add guidGUIDGUIDGUIDGUIDGUIDGUIDguid luk4ward 83.100.100.5 admin&lt;br /&gt;
		Usage: add   mask  cheater ip by&lt;br /&gt;
		Example#1: add mask cheater 83.100. admin&lt;br /&gt;
		Example#2: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
&#039;&#039;soon&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2898</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2898"/>
		<updated>2008-02-23T21:08:47Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://et.team.pro http://forum.wolfteam.pl/templates/xandgrey/ettp/logo.jpg] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl Cmpgn&amp;lt;/b&amp;gt; [ /connect 193.33.34.11:27965 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl SW&amp;lt;/b&amp;gt; [ /connect 193.33.34.15:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* u|k. public server 3.2.6_2.60b [ /connect 213.228.232.155:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=3 &amp;gt;&amp;gt; Download ACpro mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/thumbs/etpro_dir.gif http://luk4ward.boo.pl/files/gallery/etpro_dir.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 1.6 [ac.lua] [E25953A5F450B5188391209CFF86CAB503DA2D35]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes 3 mods: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights to ipbans folder inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging data of players in etadmin_mod format ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_3.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_3.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Name &amp;lt;br /&amp;gt;&lt;br /&gt;
* cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* etpro guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* IP &amp;lt;br /&amp;gt;&lt;br /&gt;
* Date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = requiem4dream&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	eguid   = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	ip      = 83.100.100.5&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depends on condition it will be logged in such format to those files:&lt;br /&gt;
&lt;br /&gt;
* file: logs/players.log &amp;lt;- players with not banned IPs&lt;br /&gt;
* file: logs/not_accepted_players.log &amp;lt;- players with banned IP and not accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
filtercheck: client cheater NOT accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ not_accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
* file: logs/accepted_players.log &amp;lt;- players with banned IP and accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;filtercheck: client cleanplayer accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== /players =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/players_new.gif http://luk4ward.boo.pl/files/gallery/thumbs/players_new.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/error.gif http://luk4ward.boo.pl/files/gallery/thumbs/error.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* It&#039;s checking if the 2 parts of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see Logging data of players in etadmin_mod format section)&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
16:52:18:&amp;gt; add&lt;br /&gt;
		--------------&lt;br /&gt;
		Usage: add cl_guid nick ip by&lt;br /&gt;
		Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID luk4ward 83.100. admin&lt;br /&gt;
		Example#2: add guidGUIDGUIDGUIDGUIDGUIDGUIDguid luk4ward 83.100.100.5 admin&lt;br /&gt;
		Usage: add   mask  cheater ip by&lt;br /&gt;
		Example#1: add mask cheater 83.100. admin&lt;br /&gt;
		Example#2: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
&#039;&#039;soon&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=Lua_Mod_API&amp;diff=2880</id>
		<title>Lua Mod API</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=Lua_Mod_API&amp;diff=2880"/>
		<updated>2008-01-06T05:41:06Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOEDITSECTION__&lt;br /&gt;
[[ETPro]] now supports server-side mods via the [http://www.lua.org/ Lua] scripting language. For more information about Lua, visit the [http://www.lua.org/manual/5.0/ Reference manual], the online edition of the book [http://www.lua.org/pil/ Programming in Lua] or the [http://lua-users.org/wiki/ lua-users wiki]. A list of text editors for coding LUA can be found [http://wiki.ptokax.ath.cx/doku.php/misc/editors here].&lt;br /&gt;
&lt;br /&gt;
ETPro has an embedded Lua 5.0.2 interpreter, and if present will load user-defined scripts from the ETPro directory.  It also provides an &amp;quot;et&amp;quot; library of function calls for Lua that allow access to the server engine, and provides callbacks so a server side mod may trigger on specific server events.&lt;br /&gt;
&lt;br /&gt;
The following standard Lua libraries are initialized by default and available to ETPro Lua scripts:&lt;br /&gt;
[http://www.lua.org/manual/5.0/manual.html#5.1 basic], [http://www.lua.org/manual/5.0/manual.html#5.4 table], [http://www.lua.org/manual/5.0/manual.html#5.6 i/o], [http://www.lua.org/manual/5.0/manual.html#5.7 os] (available features vary depending on your OS), [http://www.lua.org/manual/5.0/manual.html#5.3 string], [http://www.lua.org/manual/5.0/manual.html#5.5 math].&lt;br /&gt;
&lt;br /&gt;
A list of ETPro mods can be found [[:Category:ETPro:Mods|here]].&lt;br /&gt;
&lt;br /&gt;
A tutorial about ETPro Lua scripting can be found [[Lua Tutorials|here]].&lt;br /&gt;
&lt;br /&gt;
API requests can be discussed at the [[Talk:Lua_Mod_API|Lua Mod API talk page]].&lt;br /&gt;
&lt;br /&gt;
==client commands==&lt;br /&gt;
===lua_status===&lt;br /&gt;
:lists all currently loaded lua modules.&lt;br /&gt;
:&#039;&#039;lua mods cannot override this client command.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==server commands==&lt;br /&gt;
===lua_status===&lt;br /&gt;
:lists all currently loaded lua modules.&lt;br /&gt;
&lt;br /&gt;
==cvars==&lt;br /&gt;
===lua_modules===&lt;br /&gt;
:(default &amp;quot;&amp;quot;, disabled)&lt;br /&gt;
:space separated list of lua modules for ETPro to load. modules will be run in the order listed.&lt;br /&gt;
&lt;br /&gt;
===lua_allowedmodules===&lt;br /&gt;
:(default &amp;quot;&amp;quot;, disabled)&lt;br /&gt;
:if set, only lua modules with the matching sha1 signatures listed in this cvar will be allowed to load.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
:changing either cvar will cause all currently loaded modules to :quit and be unloaded until the next map_restart.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==et library calls==&lt;br /&gt;
&lt;br /&gt;
===modules===&lt;br /&gt;
et.RegisterModname( &#039;&#039;&#039;modname&#039;&#039;&#039; )&lt;br /&gt;
:Registers a descriptive string &#039;&#039;&#039;modname&#039;&#039;&#039; for this mod.&lt;br /&gt;
&#039;&#039;&#039;vmnumber&#039;&#039;&#039; = et.FindSelf()&lt;br /&gt;
:Returns a number indicating the VM slot the current mod is loaded into.&lt;br /&gt;
&#039;&#039;&#039;modname&#039;&#039;&#039;, &#039;&#039;&#039;signature&#039;&#039;&#039; = et.FindMod( &#039;&#039;&#039;vmnumber&#039;&#039;&#039; )&lt;br /&gt;
:Returns the &#039;&#039;&#039;modname&#039;&#039;&#039; and sha1 &#039;&#039;&#039;signature&#039;&#039;&#039; for the mod loaded in the VM slot &#039;&#039;&#039;vmnumber&#039;&#039;&#039;. Returns nil, nil if the VM slot is invalid.&lt;br /&gt;
&#039;&#039;&#039;success&#039;&#039;&#039; = et.IPCSend( &#039;&#039;&#039;vmnumber&#039;&#039;&#039;, &#039;&#039;&#039;message&#039;&#039;&#039; )&lt;br /&gt;
:Sends the string &#039;&#039;&#039;message&#039;&#039;&#039; to the mod in the VM slot indicated by &#039;&#039;&#039;vmnumber&#039;&#039;&#039;. The mod receiving &#039;&#039;&#039;message&#039;&#039;&#039; must have an &#039;&#039;et_IPCReceive()&#039;&#039; callback. If the message is successfully sent, &#039;&#039;&#039;success&#039;&#039;&#039; will be 1. On failure it will be 0. See the [[Lua:IPC|Lua IPC]] page for a simple example.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===printing===&lt;br /&gt;
et.G_Print( &#039;&#039;&#039;text&#039;&#039;&#039; )&lt;br /&gt;
:Prints the string &#039;&#039;&#039;text&#039;&#039;&#039; to the server console.&lt;br /&gt;
et.G_LogPrint( &#039;&#039;&#039;text&#039;&#039;&#039; )&lt;br /&gt;
:Prints the string &#039;&#039;&#039;text&#039;&#039;&#039; to the server console and writes it to the server log.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===argument handling===&lt;br /&gt;
These functions are to be used within the [[#commands|command callback functions]].&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;args&#039;&#039;&#039; = et.ConcatArgs( &#039;&#039;&#039;index&#039;&#039;&#039; )&lt;br /&gt;
:Returns all arguments beginning from &#039;&#039;&#039;index&#039;&#039;&#039; concatenated into a single string &#039;&#039;&#039;args&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;argcount&#039;&#039;&#039; = et.trap_Argc()&lt;br /&gt;
:Returns a number indicating the number of command line arguments in the command buffer.&lt;br /&gt;
&#039;&#039;&#039;arg&#039;&#039;&#039; = et.trap_Argv( &#039;&#039;&#039;argnum&#039;&#039;&#039; )&lt;br /&gt;
:Returns the contents of the command line argument &#039;&#039;&#039;argnum&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===cvars===&lt;br /&gt;
&#039;&#039;&#039;cvarvalue&#039;&#039;&#039; = et.trap_Cvar_Get( &#039;&#039;&#039;cvarname&#039;&#039;&#039; )&lt;br /&gt;
:Returns the value of the cvar &#039;&#039;&#039;cvarname&#039;&#039;&#039; as a string. If there is no cvar named &#039;&#039;&#039;cvarname&#039;&#039;&#039;, returns a zero length string. &lt;br /&gt;
et.trap_Cvar_Set( &#039;&#039;&#039;cvarname&#039;&#039;&#039;, &#039;&#039;&#039;cvarvalue&#039;&#039;&#039; )&lt;br /&gt;
:Sets the cvar &#039;&#039;&#039;cvarname&#039;&#039;&#039; to &#039;&#039;&#039;cvarvalue&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===configstrings===&lt;br /&gt;
&#039;&#039;&#039;configstringvalue&#039;&#039;&#039; = et.trap_GetConfigstring( &#039;&#039;&#039;index&#039;&#039;&#039; )&lt;br /&gt;
:Returns the string &#039;&#039;&#039;configstringvalue&#039;&#039;&#039; containing the contents of the configstring &#039;&#039;&#039;index&#039;&#039;&#039;&lt;br /&gt;
et.trap_SetConfigstring( &#039;&#039;&#039;index&#039;&#039;&#039;, &#039;&#039;&#039;configstringvalue&#039;&#039;&#039; )&lt;br /&gt;
:Sets the configstring &#039;&#039;&#039;index&#039;&#039;&#039; to the string &#039;&#039;&#039;configstringvalue&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===server===&lt;br /&gt;
et.trap_SendConsoleCommand( &#039;&#039;&#039;when&#039;&#039;&#039;, &#039;&#039;&#039;command&#039;&#039;&#039; )&lt;br /&gt;
:Sends the command &#039;&#039;&#039;command&#039;&#039;&#039; to the server console, to be executed &#039;&#039;&#039;when&#039;&#039;&#039; (see et.EXEC_* constants)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===clients===&lt;br /&gt;
et.trap_DropClient( &#039;&#039;&#039;clientnum&#039;&#039;&#039;, &#039;&#039;&#039;reason&#039;&#039;&#039;, &#039;&#039;&#039;ban_time&#039;&#039;&#039; )&lt;br /&gt;
:Disconnects &#039;&#039;&#039;clientnum&#039;&#039;&#039; from the server, with descriptive string &#039;&#039;&#039;reason&#039;&#039;&#039; reported to clients. &#039;&#039;&#039;ban_time&#039;&#039;&#039; is the time in seconds to ban the client from the server. &#039;&#039;&#039;ban_time&#039;&#039;&#039; is optional and may be entirely omitted, in which case the ban time defaults to the cvar &#039;&#039;b_defaultbantime&#039;&#039;&lt;br /&gt;
et.trap_SendServerCommand( &#039;&#039;&#039;clientnum&#039;&#039;&#039;, &#039;&#039;&#039;[[SendServerCommand|command]]&#039;&#039;&#039; )&lt;br /&gt;
:Sends the command &#039;&#039;&#039;[[SendServerCommand|command]]&#039;&#039;&#039; to the client &#039;&#039;&#039;clientnum&#039;&#039;&#039;. If &#039;&#039;&#039;clientnum&#039;&#039;&#039; is -1, the &#039;&#039;&#039;[[SendServerCommand|command]]&#039;&#039;&#039; is broadcast to all connected clients.&lt;br /&gt;
et.G_Say( &#039;&#039;&#039;clientNum&#039;&#039;&#039;, &#039;&#039;&#039;mode&#039;&#039;&#039;, &#039;&#039;&#039;text&#039;&#039;&#039; )&lt;br /&gt;
:Sends a chat command on behalf of client &#039;&#039;&#039;clientNum&#039;&#039;&#039; with the mode &#039;&#039;&#039;mode&#039;&#039;&#039; (see et.SAY_* constants) and chat text &#039;&#039;&#039;text&#039;&#039;&#039;.&lt;br /&gt;
et.ClientUserinfoChanged( &#039;&#039;&#039;clientNum&#039;&#039;&#039; )&lt;br /&gt;
:Loads the new [[Userinfo]] of &#039;&#039;&#039;clientNum&#039;&#039;&#039; and stores it in the configstring and client variables&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===userinfo===&lt;br /&gt;
&#039;&#039;&#039;userinfo&#039;&#039;&#039; = et.trap_GetUserinfo( &#039;&#039;&#039;clientnum&#039;&#039;&#039; )&lt;br /&gt;
:Returns the contents of the [[Userinfo]] string for the client &#039;&#039;&#039;clientnum&#039;&#039;&#039;&lt;br /&gt;
et.trap_SetUserinfo( &#039;&#039;&#039;clientnum&#039;&#039;&#039;, &#039;&#039;&#039;userinfo&#039;&#039;&#039; )&lt;br /&gt;
:Sets the [[Userinfo]] string for the client &#039;&#039;&#039;clientnum&#039;&#039;&#039; to &#039;&#039;&#039;userinfo&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===string utility functions===&lt;br /&gt;
&#039;&#039;&#039;infostring&#039;&#039;&#039; = et.Info_RemoveKey( &#039;&#039;&#039;infostring&#039;&#039;&#039;, &#039;&#039;&#039;key&#039;&#039;&#039; )&lt;br /&gt;
:Removes key &#039;&#039;&#039;key&#039;&#039;&#039; from infostring &#039;&#039;&#039;infostring&#039;&#039;&#039; and returns the modified infostring.&lt;br /&gt;
&#039;&#039;&#039;infostring&#039;&#039;&#039; = et.Info_SetValueForKey( &#039;&#039;&#039;infostring&#039;&#039;&#039;, &#039;&#039;&#039;key&#039;&#039;&#039;, &#039;&#039;&#039;value&#039;&#039;&#039; )&lt;br /&gt;
:Sets the key &#039;&#039;&#039;key&#039;&#039;&#039; in the infostring &#039;&#039;&#039;infostring&#039;&#039;&#039; to &#039;&#039;&#039;value&#039;&#039;&#039; and returns the modified infostring. If &#039;&#039;&#039;value&#039;&#039;&#039; is an empty string, &#039;&#039;&#039;key&#039;&#039;&#039; is removed from the string. &lt;br /&gt;
&#039;&#039;&#039;keyvalue&#039;&#039;&#039; = et.Info_ValueForKey( &#039;&#039;&#039;infostring&#039;&#039;&#039;, &#039;&#039;&#039;key&#039;&#039;&#039; )&lt;br /&gt;
:Returns the value of the key &#039;&#039;&#039;key&#039;&#039;&#039; in the infostring &#039;&#039;&#039;infostring&#039;&#039;&#039;. If &#039;&#039;&#039;key&#039;&#039;&#039; is not present in the string, an empty string is returned.&lt;br /&gt;
&#039;&#039;&#039;cleanstring&#039;&#039;&#039; = et.Q_CleanStr( &#039;&#039;&#039;string&#039;&#039;&#039; )&lt;br /&gt;
:Returns &#039;&#039;&#039;string&#039;&#039;&#039; stripped of all color codes&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ET filesystem===&lt;br /&gt;
&#039;&#039;&#039;fd&#039;&#039;&#039;, &#039;&#039;&#039;len&#039;&#039;&#039; = et.trap_FS_FOpenFile( &#039;&#039;&#039;filename&#039;&#039;&#039;, &#039;&#039;&#039;mode&#039;&#039;&#039; )&lt;br /&gt;
:Attempts to open the file &#039;&#039;&#039;filename&#039;&#039;&#039; with the access mode &#039;&#039;&#039;mode&#039;&#039;&#039; (see et.FS_ constants). Returns the filedescriptor &#039;&#039;&#039;fd&#039;&#039;&#039; and file length &#039;&#039;&#039;len&#039;&#039;&#039;. On error, &#039;&#039;&#039;len&#039;&#039;&#039; returns -1.&lt;br /&gt;
&#039;&#039;&#039;filedata&#039;&#039;&#039; = et.trap_FS_Read( fd, count )&lt;br /&gt;
:Reads &#039;&#039;&#039;count&#039;&#039;&#039; bytes from filedescriptor &#039;&#039;&#039;fd&#039;&#039;&#039;.&lt;br /&gt;
&#039;&#039;&#039;count&#039;&#039;&#039; = et.trap_FS_Write( &#039;&#039;&#039;filedata&#039;&#039;&#039;, &#039;&#039;&#039;count&#039;&#039;&#039;, &#039;&#039;&#039;fd&#039;&#039;&#039; )&lt;br /&gt;
:Attempts to write &#039;&#039;&#039;count&#039;&#039;&#039; bytes of &#039;&#039;&#039;filedata&#039;&#039;&#039; to filedescriptor &#039;&#039;&#039;fd&#039;&#039;&#039;. Returns number of bytes successfully written.&lt;br /&gt;
et.trap_FS_Rename( &#039;&#039;&#039;oldname&#039;&#039;&#039;, &#039;&#039;&#039;newname&#039;&#039;&#039; )&lt;br /&gt;
:Renames file &#039;&#039;&#039;oldname&#039;&#039;&#039; to &#039;&#039;&#039;newname&#039;&#039;&#039;.&lt;br /&gt;
et.trap_FS_FCloseFile( &#039;&#039;&#039;fd&#039;&#039;&#039; )&lt;br /&gt;
:Closes filedescriptor &#039;&#039;&#039;fd&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===indexes===&lt;br /&gt;
&#039;&#039;&#039;soundindex&#039;&#039;&#039; = et.G_SoundIndex( &#039;&#039;&#039;filename&#039;&#039;&#039; )&lt;br /&gt;
:Returns an index to the soundfile indicated by &#039;&#039;&#039;filename&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;modelindex&#039;&#039;&#039; = et.G_ModelIndex( &#039;&#039;&#039;filename&#039;&#039;&#039; )&lt;br /&gt;
:Returns an index to the model indicated by &#039;&#039;&#039;filename&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===sound===&lt;br /&gt;
et.G_globalSound( &#039;&#039;&#039;sound&#039;&#039;&#039; )&lt;br /&gt;
:Plays the global sound indicated by the filename &#039;&#039;&#039;sound&#039;&#039;&#039;.&lt;br /&gt;
et.G_Sound( &#039;&#039;&#039;entnum&#039;&#039;&#039;, &#039;&#039;&#039;soundindex&#039;&#039;&#039; )&lt;br /&gt;
:Plays the sound &#039;&#039;&#039;soundindex&#039;&#039;&#039; at the location of entity &#039;&#039;&#039;entnum&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===miscellaneous===&lt;br /&gt;
&#039;&#039;&#039;milliseconds&#039;&#039;&#039; = et.trap_Milliseconds()&lt;br /&gt;
:Returns a number indicating the current server time in milliseconds.&lt;br /&gt;
et.G_Damage( &#039;&#039;&#039;target&#039;&#039;&#039;, &#039;&#039;&#039;inflictor&#039;&#039;&#039;, &#039;&#039;&#039;attacker&#039;&#039;&#039;, &#039;&#039;&#039;damage&#039;&#039;&#039;, &#039;&#039;&#039;[[etdamage|dflags]]&#039;&#039;&#039;, &#039;&#039;&#039;[[etdamage|mod]]&#039;&#039;&#039; )&lt;br /&gt;
:Does &#039;&#039;&#039;damage&#039;&#039;&#039; amount of damage on &#039;&#039;&#039;target&#039;&#039;&#039; inflicted by &#039;&#039;&#039;inflictor&#039;&#039;&#039; and cased by &#039;&#039;&#039;attacker&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;target&#039;&#039;&#039;, &#039;&#039;&#039;inflictor&#039;&#039;&#039;, &#039;&#039;&#039;attacker&#039;&#039;&#039; are entity numbers&lt;br /&gt;
:&#039;&#039;&#039;[[etdamage|dflags]]&#039;&#039;&#039; is a [[Bitmask-cvar|bitflag]] number to decide how the damage is inflickted, see &#039;&#039;&#039;[[etdamage|dflags]]&#039;&#039;&#039; [[etdamage|flaglist]]&lt;br /&gt;
:&#039;&#039;&#039;[[etdamage|mod]]&#039;&#039;&#039; is a number from 0 up to 64 o set the type of damage, see &#039;&#039;&#039;[[etdamage|mod]]&#039;&#039;&#039; [[etdamage|list]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===entities===&lt;br /&gt;
&#039;&#039;&#039;entnum&#039;&#039;&#039; = et.G_Spawn()&lt;br /&gt;
:Spawns a new entity and returns the new entity number.&lt;br /&gt;
&#039;&#039;&#039;entnum&#039;&#039;&#039; = et.G_TempEntity( &#039;&#039;&#039;origin&#039;&#039;&#039;, &#039;&#039;&#039;event&#039;&#039;&#039; )&lt;br /&gt;
:Spawns a new TempEntity of event type &#039;&#039;&#039;event&#039;&#039;&#039; and places it at &#039;&#039;&#039;origin&#039;&#039;&#039; in the world.&lt;br /&gt;
et.G_FreeEntity( &#039;&#039;&#039;entnum&#039;&#039;&#039; )&lt;br /&gt;
:Frees the entity &#039;&#039;&#039;entnum&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;spawnval&#039;&#039;&#039; = et.G_GetSpawnVar( &#039;&#039;&#039;entnum&#039;&#039;&#039;, &#039;&#039;&#039;key&#039;&#039;&#039; )&lt;br /&gt;
:Returns the value of spawnvar &#039;&#039;&#039;key&#039;&#039;&#039; for entity &#039;&#039;&#039;entnum&#039;&#039;&#039;&lt;br /&gt;
et.G_SetSpawnVar( &#039;&#039;&#039;entnum&#039;&#039;&#039;, &#039;&#039;&#039;key&#039;&#039;&#039;, &#039;&#039;&#039;value&#039;&#039;&#039; )&lt;br /&gt;
:Sets the spawnvar &#039;&#039;&#039;key&#039;&#039;&#039; to &#039;&#039;&#039;value&#039;&#039;&#039; for entity &#039;&#039;&#039;entnum&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;integer entnum&#039;&#039;&#039; = et.G_SpawnGEntityFromSpawnVars( string spawnvar, string spawnvalue, ... )&lt;br /&gt;
:This function can only be called inside the &#039;&#039;&#039;et_InitGame&#039;&#039;&#039; callback&lt;br /&gt;
et.trap_LinkEntity( &#039;&#039;&#039;entnum&#039;&#039;&#039; )&lt;br /&gt;
:Links the entity &#039;&#039;&#039;entnum&#039;&#039;&#039;&lt;br /&gt;
et.trap_UnlinkEntity( &#039;&#039;&#039;entnum&#039;&#039;&#039; )&lt;br /&gt;
:Unlinks the entity &#039;&#039;&#039;entnum&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;(variable)&#039;&#039;&#039; = et.gentity_get ( &#039;&#039;&#039;entnum&#039;&#039;&#039;, &#039;&#039;&#039;[[Fieldname]]&#039;&#039;&#039; &#039;&#039;,arrayindex&#039;&#039; )&lt;br /&gt;
:Gets the value of &#039;&#039;&#039;[[Fieldname]]&#039;&#039;&#039; from entity &#039;&#039;&#039;entnum&#039;&#039;&#039; out of the g_entity struct. For NULL entities or clients, &#039;&#039;nil&#039;&#039; is returned.&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;arrayindex&#039;&#039; is used to specify which element of an array entity field to get. It is required when accessing array type fields. Entity field array indexes start at 0.&lt;br /&gt;
et.gentity_set( &#039;&#039;&#039;entnum&#039;&#039;&#039;, &#039;&#039;&#039;[[Fieldname]]&#039;&#039;&#039;, &#039;&#039;arrayindex,&#039;&#039; &#039;&#039;&#039;(value)&#039;&#039;&#039; )&lt;br /&gt;
:Sets the value of &#039;&#039;&#039;[[Fieldname]]&#039;&#039;&#039; from entity &#039;&#039;&#039;entnum&#039;&#039;&#039; in the g_entity struct to &#039;&#039;&#039;(value)&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;arrayindex&#039;&#039; is used to specify which element of an array entity field to set.&lt;br /&gt;
et.G_AddEvent( &#039;&#039;&#039;ent&#039;&#039;&#039;, &#039;&#039;&#039;event&#039;&#039;&#039;, &#039;&#039;&#039;eventparm&#039;&#039;&#039;&#039; )&lt;br /&gt;
:Adds event &#039;&#039;&#039;event&#039;&#039;&#039; whit eventparameter &#039;&#039;&#039;eventparm&#039;&#039;&#039;&#039; to entity &#039;&#039;&#039;ent&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==callbacks==&lt;br /&gt;
&lt;br /&gt;
===qagame execution===&lt;br /&gt;
et_InitGame( &#039;&#039;&#039;levelTime&#039;&#039;&#039;, &#039;&#039;&#039;randomSeed&#039;&#039;&#039;, &#039;&#039;&#039;restart&#039;&#039;&#039; )&lt;br /&gt;
:Called when qagame initializes. &#039;&#039;&#039;levelTime&#039;&#039;&#039; is the current level time in milliseconds. &#039;&#039;&#039;randomSeed&#039;&#039;&#039; is a number that can be used to seed random number generators. &#039;&#039;&#039;restart&#039;&#039;&#039; indicates if et_InitGame() is being called due to a map restart (1) or not (0).&lt;br /&gt;
et_ShutdownGame( &#039;&#039;&#039;restart&#039;&#039;&#039; )&lt;br /&gt;
:Called when qagame shuts down. &#039;&#039;&#039;restart&#039;&#039;&#039; indicates if the shutdown is being called due to a map_restart (1) or not (0).&lt;br /&gt;
et_RunFrame( &#039;&#039;&#039;levelTime&#039;&#039;&#039; )&lt;br /&gt;
:Called when qagame runs a server frame. &#039;&#039;&#039;levelTime&#039;&#039;&#039; is the current level time in milliseconds.&lt;br /&gt;
et_Quit()&lt;br /&gt;
:Called when ETPro unloads the mod. The mod should close all open filedescriptors and perform all cleanup.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===client management===&lt;br /&gt;
&#039;&#039;&#039;rejectreason&#039;&#039;&#039; = et_ClientConnect( &#039;&#039;&#039;clientNum&#039;&#039;&#039;, &#039;&#039;&#039;firstTime&#039;&#039;&#039;, &#039;&#039;&#039;isBot&#039;&#039;&#039; )&lt;br /&gt;
:Called when a client attempts to connect to the server. &#039;&#039;&#039;clientNum&#039;&#039;&#039; is the client slot id, &#039;&#039;&#039;firstTime&#039;&#039;&#039; indicates if this is a new connection (1) or a reconnection (0). &#039;&#039;&#039;isBot&#039;&#039;&#039; indicates if the client is a bot (1) or not (0). If the mod accepts the connection, it should return nil. Otherwise, the mod should return a string describing the reason the client connection was rejected.&lt;br /&gt;
et_ClientDisconnect( &#039;&#039;&#039;clientNum&#039;&#039;&#039; )&lt;br /&gt;
:Called when a client disconnects. &#039;&#039;&#039;clientNum&#039;&#039;&#039; is the client slot id.&lt;br /&gt;
et_ClientBegin( &#039;&#039;&#039;clientNum&#039;&#039;&#039; )&lt;br /&gt;
:Called when a client begins (becomes active, and enters the gameworld). &#039;&#039;&#039;clientNum&#039;&#039;&#039; is the client slot id.&lt;br /&gt;
et_ClientUserinfoChanged( &#039;&#039;&#039;clientNum&#039;&#039;&#039; )&lt;br /&gt;
:Called when a client&#039;s [[Userinfo]] string has changed. &#039;&#039;&#039;clientNum&#039;&#039;&#039; is the client slot id.&lt;br /&gt;
:&#039;&#039;&#039;note:&#039;&#039;&#039; In ETPro 3.2.6 and below, this only gets called when the players CS_PLAYERS config string changes, rather than every time the userinfo changes. This only happens for a subset of userinfo fields.&lt;br /&gt;
et_ClientSpawn( &#039;&#039;&#039;clientNum&#039;&#039;&#039;, &#039;&#039;&#039;revived&#039;&#039;&#039; )&lt;br /&gt;
:Called when a client is spawned. &#039;&#039;&#039;clientNum&#039;&#039;&#039; is the client slot id. &#039;&#039;&#039;revived&#039;&#039;&#039; is 1 if the client was spawned by being revived.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===commands===&lt;br /&gt;
&#039;&#039;&#039;intercepted&#039;&#039;&#039; = et_ClientCommand( &#039;&#039;&#039;clientNum&#039;&#039;&#039;, &#039;&#039;&#039;command&#039;&#039;&#039; )&lt;br /&gt;
:Called when a command is received from a client. &#039;&#039;&#039;clientNum&#039;&#039;&#039; is the client slot id. &#039;&#039;&#039;command&#039;&#039;&#039; is the command. The mod should return 1 if the command was intercepted by the mod, and 0 if the command was ignored by the mod and should be passed through to the server (and other mods in the chain).&lt;br /&gt;
:The actual command can be accessed through the [[#argument_handling|argument handling]] functions, as seen in the [[ETPro:Lua Sample Code]].&lt;br /&gt;
&#039;&#039;&#039;intercepted&#039;&#039;&#039; = et_ConsoleCommand()&lt;br /&gt;
:Called when a command is entered on the server console. The mod should return 1 if the command was intercepted by the mod, and 0 if the command was ignored by the mod and should be passed through to the server (and other mods in the chain).&lt;br /&gt;
:The actual command can be accessed through the [[#argument_handling|argument handling]] functions, as seen in the [[ETPro:Lua Sample Code]].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===xp===&lt;br /&gt;
et_UpgradeSkill( &#039;&#039;&#039;cno&#039;&#039;&#039;, &#039;&#039;&#039;skill&#039;&#039;&#039; )&lt;br /&gt;
:Called when client on slot &#039;&#039;&#039;cno&#039;&#039;&#039; gets an upgrade on skill &#039;&#039;&#039;skill&#039;&#039;&#039;. Return -1 to override (abort) the qagame function, anything else to &amp;quot;passthrough&amp;quot;. Callback may modify skills (or do anything else it wants) during passthrough. &lt;br /&gt;
et_SetPlayerSkill( &#039;&#039;&#039;cno&#039;&#039;&#039;, &#039;&#039;&#039;skill&#039;&#039;&#039; )&lt;br /&gt;
:Called when clients (on slot &#039;&#039;&#039;cno&#039;&#039;&#039;) skill level &#039;&#039;&#039;skill&#039;&#039;&#039; is set. Return -1 to override (abort) the qagame function, anything else to &amp;quot;passthrough&amp;quot;. Callback may modify skills (or do anything else it wants) during passthrough.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===miscellaneous===&lt;br /&gt;
et_IPCReceive( &#039;&#039;&#039;vmnumber&#039;&#039;&#039;, &#039;&#039;&#039;message&#039;&#039;&#039; )&lt;br /&gt;
:Called when another mod sends an et.IPCSend() message to this mod. &#039;&#039;&#039;vmnumber&#039;&#039;&#039; is the VM slot number of the sender, and &#039;&#039;&#039;message&#039;&#039;&#039; is the message.&lt;br /&gt;
et_Print( &#039;&#039;&#039;text&#039;&#039;&#039; )&lt;br /&gt;
:Called whenever the server or qagame prints a string to the console.&lt;br /&gt;
et_Obituary( &#039;&#039;&#039;victim&#039;&#039;&#039;, &#039;&#039;&#039;killer&#039;&#039;&#039;, &#039;&#039;&#039;meansOfDeath&#039;&#039;&#039; )&lt;br /&gt;
:Called whenever a player is killed.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==predefined constants==&lt;br /&gt;
et.EXEC_NOW&amp;lt;br&amp;gt;&lt;br /&gt;
et.EXEC_INSERT&amp;lt;br&amp;gt;&lt;br /&gt;
et.EXEC_APPEND&amp;lt;br&amp;gt;&lt;br /&gt;
et.FS_READ&amp;lt;br&amp;gt;&lt;br /&gt;
et.FS_WRITE&amp;lt;br&amp;gt;&lt;br /&gt;
et.FS_APPEND&amp;lt;br&amp;gt;&lt;br /&gt;
et.FS_APPEND_SYNC&amp;lt;br&amp;gt;&lt;br /&gt;
et.SAY_ALL&amp;lt;br&amp;gt;&lt;br /&gt;
et.SAY_TEAM&amp;lt;br&amp;gt;&lt;br /&gt;
et.SAY_BUDDY&amp;lt;br&amp;gt;&lt;br /&gt;
et.SAY_TEAMNL&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
et.HOSTARCH&lt;br /&gt;
:set to WIN32 or UNIX depending on the host architecture qagame is running on.&lt;br /&gt;
LUA_PATH&lt;br /&gt;
:set to fs_homepath/fs_game/?.lua in order to ease use of the [http://www.lua.org/pil/8.1.html require] function.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==configs==&lt;br /&gt;
If a config is loaded, all modules are shutdown and reloaded. If a &#039;&#039;certified&#039;&#039; config is loaded, all modules are shutdown and reloaded, and additionally the following functions are disabled: &#039;&#039;&#039;require()&#039;&#039;&#039;, &#039;&#039;&#039;loadfile()&#039;&#039;&#039;, &#039;&#039;&#039;loadlib()&#039;&#039;&#039;, &#039;&#039;&#039;loadstring()&#039;&#039;&#039;, &#039;&#039;&#039;dofile()&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==caveats==&lt;br /&gt;
Like qagame, lua modules are unloaded and reloaded on map_restart and map changes. This means that all global variables and other information is lost. Mods may choose to store persistent data in cvars or external files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
&lt;br /&gt;
Q: OMG I hate the libary prefix et.* on everything!!11!1oneone&amp;lt;br&amp;gt;&lt;br /&gt;
A: table.foreach(et, function (func, value) _G[func] = value; end)&lt;br /&gt;
&lt;br /&gt;
Q: How do a reload my lua file without restarting the whole server?&amp;lt;br&amp;gt;&lt;br /&gt;
A: Use &#039;&#039;map_restart&#039;&#039;, &#039;&#039;reset_match&#039;&#039; or simply change the map.&lt;br /&gt;
&lt;br /&gt;
Q: Can I see some sample code?&amp;lt;br&amp;gt;&lt;br /&gt;
A: [[ETPro:Lua Sample Code|Lua sample code]]&lt;br /&gt;
&lt;br /&gt;
Q: Is there a list of [[ETPro]] Lua mods?&amp;lt;br&amp;gt;&lt;br /&gt;
A: Yes, [[:Category:ETPro:Mods|here]].&lt;br /&gt;
&lt;br /&gt;
Q: OMG my mod doesn&#039;t work!&amp;lt;br&amp;gt;&lt;br /&gt;
A: Make sure you added your mod&#039;s filename to the lua_modules cvar (e.g. set lua_modules mymod.lua).&lt;br /&gt;
&lt;br /&gt;
Q: OMG why has et_ClientSay been removed?&amp;lt;br&amp;gt;&lt;br /&gt;
A: That&#039;s a secret but, to keep the function as it was, just add the following code to your et_ClientCommand() function&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;	-- et_ClientSay had to be removed in order to intercept all commands &lt;br /&gt;
	-- so here&#039;s a wrapper for that&lt;br /&gt;
		arg0 = et.trap_Argv(0) -- get the main command&lt;br /&gt;
		&lt;br /&gt;
		if arg0 == &amp;quot;say&amp;quot; then&lt;br /&gt;
			return et_ClientSay( clientNum, et.SAY_ALL, et.ConcatArgs(1))&lt;br /&gt;
		elseif arg0 == &amp;quot;say_team&amp;quot; then&lt;br /&gt;
			return et_ClientSay( clientNum, et.SAY_TEAM, et.ConcatArgs(1))&lt;br /&gt;
		elseif arg0 == &amp;quot;say_buddy&amp;quot; then&lt;br /&gt;
			return et_ClientSay( clientNum, et.SAY_BUDDY, et.ConcatArgs(1))&lt;br /&gt;
		elseif arg0 == &amp;quot;say_teamnl&amp;quot; then&lt;br /&gt;
			return et_ClientSay( clientNum, et.SAY_TEAMNL, et.ConcatArgs(1))&lt;br /&gt;
		end&lt;br /&gt;
	-- et_ClientSay wrapper end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Lua]]&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=Lua_Mod_API&amp;diff=2879</id>
		<title>Lua Mod API</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=Lua_Mod_API&amp;diff=2879"/>
		<updated>2008-01-06T05:40:28Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOEDITSECTION__&lt;br /&gt;
[[ETPro]] now supports server-side mods via the [http://www.lua.org/ Lua] scripting language. For more information about Lua, visit the [http://www.lua.org/manual/5.0/ Reference manual], the online edition of the book [http://www.lua.org/pil/ Programming in Lua] or the [http://lua-users.org/wiki/ lua-users wiki]. A list of Lua editors can be found [http://wiki.ptokax.ath.cx/doku.php/misc/editors here].&lt;br /&gt;
&lt;br /&gt;
ETPro has an embedded Lua 5.0.2 interpreter, and if present will load user-defined scripts from the ETPro directory.  It also provides an &amp;quot;et&amp;quot; library of function calls for Lua that allow access to the server engine, and provides callbacks so a server side mod may trigger on specific server events.&lt;br /&gt;
&lt;br /&gt;
The following standard Lua libraries are initialized by default and available to ETPro Lua scripts:&lt;br /&gt;
[http://www.lua.org/manual/5.0/manual.html#5.1 basic], [http://www.lua.org/manual/5.0/manual.html#5.4 table], [http://www.lua.org/manual/5.0/manual.html#5.6 i/o], [http://www.lua.org/manual/5.0/manual.html#5.7 os] (available features vary depending on your OS), [http://www.lua.org/manual/5.0/manual.html#5.3 string], [http://www.lua.org/manual/5.0/manual.html#5.5 math].&lt;br /&gt;
&lt;br /&gt;
A list of ETPro mods can be found [[:Category:ETPro:Mods|here]].&lt;br /&gt;
&lt;br /&gt;
A tutorial about ETPro Lua scripting can be found [[Lua Tutorials|here]].&lt;br /&gt;
&lt;br /&gt;
API requests can be discussed at the [[Talk:Lua_Mod_API|Lua Mod API talk page]].&lt;br /&gt;
&lt;br /&gt;
==client commands==&lt;br /&gt;
===lua_status===&lt;br /&gt;
:lists all currently loaded lua modules.&lt;br /&gt;
:&#039;&#039;lua mods cannot override this client command.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==server commands==&lt;br /&gt;
===lua_status===&lt;br /&gt;
:lists all currently loaded lua modules.&lt;br /&gt;
&lt;br /&gt;
==cvars==&lt;br /&gt;
===lua_modules===&lt;br /&gt;
:(default &amp;quot;&amp;quot;, disabled)&lt;br /&gt;
:space separated list of lua modules for ETPro to load. modules will be run in the order listed.&lt;br /&gt;
&lt;br /&gt;
===lua_allowedmodules===&lt;br /&gt;
:(default &amp;quot;&amp;quot;, disabled)&lt;br /&gt;
:if set, only lua modules with the matching sha1 signatures listed in this cvar will be allowed to load.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
:changing either cvar will cause all currently loaded modules to :quit and be unloaded until the next map_restart.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==et library calls==&lt;br /&gt;
&lt;br /&gt;
===modules===&lt;br /&gt;
et.RegisterModname( &#039;&#039;&#039;modname&#039;&#039;&#039; )&lt;br /&gt;
:Registers a descriptive string &#039;&#039;&#039;modname&#039;&#039;&#039; for this mod.&lt;br /&gt;
&#039;&#039;&#039;vmnumber&#039;&#039;&#039; = et.FindSelf()&lt;br /&gt;
:Returns a number indicating the VM slot the current mod is loaded into.&lt;br /&gt;
&#039;&#039;&#039;modname&#039;&#039;&#039;, &#039;&#039;&#039;signature&#039;&#039;&#039; = et.FindMod( &#039;&#039;&#039;vmnumber&#039;&#039;&#039; )&lt;br /&gt;
:Returns the &#039;&#039;&#039;modname&#039;&#039;&#039; and sha1 &#039;&#039;&#039;signature&#039;&#039;&#039; for the mod loaded in the VM slot &#039;&#039;&#039;vmnumber&#039;&#039;&#039;. Returns nil, nil if the VM slot is invalid.&lt;br /&gt;
&#039;&#039;&#039;success&#039;&#039;&#039; = et.IPCSend( &#039;&#039;&#039;vmnumber&#039;&#039;&#039;, &#039;&#039;&#039;message&#039;&#039;&#039; )&lt;br /&gt;
:Sends the string &#039;&#039;&#039;message&#039;&#039;&#039; to the mod in the VM slot indicated by &#039;&#039;&#039;vmnumber&#039;&#039;&#039;. The mod receiving &#039;&#039;&#039;message&#039;&#039;&#039; must have an &#039;&#039;et_IPCReceive()&#039;&#039; callback. If the message is successfully sent, &#039;&#039;&#039;success&#039;&#039;&#039; will be 1. On failure it will be 0. See the [[Lua:IPC|Lua IPC]] page for a simple example.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===printing===&lt;br /&gt;
et.G_Print( &#039;&#039;&#039;text&#039;&#039;&#039; )&lt;br /&gt;
:Prints the string &#039;&#039;&#039;text&#039;&#039;&#039; to the server console.&lt;br /&gt;
et.G_LogPrint( &#039;&#039;&#039;text&#039;&#039;&#039; )&lt;br /&gt;
:Prints the string &#039;&#039;&#039;text&#039;&#039;&#039; to the server console and writes it to the server log.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===argument handling===&lt;br /&gt;
These functions are to be used within the [[#commands|command callback functions]].&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;args&#039;&#039;&#039; = et.ConcatArgs( &#039;&#039;&#039;index&#039;&#039;&#039; )&lt;br /&gt;
:Returns all arguments beginning from &#039;&#039;&#039;index&#039;&#039;&#039; concatenated into a single string &#039;&#039;&#039;args&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;argcount&#039;&#039;&#039; = et.trap_Argc()&lt;br /&gt;
:Returns a number indicating the number of command line arguments in the command buffer.&lt;br /&gt;
&#039;&#039;&#039;arg&#039;&#039;&#039; = et.trap_Argv( &#039;&#039;&#039;argnum&#039;&#039;&#039; )&lt;br /&gt;
:Returns the contents of the command line argument &#039;&#039;&#039;argnum&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===cvars===&lt;br /&gt;
&#039;&#039;&#039;cvarvalue&#039;&#039;&#039; = et.trap_Cvar_Get( &#039;&#039;&#039;cvarname&#039;&#039;&#039; )&lt;br /&gt;
:Returns the value of the cvar &#039;&#039;&#039;cvarname&#039;&#039;&#039; as a string. If there is no cvar named &#039;&#039;&#039;cvarname&#039;&#039;&#039;, returns a zero length string. &lt;br /&gt;
et.trap_Cvar_Set( &#039;&#039;&#039;cvarname&#039;&#039;&#039;, &#039;&#039;&#039;cvarvalue&#039;&#039;&#039; )&lt;br /&gt;
:Sets the cvar &#039;&#039;&#039;cvarname&#039;&#039;&#039; to &#039;&#039;&#039;cvarvalue&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===configstrings===&lt;br /&gt;
&#039;&#039;&#039;configstringvalue&#039;&#039;&#039; = et.trap_GetConfigstring( &#039;&#039;&#039;index&#039;&#039;&#039; )&lt;br /&gt;
:Returns the string &#039;&#039;&#039;configstringvalue&#039;&#039;&#039; containing the contents of the configstring &#039;&#039;&#039;index&#039;&#039;&#039;&lt;br /&gt;
et.trap_SetConfigstring( &#039;&#039;&#039;index&#039;&#039;&#039;, &#039;&#039;&#039;configstringvalue&#039;&#039;&#039; )&lt;br /&gt;
:Sets the configstring &#039;&#039;&#039;index&#039;&#039;&#039; to the string &#039;&#039;&#039;configstringvalue&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===server===&lt;br /&gt;
et.trap_SendConsoleCommand( &#039;&#039;&#039;when&#039;&#039;&#039;, &#039;&#039;&#039;command&#039;&#039;&#039; )&lt;br /&gt;
:Sends the command &#039;&#039;&#039;command&#039;&#039;&#039; to the server console, to be executed &#039;&#039;&#039;when&#039;&#039;&#039; (see et.EXEC_* constants)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===clients===&lt;br /&gt;
et.trap_DropClient( &#039;&#039;&#039;clientnum&#039;&#039;&#039;, &#039;&#039;&#039;reason&#039;&#039;&#039;, &#039;&#039;&#039;ban_time&#039;&#039;&#039; )&lt;br /&gt;
:Disconnects &#039;&#039;&#039;clientnum&#039;&#039;&#039; from the server, with descriptive string &#039;&#039;&#039;reason&#039;&#039;&#039; reported to clients. &#039;&#039;&#039;ban_time&#039;&#039;&#039; is the time in seconds to ban the client from the server. &#039;&#039;&#039;ban_time&#039;&#039;&#039; is optional and may be entirely omitted, in which case the ban time defaults to the cvar &#039;&#039;b_defaultbantime&#039;&#039;&lt;br /&gt;
et.trap_SendServerCommand( &#039;&#039;&#039;clientnum&#039;&#039;&#039;, &#039;&#039;&#039;[[SendServerCommand|command]]&#039;&#039;&#039; )&lt;br /&gt;
:Sends the command &#039;&#039;&#039;[[SendServerCommand|command]]&#039;&#039;&#039; to the client &#039;&#039;&#039;clientnum&#039;&#039;&#039;. If &#039;&#039;&#039;clientnum&#039;&#039;&#039; is -1, the &#039;&#039;&#039;[[SendServerCommand|command]]&#039;&#039;&#039; is broadcast to all connected clients.&lt;br /&gt;
et.G_Say( &#039;&#039;&#039;clientNum&#039;&#039;&#039;, &#039;&#039;&#039;mode&#039;&#039;&#039;, &#039;&#039;&#039;text&#039;&#039;&#039; )&lt;br /&gt;
:Sends a chat command on behalf of client &#039;&#039;&#039;clientNum&#039;&#039;&#039; with the mode &#039;&#039;&#039;mode&#039;&#039;&#039; (see et.SAY_* constants) and chat text &#039;&#039;&#039;text&#039;&#039;&#039;.&lt;br /&gt;
et.ClientUserinfoChanged( &#039;&#039;&#039;clientNum&#039;&#039;&#039; )&lt;br /&gt;
:Loads the new [[Userinfo]] of &#039;&#039;&#039;clientNum&#039;&#039;&#039; and stores it in the configstring and client variables&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===userinfo===&lt;br /&gt;
&#039;&#039;&#039;userinfo&#039;&#039;&#039; = et.trap_GetUserinfo( &#039;&#039;&#039;clientnum&#039;&#039;&#039; )&lt;br /&gt;
:Returns the contents of the [[Userinfo]] string for the client &#039;&#039;&#039;clientnum&#039;&#039;&#039;&lt;br /&gt;
et.trap_SetUserinfo( &#039;&#039;&#039;clientnum&#039;&#039;&#039;, &#039;&#039;&#039;userinfo&#039;&#039;&#039; )&lt;br /&gt;
:Sets the [[Userinfo]] string for the client &#039;&#039;&#039;clientnum&#039;&#039;&#039; to &#039;&#039;&#039;userinfo&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===string utility functions===&lt;br /&gt;
&#039;&#039;&#039;infostring&#039;&#039;&#039; = et.Info_RemoveKey( &#039;&#039;&#039;infostring&#039;&#039;&#039;, &#039;&#039;&#039;key&#039;&#039;&#039; )&lt;br /&gt;
:Removes key &#039;&#039;&#039;key&#039;&#039;&#039; from infostring &#039;&#039;&#039;infostring&#039;&#039;&#039; and returns the modified infostring.&lt;br /&gt;
&#039;&#039;&#039;infostring&#039;&#039;&#039; = et.Info_SetValueForKey( &#039;&#039;&#039;infostring&#039;&#039;&#039;, &#039;&#039;&#039;key&#039;&#039;&#039;, &#039;&#039;&#039;value&#039;&#039;&#039; )&lt;br /&gt;
:Sets the key &#039;&#039;&#039;key&#039;&#039;&#039; in the infostring &#039;&#039;&#039;infostring&#039;&#039;&#039; to &#039;&#039;&#039;value&#039;&#039;&#039; and returns the modified infostring. If &#039;&#039;&#039;value&#039;&#039;&#039; is an empty string, &#039;&#039;&#039;key&#039;&#039;&#039; is removed from the string. &lt;br /&gt;
&#039;&#039;&#039;keyvalue&#039;&#039;&#039; = et.Info_ValueForKey( &#039;&#039;&#039;infostring&#039;&#039;&#039;, &#039;&#039;&#039;key&#039;&#039;&#039; )&lt;br /&gt;
:Returns the value of the key &#039;&#039;&#039;key&#039;&#039;&#039; in the infostring &#039;&#039;&#039;infostring&#039;&#039;&#039;. If &#039;&#039;&#039;key&#039;&#039;&#039; is not present in the string, an empty string is returned.&lt;br /&gt;
&#039;&#039;&#039;cleanstring&#039;&#039;&#039; = et.Q_CleanStr( &#039;&#039;&#039;string&#039;&#039;&#039; )&lt;br /&gt;
:Returns &#039;&#039;&#039;string&#039;&#039;&#039; stripped of all color codes&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ET filesystem===&lt;br /&gt;
&#039;&#039;&#039;fd&#039;&#039;&#039;, &#039;&#039;&#039;len&#039;&#039;&#039; = et.trap_FS_FOpenFile( &#039;&#039;&#039;filename&#039;&#039;&#039;, &#039;&#039;&#039;mode&#039;&#039;&#039; )&lt;br /&gt;
:Attempts to open the file &#039;&#039;&#039;filename&#039;&#039;&#039; with the access mode &#039;&#039;&#039;mode&#039;&#039;&#039; (see et.FS_ constants). Returns the filedescriptor &#039;&#039;&#039;fd&#039;&#039;&#039; and file length &#039;&#039;&#039;len&#039;&#039;&#039;. On error, &#039;&#039;&#039;len&#039;&#039;&#039; returns -1.&lt;br /&gt;
&#039;&#039;&#039;filedata&#039;&#039;&#039; = et.trap_FS_Read( fd, count )&lt;br /&gt;
:Reads &#039;&#039;&#039;count&#039;&#039;&#039; bytes from filedescriptor &#039;&#039;&#039;fd&#039;&#039;&#039;.&lt;br /&gt;
&#039;&#039;&#039;count&#039;&#039;&#039; = et.trap_FS_Write( &#039;&#039;&#039;filedata&#039;&#039;&#039;, &#039;&#039;&#039;count&#039;&#039;&#039;, &#039;&#039;&#039;fd&#039;&#039;&#039; )&lt;br /&gt;
:Attempts to write &#039;&#039;&#039;count&#039;&#039;&#039; bytes of &#039;&#039;&#039;filedata&#039;&#039;&#039; to filedescriptor &#039;&#039;&#039;fd&#039;&#039;&#039;. Returns number of bytes successfully written.&lt;br /&gt;
et.trap_FS_Rename( &#039;&#039;&#039;oldname&#039;&#039;&#039;, &#039;&#039;&#039;newname&#039;&#039;&#039; )&lt;br /&gt;
:Renames file &#039;&#039;&#039;oldname&#039;&#039;&#039; to &#039;&#039;&#039;newname&#039;&#039;&#039;.&lt;br /&gt;
et.trap_FS_FCloseFile( &#039;&#039;&#039;fd&#039;&#039;&#039; )&lt;br /&gt;
:Closes filedescriptor &#039;&#039;&#039;fd&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===indexes===&lt;br /&gt;
&#039;&#039;&#039;soundindex&#039;&#039;&#039; = et.G_SoundIndex( &#039;&#039;&#039;filename&#039;&#039;&#039; )&lt;br /&gt;
:Returns an index to the soundfile indicated by &#039;&#039;&#039;filename&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;modelindex&#039;&#039;&#039; = et.G_ModelIndex( &#039;&#039;&#039;filename&#039;&#039;&#039; )&lt;br /&gt;
:Returns an index to the model indicated by &#039;&#039;&#039;filename&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===sound===&lt;br /&gt;
et.G_globalSound( &#039;&#039;&#039;sound&#039;&#039;&#039; )&lt;br /&gt;
:Plays the global sound indicated by the filename &#039;&#039;&#039;sound&#039;&#039;&#039;.&lt;br /&gt;
et.G_Sound( &#039;&#039;&#039;entnum&#039;&#039;&#039;, &#039;&#039;&#039;soundindex&#039;&#039;&#039; )&lt;br /&gt;
:Plays the sound &#039;&#039;&#039;soundindex&#039;&#039;&#039; at the location of entity &#039;&#039;&#039;entnum&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===miscellaneous===&lt;br /&gt;
&#039;&#039;&#039;milliseconds&#039;&#039;&#039; = et.trap_Milliseconds()&lt;br /&gt;
:Returns a number indicating the current server time in milliseconds.&lt;br /&gt;
et.G_Damage( &#039;&#039;&#039;target&#039;&#039;&#039;, &#039;&#039;&#039;inflictor&#039;&#039;&#039;, &#039;&#039;&#039;attacker&#039;&#039;&#039;, &#039;&#039;&#039;damage&#039;&#039;&#039;, &#039;&#039;&#039;[[etdamage|dflags]]&#039;&#039;&#039;, &#039;&#039;&#039;[[etdamage|mod]]&#039;&#039;&#039; )&lt;br /&gt;
:Does &#039;&#039;&#039;damage&#039;&#039;&#039; amount of damage on &#039;&#039;&#039;target&#039;&#039;&#039; inflicted by &#039;&#039;&#039;inflictor&#039;&#039;&#039; and cased by &#039;&#039;&#039;attacker&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;target&#039;&#039;&#039;, &#039;&#039;&#039;inflictor&#039;&#039;&#039;, &#039;&#039;&#039;attacker&#039;&#039;&#039; are entity numbers&lt;br /&gt;
:&#039;&#039;&#039;[[etdamage|dflags]]&#039;&#039;&#039; is a [[Bitmask-cvar|bitflag]] number to decide how the damage is inflickted, see &#039;&#039;&#039;[[etdamage|dflags]]&#039;&#039;&#039; [[etdamage|flaglist]]&lt;br /&gt;
:&#039;&#039;&#039;[[etdamage|mod]]&#039;&#039;&#039; is a number from 0 up to 64 o set the type of damage, see &#039;&#039;&#039;[[etdamage|mod]]&#039;&#039;&#039; [[etdamage|list]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===entities===&lt;br /&gt;
&#039;&#039;&#039;entnum&#039;&#039;&#039; = et.G_Spawn()&lt;br /&gt;
:Spawns a new entity and returns the new entity number.&lt;br /&gt;
&#039;&#039;&#039;entnum&#039;&#039;&#039; = et.G_TempEntity( &#039;&#039;&#039;origin&#039;&#039;&#039;, &#039;&#039;&#039;event&#039;&#039;&#039; )&lt;br /&gt;
:Spawns a new TempEntity of event type &#039;&#039;&#039;event&#039;&#039;&#039; and places it at &#039;&#039;&#039;origin&#039;&#039;&#039; in the world.&lt;br /&gt;
et.G_FreeEntity( &#039;&#039;&#039;entnum&#039;&#039;&#039; )&lt;br /&gt;
:Frees the entity &#039;&#039;&#039;entnum&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;spawnval&#039;&#039;&#039; = et.G_GetSpawnVar( &#039;&#039;&#039;entnum&#039;&#039;&#039;, &#039;&#039;&#039;key&#039;&#039;&#039; )&lt;br /&gt;
:Returns the value of spawnvar &#039;&#039;&#039;key&#039;&#039;&#039; for entity &#039;&#039;&#039;entnum&#039;&#039;&#039;&lt;br /&gt;
et.G_SetSpawnVar( &#039;&#039;&#039;entnum&#039;&#039;&#039;, &#039;&#039;&#039;key&#039;&#039;&#039;, &#039;&#039;&#039;value&#039;&#039;&#039; )&lt;br /&gt;
:Sets the spawnvar &#039;&#039;&#039;key&#039;&#039;&#039; to &#039;&#039;&#039;value&#039;&#039;&#039; for entity &#039;&#039;&#039;entnum&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;integer entnum&#039;&#039;&#039; = et.G_SpawnGEntityFromSpawnVars( string spawnvar, string spawnvalue, ... )&lt;br /&gt;
:This function can only be called inside the &#039;&#039;&#039;et_InitGame&#039;&#039;&#039; callback&lt;br /&gt;
et.trap_LinkEntity( &#039;&#039;&#039;entnum&#039;&#039;&#039; )&lt;br /&gt;
:Links the entity &#039;&#039;&#039;entnum&#039;&#039;&#039;&lt;br /&gt;
et.trap_UnlinkEntity( &#039;&#039;&#039;entnum&#039;&#039;&#039; )&lt;br /&gt;
:Unlinks the entity &#039;&#039;&#039;entnum&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;(variable)&#039;&#039;&#039; = et.gentity_get ( &#039;&#039;&#039;entnum&#039;&#039;&#039;, &#039;&#039;&#039;[[Fieldname]]&#039;&#039;&#039; &#039;&#039;,arrayindex&#039;&#039; )&lt;br /&gt;
:Gets the value of &#039;&#039;&#039;[[Fieldname]]&#039;&#039;&#039; from entity &#039;&#039;&#039;entnum&#039;&#039;&#039; out of the g_entity struct. For NULL entities or clients, &#039;&#039;nil&#039;&#039; is returned.&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;arrayindex&#039;&#039; is used to specify which element of an array entity field to get. It is required when accessing array type fields. Entity field array indexes start at 0.&lt;br /&gt;
et.gentity_set( &#039;&#039;&#039;entnum&#039;&#039;&#039;, &#039;&#039;&#039;[[Fieldname]]&#039;&#039;&#039;, &#039;&#039;arrayindex,&#039;&#039; &#039;&#039;&#039;(value)&#039;&#039;&#039; )&lt;br /&gt;
:Sets the value of &#039;&#039;&#039;[[Fieldname]]&#039;&#039;&#039; from entity &#039;&#039;&#039;entnum&#039;&#039;&#039; in the g_entity struct to &#039;&#039;&#039;(value)&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;arrayindex&#039;&#039; is used to specify which element of an array entity field to set.&lt;br /&gt;
et.G_AddEvent( &#039;&#039;&#039;ent&#039;&#039;&#039;, &#039;&#039;&#039;event&#039;&#039;&#039;, &#039;&#039;&#039;eventparm&#039;&#039;&#039;&#039; )&lt;br /&gt;
:Adds event &#039;&#039;&#039;event&#039;&#039;&#039; whit eventparameter &#039;&#039;&#039;eventparm&#039;&#039;&#039;&#039; to entity &#039;&#039;&#039;ent&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==callbacks==&lt;br /&gt;
&lt;br /&gt;
===qagame execution===&lt;br /&gt;
et_InitGame( &#039;&#039;&#039;levelTime&#039;&#039;&#039;, &#039;&#039;&#039;randomSeed&#039;&#039;&#039;, &#039;&#039;&#039;restart&#039;&#039;&#039; )&lt;br /&gt;
:Called when qagame initializes. &#039;&#039;&#039;levelTime&#039;&#039;&#039; is the current level time in milliseconds. &#039;&#039;&#039;randomSeed&#039;&#039;&#039; is a number that can be used to seed random number generators. &#039;&#039;&#039;restart&#039;&#039;&#039; indicates if et_InitGame() is being called due to a map restart (1) or not (0).&lt;br /&gt;
et_ShutdownGame( &#039;&#039;&#039;restart&#039;&#039;&#039; )&lt;br /&gt;
:Called when qagame shuts down. &#039;&#039;&#039;restart&#039;&#039;&#039; indicates if the shutdown is being called due to a map_restart (1) or not (0).&lt;br /&gt;
et_RunFrame( &#039;&#039;&#039;levelTime&#039;&#039;&#039; )&lt;br /&gt;
:Called when qagame runs a server frame. &#039;&#039;&#039;levelTime&#039;&#039;&#039; is the current level time in milliseconds.&lt;br /&gt;
et_Quit()&lt;br /&gt;
:Called when ETPro unloads the mod. The mod should close all open filedescriptors and perform all cleanup.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===client management===&lt;br /&gt;
&#039;&#039;&#039;rejectreason&#039;&#039;&#039; = et_ClientConnect( &#039;&#039;&#039;clientNum&#039;&#039;&#039;, &#039;&#039;&#039;firstTime&#039;&#039;&#039;, &#039;&#039;&#039;isBot&#039;&#039;&#039; )&lt;br /&gt;
:Called when a client attempts to connect to the server. &#039;&#039;&#039;clientNum&#039;&#039;&#039; is the client slot id, &#039;&#039;&#039;firstTime&#039;&#039;&#039; indicates if this is a new connection (1) or a reconnection (0). &#039;&#039;&#039;isBot&#039;&#039;&#039; indicates if the client is a bot (1) or not (0). If the mod accepts the connection, it should return nil. Otherwise, the mod should return a string describing the reason the client connection was rejected.&lt;br /&gt;
et_ClientDisconnect( &#039;&#039;&#039;clientNum&#039;&#039;&#039; )&lt;br /&gt;
:Called when a client disconnects. &#039;&#039;&#039;clientNum&#039;&#039;&#039; is the client slot id.&lt;br /&gt;
et_ClientBegin( &#039;&#039;&#039;clientNum&#039;&#039;&#039; )&lt;br /&gt;
:Called when a client begins (becomes active, and enters the gameworld). &#039;&#039;&#039;clientNum&#039;&#039;&#039; is the client slot id.&lt;br /&gt;
et_ClientUserinfoChanged( &#039;&#039;&#039;clientNum&#039;&#039;&#039; )&lt;br /&gt;
:Called when a client&#039;s [[Userinfo]] string has changed. &#039;&#039;&#039;clientNum&#039;&#039;&#039; is the client slot id.&lt;br /&gt;
:&#039;&#039;&#039;note:&#039;&#039;&#039; In ETPro 3.2.6 and below, this only gets called when the players CS_PLAYERS config string changes, rather than every time the userinfo changes. This only happens for a subset of userinfo fields.&lt;br /&gt;
et_ClientSpawn( &#039;&#039;&#039;clientNum&#039;&#039;&#039;, &#039;&#039;&#039;revived&#039;&#039;&#039; )&lt;br /&gt;
:Called when a client is spawned. &#039;&#039;&#039;clientNum&#039;&#039;&#039; is the client slot id. &#039;&#039;&#039;revived&#039;&#039;&#039; is 1 if the client was spawned by being revived.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===commands===&lt;br /&gt;
&#039;&#039;&#039;intercepted&#039;&#039;&#039; = et_ClientCommand( &#039;&#039;&#039;clientNum&#039;&#039;&#039;, &#039;&#039;&#039;command&#039;&#039;&#039; )&lt;br /&gt;
:Called when a command is received from a client. &#039;&#039;&#039;clientNum&#039;&#039;&#039; is the client slot id. &#039;&#039;&#039;command&#039;&#039;&#039; is the command. The mod should return 1 if the command was intercepted by the mod, and 0 if the command was ignored by the mod and should be passed through to the server (and other mods in the chain).&lt;br /&gt;
:The actual command can be accessed through the [[#argument_handling|argument handling]] functions, as seen in the [[ETPro:Lua Sample Code]].&lt;br /&gt;
&#039;&#039;&#039;intercepted&#039;&#039;&#039; = et_ConsoleCommand()&lt;br /&gt;
:Called when a command is entered on the server console. The mod should return 1 if the command was intercepted by the mod, and 0 if the command was ignored by the mod and should be passed through to the server (and other mods in the chain).&lt;br /&gt;
:The actual command can be accessed through the [[#argument_handling|argument handling]] functions, as seen in the [[ETPro:Lua Sample Code]].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===xp===&lt;br /&gt;
et_UpgradeSkill( &#039;&#039;&#039;cno&#039;&#039;&#039;, &#039;&#039;&#039;skill&#039;&#039;&#039; )&lt;br /&gt;
:Called when client on slot &#039;&#039;&#039;cno&#039;&#039;&#039; gets an upgrade on skill &#039;&#039;&#039;skill&#039;&#039;&#039;. Return -1 to override (abort) the qagame function, anything else to &amp;quot;passthrough&amp;quot;. Callback may modify skills (or do anything else it wants) during passthrough. &lt;br /&gt;
et_SetPlayerSkill( &#039;&#039;&#039;cno&#039;&#039;&#039;, &#039;&#039;&#039;skill&#039;&#039;&#039; )&lt;br /&gt;
:Called when clients (on slot &#039;&#039;&#039;cno&#039;&#039;&#039;) skill level &#039;&#039;&#039;skill&#039;&#039;&#039; is set. Return -1 to override (abort) the qagame function, anything else to &amp;quot;passthrough&amp;quot;. Callback may modify skills (or do anything else it wants) during passthrough.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===miscellaneous===&lt;br /&gt;
et_IPCReceive( &#039;&#039;&#039;vmnumber&#039;&#039;&#039;, &#039;&#039;&#039;message&#039;&#039;&#039; )&lt;br /&gt;
:Called when another mod sends an et.IPCSend() message to this mod. &#039;&#039;&#039;vmnumber&#039;&#039;&#039; is the VM slot number of the sender, and &#039;&#039;&#039;message&#039;&#039;&#039; is the message.&lt;br /&gt;
et_Print( &#039;&#039;&#039;text&#039;&#039;&#039; )&lt;br /&gt;
:Called whenever the server or qagame prints a string to the console.&lt;br /&gt;
et_Obituary( &#039;&#039;&#039;victim&#039;&#039;&#039;, &#039;&#039;&#039;killer&#039;&#039;&#039;, &#039;&#039;&#039;meansOfDeath&#039;&#039;&#039; )&lt;br /&gt;
:Called whenever a player is killed.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==predefined constants==&lt;br /&gt;
et.EXEC_NOW&amp;lt;br&amp;gt;&lt;br /&gt;
et.EXEC_INSERT&amp;lt;br&amp;gt;&lt;br /&gt;
et.EXEC_APPEND&amp;lt;br&amp;gt;&lt;br /&gt;
et.FS_READ&amp;lt;br&amp;gt;&lt;br /&gt;
et.FS_WRITE&amp;lt;br&amp;gt;&lt;br /&gt;
et.FS_APPEND&amp;lt;br&amp;gt;&lt;br /&gt;
et.FS_APPEND_SYNC&amp;lt;br&amp;gt;&lt;br /&gt;
et.SAY_ALL&amp;lt;br&amp;gt;&lt;br /&gt;
et.SAY_TEAM&amp;lt;br&amp;gt;&lt;br /&gt;
et.SAY_BUDDY&amp;lt;br&amp;gt;&lt;br /&gt;
et.SAY_TEAMNL&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
et.HOSTARCH&lt;br /&gt;
:set to WIN32 or UNIX depending on the host architecture qagame is running on.&lt;br /&gt;
LUA_PATH&lt;br /&gt;
:set to fs_homepath/fs_game/?.lua in order to ease use of the [http://www.lua.org/pil/8.1.html require] function.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==configs==&lt;br /&gt;
If a config is loaded, all modules are shutdown and reloaded. If a &#039;&#039;certified&#039;&#039; config is loaded, all modules are shutdown and reloaded, and additionally the following functions are disabled: &#039;&#039;&#039;require()&#039;&#039;&#039;, &#039;&#039;&#039;loadfile()&#039;&#039;&#039;, &#039;&#039;&#039;loadlib()&#039;&#039;&#039;, &#039;&#039;&#039;loadstring()&#039;&#039;&#039;, &#039;&#039;&#039;dofile()&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==caveats==&lt;br /&gt;
Like qagame, lua modules are unloaded and reloaded on map_restart and map changes. This means that all global variables and other information is lost. Mods may choose to store persistent data in cvars or external files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
&lt;br /&gt;
Q: OMG I hate the libary prefix et.* on everything!!11!1oneone&amp;lt;br&amp;gt;&lt;br /&gt;
A: table.foreach(et, function (func, value) _G[func] = value; end)&lt;br /&gt;
&lt;br /&gt;
Q: How do a reload my lua file without restarting the whole server?&amp;lt;br&amp;gt;&lt;br /&gt;
A: Use &#039;&#039;map_restart&#039;&#039;, &#039;&#039;reset_match&#039;&#039; or simply change the map.&lt;br /&gt;
&lt;br /&gt;
Q: Can I see some sample code?&amp;lt;br&amp;gt;&lt;br /&gt;
A: [[ETPro:Lua Sample Code|Lua sample code]]&lt;br /&gt;
&lt;br /&gt;
Q: Is there a list of [[ETPro]] Lua mods?&amp;lt;br&amp;gt;&lt;br /&gt;
A: Yes, [[:Category:ETPro:Mods|here]].&lt;br /&gt;
&lt;br /&gt;
Q: OMG my mod doesn&#039;t work!&amp;lt;br&amp;gt;&lt;br /&gt;
A: Make sure you added your mod&#039;s filename to the lua_modules cvar (e.g. set lua_modules mymod.lua).&lt;br /&gt;
&lt;br /&gt;
Q: OMG why has et_ClientSay been removed?&amp;lt;br&amp;gt;&lt;br /&gt;
A: That&#039;s a secret but, to keep the function as it was, just add the following code to your et_ClientCommand() function&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;	-- et_ClientSay had to be removed in order to intercept all commands &lt;br /&gt;
	-- so here&#039;s a wrapper for that&lt;br /&gt;
		arg0 = et.trap_Argv(0) -- get the main command&lt;br /&gt;
		&lt;br /&gt;
		if arg0 == &amp;quot;say&amp;quot; then&lt;br /&gt;
			return et_ClientSay( clientNum, et.SAY_ALL, et.ConcatArgs(1))&lt;br /&gt;
		elseif arg0 == &amp;quot;say_team&amp;quot; then&lt;br /&gt;
			return et_ClientSay( clientNum, et.SAY_TEAM, et.ConcatArgs(1))&lt;br /&gt;
		elseif arg0 == &amp;quot;say_buddy&amp;quot; then&lt;br /&gt;
			return et_ClientSay( clientNum, et.SAY_BUDDY, et.ConcatArgs(1))&lt;br /&gt;
		elseif arg0 == &amp;quot;say_teamnl&amp;quot; then&lt;br /&gt;
			return et_ClientSay( clientNum, et.SAY_TEAMNL, et.ConcatArgs(1))&lt;br /&gt;
		end&lt;br /&gt;
	-- et_ClientSay wrapper end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Lua]]&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2878</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2878"/>
		<updated>2008-01-05T02:42:04Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: /* [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://et.team.pro http://forum.wolfteam.pl/templates/xandgrey/ettp/logo.jpg] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl Cmpgn&amp;lt;/b&amp;gt; [ /connect 193.33.34.11:27965 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl SW&amp;lt;/b&amp;gt; [ /connect 193.33.34.15:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* u|k. public server 3.2.6_2.60b [ /connect 213.228.232.155:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=1 &amp;gt;&amp;gt; Download data mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ftp_1.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_1.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 1.5 [data.lua] [25DAB6398A329E4ACE9DB600EE545BE31F0C0CF0]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes 3 mods: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights to ipbans folder inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging data of players in etadmin_mod format ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_3.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_3.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Name &amp;lt;br /&amp;gt;&lt;br /&gt;
* cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* etpro guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* IP &amp;lt;br /&amp;gt;&lt;br /&gt;
* Date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = requiem4dream&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	eguid   = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	ip      = 83.100.100.5&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depends on condition it will be logged in such format to those files:&lt;br /&gt;
&lt;br /&gt;
* file: logs/players.log &amp;lt;- players with not banned IPs&lt;br /&gt;
* file: logs/not_accepted_players.log &amp;lt;- players with banned IP and not accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
filtercheck: client cheater NOT accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ not_accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
* file: logs/accepted_players.log &amp;lt;- players with banned IP and accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;filtercheck: client cleanplayer accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== /players =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/players_new.gif http://luk4ward.boo.pl/files/gallery/thumbs/players_new.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/error.gif http://luk4ward.boo.pl/files/gallery/thumbs/error.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* It&#039;s checking if the 2 parts of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see Logging data of players in etadmin_mod format section)&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
16:52:18:&amp;gt; add&lt;br /&gt;
		--------------&lt;br /&gt;
		Usage: add cl_guid nick ip by&lt;br /&gt;
		Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID luk4ward 83.100. admin&lt;br /&gt;
		Example#2: add guidGUIDGUIDGUIDGUIDGUIDGUIDguid luk4ward 83.100.100.5 admin&lt;br /&gt;
		Usage: add   mask  cheater ip by&lt;br /&gt;
		Example#1: add mask cheater 83.100. admin&lt;br /&gt;
		Example#2: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
&#039;&#039;soon&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2877</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2877"/>
		<updated>2008-01-05T02:41:28Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: /* [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://et.team.pro http://forum.wolfteam.pl/templates/xandgrey/ettp/logo.jpg] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl Cmpgn&amp;lt;/b&amp;gt; [ /connect 193.33.34.11:27965 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl SW&amp;lt;/b&amp;gt; [ /connect 193.33.34.15:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* u|k. public server 3.2.6_2.60b [ /connect 213.228.232.155:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=1 &amp;gt;&amp;gt; Download data mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ftp_1.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_1.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 1.5 [data.lua] [25DAB6398A329E4ACE9DB600EE545BE31F0C0CF0]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes 3 mods: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights to ipbans folder inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging data of players in etadmin_mod format ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_3.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_3.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Name &amp;lt;br /&amp;gt;&lt;br /&gt;
* cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* etpro guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* IP &amp;lt;br /&amp;gt;&lt;br /&gt;
* Date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = requiem4dream&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	eguid   = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	ip      = 83.100.100.5&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depends on condition it will be logged in such format to those files:&lt;br /&gt;
&lt;br /&gt;
* file: logs/players.log &amp;lt;- players with not banned IPs&lt;br /&gt;
* file: logs/not_accepted_players.log &amp;lt;- players with banned IP and not accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
filtercheck: client cheater NOT accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ not_accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
* file: logs/accepted_players.log &amp;lt;- players with banned IP and accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;filtercheck: client cleanplayer accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== /players =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/players_new.gif http://luk4ward.boo.pl/files/gallery/thumbs/players_new.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/error.gif http://luk4ward.boo.pl/files/gallery/thumbs/error.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* It&#039;s checking if the 2 parts of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see Logging data of players in etadmin_mod format section)&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
16:52:18:&amp;gt; add&lt;br /&gt;
		--------------&lt;br /&gt;
		Usage: add cl_guid nick ip by&lt;br /&gt;
		Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID luk4ward 83.100. admin&lt;br /&gt;
		Example#2: add guidGUIDGUIDGUIDGUIDGUIDGUIDguid luk4ward 83.100.100.5 admin&lt;br /&gt;
		Usage: add   mask  cheater ip by&lt;br /&gt;
		Example#1: add mask cheater 83.100. admin&lt;br /&gt;
		Example#2: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
&#039;&#039;soon&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with enabled:&lt;br /&gt;
** pb_sv_cvarlogging 1&lt;br /&gt;
** pb_sv_cvarwalk 1&lt;br /&gt;
** PB_SV_CvarChangedPulse 90&lt;br /&gt;
** pb_sv_cvaruserpulse 90&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2876</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2876"/>
		<updated>2008-01-05T02:40:09Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: /* Instructions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://et.team.pro http://forum.wolfteam.pl/templates/xandgrey/ettp/logo.jpg] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl Cmpgn&amp;lt;/b&amp;gt; [ /connect 193.33.34.11:27965 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl SW&amp;lt;/b&amp;gt; [ /connect 193.33.34.15:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* u|k. public server 3.2.6_2.60b [ /connect 213.228.232.155:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=1 &amp;gt;&amp;gt; Download data mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ftp_1.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_1.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 1.5 [data.lua] [25DAB6398A329E4ACE9DB600EE545BE31F0C0CF0]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes 3 mods: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights to ipbans folder inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging data of players in etadmin_mod format ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_3.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_3.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Name &amp;lt;br /&amp;gt;&lt;br /&gt;
* cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* etpro guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* IP &amp;lt;br /&amp;gt;&lt;br /&gt;
* Date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = requiem4dream&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	eguid   = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	ip      = 83.100.100.5&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depends on condition it will be logged in such format to those files:&lt;br /&gt;
&lt;br /&gt;
* file: logs/players.log &amp;lt;- players with not banned IPs&lt;br /&gt;
* file: logs/not_accepted_players.log &amp;lt;- players with banned IP and not accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
filtercheck: client cheater NOT accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ not_accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
* file: logs/accepted_players.log &amp;lt;- players with banned IP and accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;filtercheck: client cleanplayer accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== /players =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/players_new.gif http://luk4ward.boo.pl/files/gallery/thumbs/players_new.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/error.gif http://luk4ward.boo.pl/files/gallery/thumbs/error.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* It&#039;s checking if the 2 parts of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see Logging data of players in etadmin_mod format section)&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
16:52:18:&amp;gt; add&lt;br /&gt;
		--------------&lt;br /&gt;
		Usage: add cl_guid nick ip by&lt;br /&gt;
		Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID luk4ward 83.100. admin&lt;br /&gt;
		Example#2: add guidGUIDGUIDGUIDGUIDGUIDGUIDguid luk4ward 83.100.100.5 admin&lt;br /&gt;
		Usage: add   mask  cheater ip by&lt;br /&gt;
		Example#1: add mask cheater 83.100. admin&lt;br /&gt;
		Example#2: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
&#039;&#039;soon&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with enabled cvar searching/walking and logging&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2875</id>
		<title>User:Luk4ward</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Luk4ward&amp;diff=2875"/>
		<updated>2008-01-05T02:38:02Z</updated>

		<summary type="html">&lt;p&gt;Luk4ward: /* Instructions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://et.team.pro http://forum.wolfteam.pl/templates/xandgrey/ettp/logo.jpg] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Contact === &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Links&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfteam.pl wolfteam.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.gamesnet.pl ET.GamesNet.pl]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://et.team.pro eT.Team.pro]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;[http://wolfenste1n.com wolfenste1n.com]&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Email&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
** &#039;&#039;lpu183 [at] gmail.com&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
**&#039;&#039;#et.team.pro&#039;&#039; channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== About === &amp;lt;br /&amp;gt;&lt;br /&gt;
I have put some stuff which are available for public, the rest you can see @ those servers:&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl Cmpgn&amp;lt;/b&amp;gt; [ /connect 193.33.34.11:27965 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;ET.GamesNet.pl SW&amp;lt;/b&amp;gt; [ /connect 193.33.34.15:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
* u|k. public server 3.2.6_2.60b [ /connect 213.228.232.155:27960 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ETpro lua scripts == &amp;lt;br /&amp;gt;&lt;br /&gt;
=== [http://luk4ward.boo.pl/files/file.php?id=1 &amp;gt;&amp;gt; Download data mod &amp;lt;&amp;lt;] === &amp;lt;br /&amp;gt;&lt;br /&gt;
[http://luk4ward.boo.pl/files/gallery/ftp_1.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_1.gif] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* unzip all files to etpro folder on your server &amp;lt;br /&amp;gt;&lt;br /&gt;
* new version: 1.5 [data.lua] [25DAB6398A329E4ACE9DB600EE545BE31F0C0CF0]&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== This Plugin / Mod / Script includes 3 mods: ==== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
# Notes: &amp;lt;br /&amp;gt;&lt;br /&gt;
#* cl_guid is spoofable so keep this data secured ! &amp;lt;br /&amp;gt;&lt;br /&gt;
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod &amp;lt;br /&amp;gt;&lt;br /&gt;
#* you have to get the write/read rights to ipbans folder inside your etpro folder &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
===== Logging data of players in etadmin_mod format ===== &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_3.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_3.gif] &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Name &amp;lt;br /&amp;gt;&lt;br /&gt;
* cl_guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* etpro guid &amp;lt;br /&amp;gt;&lt;br /&gt;
* IP &amp;lt;br /&amp;gt;&lt;br /&gt;
* Date &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)&lt;br /&gt;
	name    = requiem4dream&lt;br /&gt;
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	eguid   = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID&lt;br /&gt;
	ip      = 83.100.100.5&lt;br /&gt;
	reason  = data logged&lt;br /&gt;
	made    = 11/28/07 19:09:35&lt;br /&gt;
	expires = 0&lt;br /&gt;
	banner  = admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depends on condition it will be logged in such format to those files:&lt;br /&gt;
&lt;br /&gt;
* file: logs/players.log &amp;lt;- players with not banned IPs&lt;br /&gt;
* file: logs/not_accepted_players.log &amp;lt;- players with banned IP and not accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
filtercheck: client cheater NOT accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ not_accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
* file: logs/accepted_players.log &amp;lt;- players with banned IP and accepted PB GUIDs [ output to console log ] :&lt;br /&gt;
&amp;lt;pre&amp;gt;filtercheck: client cleanplayer accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ accepted_players.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
===== /players =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/players_new.gif http://luk4ward.boo.pl/files/gallery/thumbs/players_new.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Showing after typing /players :&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Punkbuster IDs&lt;br /&gt;
* Punkbuster GUIDs (last 8 digits from cl_guid)&lt;br /&gt;
* IP (3 parts of IP)&lt;br /&gt;
* Team (team and spawnpoint)&lt;br /&gt;
* ETpro ID&lt;br /&gt;
* Cut names (u can set the amount)&lt;br /&gt;
* State of player (blank / REF or PRV / muted)&lt;br /&gt;
* Optional&lt;br /&gt;
* You can set the notes and warns !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ID                 Player                           PBid       PBguid            Team                 IP     &lt;br /&gt;
    name of player &amp;amp; STATE: blank/REF or PRV/muted         last 8 parts    team &amp;amp; spawnpoint    3 parts of IP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notes and warning about players&#039; data&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Banmask with exceptions =====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/error.gif http://luk4ward.boo.pl/files/gallery/thumbs/error.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* It&#039;s checking if the 2 parts of IP of connecting player matched with the names of files in the ipbans/ &amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;true&amp;lt;/b&amp;gt; then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player&amp;lt;br&amp;gt;&lt;br /&gt;
if #1 is &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt; then allow player to join the server&amp;lt;br&amp;gt;&lt;br /&gt;
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -&amp;gt; see Logging data of players in etadmin_mod format section)&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #1st way via rcon: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/rcon.gif http://luk4ward.boo.pl/files/gallery/thumbs/rcon.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
16:52:18:&amp;gt; add&lt;br /&gt;
		--------------&lt;br /&gt;
		Usage: add cl_guid nick ip by&lt;br /&gt;
		Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID luk4ward 83.100. admin&lt;br /&gt;
		Example#2: add guidGUIDGUIDGUIDGUIDGUIDGUIDguid luk4ward 83.100.100.5 admin&lt;br /&gt;
		Usage: add   mask  cheater ip by&lt;br /&gt;
		Example#1: add mask cheater 83.100. admin&lt;br /&gt;
		Example#2: add mask cheater 83.100.100.5 admin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== #2nd way via ftp: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/ftp_2.gif http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to ban 83.100:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;create a file 83_100_.dat&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;copy to ipbans/ &amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;the end ! you can add comments by using #, example: &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   # Banmask for banned IP 83.100.100.5 of cheater @ Wed Nov 28 16:48:11 2007 created by admin !&lt;br /&gt;
   #             cl_guid           =nick     @ Wed Nov 28 16:48:11 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;b&amp;gt;how to add exception:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* &amp;lt;i&amp;gt;open file 83_100.dat and add new line:&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;pre&amp;gt;&lt;br /&gt;
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin&lt;br /&gt;
   &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
====== #3rd way via etadmin mod: ======&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[http://luk4ward.boo.pl/files/gallery/etadmin.gif http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif]&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;edit etc/etadmin.cfg&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* IP Bans (works with all (etmain, etpro, shrub):&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;after commands add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguid = add &amp;lt;PART2GUID&amp;gt; &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&lt;br /&gt;
addmask = add mask &amp;lt;PART2NAME&amp;gt; &amp;lt;PART2IP&amp;gt; &amp;lt;PLAYER&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;find where x is the highest level:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Level x&amp;lt;/pre&amp;gt;&lt;br /&gt;
**  &amp;lt;b&amp;gt;and add:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x       = addguid, addmask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Usage in game:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/m mynick !addguid id/part2nick_of_clean_player&lt;br /&gt;
/m mynick !addmask id/part2nick_of_cheater&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;You can use those commands only when a target is on the server or is connecting to the server !&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
&lt;br /&gt;
== Php scripts ==&lt;br /&gt;
&#039;&#039;soon&lt;br /&gt;
== ETadmin mod hacks ==&lt;br /&gt;
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 Min guid age] === &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates&lt;br /&gt;
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with enabled cvar searching/walking and logging&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt; &lt;br /&gt;
==== Instructions ====&lt;br /&gt;
&amp;lt;br /&amp;gt;http://luk4ward.boo.pl/files/gallery/rule10.gif &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;  &lt;br /&gt;
* Previously it was searching for line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -&amp;gt; after a map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk x [0&amp;gt;x&amp;lt;5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarChangedPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PB_SV_CvarUserPulse [Number]&lt;br /&gt;
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var) &lt;br /&gt;
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR pb_sv_cvarchanged or pb_sv_cvaruserpulse [from 10 to 90]&lt;br /&gt;
* Now hack your etadmin mod, to do this open etadmin_mod.pl&lt;br /&gt;
* Find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
#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&lt;br /&gt;
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE&lt;br /&gt;
&lt;br /&gt;
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
&lt;br /&gt;
        # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 5 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Replace &amp;lt;b&amp;gt;whole block of code&amp;lt;/b&amp;gt; with this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 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&lt;br /&gt;
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = &amp;quot;ET Pro, ET 2.60&amp;quot; -&amp;gt; enabled pb_sv_cvarwalk from 1 to 4&lt;br /&gt;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] &amp;quot;cg_etVersion&amp;quot; &amp;quot;cg_uinfo&amp;quot; &amp;quot;ui_connecting&amp;quot; &amp;quot;cl_guid&amp;quot; &amp;quot;cl_motdString&amp;quot; &amp;quot;gamestate&amp;quot; -&amp;gt; enabled pb_sv_cvarchanged or pb_sv_cvaruserpulse from 10 to 90&lt;br /&gt;
# Remember to set pb_sv_cvarlogging to 1 or 3 !&lt;br /&gt;
#&lt;br /&gt;
# Code modified by Luk4ward based on Tommy100 modification&lt;br /&gt;
&lt;br /&gt;
elsif ( $config{&#039;minguidage&#039;} &amp;amp;&amp;amp; index( $line, &amp;quot;$config{&#039;pb_sv_msgprefix&#039;}: [From &amp;quot; ) == 0 )&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;&lt;br /&gt;
    &lt;br /&gt;
              # The age is the (days +1)&lt;br /&gt;
        my $age = $2 - 1;&lt;br /&gt;
        my $id  = $1 - 1;&lt;br /&gt;
        next if ( $age &amp;lt; 0 || $id &amp;lt; 0 );&lt;br /&gt;
&lt;br /&gt;
        my $pb_id = $1;&lt;br /&gt;
        my $name = &amp;amp;convert_name( $tmphash{$id}{&#039;name&#039;}, 0, 0 );&lt;br /&gt;
        #now etadmin will be checking if the guy is already kicked or not&lt;br /&gt;
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid&lt;br /&gt;
        if ( $name ne &amp;quot;&amp;quot; )&lt;br /&gt;
        {&lt;br /&gt;
        if ( $config{&#039;minguidage&#039;} &amp;gt; $age )&lt;br /&gt;
        {&lt;br /&gt;
        &amp;amp;log(&amp;quot;Checking KEY AGE: Slot: $id($name), KeyAge: $age&amp;quot;);&lt;br /&gt;
            &amp;amp;say(   $tmphash{$id}{&#039;name&#039;}&lt;br /&gt;
                  . &amp;quot;^7 has a GUID, that is only ^3&amp;quot;&lt;br /&gt;
                  . $age&lt;br /&gt;
                  . &amp;quot;^7 days old. Server refused entry!&amp;quot; );&lt;br /&gt;
            &amp;amp;cmd(   &amp;quot;pb_sv_kick $pb_id 1440 \&amp;quot;Your GUID is too new. Try again in &amp;quot;&lt;br /&gt;
                  . ( $config{&#039;minguidage&#039;} - $age )&lt;br /&gt;
                  . &amp;quot; days\&amp;quot;&amp;quot; );&lt;br /&gt;
            &amp;amp;disconnect( $pb_id - 1, $pb_id );&lt;br /&gt;
        }&lt;br /&gt;
      }          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Result in game:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[17:45:15] qsay &amp;quot;WPX has a GUID, that is only 5 days old. Server refused entry!&amp;quot;&lt;br /&gt;
[17:45:16] pb_sv_kick 20 5 &amp;quot;Your GUID is too new. Try again in 9 days&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&amp;amp;st=30 PsB]&lt;br /&gt;
&lt;br /&gt;
== Programms ==&lt;br /&gt;
&#039;&#039;soon&lt;/div&gt;</summary>
		<author><name>Luk4ward</name></author>
	</entry>
</feed>