ircN for mIRC — File Browser
ircNformIRCv6.0 / ircNformIRCv6.0 / ircn / SYSTEM / Fserve.mrc
Fserve.mrc — 27.12 KB — Download this file
;%%%%%%%%%%%%%%%%%%%%%%%%
;script iServer
;version 2.4ß
;author icN, J03
;email jpal@baraboo.com
;url None
;%%%%%%%%%%%%%%%%%%%%%%%%
on 1:JOIN:# {
if ((%fserve == on) && ($nick != $me)) {
if (($fs.add.typ.chk($chan) == join) || ($fs.add.typ.chk($chan) == both)) {
if ($readini -n mirc.ini ircN fservmsg) .quote notice $nick : $+ $readini mirc.ini ircN fservmsg
else .quote notice $nick :Welcome to $chan $+ ! To join my file server, type $+ %fcomnd $+ in the channel
}
}
}
on 1:TEXT:%fcomnd:# {
if ($ulevel == 10) halt
else {
if ($check.chan($nick,$chan) == yes) {
if ($fserv(0) < %maxfsrv) {
set $fs.add.var($nick) $address($nick,3)
.fserve $nick %maxdl %fservedir $td(welcome.txt)
.quote notice $nick :Your request has been accepted. Starting DCC.
}
else .quote notice $nick :Sorry, too many users logged in ( $+ %maxfsrv $+ ). Please try again later.
}
}
}
on 1:TEXT:%fcomnd:? {
if ($ulevel == 10) halt
else {
if ($msg.chk($nick) == yes) {
if ($fserv(0) < %maxfsrv) {
set $fs.add.var($nick) $mask( [ [ $nick ] $+ ! $+ [ $address ] ] ,3)
.fserve $nick %maxdl %fservedir $td(welcome.txt)
.quote notice $nick :Your request has been accepted. Starting DCC.
}
else .quote notice $nick :Sorry, too many users logged in ( $+ %maxfsrv $+ ). Please try again later.
}
}
}
on 1:SERVOPEN {
writeini $td(fsnames.txt) UsersUsers $rb($nick) no
set $fs.last.var($nick) No input
if ($fschk($fserv($nick).ip) == 0) {
msg =$nick You already have an existing connection from IP $fserv($nick).ip $+ .
msg =$nick Only one connection per IP allowed. Closing connection.
msg =$nick
.timer 1 5 close -f $nick
writeini $td(fsnames.txt) UsersUsers $rb($nick) no
}
elseif (%fpass == on) {
if (($fs-credit($rb($nick))) && ($fs.addy($nick) != $nick)) {
.timer 1 3 msg =$nick Sorry there is a user with that nick already, please use another nick unless you know the password
.timer 1 3 msg =$nick Type 'pass <your pass>' to login... you have 1 minute to log in
.timer 1 3 .timer 1 60 check.fserve $nick
writeini $td(fsnames.txt) realnicks $nick $nick
}
elseif (($fs-credit($rb($nick)) == $null) && ($fs.addy($nick) == $null)) {
.timer 1 3 msg =$nick Since this is your first visit, please type 'setpass <your password>' to create your account.
writeini $td(fsnames.txt) realnicks $nick $nick
}
elseif ($nick == $fs.addy($nick)) {
.timer 1 3 msg =$nick Welcome back $+ $nick $+ $+ ! Type 'pass <your pass>' to login.
writeini $td(fsnames.txt) realnicks $nick $nick
}
elseif (($fs.add.chk($fs.addy.var($nick))) && ($nick != $fs.addy.var($nick)) && ($fs.addy.var($nick) == $fs.hostmask($fs.addy($nick)))) {
.timer 1 3 msg =$nick Welcome back $+ $nick $+ (aka: $+ $fs.addy($nick) $+ ) $+ ! Type 'pass <your pass>' to login.
writeini $td(fsnames.txt) realnicks $nick $fs.addy($nick)
}
}
elseif (%fpass == off) {
if (($fs-credit($rb($nick))) && ($fs.addy($nick) != $nick)) {
.timer 1 3 msg =$nick There is a user with that nick already, please use another nick
.timer 1 3 msg =$nick $nick is not $nick $+ , so closing...
close -f $nick
halt
}
elseif ($nick == $fs.addy($nick)) {
.timer 1 3 msg =$nick Welcome back $+ $nick $+ $+ !
writeini $td(fsnames.txt) UsersUsers $rb($nick) yes
writeini $td(fsnames.txt) realnicks $nick $nick
}
elseif (($fs.add.chk($fs.addy.var($nick))) && ($nick != $fs.addy.var($nick)) && ($fs.addy.var($nick) == $fs.hostmask($fs.addy($nick)))) {
.timer 1 3 msg =$nick Welcome back $+ $nick $+ (aka: $+ $fs.addy($nick) $+ ) $+ !
writeini $td(fsnames.txt) UsersUsers $rb($nick) yes
writeini $td(fsnames.txt) realnicks $nick $fs.addy($nick)
}
else {
if ($fs-credit($rb($nick)) == $null) && ($fs.addy($nick) == $null) {
writeini $td(fsnames.txt) realnicks $nick $nick
writeini $td(fsnames.txt) UsersUsers $rb($nick) yes
writeini $td(fsnames.txt) address $fs.addy.var($nick) $rb($nick)
writeini $td(fsnames.txt) $rb($nick) hostmask $fs.addy.var($nick)
writeini $td(fsnames.txt) $rb($nick) credit %scredits
writeini $td(fsnames.txt) $rb($nick) password nopass
writeini $td(fsnames.txt) $rb($nick) upload 0
writeini $td(fsnames.txt) $rb($nick) group none
writeini $td(fsnames.txt) $rb($nick) download 0
writeini $td(fsnames.txt) $rb($nick) info none
writeini $td(fsnames.txt) $rb($nick) fileup 0
writeini $td(fsnames.txt) $rb($nick) filedown 0
writeini $td(fsnames.txt) $rb($nick) ratio %ratio
write -ds $+ $rn($rb($nick)) $td(fusers.txt)
write $td(fusers.txt) $rn($rb($nick))
msg =$nick $+ $nick $+ $+ ( $+ $fs.addy.var($nick) $+ )
msg =$nick $totals($rn($rb($nick)))
}
}
}
.timer 1 3 msg =$nick Help is available, type 'help'.
if (%filetypes != all) .timer 1 3 msg =$nick I accept these file types: %filetypes
start.timer $nick
if (%fstatus == on) && ($window(@fstatus) == $null) fstatus on
elseif (%fstatus == on) && (%fstatus.timer == $null) { .timer 0 3 f.stat -u | set %fstatus.timer $ltimer }
}
on 1:SERVCLOSE {
remini $td(fsnames.txt) usersusers $rb($nick)
remini $td(fsnames.txt) realnicks $rb($nick)
fs.time.unset $nick
if ($fserve.chat($nick)) fserve.chat.off $nick
fs.add.del $nick
fs.last.unset $nick
}
on 1:INPUT {
if ($left($1,1) != /) {
if ((= isin $active) && ($1 == chat) && ($2 == on) && ($fserve.chat($remove($active,=)) == $null) && ($valid($remove($active,=)) == 1)) {
fserve.chat.on $remove($active,=)
msg $active Chat mode enabled.
}
elseif ($fserve.chat($remove($active,=)) && (= isin $active) && ($1 == chat) && ($2 == off)) {
fserve.chat.off $remove($active,=)
msg $active Chat mode disabled.
}
else return
halt
}
}
on 1:SERV:* {
if ($fserve.chat($nick)) halt
set $fs.last.var($nick) $1-
if ($1 == pass) {
if ($2) {
if ($valid($nick) == 1) msg =$nick You have already logged in.
elseif (($readini $td(fsnames.txt) $rn($nick) password == nopass) || ($readini $td(fsnames.txt) passwords $2 == $rn($rb($nick)))) {
writeini $td(fsnames.txt) UsersUsers $rb($nick) yes
msg =$nick User %fstnick logged in. Access restrictions apply.
msg =$nick $totals($rn($rb($nick)))
}
else { msg =$nick Password not accepted. Logon failure, so quiting. | close -f $nick }
}
else msg =$nick Please enter a password.
}
elseif ($1 == setpass) {
if ($2) {
if ($readini $td(fsnames.txt) $rn($rb($nick)) password) msg =$nick You already have an account on this system.
elseif (($readini $td(fsnames.txt) passwords $2) || ($2 == nopass)) msg =$nick Invalid password. Please try again.
else {
writeini $td(fsnames.txt) address $fs.addy.var($nick) $rb($nick)
writeini $td(fsnames.txt) $rb($nick) hostmask $fs.addy.var($nick)
writeini $td(fsnames.txt) passwords $2 $rb($nick)
writeini $td(fsnames.txt) $rb($nick) password $2
writeini $td(fsnames.txt) UsersUsers $rb($nick) yes
writeini $td(fsnames.txt) $rb($nick) credit %scredits
writeini $td(fsnames.txt) $rb($nick) upload 0
writeini $td(fsnames.txt) $rb($nick) group none
writeini $td(fsnames.txt) $rb($nick) download 0
writeini $td(fsnames.txt) $rb($nick) info none
writeini $td(fsnames.txt) $rb($nick) fileup 0
writeini $td(fsnames.txt) $rb($nick) filedown 0
writeini $td(fsnames.txt) $rb($nick) ratio %ratio
write $td(fusers.txt) $rn($rb($nick))
msg =$nick
msg =$nick Login Name: $+ $rb($nick) $+ $+ ( $+ $fs.addy.var($nick) $+ )
msg =$nick Password : $2
msg =$nick
msg =$nick $totals($rn($rb($nick)))
}
}
else msg =$nick Please enter a password.
}
elseif ($1 == exit) { remini $td(fsnames.txt) usersusers $rb($nick) | close -f $nick }
elseif ($1 == bye) { remini $td(fsnames.txt) usersusers $rb($nick) | close -f $nick }
elseif ($valid($nick) == 2) msg =$nick Not logged in.
elseif ($1 == dir) return
elseif ($1 == ls) return
elseif ($1 == cd..) return
elseif ($1 == cd) {
unset %checkdiz
if ($2 != ..) %checkdiz = $cd $+ \ $+ $2 $+ \ $+ %dirchange
if (($exists(%checkdiz)) && (%showdiz == on) && (%dirchange != dirinfo.srv)) .play =$nick %checkdiz 0
else return
}
elseif (($1 == read) && ($exists( [ [ $cd ] $+ \ $+ [ $2 ] ] )) && ($right($2,3) == txt)) { .play =$nick [ [ $cd ] $+ \ $+ [ $2 ] ] 0 }
elseif ($1 == chpass) {
if (($readini $td(fsnames.txt) passwords $3 == $null) && ($readini $td(fsnames.txt) $rn($rb($nick)) password == $2) && ($3 != nopass)) {
writeini $td(fsnames.txt) $rn($rb($nick)) password $3
remini $td(fsnames.txt) passwords $2
writeini $td(fsnames.txt) passwords $3 $rn($rb($nick))
msg =$nick Password changed to ' $+ $3 $+ '.
}
else msg =$nick Password did not match or invalid pass, password left unchanged.
}
elseif ($1 == mystats) msg =$nick $totals($rn($rb($nick)))
elseif ($1 == get) {
if ((../ isin $2) || (..\ isin $2)) { msg =$nick Nice try. | close -f $nick }
elseif ($2) {
if (($2 == .) || (.. isin $2)) msg =$nick No such file.
else {
if (*.* !iswm $2) { msg =$nick No such file. | halt }
set %getname $cd $+ \ $+ $2
if ($exists(%getname) == $false) { msg =$nick No such file. | halt }
elseif ($sends($nick) < %maxdl) {
if ($abortfiles($rn($rb($nick)))) {
if ($nopath(%getname) isin $abortfiles($rn($rb($nick)))) {
msg =$nick Resending " $+ $dcd($cd) $+ $2 $+ " ( $+ $lof(%getname) bytes)
if ($remove($abortfiles($rn($rb($nick))),$nopath(%getname))) writeini $td(fsnames.txt) $rn($rb($nick)) aborted $remove($abortfiles($rn($rb($nick))),$nopath(%getname))
else remini $td(fsnames.txt) $rn($rb($nick)) aborted
%newupl = $pls($download($rn($rb($nick))),$lof(%getname))
writeini $td(fsnames.txt) $rn($rb($nick)) download %newupl
%newfup = $pls($downfile($rn($rb($nick))),1)
writeini $td(fsnames.txt) $rn($rb($nick)) filedown %newfup
unset %new* %fincred
dcc send $nick %getname
}
}
elseif (($ratio($rn($rb($nick))) == leech) || ($fs-credit($rn($rb($nick))) >= $lof(%getname))) {
msg =$nick Sending " $+ $dcd($cd) $+ $2 $+ " ( $+ $lof(%getname) bytes)
%newupl = $pls($download($rn($rb($nick))),$lof(%getname))
writeini $td(fsnames.txt) $rn($rb($nick)) download %newupl
%fincred = $sub($fs-credit($rn($rb($nick))),$lof(%getname))
if (%fincred < 0) { set %fincred 0 }
writeini $td(fsnames.txt) $rn($rb($nick)) credit %fincred
%newfup = $pls($downfile($rn($rb($nick))),1)
writeini $td(fsnames.txt) $rn($rb($nick)) filedown %newfup
unset %new* %fincred
dcc send $nick %getname
}
else {
msg =$nick You do not have enough credits to download ' $+ $2 $+ ' ( $+ $lof(%getname) bytes)
msg =$nick Please upload something first.
msg =$nick $totals($rb($nick))
}
}
else msg =$nick You are only allowed $+ %maxdl $+ download(s) at a time, please wait.
}
}
else msg =$nick Please enter a file name.
}
elseif ($1 == help) .play -thelp =$nick $td(util.txt) 0
elseif ($1 == fstats) {
msg =$nick $center(44,$bd( [ %fservename ] Statistics))
msg =$nick ============================================
msg =$nick $center(44,Total users [ $+ [ $+ [ $lines($td(fusers.txt)) ] $+ ] $+ ] )
msg =$nick 0.
msg =$nick $center(44,$view.all.dl)
msg =$nick 0.
msg =$nick $center(44,$view.all.ul)
msg =$nick 0.
if (%total.files) msg =$nick $center(44,Total files in fserve: [ [ %total.files ] $+ counted $+ [ %tot.date ] $+ ] )
else msg =$nick $center(44,Total files in fserve: Never counted.)
msg =$nick ============================================
}
elseif ($1 == who) {
msg =$nick Current users on %fservename at $atime $+ .
set %fsnicks ""
set %i 0
:start
inc %i
if ($fserv(%i)) { %fsnicks = %fsnicks $fserv(%i) | goto start }
msg =$nick %fsnicks
}
elseif (($1 == msg) && ($2)) {
set %i 0
:start
inc %i
if (($fserv(%i)) && ($fserv(%i) == $2)) { msg =$nick Message sent to $2 $+ ... | msg = $+ $2 Message from $+ $nick $+ $+ : $3- }
elseif ($fserv(%i)) msg =$nick No such nick $+ $2
}
elseif (($1 == unfo) && ($2)) { writeini $td(fsnames.txt) $rn($rb($nick)) info $remove($remove($2-,|),/) | msg =$nick Your info: $2- }
elseif (($1 == group) && ($2)) { writeini $td(fsnames.txt) $rn($rb($nick)) group $remove($remove($2,|),/) | msg =$nick Your group: $2 }
elseif (($1 == fileinfo) && ($2)) {
if $exists($td(files.txt)) {
set %fdfd $read -ns $+ $2 $td(files.txt)
if (%fdfd) { msg =$nick %fdfd }
else msg =$nick No file information available for ' $+ $2 $+ '
}
if $exists($td(dfiles.txt)) {
set %fsfs $read -ns [ $+ [ $2 ] ] $td(dfiles.txt)
if (%fsfs) msg =$nick Description: %fsfs
else msg =$nick No file description available for ' $+ $2- $+ '
unset %fsfs %fdfd
}
else msg =$nick No file description available for ' $+ $2- $+ '
}
elseif (($1 == filedesc) && ($3)) {
set %fdfd $read -ns [ $+ [ $2 ] ] $td(files.txt)
if (%fdfd == $null) msg =$nick No such file.
elseif ($rn($rb($nick)) !isin %fdfd) { msg =$nick You did not upload this file. | unset %fdfd }
else {
write -ds [ $+ [ $2 ] ] $td(dfiles.txt)
write $td(dfiles.txt) $2 $3-
msg =$nick Description ( $+ $2 $+ ): $3-
unset %fdfd
}
}
elseif (($1 == user) && ($2 == $null)) {
msg =$nick %fservename user list.
set %fsusers ""
set %i 0
:start
inc %i
if ($read -l $+ [ [ %i ] [ $td(fusers.txt) ] ] ) {
set %fqsu $read -l $+ [ %i ] $td(fusers.txt)
set %fsusers %fsusers $fix(11,%fqsu)
goto start
}
else { msg =$nick %fsusers | unset %fsusers %fqsu }
}
elseif (($1 == user) && ($2)) {
if ($fs-credit($rb($2)) == $null) msg =$nick No such user. Could have info under a different nick.
else {
msg =$nick --------------------------------
msg =$nick User info for $rb($2)
msg =$nick --------------------------------
msg =$nick Info : $readini $td(fsnames.txt) $rb($2) info
msg =$nick Group : $grp($rb($2))
if ($ratio($rb($2)) == leech) msg =$nick Ratio : leech
else msg =$nick Ratio : 1: $+ $ratio($rb($2))
msg =$nick Upload : $upfile($rb($2)) files in $upload($rb($2)) bytes.
msg =$nick Download : $downfile($rb($2)) files in $download($rb($2)) bytes.
msg =$nick Hostmask : $fs.hostmask($rb($2))
if ($ratio($rb($2)) == leech) { msg =$nick Credit Left: Unlimited }
else { msg =$nick Credit Left: $fs-credit($rb($2)) bytes. }
msg =$nick --------------------------------
}
}
elseif ($1 == chat) {
iecho Fserve user $hc($nick) has requested to chat.
msg =$nick A message has been sent to admin for this request.
}
elseif ($1 == find) {
set %fsfind $findfile(%fservedir,$2,1)
if (%fsfind) msg =$nick $+ $2 $+ : $replace($right(%fsfind,$sub($len(%fsfind),$len(%fservedir))),\,/)
else msg =$nick No such file on this system.
unset %fsfind
}
elseif ($1 == topfiles) {
if ($2) && ($2 >= 1) && ($2 <= 10) {
if ($exists($td(topdls.txt))) {
set %i 0
msg =$nick Top $2 download(s) as of %comp.time.done on %comp.date.done $+ .
msg =$nick $str( ,5) $+ $fix(20,Filename)) Download(s)
:loop
inc %i
if (%i < 10) msg =$nick $chr(160) $+ %i $+ . $top.list.veiw(%i)
else msg =$nick %i $+ . $top.list.veiw(%i)
if (%i < $2) { goto loop }
msg =$nick End of top download(s).
}
else msg =$nick No top downloads compiled.
}
else msg =$nick Syntax: topfiles <# between 1 and 10>
}
else msg =$nick Invalid command.
halt
}
on 1:FILERCVD:* {
if (($valid($nick) == 2) || ($fserv($nick).status == waiting) || ($fserv($nick).status == $null) || ($fslog($nick) == 0)) { halt }
set %j 0
:start
inc %j
if ($get(%j) == $null) { set %rctime n/a | set %cpsget n/a | goto next1 }
elseif (($nick == $get(%j)) && ($nopath($filename) == $get(%j).file)) goto next
goto start
:next
if ($get(%j).cps == n/a) { set %rctime n/a | set %cpsget n/a | goto next1 }
set %cpsget $kps($get(%j).cps)
%rctime = $lof($filename) / $get(%j).cps
:next1
msg =$nick Received $lof($filename) bytes in %rctime secs, ( $+ %cpsget $+ Kbps), transfer succeeded.
msg =$nick Transfer finished successfully. Closing data connection.
msg =$nick
%newupl = $pls($lof($filename),$upload($rn($rb($nick))))
writeini $td(fsnames.txt) $rn($rb($nick)) upload %newupl
if ($ratio($rn($rb($nick))) != leech) %newcred = $mpy($lof($filename),$ratio($rn($rb($nick)))) {
%fincred = $fs-credit($rb($nick)) + %newcred
writeini $td(fsnames.txt) $rn($rb($nick)) credit %fincred
}
%newfup = $pls($upfile($rn($rb($nick))),1)
writeini $td(fsnames.txt) $rn($rb($nick)) fileup %newfup
set %fsdfile $nopath($filename)
write -ds [ $+ [ %fsdfile ] ] $td(files.txt)
write $td(files.txt) %fsdfile -rwxrwxrwx 1 $rn($rb($nick)) $grp$rn($rb($nick))) $lof($filename) $mid(4,7,$fulldate) $mid(1,5,$time) %fsdfile
set %fdfd $read -ns [ $+ [ %fsdfile ] ] $td(files.txt)
msg =$nick %fdfd
msg =$nick
msg =$nick Type 'filedesc %fsdfile <description>' to set file description.
msg =$nick
msg =$nick $totals($rn($rb($nick)))
writeini $td(fstats.txt) ServeStats totul $pls($total.uploads,1)
writeini $td(fstats.txt) ServeStats totul.size $pls($totul.size,$lof($filename))
unset %cps* %fdfd %rctime %new* %fsdfile %fincred
if (%fserve.timer == $null) && (%update.fs.time == on) { .timer 1 300 comp.list -s | set %fserve.timer $ltimer }
halt
}
on 1:FILESENT:* {
if (($valid($nick) == 2) || ($fserv($nick).status == waiting) || ($fserv($nick).status == $null) || ($fslog($nick) == 0)) { halt }
set %i 0
:start
inc %i
if ($send(%i) == $null) {
set %sntime n/a
set %cpssend n/a
goto end
}
elseif (($nick == $send(%i)) && ($nopath($filename) == $send(%i).file)) goto next
:next
if ($send(%i).cps == n/a) { set %sntime n/a | set %cpssend n/a | goto next1 }
set %cpssend $kps($send(%i).cps)
%sntime = $lof($filename) / $send(%i).cps
:next1
msg =$nick Transmitted $lof($filename) bytes in %sntime secs, ( $+ %cpssend $+ Kbps), transfer succeeded.
msg =$nick $totals($rn($rb($nick)))
unset %cps* %sntime
writeini $td(fstats.txt) downloads $filename $pls($fs.downloads($filename),1)
writeini $td(fstats.txt) ServeStats totdl $pls($total.downloads,1)
writeini $td(fstats.txt) ServeStats totdl.size $pls($totdl.size,$lof($filename))
if ($exists($td(dlfiles.txt))) {
if ($read -s $+ $filename $td(dlfiles.txt) == $null) write $td(dlfiles.txt) $filename
}
else write $td(dlfiles.txt) $filename
if (%fserve.timer == $null) && (%update.fs.time == on) { .timer 1 300 comp.list -s | set %fserve.timer $ltimer }
halt
}
ctcp +10:dcc send { .sreq ignore }
ctcp 1:dcc send {
if ($fslog($nick) == 0) { .sreq %sreq }
elseif ($valid($nick) == 2) {
msg =$nick Not logged in.
.sreq ignore
close -s $nick $3
halt
}
elseif ($gets($nick) >= %maxul) {
msg =$nick You are uploading the maximum files at one time, please wait for one to finish.
.sreq ignore
}
elseif (((%filetypes != all) && $findtok(%filetypes,$right($3,3),44)) == $null) {
msg =$nick I only accept these files: %filetypes
.sreq ignore
}
elseif ((%findfile == on) && ($findfile(%fservedir,$3,1))) {
msg =$nick File already exists on this system.
.sreq ignore
close -s $nick $3
}
elseif (($6 > %maxfsize) && (%fmsize == on) && (%maxfsize)) {
msg =$nick File size too large. Size limit is %maxfsize bytes.
.sreq ignore
close -s nick $3
}
else {
set %i 0
:start
inc %i
if ($fserv(%i) == $null) .sreq auto
elseif ($fserv(%i) == $nick) {
msg =$nick Ready to receive " $+ $3 $+ ".
.sreq auto
}
else goto start
}
}
on 1:SENDFAIL:* {
if (($valid($nick) != 2) && ($fserv($nick).status != waiting) && ($fserv($nick).status) && ($fslog($nick) != 0)) {
if ($abortfiles($rn($rb($nick)))) set %tmpa $abortfiles($rn($rb($nick))) writeini $td(fsnames.txt) $rn($rb($nick)) aborted $nopath($filename) $+ %tmpa
elseif ($abortfiles($rn($rb($nick))) == $null) writeini $td(fsnames.txt) $rn($rb($nick)) aborted $nopath($filename)
msg =$nick $totals($rn($rb($nick)))
%newupl = $sub($download($rn($rb($nick))),$lof($filename))
writeini $td(fsnames.txt) $rn($rb($nick)) download %newupl
%newfup = $sub($downfile($rn($rb($nick))),1)
writeini $td(fsnames.txt) $rn($rb($nick)) filedown %newfup
msg =$nick $+ $nopath($filename) did not complete
msg =$nick You may get it again without losing credits.
}
halt
}
on 1:GETFAIL:* {
if (($valid($nick) != 2) && ($fserv($nick).status != waiting) && ($fserv($nick).status) && ($fslog($nick) != 0)) {
msg =$nick Your upload of $+ $nopath($filename) $+ did not complete.
msg =$nick You will not receive any credits.
.remove $filename
}
halt
}
menu Channel {
fserv
.on/off
..on { fserv on }
..-
..off { fserv off }
.-
.users
..view all { fserve.users }
..clear all { clear.all }
..-
..new ratio { writeini $td(fsnames.txt) $$?="uUsername:" ratio $$?="new ratio (one num) <#\leech>" }
..give creds { givecred $$?="username:" $$?="Number of credits to give (in bytes):" }
..take creds { takecred $$?="username:" $$?="Number of credits to take (in bytes):" }
..-
..ban user { .auser =10 $$?="Enter nick or hostmask to ban:" | iecho $hc($!) has been banned from the fileserver. }
..dele ban { .ruser =10 $maddress($$?="Enter hostmask to unban:") | iecho $hc($maddress($!)) has been unbanned from the fileserver. }
..-
..dele user { deluser $$?="username to delete:" | iecho $hc($!) has been deleted from fileserver. }
..-
..help { pophelp cfusers }
.advertise
..setup { adv.window }
..-
..chan adv
...start { start.msg }
...-
...stop { stop.msg }
..-
..help { pophelp cfadvert }
.setup
..motd file { run notepad $td(welcome.txt) }
..home dir { set %fservedir $$?="Enter new fileserver home directory:" | iecho $hc($!) is the new fileserver home directory. }
..command { set %fcomnd $$?="Command to start fserve (current [ %fcomnd ] )" | iecho $hc($!) is the new fileserver channel command. }
..start creds { set %scredits $$?="credits to start with (in bytes)" | iecho User start credits is now $hc($!) bytes. }
..-
..max
...max d/l { set %maxdl $$?="Maximum simultaneous d/l's:" | iecho $hc($!) is the maximum number of files a user can d/l at one time. }
...max u/l { set %maxul $$?="Maximum simultaneous u/l's:" | iecho $hc($!) is the maximum number of files a user can u/l at one time. }
...max login { set %maxfsrv $$?="Maximum fserves (current [ %maxfsrv ] )" | iecho $hc($!) is the new fileserver user limit. }
...max fsize
....on { set %fmsize on | set %maxfsize $$?="Maximum file size in bytes:" | iecho $hc($!) bytes is the new fileserver file size limit. }
....-
....off { set %fmsize off | set %maxfsize any }
..req pass
...on { set %fpass on }
...-
...off { set %fpass off }
..dupechk
...on { set %findfile on }
...-
...off { set %findfile off }
..user ratio
...on { set %ratio $$?="Default ratio (one num) <#\leech> :" | if (%ratio == leech) iecho Leech access given to all users. | else iecho Default User ratio is now 1: $+ $hc($!) }
...-
...off { set %ratio leech }
..valid files
...all { set %filetypes all | iecho All files accepted. }
...-
...set { set %filetypes $$?="Enter each type, separate with a comma" | iecho Files now accepted: $sc(%filetypes) $+ . }
..message
...on { set %showdiz on }
...off { set %showdiz off }
...-
...file { set %dirchange $$?="Name of file (i.e. file_id.diz)" }
..-
..help { pophelp cfsetup }
.-
.stats
..top 10
...view { view.top.all }
...-
...compile { comp.list }
...-
...update
....on { set %update.fs.time on | iecho Topfiles list will be compiled automatically. }
....-
....off { set %update.fs.time off | iecho You will have to compile the toplist manually. }
..totals
...view { view.stats window }
...-
...reset { remini $td(fstats.txt) ServeStats }
..-
..help { pophelp cfstats }
.-
.status
..on { fstatus on }
..-
..off { fstatus off }
..-
..help { pophelp cfstatus }
}
menu Query {
fserv
.user stats { user.window $rn($1) }
.-
.new ratio { writeini $td(fsnames.txt) $rn($1) ratio $$?="New ratio <# greater than 1 or leech>" }
.give crds { givecred $rn($1) $$?="Number of credits to give (in bytes):" }
.take crds { takecred $rn($1) $$?="Number of credits to give (in bytes):" }
.-
.ban user { .auser =10 $fs.hostmask($rn($1)) | iecho $hc($rn($1)) has been banned from the fileserver. }
.dele ban { .ruser =10 $fs.hostmask($rn($1)) | iecho $hc($rn($1)) has been unbanned from the fileserver. }
.-
.dele user { deluser $1 }
.-
.help { pophelp qfserve }
}
menu nicklist {
fserv
.user stats { if ($rn($nick)) user.window $rn($1) | else user.window $1 $address($1,3) }
.-
.help { pophelp nfserve }
}
menu @TopDownloads {
recompile { window -c @TopDownloads | comp.list | view.top.all }
-
reset { window -c @TopDownloads | remini $td(fstats.txt) downloads | remove $td(topdls.txt) | remove $td(dlfiles.txt) }
-
exit { set %toploc $swlc(@TopDownloads) | window -c @TopDownloads }
}
menu @Fstats {
dclick { rline @Fstats 7 Counting files, please wait... | rline @Fstats 7 Total files in fserve: $+ $tot.files $+ }
reset { window -c @Fstats | remini $td(fstats.txt) ServeStats }
-
exit { set %fstatloc $swlc(@Fstats) | window -c @Fstats }
}
menu @fstatus {
exit { set %fstatusloc $swlc(@fstatus) | window -c @fstatus | if ($script(fstatus.mrc)) .unload -rs fstatus.mrc | if (%fstatus.timer) $timoff(%fstatus.timer,fstatus.timer) }
}
menu @Fusers {
user stats:fusers.pop stats $strip($sline(@Fusers,1))
-
del user:fusers.pop del $strip($sline(@Fusers,1))
ban user :fusers.pop ban $strip($sline(@Fusers,1))
del ban :fusers.pop delban $strip($sline(@Fusers,1))
-
clear all:fusers.pop delall $strip($sline(@Fusers,1))
-
exit:window -c @Fusers
}