User:Luk4ward
From WolfWiki
|
|
[edit] 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 <<
- unzip all files to etpro folder on your server
- new version: 2.1 includes Reyalp' fixes modified by me and IMPORTANT fix for ETadmin mod level exploit using prepared name
- credits inside .lua
23:57:21:> lua_status --------------------- etpro: Loaded lua scripts VM Modname Signature Filename -- ------------------------ ---------------------------------------- ------------------------ 01 ACpro:2.1bslot:1 90ED6EF7A9BCFBBAAC51B6FBDEFADDCED9D4828E ac2pro.lua -- ------------------------ ---------------------------------------- ------------------------
- rcon:
This Plugin / Mod / Script includes Reyalp' fixes and such mods:
- 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
- cl_guid is spoofable so keep this data secured !
Logging & checking data of players
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
- name
[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]
- 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 !

players module

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
Name module

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
- You can set the kick name limit of player trying to change the name after reaching the name change limit
name length
- You can also set min and max length of allowed nicknames (length will not count spaces and color codes !)
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
- And also for extra carat char, which looks like this: ^
- 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
- In game looks like this
Anti-highping mod

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

Exec files depends on warmup time or playing time

- 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

Date&time module

- This module will log into your log files data and time so u will know when the map starts etc.
- It also set every day a new etserver log with the date
Banmask with exceptions

- 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.

#1st way via rcon:

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

#2nd way via ftp:

- how to ban 83.100:
- create a file 83_100_.dat
- copy to ipbans/
- the end ! you can add comments by using #, example:
- create a file 83_100_.dat
# 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
- how to add exception:
- open file 83_100.dat and add new line:
- open file 83_100.dat and add new line:
GUIDGUIDGUIDGUIDGUIDGUIDGUIDGUID=luk4ward @ Wed Nov 28 16:45:09 2007 by admin

#3rd way via etadmin mod:

- 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:
- 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
Instructions
- 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
