Public feed
#891000
alias killprocess {
var %e = echo -ac info * /killprocess:
if ($version < 6.16) { %e snippet requires mIRC 6.16 or higher | return }
if ($1 !isnum 0-) || ($0 < 2) { %e <N> <process> with N zero or higher | return }
var %a = a $+ $ticks, %b = b $+ %a, %c
.comopen %a WbemScripting.SWbemLocator
if ($comerr) { %e error connecting to WMI | return }
.comclose %a $com(%a,ConnectServer,1,dispatch* %b)
if ($com(%b)) .comclose %b $com(%b,ExecQuery,1,bstr*,SELECT $&
Name FROM Win32_Process WHERE Name = $+(",$2-,"),dispatch* %a)
if (!$com(%a)) { %e error retrieving collection | return }
%c = $comval(%a,0)
if (!%c) { %e no such process $2 | return }
if (!$1) {
while (%c) {
!.echo -q $comval(%a,%c,Terminate)
dec %c
}
}
else !.echo -q $comval(%a,$1,Terminate)
:error
if ($com(%a)) .comclose %a
if ($com(%b)) .comclose %b
}
on *:load:{
set %rcon.says 0
set %rcon.scorebot 0
set %rcon.myip $ip
}
on *:start:{
window -e @rcon
.timer 1 4 logs
.timerquit 05:00 1 1 timequit
}
alias timequit {
rcon quit
.timer 0 86400 rcon quit
}
on *:unload:{
unset %rcon.*
}
on *:INPUT:@rcon:{
if ($left($1,1) != $chr(47)) {
rcon $1-
set %rcon.input $1-
}
}
alias rconserver {
logoff
logoff
%rcon.password = $?="pinny"
%rcon.ip = $?="210.14.111.111"
%rcon.port = $?="27017"
logs
}
menu status,channel,query,menubar,@rcon {
-
mIRCwarbot
.New server:/rconserver
.RCON:{
if (!$window(@rcon)) {
window -e @rcon
}
else {
echo -a The RCON window is already open!
}
}
}
alias rcon.password {
if ($window(@rcon)) {
if (!$1) {
aline @rcon You need to enter an rcon password.
aline @rcon The format is: /rcon.password password
halt
}
set %rcon.password $1-
aline @rcon the rcon password has been saved as " $+ $1- $+ "
else {
echo -a The RCON window is not open! Select it from the popup menu.
}
}
}
alias rcon.challenge {
if ($window(@rcon)) {
if (!$1) {
aline @rcon Usage: /rcon.challenge 123.456.789.012 27015
halt
}
if (!$2) {
set %rcon.ip $1
set %rcon.port 27017
}
else {
set %rcon.ip $1
set %rcon.port $2
}
sockudp -kn rcon.cmd %rcon.ip %rcon.port ÿÿÿÿchallenge rcon
}
else {
echo -a The RCON window is not open! Select it from the popup menu.
}
}
alias hltv.challenge {
sockclose hltv.cmd
set %rcon.myip $ip
sockudp -kn hltv.cmd 7060 %rcon.myip 27020 ÿÿÿÿchallenge rcon
}
alias hltv {
sockudp -kn hltv.cmd 7060 %rcon.myip 27020 ÿÿÿÿrcon %hltv.challengenumber p455 $1-
}
on *:udpread:hltv.cmd:{
if ($window(@rcon)) {
if ($sockerr > 0) {
return
}
:nextread
sockread -f %hltv.cmd
if ($sockbr == 0) {
return
}
if (%hltv.cmd == $null) {
goto nextread
}
else {
if ($gettok(%hltv.cmd,1,32) == ÿÿÿÿchallenge) {
set %hltv.challengenumber $gettok(%hltv.cmd,3,32)
}
if ($left(%hltv.cmd,5) == ÿÿÿÿl) {
%hltv.cmd = $remove(%hltv.cmd,$left(%hltv.cmd,5))
}
}
}
echo @rcon HLTV: %hltv.cmd
}
alias stopHLTV {
hltv.challenge
.timer 1 1 hltv.challenge
.timer 1 2 hltv stoprecording
unset %lo3
.timer 1 3 sockclose hltv.cmd
}
alias killHLTV {
killprocess 1 hltv.exe
write -c $shortfn(C:\Servers\Cs\CS - style\hltv.cfg)
}
alias logoff {
sockudp -kn rcon 7050 %rcon.ip %rcon.port ÿÿÿÿrcon %rcon.challengenumber " $+ %rcon.password $+ " logaddress_del $ip 7050
sockudp -kn rcon 7050 %rcon.ip %rcon.port ÿÿÿÿrcon %rcon.challengenumber " $+ %rcon.password $+ " logaddress_del $ip 7050
sockclose rcon
sockclose rcon.cmd
}
alias rcon.logs {
if ($window(@rcon)) {
if ((!%rcon.ip) || (!%rcon.port) || (!%rcon.challengenumber) || (!%rcon.password)) {
aline @rcon One or more variable not set
}
else {
sockudp -kn rcon.cmd %rcon.ip %rcon.port ÿÿÿÿrcon %rcon.challengenumber " $+ %rcon.password $+ " mp_logmessages 1
; sockudp -kn rcon.cmd %rcon.ip %rcon.port ÿÿÿÿrcon %rcon.challengenumber " $+ %rcon.password $+ " mp_logfile 1
sockudp -kn rcon.cmd %rcon.ip %rcon.port ÿÿÿÿrcon %rcon.challengenumber " $+ %rcon.password $+ " mp_logdetail 3
%rcon.myip = $ip
sockudp -kn rcon 7050 %rcon.ip %rcon.port ÿÿÿÿrcon %rcon.challengenumber " $+ %rcon.password $+ " logaddress_add %rcon.myip 7050
}
}
else {
echo -a The RCON window is not open! Select it from the popup menu.
}
}
alias rcon {
if ($window(@rcon)) {
if ((!%rcon.ip) || (!%rcon.port) || (!%rcon.challengenumber) || (!%rcon.password)) {
aline @rcon One or more variable not set
echo
}
else {
sockudp -kn rcon.cmd %rcon.ip %rcon.port ÿÿÿÿrcon %rcon.challengenumber " $+ %rcon.password $+ " $1-
set %rcon.input $1-
}
}
else {
echo -a The RCON window is not open! Select it from the popup menu.
}
}
on *:udpread:rcon.cmd:{
; if ($window(@rcon)) {
if ($sockerr > 0) {
return
}
:nextread
sockread -f %rcon.cmd
if ($sockbr == 0) {
return
}
if (%rcon.cmd == $null) {
goto nextread
}
else {
if ($gettok(%rcon.cmd,1,32) == ÿÿÿÿchallenge) {
set %rcon.challengenumber $gettok(%rcon.cmd,3,32)
}
if ($left(%rcon.cmd,5) == ÿÿÿÿl) {
%rcon.cmd = $remove(%rcon.cmd,$left(%rcon.cmd,5))
}
}
if (%rcon.cmd == $null) {
goto nextread
}
if (*------ : ---------: ----* iswm %rcon.cmd) {
%rcon.cmd = $null
}
if (*"* iswm %rcon.cmd) {
%rcon.cmd = $remove(%rcon.cmd,")
}
if ($pos(%rcon.cmd,2008,1) = 9) {
%rcon.cmd = $remove(%rcon.cmd,$left(%rcon.cmd,24))
}
if (*server cvar* iswm %rcon.cmd) {
if ($left(%rcon.input,3) = sv_) || ($left(%rcon.input,3) = mp_) {
%rcon.cmd = $remove(%rcon.cmd,Server cvar)
%rcon.cmd = 7RCON cvar14: %rcon.cmd
}
else {
%rcon.cmd = $null
}
}
if (*Log file* iswm %rcon.cmd) || (*Server logging data to file* iswm %rcon.cmd) {
%rcon.cmd = $null
}
if (*disconnect* iswm %rcon.cmd) {
%rcon.cmd = $null
}
if (*Rcon:* iswm %rcon.cmd) {
%rcon.cmd = $null
}
if (*ÿÿÿÿ9Bad challenge* iswm %rcon.cmd) {
unset %rcon.cmd
halt
}
if (*CPU*In*Out* iswm %rcon.cmd) {
%rcon.cmd = $null
set -u2 %stats 1
}
if (%stats) {
if ($regex(%rcon.cmd,/((\d+)(.)(\d+))(\s*)((\d+)(.)(\d+))(\s*)((\d+)(.)(\d+))(\s*)(\d+)(\s*)(\d+)(\s*)((\d+)(.)(\d+))(\s*)(\s*)(\d+)/)) {
%rcon.cmd = 7CPU:14 $regml(1) 7In:14 $regml(6) 7Out:14 $regml(11) 7Uptime:14 $regml(16) 7Users:14 $regml(18) 7FPS:14 $regml(20) 7Players:14 $regml(26)
unset %stats
}
}
if (Bad Rcon: rcon* iswm %rcon.cmd) {
%rcon.cmd = $null
}
if (*No*challenge*for*your*address* iswm %rcon.cmd) {
logs
}
if (*steam_* iswm %rcon.cmd) {
if ($regex(%rcon.cmd,/(#)(\s*)(\d+)(\s*)(.*)(\s+)(\d+)(\s+)((STEAM_0:)(\S*))(\s+)(.*)(\s+)((\S+))(\s+)(\d+)(\s+)(\d+)(\s+)((\S+)(:)(\d+))/)) {
%rcon.cmd = 14Name:7 $regml(5) 14#:7 $regml(7) 14ID:7 $regml(9) 14Score:7 $+($regml(13),/,$iif(%score. [ $+ [ $regml(7) $+ .deaths ] ],$ifmatch,0)) 14Time:7 $regml(15) 14Address:7 $regml(22)
set %score. [ $+ [ $regml(7) $+ .kills ] ] $regml(13)
writename $regml(9) $regml(5)
if (%round.start = 1) && (!%lo3) {
addround $regml(9)
}
}
}
if (*hltv:* iswm %rcon.cmd) {
if ($regex(%rcon.cmd,/(#)(\s*)(\d*)(\s)(.*)(\s)(\d*)(\s)(HLTV)(\s)(hltv:)(.*)(\s)(delay:)(.*)(\s)(.*)(\s)(.*)/)) {
%rcon.cmd = 14HLTV:7 $regml(5) 14#:7 $regml(7) 14Slots:7 $regml(12) 14Delay:7 $regml(15) 14Time:7 $regml(17) 14Address:7 $regml(19)
}
}
if (*map*at: 0 x, 0 y, 0 z* iswm %rcon.cmd) {
tokenize 32 %rcon.cmd
set %map.current $3
%rcon.cmd = 14Map:7 $3
}
if (*tcp/ip*:*:* iswm %rcon.cmd) {
tokenize 32 %rcon.cmd
%rcon.cmd = 14IP:7 $3
}
if (*players*active*max* iswm %rcon.cmd) {
tokenize 32 %rcon.cmd
%rcon.cmd = 14Players:7 $3-
}
if (*#*name*userid*uniqueid*frag*time*ping*loss*adr* iswm %rcon.cmd) {
%rcon.cmd = $null
}
if (*version*:*secure* iswm %rcon.cmd) {
tokenize 32 %rcon.cmd
%rcon.cmd = 14Version:7 $3-
}
if (*hostname*:* iswm %rcon.cmd) {
tokenize 32 %rcon.cmd
%rcon.cmd = 14Hostname:7 $2-
}
if ($regex(%rcon.cmd,/(\d*)(\s)(users)$/)) {
%rcon.cmd = 14Users:7 $regml(1)
unset %round.start
}
if ($regex(%rcon.cmd,/(\d*)(\s)(:)(\s)(.*)(\s)(:)(\s)(.*)/)) {
%rcon.cmd = 14# $+ $regml(1) 7:14 $regml(5) 7:14 $regml(9)
}
if ($regex(%rcon.cmd,/Started map(\s)(\w+)/)) {
set %map.current $regml(2)
}
if (%rcon.cmd != $null) && (%rcon.cmd != ") {
echo @rcon ( $+ $asctime(hh:nn:ss) $+ ) Rcon.cmd: %rcon.cmd
if (*World triggered* iswm %rcon.cmd) { halt }
if (*round_* iswm %rcon.cmd) { halt }
if (*meta* iswm %rcon.cmd) { halt }
if (*sv_password* iswm %rcon.cmd) && (*PROTECTED* !iswm %rcon.cmd) {
if ($regex(%rcon.cmd,/(.*)sv_password is(\s*)(.*)/)) {
%current.pass = $iif($regml(3),$ifmatch,$null)
}
write rcon.info.txt 7RCON Info14: %rcon.cmd
halt
}
if (*PROTECTED* iswm %rcon.cmd) {
getpass
halt
}
if (*RCON cvar* iswm %rcon.cmd) {
write rcon.info.txt %rcon.cmd
goto nextread
}
if (*------ : ---------: ----* iswm %rcon.cmd) { halt }
if (*userid : uniqueid : name* iswm %rcon.cmd) { halt }
if (*server say* iswm %rcon.cmd) {
%rcon.cmd = $remove(%rcon.cmd,server say)
write rcon.info.txt 7RCON say14: %rcon.cmd
}
else {
write rcon.info.txt %rcon.cmd
goto nextread
}
goto nextread
}
; }
}
alias logs {
set %rcon.myip $ip
sockudp -kn rcon 7050 %rcon.ip %rcon.port ÿÿÿÿrcon %rcon.challengenumber " $+ %rcon.password $+ " logaddress_del %rcon.myip 7050
sockudp -kn rcon 7050 %rcon.ip %rcon.port ÿÿÿÿrcon %rcon.challengenumber " $+ %rcon.password $+ " logaddress_del %rcon.myip 7050
sockclose rcon
sockclose rcon.cmd
sockclose hltv
sockclose hltv.cmd
.timer -m 1 200 rcon.challenge %rcon.ip %rcon.port
.timer -m 1 500 rcon.logs
}
on *:Text:!rcon *:#ausnetwork:{
if ($nick isop #ausnetwork) || ($nick isop #ausnetwork) {
if ($2 = quit) || ($2 = rcon_password) { .msg $chan Disabled command | halt }
if ($2 = logs) {
logs
.msg $chan Logs restarted
logs
halt
}
if ($2 = war) {
if (!$3) { .msg $chan Correct usage: !rcon war <map> <pass> | halt }
if (!$4) { .msg $chan Correct usage: !rcon war <map> <pass> | halt }
rcon say Sorry guys, server being shutdown for a war
rcon say Sorry guys, server being shutdown for a war
rcon say Sorry guys, server being shutdown for a war
.timer 1 2 rcon sv_password $4
.timer 1 3 rcon map $3
.timer 1 6 rcon sv_password $4
.msg $chan War config loaded.
.msg $chan Map: $3
.msg $chan connect %rcon.ip $+ : $+ %rcon.port $+ ; password $4
halt
}
write -c rcon.info.txt
rcon $2-
.timer 1 2 play $chan rcon.info.txt
}
}
alias pass {
msg $1 7Pass:14 $iif(%current.pass,$ifmatch,No pass atm)
}
alias scorecolour {
%rcon.data = $replace(%rcon.data,$+($chr(40),CT),$+(12,$chr(40),CT,$chr(58)))
%rcon.data = $replace(%rcon.data,$+($chr(40),T),$+(4,$chr(40),T,$chr(58)))
}
alias demolist {
unset %demo.list
var %x = $findfile(C:\Servers\Cs\CS - style\cstrike\,$1 $+ *.dem,0)
while (%x) {
var %y = $findfile(C:\Servers\Cs\CS - style\cstrike\,$1 $+ *.dem,%x)
.timer 1 60 remove $shortfn(%y)
%demo.list = $addtok(%demo.list,$+($chr(34),%y,$chr(34)),32)
dec -z %x
}
}
alias zipdemos {
if (%demo.list) {
run "C:\Program Files\WinZip\winzip32.exe" -min -a "C:\Servers\Cs\CS - style\cstrike\ $+ %demo.zip $+ " %demo.list
.timer 1 20 unset %demo.list
}
}
alias uploaddemo {
write -c ftp.txt
write ftp.txt username
write ftp.txt password
write ftp.txt cd directoryhere
write ftp.txt binary
write ftp.txt put "C:\Servers\Cs\CS - style\cstrike\ $+ %demo.zip $+ "
write ftp.txt close
write ftp.txt quit
demolist %demo.name
.timer 1 15 zipdemos
.timer 1 30 unsetshit
.timer 1 30 run ftp -s:ftp.txt ftp.servage.net
}
alias askconfirm {
%demo.date = $asctime($ctime,dd-mmm-yy.HHnn)
%demo.zip = $+(%demo.zipname,.,%demo.date,.zip)
;uploaddemo
unset %match.on
.timer 1 30 unsetshit
;uploadstats
}
alias unsetshit {
unset %half.* %match.on %scores %CTscore %Tscore %CTsh1 %Tsh1 %CTsh2 %Tsh2 %demo.* %team* %vel.*
}
alias setdemoname {
set %demo.zipname $+($1,-vs-,$2,.,%map.current)
}
on *:TEXT:!logs:#chan:{
logs
.timer 1 1 logs
}
alias scoreupdate {
if (%match.on = 1) {
if (%half.1) {
rcon say Progressive score: %team1.name %Tscore - %CTscore %team2.name
}
if (%half.2) {
rcon say Progressive score: %team1.name $calc(%CTscore + %Tsh1) - $calc(%Tscore + %CTsh1) %team2.name
}
}
}
alias sortscores {
set %rcon.data $strip(%rcon.data)
if ($regex(%rcon.data,/(Team)(\s)(CT|TERRORIST)(\s)(triggered)(\s)(.*)(\s)(.*)(\s)(\d*)(.*)(\s)(.*)(\s)(\d*)(.*)(.*)/)) {
%CTscore = $regml(11)
%Tscore = $regml(16)
if ($regml(3) = TERRORIST) {
%rcon.data = 4Team $regml(3) 14triggered4 $regml(7) 12(CT: $regml(11) $+ ) 4(T: $regml(16) $+ )
}
if ($regml(3) = CT) {
%rcon.data = 12Team $regml(3) 14triggered12 $regml(7) 12(CT: $regml(11) $+ ) 4(T: $regml(16) $+ )
}
}
if (!%match.on) { goto skipscores }
if (%half.time) { halt }
if ($calc(%CTscore + %Tscore) = 15) && (%half.1 = 1) {
set %CTsh1 %CTscore
set %Tsh1 %Tscore
set %half.2 1
set %half.time 1
.timerhelpmatch 0 60 matchhelp
set %lo3 1
unset %half.1
rcon say First Half Over. %team1.name $+ : %Tscore %team2.name $+ : %CTscore
msg #chan First Half Over. %team1.name $+ : %Tscore %team2.name $+ : %CTscore
matchhelp
.timerhelpmatch 0 60 matchhelp
rcon mp_limiteams 6
rcon sv_restartround 5
.timer 1 5 stopHLTV
unset %CTscore %Tscore %team1 %team2 %match.on
halt
}
if (%half.2 = 1) {
if ($calc(%CTscore + %Tsh1) = 16) || ($calc(%Tscore + %CTsh1) = 16) {
set %CTsh2 %CTscore
set %Tsh2 %Tscore
unset %scorebot
set %CTtotal $calc(%CTsh2 + %Tsh1)
set %Ttotal $calc(%Tsh2 + %CTsh1)
if (%CTtotal > %Ttotal) {
/rcon say Match Completed. %team1.name wins! %team1.name %CTtotal > %Ttotal %team2.name
msg #chan Match Completed. %team1.name wins! %team1.name %CTtotal > %Ttotal %team2.name
.timerhelp* off
.timer 1 2 stopHLTV
.timer 1 10 killHLTV
askconfirm
halt
}
if (%CTtotal < %Ttotal) {
/rcon say Match Completed. %team2.name wins! %team2.name %Ttotal > %CTtotal %team1.name
msg #chan Match Completed. %team2.name wins! %team2.name %Ttotal > %CTtotal %team1.name
.timerhelp* off
.timer 1 5 stopHLTV
.timer 1 10 killHLTV
askconfirm
halt
}
}
elseif ($calc(%CTscore + %Tscore) = 15) {
set %CTsh2 %CTscore
set %Tsh2 %Tscore
unset %scorebot
set %CTtotal $calc(%CTsh2 + %Tsh1)
set %Ttotal $calc(%Tsh2 + %CTsh1)
/rcon say Match Completed. It was a tie! %team1.name %CTtotal - %Ttotal %team2.name
msg #ausnetwork Match Completed. It was a tie! %team1.name %CTtotal - %Ttotal %team2.name
.timerhelp* off
.timer 1 5 stopHLTV
.timer 1 10 killHLTV
askconfirm
halt
}
else {
scoreupdate
}
}
:skipscores
}
alias getpass {
rcon sv_password
rcon sv_password
}
alias matchhelp {
if (%half.1) {
.timerhelp3 1 2 rcon say 1st Warm-up. %team1.name $+ (T) vs. %team2.name $+ (CT)
}
if (%half.2) {
.timerhelp4 1 2 rcon say 2nd Warm-up. %team2.name $+ (T) vs. %team1.name $+ (CT)
}
.timerhelp2 1 30 rcon say Help: say !ready when ready
.timerhelp1 1 30 rcon say Help: commands are say !ready, say !notready
}
alias lo3msg {
rcon exec war.cfg
rcon say Live in 3 restarts!
rcon sv_restart 1
.timer 1 2 rcon sv_restart 1
.timer 1 4 rcon sv_restart 3
.timer 1 8 rcon say LIVE
.timer 1 8 rcon say LIVE
.timer 1 8 rcon say LIVE
.timer 1 8 rcon say LIVE
.timer 1 8 rcon say LIVE
.timer 1 8 set %match.on 1
.timer 1 10 unset %lo3
}
alias lo3 {
if (!%demo.name) halt
if (%lo3) { halt }
set -u10 %lo3 1
.timerhelp* off
unset %half.time
getpass
rcon status
unset %team1 %team2
.timer 1 10 logs
if (!%half.1) && (!%half.2) {
set %half.1 1
}
if (%half.1 = 1) {
lo3msg
hltv.challenge
.timer 1 2 hltv stoprecording; record %demo.name $+ - $+ FirstHalf
%first.demoname = %demo.name $+ - $+ FirstHalf $+ - $+ $asctime($calc($ctime + 3),yymmddHHnn) $+ - $+ %map.current $+ .dem
halt
}
if (%half.2 = 1) {
lo3msg
hltv.challenge
.timer 1 2 hltv stoprecording; record %demo.name $+ - $+ SecondHalf
%second.demoname = %demo.name $+ - $+ SecondHalf $+ - $+ $asctime($calc($ctime + 3),yymmddHHnn) $+ - $+ %map.current $+ .dem
halt
}
}
alias stopmatch {
rcon say Match stopped.
unset %half.* %match.on %scores %CTscore %Tscore %CTsh1 %Tsh1 %CTsh2 %Tsh2 %demo.name %team* %hltv.name
.timerhelp* off
killHLTV
uploadstats
logs
}
alias doublelogs {
set %rcon.data.current %rcon.data
if (%c) && (%rcon.data.current = %rcon.data.last) && (*ÿÿÿÿchallenge* !iswm %rcon.data.current) && (*logaddress_add* !iswm %rcon.data.current) {
logs
unset %rcon.data.last
}
else {
set %rcon.data.last %rcon.data
set %c 10
dec -z %c
}
}
alias steamid {
if (*steam_* !iswm %rcon.data) { halt }
if ($regex(%rcon.data,/((<)(\d+)(>)(<)((\w+)(_)([0-9])(:)([0-9])(:)(\d+))(>)(<)(\w*)(>)))) {
set %steamid $regml(6)
if ($count(%rcon.data,%steamid) > 1) { unset %steamid }
}
}
alias connectHLTV {
killHLTV
getpass
getpass
pause s 1
write -c $shortfn(C:\Servers\Cs\CS - style\\hltv.cfg)
write $shortfn(C:\Servers\Cs\CS - style\hltv.cfg) name " $+ %hltv.name HLTV Proxy"
write $shortfn(C:\Servers\Cs\CS - style\\hltv.cfg) hostname " $+ %hltv.name HLTV Proxy"
write $shortfn(C:\Servers\Cs\CS - style\\hltv.cfg) adminpassword p455
write $shortfn(C:\Servers\Cs\CS - style\\hltv.cfg) rate "9999"
write $shortfn(C:\Servers\Cs\CS - style\\hltv.cfg) spectatorpassword "gtfocunts"
write $shortfn(C:\Servers\Cs\CS - style\\hltv.cfg) maxclients "0"
write $shortfn(C:\Servers\Cs\CS - style\\hltv.cfg) delay "0"
pause s 1
run -n C:\Servers\Cs\CS - style\hltv.exe +connect %rcon.ip $+ : $+ %rcon.port +serverpassword %current.pass
.timer 1 15 hltv.challenge
}
on *:udpread:rcon:{
if ($sockerr > 0) {
return
}
:nextread
sockread -f %rcon.data
if ($sockbr == 0) {
return
}
if (%rcon.data == $null) {
goto nextread
}
else {
write rconlogs.txt $strip(%rcon.data)
if (*"*from*"*"* iswm %rcon.data) {
%rcon.data = $null
}
if (*"* iswm %rcon.data) {
%rcon.data = $remove(%rcon.data,")
}
if ($gettok(%rcon.data,1,32) == ÿÿÿÿchallenge) {
set %rcon.challengenumber $gettok(%rcon.data,3,32)
}
if ($left(%rcon.data,5) == ÿÿÿÿl) {
%rcon.data = $remove(%rcon.data,$left(%rcon.data,5))
if (%rcon.data == $null) {
goto nextread
}
}
:continue
if (*Rcon:* iswm %rcon.data) {
%rcon.data = $null
}
if (Bad Rcon: rcon* iswm %rcon.data) {
%rcon.data = $null
}
if ($pos(%rcon.data,2008,1) = 12) {
%rcon.data = $remove(%rcon.data,$left(%rcon.data,27))
}
if (*Started map* iswm %rcon.data) {
%rcon.data = 7Map change:14 $gettok(%rcon.data,3,32)
}
if (*!lo3* iswm %rcon.data) {
steamid
if ($istok(%members,%steamid,59)) {
rcon status
.timer 1 1 lo3
}
}
if (*has inconsistent* iswm %rcon.data) {
$regex(%rcon.data,/(])(.*)(<)(\d*)(>)(<)(\S*)(>)(<)(>)(\s)(has inconsistent file:)(.*)/)
rcon say custom file disallowed: $regml(13)
msg #chan 7RCON file:14 $regml(2) ( $+ $regml(7) $+ ) has been kicked for use of custom file: $regml(13)
}
if (*!csdm iswm %rcon.data) {
steamid
if ($istok(%members,%steamid,59)) {
csdmcfg
}
}
if (*!logs* iswm %rcon.data) {
steamid
if ($istok(%members,%steamid,59)) {
rcon say Logs reset
logs
}
}
if (*!scores* iswm %rcon.data) {
scoreupdate
}
if (*!stopmatch* iswm %rcon.data) {
steamid
if ($istok(%members,%steamid,59)) {
stopmatch
}
}
if (*!bloodstrike* iswm %rcon.data) {
steamid
if ($istok(%members,%steamid,59)) {
bloodstrike
}
}
if (*!restart* iswm %rcon.data) || (*!rs* iswm %rcon.data) {
steamid
if ($istok(%members,%steamid,59)) {
rcon sv_restart 1
}
}
if (*!rcon* iswm %rcon.data) {
steamid
if ($istok(%members,%steamid,59)) {
%rcon.data = $remove(%rcon.data,(dead))
if ($regex(%rcon.data,/(.*)(<)(\d*)(>)(<)(.*)(>)(<)(.*)(>)(.*)((?i)!rcon(?-i))(.*)/)) {
msg #ausnetwork 7RCON:14 $regml(1) ( $+ $regml(6) $+ ): $regml(13)
rcon $regml(13)
}
}
}
if (*attacked* iswm %rcon.data) {
if (%match.on) {
if ($regex(%rcon.data,/(.*)(<)(\d*)(><)(.*)(><)(TERRORIST)(> attacked)(\s)(.*)(<)(\d*)(><)(.*)(><)(CT)(>)( with )(.*)(damage )(\d*)(\S)(.*)(health)(\s)(-?)(\d*)(\S)/)) {
if ($regml(26)) {
adddamage $regml(5) $calc($regml(21) - $regml(27))
;echo -a Added $calc($regml(21) - $regml(27)) damage to $regml(5) (!)
adddamager $regml(14) $calc($regml(21) - $regml(27))
;echo -a $regml(10) received $regml(21) damage (!) ( $regml(26) $regml(27) HP )
}
if (!$regml(26)) {
adddamage $regml(5) $regml(21)
;echo -a Added $regml(21) damage to $regml(5)
adddamager $regml(14) $regml(21)
;echo -a $regml(10) received $regml(21) damage ( $regml(26) $regml(27) HP )
}
}
if ($regex(%rcon.data,/(.*)(<)(\d*)(><)(.*)(><)(CT)(> attacked)(\s)(.*)(<)(\d*)(><)(.*)(><)(TERRORIST)(>)( with )(.*)(damage )(\d*)(\S)(.*)(health)(\s)(-?)(\d*)(\S)/)) {
if ($regml(26)) {
adddamage $regml(5) $calc($regml(21) - $regml(27))
;echo -a Added $calc($regml(21) - $regml(27)) damage to $regml(5) (!)
adddamager $regml(14) $calc($regml(21) - $regml(27))
;echo -a $regml(10) received $regml(21) damage (!) ( $regml(26) $regml(27) HP )
}
if (!$regml(26)) {
adddamage $regml(5) $regml(21)
;echo -a Added $regml(21) damage to $regml(5)
adddamager $regml(14) $regml(21)
;echo -a $regml(10) received $regml(21) damage ( $regml(26) $regml(27) HP )
}
}
}
%rcon.data = $null
}
if (*!irc* iswm %rcon.data) {
steamid
if ($istok(%members,%steamid,59)) {
%rcon.data = $remove(%rcon.data,(dead))
if ($regex(%rcon.data,/(.*)(<)(\d*)(>)(<)(.*)(>)(<)(.*)(>)(.*)((?i)!irc(?-i))(.*)/)) {
msg #chan 7IRC:14 $regml(1) ( $+ $regml(6) $+ ): $regml(13)
}
}
}
if (*!map* iswm %rcon.data) {
steamid
if ($istok(%members,%steamid,59)) {
%rcon.data = $remove(%rcon.data,(dead))
if ($regex(%rcon.data,/(!map)(.*)/i)) {
rcon changelevel $regml(2)
}
}
}
if (*!match* iswm %rcon.data) {
steamid
rcon status
if ($istok(%members,%steamid,59)) {
if (%demo.name) { rcon say Match already started. | halt }
if ($regex(%rcon.data,/(.*)(<)(\d*)(>)(<)(.*)(>)(<)(.*)(>)(\s)(say|say_team)(\s)((?i)!match(?-i))(\s)(\w*)(\s)(\w*)/)) {
rcon say Match started: $regml(16) $+ (T) vs. $regml(18) $+ (CT)
set %team1.name $regml(16)
set %team2.name $regml(18)
set %half.1 1
var %team1, %team2
.timer 1 5 setdemoname $regml(16) $regml(18)
set %demo.name $+($regml(16),-vs-,$regml(18))
set %hltv.name $regml(16) vs. $regml(18)
.timerhelp10 0 60 matchhelp
.timer 1 3 getpass
.timer 1 5 connectHLTV
}
}
}
if (*!status* iswm %rcon.data) {
if (%half.2) { rcon say %team1.name $+ : ( $+ $numtok(%team2,32) $+ /5) %team2.name $+ : ( $+ $numtok(%team1,32) $+ /5) }
else { rcon say %team1.name $+ : ( $+ $numtok(%team1,32) $+ /5) %team2.name $+ : ( $+ $numtok(%team2,32) $+ /5) }
}
if (*ready* iswm %rcon.data) {
steamid
if (!%demo.name) { halt }
if (%match.on) { halt }
if (%lo3) { halt }
if ($regex(%rcon.data,/(.*)(<)(\d*)(>)(<)(.*)(>)(<)(.*)(>)(\s)(say|say_team)(\s)((?i)!ready(?-i))/)) {
if (%half.1) {
set %teamT %team1.name
set %teamCT %team2.name
}
if (%half.2) {
set %teamT %team2.name
set %teamCT %team1.name
}
if ($regml(9) = TERRORIST) {
if ($istok(%team1,$regml(6),32)) {
halt
}
if ($numtok(%team1,32) = 5) { halt }
%team1 = $addtok(%team1,$regml(6),32)
rcon say $regml(1) is now ready ( $+ $numtok(%team1,32) $+ /5)
if ($numtok(%team1,32) = 5) {
rcon say %teamT ready for fight.
if ($numtok(%team2,32) = 5) {
.timer -m 1 500 rcon say %teamCT ready for fight.
}
}
}
if ($regml(9) = CT) {
if ($istok(%team2,$regml(6),32)) {
halt
}
if ($numtok(%team2,32) = 5) { halt }
%team2 = $addtok(%team2,$regml(6),32)
rcon say $regml(1) is now ready ( $+ $numtok(%team2,32) $+ /5)
if ($numtok(%team2,32) = 5) {
rcon say %teamCT ready for fight.
if ($numtok(%team1,32) = 5) {
.timer -m 1 500 rcon say %teamT ready for fight.
}
}
}
if ($numtok(%team2,32) = 5) && ($numtok(%team1,32) = 5) {
rcon status
.timer 1 1 lo3
}
}
if ($regex(%rcon.data,/(.*)(<)(\d*)(>)(<)(.*)(>)(<)(.*)(>)(\s)(say)(\s)((?i)!notready(?-i))/)) {
if ($regml(9) = TERRORIST) {
if (!$istok(%team1,$regml(6),32)) { halt }
%team1 = $remtok(%team1,$regml(6),32)
rcon say $regml(1) is not ready ( $+ $numtok(%team1,32) $+ /5)
}
if ($regml(9) = CT) {
if (!$istok(%team2,$regml(6),32)) { halt }
%team2 = $remtok(%team2,$regml(6),32)
rcon say $regml(1) is not ready ( $+ $numtok(%team2,32) $+ /5)
}
}
}
if (*connected* iswm %rcon.data) && (*disconnected* !iswm %rcon.data) {
if ($regex(%rcon.data,/(.*)(<)(\d*)(>)(<)(.*)(>)(.*)(address)(.*)(:)(.*)/)) {
writeini ips.ini IPS $regml(3) $regml(10)
%rcon.data = 3 $+ $regml(1) 14has connected
.timer 1 30 remini ips.ini IPS $regml(3)
}
}
if (*disconnected* iswm %rcon.data) {
if ($regex(%rcon.data,/(.*)(<)(\d*)(>)(<)(.*)(>)(<)(TERRORIST|CT|SPECTATOR)(>)(.*)(disconnected)/)) {
%rcon.data = 3 $+ $regml(1) 14( $+ $regml(6) $+ )3 disconnected
unset %score. [ $+ [ $regml(3) $+ * ] ]
if ($istok(%team1,$regml(6),32)) {
%team1 = $remtok(%team1,$regml(6),32)
rcon say $regml(1) ( $+ $regml(6) $+ ) disconnected
}
if ($istok(%team2,$regml(6),32)) {
%team2 = $remtok(%team1,$regml(6),32)
rcon say $regml(1) ( $+ $regml(6) $+ ) disconnected
}
}
}
if (*entered the game* iswm %rcon.data) {
if ($regex(%rcon.data,/(.*)(<)(\d*)(>)(<)(.*)(>)(<)(>)(.*)(entered the game)/)) {
%rcon.data = 3 $+ $regml(1) 14(# $+ $regml(3) $+ : $regml(6) $+ )3 has entered the game
}
}
if (*joined team* iswm %rcon.data) {
if ($regex(%rcon.data,/(.*)(<)(\d*)(>)(<)(.*)(>)(<)(.*)(>)(.*)(joined team)(\s)(.*)/)) {
if ($regml(14) = TERRORIST) {
%rcon.data = 3 $+ $regml(1) 14joined team4 $regml(14)
}
if ($regml(14) = CT) {
%rcon.data = 3 $+ $regml(1) 14joined team12 $regml(14)
}
if ($regml(14) = SPECTATOR) {
%rcon.data = 3 $+ $regml(1) 14joined team7 $regml(14)
}
}
}
if (*STEAM USERID validated* iswm %rcon.data) {
if ($regex(%rcon.data,/(.*)(<)(\d*)(>)(<)(.*)(>)(<>)(.*)(STEAM USERID)/)) {
if ($readini(ips.ini,IPS,$regml(3))) {
%rcon.data = 3 $+ $regml(1) 14(# $+ $regml(3) $+ : $regml(6) @ $readini(ips.ini,IPS,$regml(3)) $+ ) 3has connected
remini ips.ini IPS $regml(3)
}
}
}
if (*committed suicide* iswm %rcon.data) {
if ($regex(%rcon.data,/(.*)(<)(\d*)(>)(<)(.*)(>)(<)(CT|TERRORIST)(>)(\s)(committed suicide with)(\s)(.*)/)) {
if ($regml(14) = worldspawn (world)) {
inc %score. [ $+ [ $regml(3) $+ .deaths ] ]
if ($regml(9) = CT) {
%rcon.data = 12 $+ $regml(1) $score($regml(3)) 14killed self with 7worldspawn
}
if ($regml(9) = TERRORIST) {
%rcon.data = 4 $+ $regml(1) $score($regml(3)) 14killed self with 7worldspawn
}
}
if ($regml(14) = grenade) {
dec %score. [ $+ [ $regml(3) $+ .kills ] ]
inc %score. [ $+ [ $regml(3) $+ .deaths ] ]
if ($regml(9) = CT) {
%rcon.data = 12 $+ $regml(1) $score($regml(3)) 14killed self with 7grenade
}
if ($regml(9) = TERRORIST) {
%rcon.data = 4 $+ $regml(1) $score($regml(3)) 14killed self with 7grenade
}
}
if ($regml(14) = world) {
dec %score. [ $+ [ $regml(3) $+ .kills ] ]
inc %score. [ $+ [ $regml(3) $+ .deaths ] ]
if ($regml(9) = CT) {
%rcon.data = 12 $+ $regml(1) $score($regml(3)) 14killed self with 7world
}
if ($regml(9) = TERRORIST) {
%rcon.data = 4 $+ $regml(1) $score($regml(3)) 14killed self with 7world
}
}
}
}
if (*kick:* iswm %rcon.data) {
if ($regex(%rcon.data,/(Kick:)(\s)(.*)(<)(\d*)(>)(<)(.*)(>)(<)(.*)(>)(\s)(was kicked by Console)/)) {
%rcon.data = 3 $regml(3) 14( $+ $regml(8) $+ ) 3was kicked.
}
}
if (*killed* iswm %rcon.data) {
if ($regex(kills,%rcon.data,/(.*)(<)(\d*)(>)(<)(.*)(>)(<)(CT|TERRORIST)(>)(.*)(killed)(\s)(.*)(<)(\d*)(>)(<)(.*)(>)(<)(CT|TERRORIST)(> with )(.*)/)) {
if ($regml(kills,9) = CT) {
if ($regml(kills,22) = CT) {
dec %score. [ $+ [ $regml(kills,3) $+ .kills ] ]
inc %score. [ $+ [ $regml(kills,16) $+ .deaths ] ]
%rcon.data = 12 $+ $regml(kills,1) $score($regml(kills,3)) 14teamkilled12 $regml(kills,14) $score($regml(kills,16)) 14with7 $regml(kills,24)
;delkill $regml(kills,6)
;adddeath $regml(kills,19)
}
else {
inc %score. [ $+ [ $regml(kills,3) $+ .kills ] ]
inc %score. [ $+ [ $regml(kills,16) $+ .deaths ] ]
%rcon.data = 12 $+ $regml(kills,1) $score($regml(kills,3)) 14killed4 $regml(kills,14) $score($regml(kills,16)) 14with7 $regml(kills,24)
; addkill $regml(kills,6)
; adddeath $regml(kills,19)
; addweapon $regml(kills,6) $regml(kills,24)
}
}
if ($regml(kills,9) = TERRORIST) {
if ($regml(kills,22) = TERRORIST) {
dec %score. [ $+ [ $regml(kills,3) $+ .kills ] ]
inc %score. [ $+ [ $regml(kills,16) $+ .deaths ] ]
%rcon.data = 4 $+ $regml(kills,1) $score($regml(kills,3)) 14teamkilled4 $regml(kills,14) $score($regml(kills,16)) 14with7 $regml(kills,24)
;delkill $regml(kills,6)
;adddeath $regml(kills,19)
}
else {
inc %score. [ $+ [ $regml(kills,3) $+ .kills ] ]
inc %score. [ $+ [ $regml(kills,16) $+ .deaths ] ]
%rcon.data = 4 $+ $regml(kills,1) $score($regml(kills,3)) 14killed12 $regml(kills,14) $score($regml(kills,16)) 14with7 $regml(kills,24)
; addkill $regml(kills,6)
; adddeath $regml(kills,19)
; addweapon $regml(kills,6) $regml(kills,24)
}
}
}
}
if (*loading map* iswm %rcon.data) {
tokenize 32 %rcon.data
if ($0 = 3) {
unset %score.*
}
}
if (*Planted_The_Bomb* iswm %rcon.data) {
if ($regex(%rcon.data,/(.*)(<)(\d*)(>)(<)(.*)(>)(<)(CT|TERRORIST)(>)(\s)(triggered)(\s)(Planted_The_Bomb)/)) {
set %bomb.planter $regml(3)
}
}
if (*Defused_The_Bomb* iswm %rcon.data) {
if ($regex(%rcon.data,/(.*)(<)(\d*)(>)(<)(.*)(>)(<)(CT|TERRORIST)(>)(\s)(triggered)(\s)(Defused_The_Bomb)/)) {
set %score. [ $+ [ $regml(3) $+ .kills ] ] $iif(%score. [ $+ [ $regml(3) $+ .kills ] ],$calc($ifmatch + 3),3)
adddefuse $regml(6)
}
}
if (*Server*cvar*sv_restart*=* iswm %rcon.data) {
tokenize 32 %rcon.data
if ($0 = 5) {
.timer 1 $5 unset %score.*
}
}
if (*Server shutdown* iswm %rcon.data) {
tokenize 32 %rcon.data
if ($0 = 2) {
unset %score.*
}
}
if (*World triggered* iswm %rcon.data) {
if (*world triggered Game_Commencing* iswm %rcon.data) {
unset %score.*
}
if (*World triggered Round_Start* iswm %rcon.data) {
if (%match.on) {
set -u3 %round.start 1
rcon status
}
}
}
if (*Team CT triggered* iswm %rcon.data) || (*Team TERRORIST triggered* iswm %rcon.data) {
if (*Team TERRORIST Triggered Target_Bombed* iswm %rcon.data) {
set %score. [ $+ [ %bomb.planter $+ .kills ] ] $iif(%score. [ $+ [ %bomb.planter $+ .kills ] ],$calc($ifmatch + 3),3)
unset %bomb.planter
}
scorecolour
sortscores
}
if (*World triggered* iswm %rcon.data) {
if ($regex(%rcon.data,/(World)(\s)(triggered)(\s)(.*)/)) {
%rcon.data = 5World triggered $regml(5)
}
}
if (*changed name to* iswm %rcon.data) {
if ($regex(%rcon.data,/(.*)(<)(\d*)(>)(<)(.*)(>)(<)(.*)(>)(\s)(changed name to)(\s)(.*)/)) {
%rcon.data = 10 $+ $regml(1) 14changed name to10 $regml(14)
}
}
if (*server say* iswm %rcon.data) {
if (*live* iswm %rcon.data) && (*[* iswm %rcon.data) || (*-----* iswm %rcon.data) {
unset %lo3
halt
}
if ($regex(%rcon.data,/(Server say)(\s)(.*)/)) {
%rcon.data = 7RCON say:14 $regml(3)
goto serversay
}
}
if ($regex(%rcon.data,/(.*)(<)(\d*)(>)(<)(.*)(>)(<)(TERRORIST)(>)(\s)triggered Dropped_The_Bomb/)) {
%rcon.data = 5 $+ $regml(1) dropped the bomb
}
if (*say* iswm %rcon.data) && (*server say* !iswm %rcon.data) {
%rcon.data = $remove(%rcon.data,(dead))
if ($regex(%rcon.data,/(.*)(<)(\d*)(>)(<)(.*)(>)(<)(CT|TERRORIST|SPECTATOR)(>)(\s)(say|say_team)(\s)(.*)/)) {
if ($regml(9) = TERRORIST) {
%rcon.data = 4 $+ $regml(1) 14 $+ $regml(12) $+ : $regml(14)
}
if ($regml(9) = CT) {
%rcon.data = 12 $+ $regml(1) 14 $+ $regml(12) $+ : $regml(14)
}
if ($regml(9) = SPECTATOR) {
%rcon.data = 7 $+ $regml(1) 14 $+ $regml(12) $+ : $regml(14)
}
}
}
:serversay
if (%rcon.data != $null) {
if (*server cvar* !iswm %rcon.data) && (*meta* !iswm %rcon.data) ;msg #vel.logs %rcon.data
echo @rcon ( $+ $asctime(hh:nn:ss) $+ ) Rcon.data: %rcon.data
.timerlogs off
.timerlogs 1 1200 logs
unset %rcon.data
}
goto nextread
}
}
on *:sockwrite:rcon:{
if ($sockerr) {
aline @rcon $sock().wserr
}
}
alias score {
if (%score. [ $+ [ $1 $+ .kills ] ] = $null) {
set %score. [ $+ [ $1 $+ .kills ] ] 0
}
if (%score. [ $+ [ $1 $+ .deaths ] ] = $null) {
set %score. [ $+ [ $1 $+ .deaths ] ] 0
}
return $chr(91) $+ %score. [ $+ [ $1 $+ .kills ] ] $+ / $+ %score. [ $+ [ $1 $+ .deaths ] ] $+ $chr(93)
}
alias warset {
rcon exec war.cfg
rcon say Sorry guys, server being shutdown for a war
rcon say Sorry guys, server being shutdown for a war
rcon say Sorry guys, server being shutdown for a war
.timer 1 2 rcon map $1
rcon sv_password $2
.timer 1 5 rcon exec war.cfg
echo -a War config loaded.
echo -a Map: $1
echo -a connect %rcon.ip $+ : $+ %rcon.port $+ ; password $2
}