User:Luk4ward: Difference between revisions

From WolfWiki
Jump to navigation Jump to search
Luk4ward (talk | contribs)
No edit summary
Luk4ward (talk | contribs)
 
(78 intermediate revisions by the same user not shown)
Line 1: Line 1:
<table width="100%" align="left"><tr><td width="150px" align="left" valign="top">http://forum.wolfteam.pl/templates/xandgrey/ettp/logo.jpg</td>
<table width="100%">
</td></tr><tr>
<tr>
<td align="left" valign="bottom">
 
<br>
<td valign="middle">
=== Contact ===
http://luk4ward.wolfteam.pl/images/acpro2.1.png
* '''Links'''
</td>
** ''[http://wolfteam.pl wolfteam.pl]''
 
** ''[http://et.gamesnet.pl ET.GamesNet.pl]''
 
** ''[http://et.team.pro eT.Team.pro]''
<td>
** ''[http://wolfenste1n.com wolfenste1n.com]''
 
* '''Email'''
=== Contact === <br />
** ''Hidden
* '''Links''' <br />
* '''[[IRC]]'''
** ''[http://wolfteam.pl wolfteam.pl]'' <br />
**''#et.team.pro'' channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]]<br>
** ''[http://et.gamesnet.pl ET.GamesNet.pl]'' <br />
----</tr></table>
** ''[http://et.team.pro eT.Team.pro]'' <br />
* '''Email''' <br />
** ''luk4ward [at] wolfteam.pl<br />
* '''[[IRC]]''' <br />
**''#et.team.pro'' channel on irc.quakenet.org [[irc://irc.quakenet.org/et.team.pro]] <br />
 
</td></tr></table>
<br />
 
=== About === <br />
I have put some stuff which are available for public, the rest you can see @ those servers:<br />
* <b>ET.GamesNet.pl OBJective Cmpgn [ /connect 193.33.34.11:27965 ]</b><br />
** -- *) killer's hp mod created by Phenomenon modified by Luk4ward & McSteve
** -- *) shield mod created by Nappy
** -- *) /kill mod created by Infty modified by Luk4ward & McSteve
** -- *) clients' commands and votes mod created by Hadr0 modified by Luk4ward
** -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward
** -- *) !punish & !kill mod created by =FF=im2good4u modified by Deus & Luk4ward
** -- *) funny warmup created by McSteve modified by Luk4ward
** -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward
** -- *) playsound clientnum soundfile plugin created by Phenomenon
** -- *) ACpro 2.1 mod (see below) by Luk4ward
 
* <b>u|k. public server 3.2.6_2.60b [ /connect 83.142.226.97:29023 ]</b><br />
** -- *) killer's hp mod created by Phenomenon modified by Luk4ward
** -- *) ACpro 2.1 mod (see below) by Luk4ward
<br />
<i><b>All server got modified etadmin mod which includes fixes and some other custom things, even individual pk3 files !</b></i>
<br /><br />
More servers with this mod:<br /><br />
<b>ET.GamesNet.pl SW PRO [ /connect 91.102.114.182:27965 ]</b><br />
<br />
<b>[ N e X u S ] ET - 01 - [ETPro 3.2.6]</b>: /connect 137.224.240.8:27960<br />
<b>[ N e X u S ] ET - 03 - [ETPro 3.2.6]</b>: /connect 137.224.240.16:27960<br />
<br />
<b>G4@UPC.[PL]</b>: /connect 81.18.192.11:27960<br />
<b>G5@UPC.[PL]</b>: /connect 81.18.192.12:27960
<br /><br />
<b>#et-merc.fr + FunZone</b>: /connect 87.98.242.56:27960<br />
 
== ETpro lua scripts == <br />
=== [http://acpro.wolfteam.pl//category.php?id=1 >> Download ACpro 2.1 mod <<] === <br />
=== [http://acpro.wolfteam.pl//gallery.php?id=6 >> Screenies of ACpro 2.1 mod <<] === <br />
 
<br />[http://acpro.wolfteam.pl/gallery/acpro_logs.gif http://acpro.wolfteam.pl/gallery/thumbs/ftp_dir.gif] <br />
 
* unzip all files to etpro folder on your server <br />
* new version: 2.1 includes [http://bani.anime.net/banimod/forums/viewtopic.php?t=6777 Reyalp' fixes] modified by me and [http://wolfwiki.anime.net/index.php/User:Luk4ward#bad_names <b>IMPORTANT  fix for ETadmin mod level exploit using prepared name</b>]
* credits inside .lua
<pre>
23:57:21:> lua_status
---------------------
etpro: Loaded lua scripts
VM Modname                  Signature                                Filename
-- ------------------------ ---------------------------------------- ------------------------
01 ACpro:2.1bslot:1          90ED6EF7A9BCFBBAAC51B6FBDEFADDCED9D4828E ac2pro.lua
-- ------------------------ ---------------------------------------- ------------------------
</pre>
* rcon:
<br />[http://acpro.wolfteam.pl/gallery/rcon_ac2pro.gif http://acpro.wolfteam.pl/gallery/thumbs/rcon_ac2pro.gif]
<br />http://acpro.wolfteam.pl/gallery/rule10.gif <br />
 
==== This Plugin / Mod / Script includes [http://bani.anime.net/banimod/forums/viewtopic.php?t=6777 Reyalp' fixes] and such mods: ==== <br />
<br />http://acpro.wolfteam.pl/gallery/rule10.gif <br />
# Notes: <br />
#* cl_guid is spoofable so keep this data secured ! <br />
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod <br />
#* you have to get the write/read rights inside your etpro folder <br />
 
<br />http://acpro.wolfteam.pl/gallery/rule10.gif <br />
===== Logging & checking data of players ===== <br />
<br />http://acpro.wolfteam.pl/gallery/rule10.gif <br />
 
<br />[http://acpro.wolfteam.pl/gallery/acpro_logs.gif http://acpro.wolfteam.pl/gallery/thumbs/acpro_logs.gif] <br />
 
====== Separated file logs ======
 
* ok_eguids.log -> logging all passed etpro guids in format:
 
<pre>
[ EGUID ] @ DATE 2008 from IP [ nick ]</pre>
 
* bad_guids.log -> logging all refused guids (includes checking cl_guid !!!), <b>REAL examples</b>:
 
<pre>
[ OpensourcePowa ] @ Sun Mar  9 11:56:05 2008 from 84.95.125.101:62733 [ HUHUH??? ]
[ 256624374273789392012475FUFUFUFU ] @ Wed Mar 19 10:39:52 2008 from 80.54.117.13:27960 [ Corky ]
[ UNKNOWN ] @ Sat Mar 29 20:47:48 2008 from 87.105.54.61:27960 [ Grim ]
[ CHEATERS_ALWAYS_WIN_LOLOLOLOLOLOLOLOLOLO ] @ Sat Mar 29 23:16:49 2008 from 90.213.91.116:27960 [ downloaded5kill ]
[TahBambucha] @ Sun Apr 27 23:33:19 2008 from 201.15.159.39:50200 [ mx.ETTV-1 ]
</pre>
 
example output to etconsole.log:
<pre>
etpro IAC: 4 GUID [ EGUID ] [ ETPRO_PLAYER ]
guidcheck: 4) client ETPRO_PLAYER from IP got ok eGUID: EGUID more info @ logs/ok_eguids.log </pre>


== ETpro lua scripts ==
Guids' logging and filenames are up to Admin !
=== [http://luk4ward.boo.pl/files/file.php?id=1 DataPlug.lua] ===
http://luk4ward.boo.pl/files/gallery/thumbs/ftp_1.gif


* unzip all files to etpro folder on your server
<pre>
=== [http://luk4ward.boo.pl/files/gallery.php?id=1 Screenies] ===
log_badguids = true -- includes cl_guid
* [http://luk4ward.boo.pl/files/gallery/ftp_1.gif ftp main]
log_okeguids = true -- only eguids
* [http://luk4ward.boo.pl/files/gallery/ftp_2.gif ftp ipbans]
* [http://luk4ward.boo.pl/files/gallery/ftp_3.gif ftp logs]
* [http://luk4ward.boo.pl/files/gallery/error.gif in game error]
* [http://luk4ward.boo.pl/files/gallery/etadmin.gif in game etadmin]
* [http://luk4ward.boo.pl/files/gallery/screen.gif in game main screen]
* [http://luk4ward.boo.pl/files/gallery/players.gif in game /players]
* [http://luk4ward.boo.pl/files/gallery/rcon.gif rcon]
==== This Plugin / Mod / Script includes 3 mods: ====


# Notes:
logfile_badguids = "logs/bad_guids.log"
#* cl_guid is spoofable so keep this data secured !
logfile_okeguids = "logs/ok_eguids.log"
#* tested on 2.60b server using etpro 3.2.6 and etadmin mod
#* you have to get the write/read rights to ipbans folder inside your etpro folder


===== Logging data of players in etadmin_mod format =====
-- check file logfile_badguids for the names, date and IPs of people with spoofed guids (cl_guids and etpro guids)
http://luk4ward.boo.pl/files/gallery/thumbs/ftp_3.gif
-- check file okeguids for the names, date and IPs of people with ok etpro guids (no etadmin format)</pre>


* Name
* not/accepted_players.log & players.log include data of connecting players in format:
* cl_guid
 
* etpro guid
** name <br />
* IP
** cl_guid <br />
* Date
** yawn link <br />
** ip <br />
** date <br />


<pre>
<pre>
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)
name    = requiem4dream
name    = player
guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID
guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID
eguid  = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID
yawn    = http://www.yawn.be/findPlayer.yawn?gamecode=ET&pbGuid=GUIDGUID
ip      = 83.100.100.5
ip      = 123.456.789.0
reason  = data logged
reason  = data logged
made    = 11/28/07 19:09:35
made    = 11/28/07 19:09:35
Line 57: Line 142:
</pre>
</pre>


Depends on condition it will be logged in such format to those files:
example output to etconsole.log:


* file: logs/players.log <- players with not banned IPs
* file: logs/not_accepted_players.log <- players with banned IP and not accepted PB GUIDs [ output to console log ] :
<pre>
<pre>
filtercheck: client cheater NOT accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ not_accepted_players.log</pre>
Client 7 connecting with 50 challenge ping
* file: logs/accepted_players.log <- players with banned IP and accepted PB GUIDs [ output to console log ] :
filtercheck: client 4 cnt 1st time @ Mon Apr 14 18:57:37 2008
<pre>filtercheck: client cleanplayer accepted with cl_guid [ GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID ] @ ip [ 83.100.100.5 ] | more info @ accepted_players.log</pre>
running script for client 4 @ Mon Apr 14 18:57:37 2008
filtercheck: mode 2
filtercheck: opening ipbans/83_25_.dat
filtercheck: closing ipbans/83_25_.dat
filtercheck: client 4 ok, more info @ logs/players.log !
</pre>


===== /players =====
====== Checking userinfo ======
http://luk4ward.boo.pl/files/gallery/thumbs/players.gif


* How to check player userinfo via Reyalp script modified by me:
<pre>
19:38:57:> checkuserinfo
------------------------
Usage: checkuserinfo [etpro id]</pre>
[http://acpro.wolfteam.pl/gallery/rcon_checkuserinfo.gif http://acpro.wolfteam.pl/gallery/thumbs/rcon_checkuserinfo.gif]
* 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 !
<b>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 !</b>
<br />http://acpro.wolfteam.pl/gallery/rule10.gif<br />
===== players module=====
<br />http://acpro.wolfteam.pl/gallery/rule10.gif<br />
<br />[http://acpro.wolfteam.pl/gallery/ingame_players.gif http://acpro.wolfteam.pl/gallery/thumbs/ingame_players.gif]<br />
====== in game ======
<b>Showing after typing /players :</b>
<b>Showing after typing /players :</b>


Line 76: Line 182:
* Team (team and spawnpoint)
* Team (team and spawnpoint)
* ETpro ID
* ETpro ID
* Color names
* Cut names (u can set the amount)
* State of player (blank / REF / muted)
* State of player (blank / REF or PRV / muted)
* Optional
* You can easily set the notes and warns !
 
<pre>
ID                Player                          PBid      PBguid            Team                IP   
    name of player & STATE: blank/REF or PRV/muted        last 8 parts    team & spawnpoint    3 parts of IP
 
                                            Counted players
 
Notes and warning about players' data
</pre>
====== via rcon ======
<br>
* Admin can see players via rcon, just type:
<pre>
players
</pre>
and you will see this:
<br />[http://acpro.wolfteam.pl/gallery/rcon_players.gif http://acpro.wolfteam.pl/gallery/thumbs/rcon_players.gif]<br /> <br>
<br />http://acpro.wolfteam.pl/gallery/rule10.gif<br />
 
===== Name module =====
<br />http://acpro.wolfteam.pl/gallery/rule10.gif<br />
====== name change ======
* 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
[http://acpro.wolfteam.pl/gallery/rename_limit.gif http://acpro.wolfteam.pl/gallery/thumbs/rename_limit.gif]
* You can set the kick name limit of player trying to change the name after reaching the name change limit
[http://acpro.wolfteam.pl/gallery/renames.gif http://acpro.wolfteam.pl/gallery/thumbs/renames.gif]
====== name length ======
* You can also set min and max length of allowed nicknames (length will not count spaces and color codes !)
[http://acpro.wolfteam.pl/gallery/badname_len.gif http://acpro.wolfteam.pl/gallery/thumbs/badname_len.gif]
====== bad names ======
* You can set bad names, by default script will check for Reyalp's bad names, english & polish bad names and for random bad nicks
[http://acpro.wolfteam.pl/gallery/badname.gif http://acpro.wolfteam.pl/gallery/thumbs/badname.gif]
* And also for extra carat char, which looks like this: ^
[http://acpro.wolfteam.pl/gallery/extra_carat.gif http://acpro.wolfteam.pl/gallery/thumbs/extra_carat.gif]
<br /><br />
* <b>Fixed ETADMIN MOD exploit which allow the attacker to get same level using prepared nick of victim (version 2.1)</b>
<br />


====== rcon cmds ======
* Script also gives u new rcon rename commands
<pre>
<pre>
[PBid  #] [  PBguid  ]        [    IP    ]    [      Team      ]        [              ETPRO Player            ]
19:33:40:> rename
          last 8 parts        3 parts of IP    team and spawnpoint        id) name of player STATE: blank/REF/muted
-----------------
Usage: rename ID newnick
Example#1 (to clean the nick): rename ID clean
Example#2 (to cut the nick): rename ID cutnick
</pre>
</pre>
[http://acpro.wolfteam.pl/gallery/rcon_rename.gif http://acpro.wolfteam.pl/gallery/thumbs/rcon_rename.gif]
** In game looks like this
[http://acpro.wolfteam.pl/gallery/ingame_rename.gif http://acpro.wolfteam.pl/gallery/thumbs/ingame_rename.gif]
[http://acpro.wolfteam.pl/gallery/clean_name.gif http://acpro.wolfteam.pl/gallery/thumbs/clean_name.gif]


* Notes and warning about players' data
===== Anti-highping mod =====
<br />http://acpro.wolfteam.pl/gallery/rule10.gif<br />
* This module allows admin to put on spec players with specified ping
<pre>
20:00:19:> ping2spec
--------------------
Usage: ping2spec [ ping >0 ]
</pre>
[http://acpro.wolfteam.pl/gallery/ingame_ping2spec.gif http://acpro.wolfteam.pl/gallery/thumbs/ingame_ping2spec.gif]
[http://acpro.wolfteam.pl/gallery/rcon_ping2spec.gif http://acpro.wolfteam.pl/gallery/thumbs/rcon_ping2spec.gif]
 
<br />http://acpro.wolfteam.pl/gallery/rule10.gif<br />
 
===== Exec files depends on warmup time or playing time =====
<br />http://acpro.wolfteam.pl/gallery/rule10.gif<br />
* This module is to exec for example pb_agressive.cfg on warmup (with info @ cpm) and pb_normal.cfg while playing
* Files can be edited
* Optional mod
<br />http://acpro.wolfteam.pl/gallery/rule10.gif<br />
 
===== Date&time module =====
<br />http://acpro.wolfteam.pl/gallery/rule10.gif<br />
* This module will log into your log files data and time so u will know when the map starts etc.
<br />[http://acpro.wolfteam.pl/gallery/fixed_gamedate.gif http://acpro.wolfteam.pl/gallery/thumbs/fixed_gamedate.gif]<br />
* It also set every day a new etserver log with the date
<br />[http://acpro.wolfteam.pl/gallery/etserver_logs.gif http://acpro.wolfteam.pl/gallery/thumbs/etserver_logs.gif]<br />
<br />http://acpro.wolfteam.pl/gallery/rule10.gif<br />


===== Banmask with exceptions =====
===== Banmask with exceptions =====
http://luk4ward.boo.pl/files/gallery/thumbs/error.gif
<br />http://acpro.wolfteam.pl/gallery/rule10.gif<br />


* It's checking if the 2 parts of IP of connecting player matched with the names of files in the ipbans/ <br>
<br />[http://acpro.wolfteam.pl/gallery/howitworks.gif http://acpro.wolfteam.pl/gallery/thumbs/howitworks.gif]<br />
 
* ACpro ver 2.1 gives u the avability to change the Filter Mode:
<pre>
-- mode 1 will check against the first part of IP (like 83.)
-- mode 2 will check against the first two parts of IP (like 83.60.)
-- mode 4 will check against the first part of IP (like 83.)
--            and allow to join only from the added players of your added FilterMasks
--            example:
--            1) player from 1.2.3.4 is connecting
--            2) script not found a filename [1_.dat] from ipbans/ with his IP
--       3) script refused entry
--            4) admin is adding FilterMask for ip 1.2.3.4 via rcon
--            5) player from 1.2.3.4 is connecting
--            6) script not found his GUID in the filename [1_.dat] from ipbans/ of his IP
--            7) script refused entry
--            8) admin is adding his guid for ip 1.2.3.4 via rcon
--            9) player from 1.2.3.4 is connecting
--            10) script found his GUID in the filename [1_.dat] from ipbans/ of his IP
--            11) script allowed to join the sever
</pre>
* #1 It's checking if the part/s of IP of connecting player matched with the names of files in the ipbans/ <br>
if #1 is <b>true</b> then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player<br>
if #1 is <b>true</b> then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player<br>
if #1 is <b>false</b> then allow player to join the server<br>
if #1 is <b>false</b> then allow player to join the server [ mode 1,2 ] or kick not recognized IP [ mode 4 ]<br>
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -> see Logging data of players in etadmin_mod format section)
* For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -> see part about Logging data of players)


<b> There are 3 ways how to manage those bans (rcon, ftp, etadmin), the <i>HOW TO</i> 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) !
Modes 1,2 are for public server, but mode 4 is for leagues' or private servers because it will allow to join only specified players.</b>
<br />http://acpro.wolfteam.pl/gallery/rule10.gif<br />
====== #1st way via rcon: ======
====== #1st way via rcon: ======
http://luk4ward.boo.pl/files/gallery/thumbs/rcon.gif
<br />http://acpro.wolfteam.pl/gallery/rule10.gif<br />
 
<br />[http://acpro.wolfteam.pl/gallery/rcon_add.gif http://acpro.wolfteam.pl/gallery/thumbs/rcon_add.gif]<br />


<pre>
<pre>
16:52:18:> add
20:07:30:> add
--------------
--------------
Usage: add cl_guid nick ip by
Examples depend on filter_mode [activated: 2] -> enter 2 first parts of IP (with 2 dots: one after each number) !
Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID luk4ward 83.100. admin
 
Example#2: add guidGUIDGUIDGUIDGUIDGUIDGUIDguid luk4ward 83.100.100.5 admin
Usage:     add             cl_guid                 nick       ip           by
Usage: add   mask cheater ip by
Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.     admin
Example#1: add mask cheater 83.100. admin
Example#2: add GuidGuidGUIDGUIDGUIDGuidGUIDGUID clean_player 83.100.123.  admin
Example#2: add cheater 83.100.100.5 admin
Example#3: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.100.5 admin
 
Usage:     add mask cheater     ip       by
Example#1: add mask cheater 83.100.     admin
Example#2: add mask cheater 83.100.123.  admin
Example#3: add mask cheater 83.100.100.5 admin
</pre>
</pre>
<br />http://acpro.wolfteam.pl/gallery/rule10.gif<br />


====== #2nd way via ftp: ======
====== #2nd way via ftp: ======
http://luk4ward.boo.pl/files/gallery/thumbs/ftp_2.gif
<br />http://acpro.wolfteam.pl/gallery/rule10.gif<br />
 
<br />[http://acpro.wolfteam.pl/gallery/ftp_2.gif http://acpro.wolfteam.pl/gallery/thumbs/ftp_2.gif]<br />


# <b>how to ban 83.100:</b><br />
# <b>how to ban 83.100:</b><br />
Line 127: Line 342:
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin
   GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin
   </pre>
   </pre>
<br />http://acpro.wolfteam.pl/gallery/rule10.gif<br />
====== #3rd way via etadmin mod: ======
<br />http://acpro.wolfteam.pl/gallery/rule10.gif<br />


====== #3rd way via etadmin mod: ======
<br />[http://acpro.wolfteam.pl/gallery/etadmin.gif http://acpro.wolfteam.pl/gallery/thumbs/etadmin.gif]<br />
http://luk4ward.boo.pl/files/gallery/thumbs/etadmin.gif


* <b>edit etc/etadmin.cfg</b><br />
* <b>edit etc/etadmin.cfg</b><br />
Line 156: Line 373:


== Php scripts ==
== Php scripts ==
''soon
=== VSP stats fixes ===
==== [http://www.scivox.net/smf/index.php?topic=834.msg6231#msg6231 >> Stop full punkbuster guids from being displayed <<] ==== <br />
 
== ETadmin mod hacks ==
== ETadmin mod hacks ==
''soon
=== [http://www.punksbusted.com/forums/index.php?showtopic=11275&st=30 Min guid age] ===
<br />
* Hack for fixing min guid age in etadmin mod which was propably not working because of punkbuster updates
* Tested on etpro 3.2.6, etadmin mod 0.29, ET 2.60b, latest punkbuster version with:
** pb_sv_cvarlogging 1
** pb_sv_cvarwalk 1
** PB_SV_CvarChangedPulse 90
** pb_sv_cvaruserpulse 90
<br />http://acpro.wolfteam.pl/gallery/rule10.gif <br />
==== Instructions ====
<br />http://acpro.wolfteam.pl/gallery/rule10.gif <br /><br /> 
* Previously it was searching for line:
<pre>
ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE
</pre>
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:
<pre>
^3PunkBuster Server: Lost Connection (slot #3) 83.x.x.x:27960  pbguid(VALID:3) balduran^0! -> after a map
</pre>
<pre>
^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = "ET Pro, ET 2.60" -> enabled pb_sv_cvarwalk x [0>x<5]
</pre>
* So You have to enable punkbuster cvar searching and logging into your game log by using those commands:
<pre>
PB_SV_CvarChangedPulse [Number]
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARCHANGED command described in the command section above</pre>
<pre>
PB_SV_CvarUserPulse [Number]
The number of minutes (default is 99 which means disabled) between automatic sends of the CVARUSER command described in the command section above</pre>
* Remember to set pb_sv_cvarlogging to 1 (creating .log) or 3 (creating .log and .var)
* Remember to set pb_sv_cvarwalk [from 1 to 4] OR PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse [from 10 to 90]
* Now hack your etadmin mod, to do this open etadmin_mod.pl
* Find:
<pre>
elsif ( $config{'minguidage'} && index( $line, "$config{'pb_sv_msgprefix'}: [From " ) == 0 )
    {
 
#ET PB Server: [From #6 e9a9(VALID:153) ^4[^jbd^4] S^1cow^4L] My gl G:\WINDOWS\System32\opengl32.dll size=685568 md5=11CC241BEE030FC2982413A59E6E32B7
#ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE
 
        $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;
 
        # The age is the (days +1)
        my $age = $2 - 1;
        my $id  = $1 - 1;
        next if ( $age < 0 || $id < 0 );
 
        my $pb_id = $1;
        my $name = &convert_name( $tmphash{$id}{'name'}, 0, 0 );
        &log("Checking KEY AGE: Slot: $id($name), KeyAge: $age");
        if ( $config{'minguidage'} > $age )
        {
            &say(  $tmphash{$id}{'name'}
                  . "^7 has a GUID, that is only ^3"
                  . $age
                  . "^7 days old. Server refused entry!" );
            &cmd(  "pb_sv_kick $pb_id 5 \"Your GUID is too new. Try again in "
                  . ( $config{'minguidage'} - $age )
                  . " days\"" );
            &disconnect( $pb_id - 1, $pb_id );
        }
    }
</pre>
* Replace <b>whole block of code</b> with this:
<pre>
# old: ET PB Server: [From #3 bb78(VALID:324) ^7[^4d1p^7]^1H. ^3Potter] My gl C:\WINNT\system32\opengl32.dll size=692496 md5=81BF9FD76F2D1EE684FFDA1CA1C666AE
# $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) My gl /i;
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] cg_etVersion = "ET Pro, ET 2.60" -> enabled pb_sv_cvarwalk from 1 to 4
#^3PunkBuster Server: [From #9 a9ea(VALID:397) soul] "cg_etVersion" "cg_uinfo" "ui_connecting" "cl_guid" "cl_motdString" "gamestate" -> enabled PB_SV_CvarChangedPulse or pb_sv_cvaruserpulse from 10 to 90
# Remember to set pb_sv_cvarlogging to 1 or 3 !
#
# Code modified by Luk4ward based on Tommy100 modification
 
elsif ( $config{'minguidage'} && index( $line, "$config{'pb_sv_msgprefix'}: [From " ) == 0 )
    {
 
    $line =~ /: \[From \#(\d+) .{4}\(VALID:(\d+)\)(.*) /i;
   
              # The age is the (days +1)
        my $age = $2 - 1;
        my $id  = $1 - 1;
        next if ( $age < 0 || $id < 0 );
 
        my $pb_id = $1;
        my $name = &convert_name( $tmphash{$id}{'name'}, 0, 0 );
        #now etadmin will be checking if the guy is already kicked or not
        #if the name isnt empty (so hes on server) then i ll kick him out with his new guid
        if ( $name ne "" )
        {
        if ( $config{'minguidage'} > $age )
        {
        &log("Checking KEY AGE: Slot: $id($name), KeyAge: $age");
            &say(  $tmphash{$id}{'name'}
                  . "^7 has a GUID, that is only ^3"
                  . $age
                  . "^7 days old. Server refused entry!" );
            &cmd(  "pb_sv_kick $pb_id 1440 \"Your GUID is too new. Try again in "
                  . ( $config{'minguidage'} - $age )
                  . " days\"" );
            &disconnect( $pb_id - 1, $pb_id );
        }
      }         
    }
</pre>
 
* Result in game:
<pre>
[17:45:15] qsay "WPX has a GUID, that is only 5 days old. Server refused entry!"
[17:45:16] pb_sv_kick 20 5 "Your GUID is too new. Try again in 9 days"
</pre>
Thanks to Tommy100 from [http://www.punksbusted.com/forums/index.php?showtopic=11275&st=30 PsB]
 
== Programms ==
== Programms ==
''soon
''soon

Latest revision as of 17:27, 26 February 2009

http://luk4ward.wolfteam.pl/images/acpro2.1.png

=== Contact ===


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

  • ET.GamesNet.pl OBJective Cmpgn [ /connect 193.33.34.11:27965 ]
    • -- *) killer's hp mod created by Phenomenon modified by Luk4ward & McSteve
    • -- *) shield mod created by Nappy
    • -- *) /kill mod created by Infty modified by Luk4ward & McSteve
    • -- *) clients' commands and votes mod created by Hadr0 modified by Luk4ward
    • -- *) auto-spec999 mod created by Clutch152 modified by Luk4ward
    • -- *) !punish & !kill mod created by =FF=im2good4u modified by Deus & Luk4ward
    • -- *) funny warmup created by McSteve modified by Luk4ward
    • -- *) enhanced PM system based on ID mod (via rcon also) from KMOD created by Clutch152 modified by Luk4ward
    • -- *) playsound clientnum soundfile plugin created by Phenomenon
    • -- *) ACpro 2.1 mod (see below) by Luk4ward
  • u|k. public server 3.2.6_2.60b [ /connect 83.142.226.97:29023 ]
    • -- *) killer's hp mod created by Phenomenon modified by Luk4ward
    • -- *) ACpro 2.1 mod (see below) by Luk4ward


All server got modified etadmin mod which includes fixes and some other custom things, even individual pk3 files !

More servers with this mod:

ET.GamesNet.pl SW PRO [ /connect 91.102.114.182:27965 ]

[ N e X u S ] ET - 01 - [ETPro 3.2.6]: /connect 137.224.240.8:27960
[ N e X u S ] ET - 03 - [ETPro 3.2.6]: /connect 137.224.240.16:27960

G4@UPC.[PL]: /connect 81.18.192.11:27960
G5@UPC.[PL]: /connect 81.18.192.12:27960

#et-merc.fr + FunZone: /connect 87.98.242.56:27960

== ETpro lua scripts ==
=== >> Download ACpro 2.1 mod << ===
=== >> Screenies of ACpro 2.1 mod << ===


http://acpro.wolfteam.pl/gallery/thumbs/ftp_dir.gif

23:57:21:> lua_status
---------------------
etpro: Loaded lua scripts
VM Modname                  Signature                                Filename
-- ------------------------ ---------------------------------------- ------------------------
01 ACpro:2.1bslot:1          90ED6EF7A9BCFBBAAC51B6FBDEFADDCED9D4828E ac2pro.lua
-- ------------------------ ---------------------------------------- ------------------------
  • rcon:


http://acpro.wolfteam.pl/gallery/thumbs/rcon_ac2pro.gif
http://acpro.wolfteam.pl/gallery/rule10.gif

==== This Plugin / Mod / Script includes Reyalp' fixes and such mods: ====

http://acpro.wolfteam.pl/gallery/rule10.gif

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


http://acpro.wolfteam.pl/gallery/rule10.gif
===== Logging & checking data of players =====

http://acpro.wolfteam.pl/gallery/rule10.gif


http://acpro.wolfteam.pl/gallery/thumbs/acpro_logs.gif

Separated file logs
  • ok_eguids.log -> logging all passed etpro guids in format:
[ EGUID ] @ DATE 2008 from IP [ nick ]
  • bad_guids.log -> logging all refused guids (includes checking cl_guid !!!), REAL examples:
[ OpensourcePowa ] @ Sun Mar  9 11:56:05 2008 from 84.95.125.101:62733 [ HUHUH??? ]
[ 256624374273789392012475FUFUFUFU ] @ Wed Mar 19 10:39:52 2008 from 80.54.117.13:27960 [ Corky ]
[ UNKNOWN ] @ Sat Mar 29 20:47:48 2008 from 87.105.54.61:27960 [ Grim ]
[ CHEATERS_ALWAYS_WIN_LOLOLOLOLOLOLOLOLOLO ] @ Sat Mar 29 23:16:49 2008 from 90.213.91.116:27960 [ downloaded5kill ]
[TahBambucha] @ Sun Apr 27 23:33:19 2008 from 201.15.159.39:50200 [ mx.ETTV-1 ]

example output to etconsole.log:

etpro IAC: 4 GUID [ EGUID ] [ ETPRO_PLAYER ]
guidcheck: 4) client ETPRO_PLAYER from IP got ok eGUID: EGUID more info @ logs/ok_eguids.log 

Guids' logging and filenames are up to Admin !

log_badguids = true -- includes cl_guid
log_okeguids = true -- only eguids

logfile_badguids = "logs/bad_guids.log"
logfile_okeguids = "logs/ok_eguids.log"

-- check file logfile_badguids for the names, date and IPs of people with spoofed guids (cl_guids and etpro guids)
-- check file okeguids for the names, date and IPs of people with ok etpro guids (no etadmin format)
  • not/accepted_players.log & players.log include data of connecting players in format:
    • name
    • cl_guid
    • yawn link
    • ip
    • date
[Data logged/[Guid NOT/accepted from banned IP] @ Wed Nov 28 19:09:35 2007] (depends on condition)
	name    = player
	guid    = GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID
	yawn    = http://www.yawn.be/findPlayer.yawn?gamecode=ET&pbGuid=GUIDGUID
	ip      = 123.456.789.0
	reason  = data logged
	made    = 11/28/07 19:09:35
	expires = 0
	banner  = admin

example output to etconsole.log:

Client 7 connecting with 50 challenge ping
filtercheck: client 4 cnt 1st time @ Mon Apr 14 18:57:37 2008
running script for client 4 @ Mon Apr 14 18:57:37 2008
filtercheck: mode 2
filtercheck: opening ipbans/83_25_.dat
filtercheck: closing ipbans/83_25_.dat
filtercheck: client 4 ok, more info @ logs/players.log !
Checking userinfo
  • How to check player userinfo via Reyalp script modified by me:
19:38:57:> checkuserinfo
------------------------
Usage: checkuserinfo [etpro id]

http://acpro.wolfteam.pl/gallery/thumbs/rcon_checkuserinfo.gif

  • 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 !

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 !


http://acpro.wolfteam.pl/gallery/rule10.gif

players module


http://acpro.wolfteam.pl/gallery/rule10.gif


http://acpro.wolfteam.pl/gallery/thumbs/ingame_players.gif

in game

Showing after typing /players :

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

                                            Counted players 

 Notes and warning about players' data
via rcon


  • Admin can see players via rcon, just type:
players

and you will see this:
http://acpro.wolfteam.pl/gallery/thumbs/rcon_players.gif


http://acpro.wolfteam.pl/gallery/rule10.gif

Name module


http://acpro.wolfteam.pl/gallery/rule10.gif

name change
  • 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

http://acpro.wolfteam.pl/gallery/thumbs/rename_limit.gif

  • You can set the kick name limit of player trying to change the name after reaching the name change limit

http://acpro.wolfteam.pl/gallery/thumbs/renames.gif

name length
  • You can also set min and max length of allowed nicknames (length will not count spaces and color codes !)

http://acpro.wolfteam.pl/gallery/thumbs/badname_len.gif

bad names
  • You can set bad names, by default script will check for Reyalp's bad names, english & polish bad names and for random bad nicks

http://acpro.wolfteam.pl/gallery/thumbs/badname.gif

  • And also for extra carat char, which looks like this: ^

http://acpro.wolfteam.pl/gallery/thumbs/extra_carat.gif

  • Fixed ETADMIN MOD exploit which allow the attacker to get same level using prepared nick of victim (version 2.1)


rcon cmds
  • Script also gives u new rcon rename commands
19:33:40:> rename
-----------------
Usage: rename ID newnick
Example#1 (to clean the nick): rename ID clean
Example#2 (to cut the nick): rename ID cutnick

http://acpro.wolfteam.pl/gallery/thumbs/rcon_rename.gif

    • In game looks like this

http://acpro.wolfteam.pl/gallery/thumbs/ingame_rename.gif http://acpro.wolfteam.pl/gallery/thumbs/clean_name.gif

Anti-highping mod


http://acpro.wolfteam.pl/gallery/rule10.gif

  • This module allows admin to put on spec players with specified ping
20:00:19:> ping2spec
--------------------
Usage: ping2spec [ ping >0 ]

http://acpro.wolfteam.pl/gallery/thumbs/ingame_ping2spec.gif http://acpro.wolfteam.pl/gallery/thumbs/rcon_ping2spec.gif


http://acpro.wolfteam.pl/gallery/rule10.gif

Exec files depends on warmup time or playing time


http://acpro.wolfteam.pl/gallery/rule10.gif

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


http://acpro.wolfteam.pl/gallery/rule10.gif

Date&time module


http://acpro.wolfteam.pl/gallery/rule10.gif

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


http://acpro.wolfteam.pl/gallery/thumbs/fixed_gamedate.gif

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


http://acpro.wolfteam.pl/gallery/thumbs/etserver_logs.gif

http://acpro.wolfteam.pl/gallery/rule10.gif

Banmask with exceptions


http://acpro.wolfteam.pl/gallery/rule10.gif


http://acpro.wolfteam.pl/gallery/thumbs/howitworks.gif

  • ACpro ver 2.1 gives u the avability to change the Filter Mode:
-- mode 1 will check against the first part of IP (like 83.)
-- mode 2 will check against the first two parts of IP (like 83.60.)
-- mode 4 will check against the first part of IP (like 83.)
--             and allow to join only from the added players of your added FilterMasks
--             example:
--             1) player from 1.2.3.4 is connecting
--             2) script not found a filename [1_.dat] from ipbans/ with his IP
--	       3) script refused entry
--             4) admin is adding FilterMask for ip 1.2.3.4 via rcon
--             5) player from 1.2.3.4 is connecting
--             6) script not found his GUID in the filename [1_.dat] from ipbans/ of his IP
--             7) script refused entry
--             8) admin is adding his guid for ip 1.2.3.4 via rcon
--             9) player from 1.2.3.4 is connecting
--             10) script found his GUID in the filename [1_.dat] from ipbans/ of his IP
--             11) script allowed to join the sever
  • #1 It's checking if the part/s of IP of connecting player matched with the names of files in the ipbans/

if #1 is true then compare his guid with the guids inside the file if the guid wasnt found then script will kick a player
if #1 is false then allow player to join the server [ mode 1,2 ] or kick not recognized IP [ mode 4 ]

  • For every condition script will get the data of connecting player (his name, cl_guid, etpro guid, ip and date -> see part about Logging data of players)

There are 3 ways how to manage those bans (rcon, ftp, etadmin), the HOW TO 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) ! Modes 1,2 are for public server, but mode 4 is for leagues' or private servers because it will allow to join only specified players.


http://acpro.wolfteam.pl/gallery/rule10.gif

#1st way via rcon:


http://acpro.wolfteam.pl/gallery/rule10.gif


http://acpro.wolfteam.pl/gallery/thumbs/rcon_add.gif

20:07:30:> add
--------------
Examples depend on filter_mode [activated: 2] -> enter 2 first parts of IP (with 2 dots: one after each number) !

Usage:     add             cl_guid                 nick        ip           by
Example#1: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.      admin
Example#2: add GuidGuidGUIDGUIDGUIDGuidGUIDGUID clean_player 83.100.123.  admin
Example#3: add GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID clean_player 83.100.100.5 admin

Usage:     add mask cheater     ip        by
Example#1: add mask cheater 83.100.      admin
Example#2: add mask cheater 83.100.123.  admin
Example#3: add mask cheater 83.100.100.5 admin


http://acpro.wolfteam.pl/gallery/rule10.gif

#2nd way via ftp:


http://acpro.wolfteam.pl/gallery/rule10.gif


http://acpro.wolfteam.pl/gallery/thumbs/ftp_2.gif

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


http://acpro.wolfteam.pl/gallery/rule10.gif

#3rd way via etadmin mod:


http://acpro.wolfteam.pl/gallery/rule10.gif


http://acpro.wolfteam.pl/gallery/thumbs/etadmin.gif

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

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

Php scripts

VSP stats fixes

==== >> Stop full punkbuster guids from being displayed << ====

ETadmin mod hacks

Min guid age


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


http://acpro.wolfteam.pl/gallery/rule10.gif

Instructions


http://acpro.wolfteam.pl/gallery/rule10.gif

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

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

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

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

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

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

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

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

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

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

Thanks to Tommy100 from PsB

Programms

soon