COMPL337 Polaris File Server (fserve) HOWTO

[XTC-200], #scattered on irc.AUSTNET.org

v1.2, Jan 2000

Table of Contents:

1. Disclaimer
2. Changes
3. Introduction
4. Requirements
5. Downloading
6. Installing
7. Basic Configuration
8. Fserve Configuration
9. Starting the Fserve
10. DALnet Services
11. Things to Try Next
12. Last Comments

1. Disclaimer:

If you are some sort of idiot, and manage to screw up your computer, get K-lined, blow up your house, or soil your pants because of this document, no responsibily is accepted by the author for any loss or damage whatsoever. If anything adverse happens, you should turn off your computer and move to Siberia before you hurt anyone and contaminate this world with and more of your genes.

2. Changes:

Added screen shot of akill information
Added updated dalnet.ini
Added !list changes
Split Configuraton section

3. Introduction:

The purpose of this HOWTO is to let novice users learn how to set up a Polaris IRC fserve. There are quite a number of graphics on this page so loading may take a while. Polaris is used simply because of it's popularity. Many of the same terminolgy used in this HOWTO can be applied to other fserving scripts. Polaris is a script for mIRC because it is distributed with the executable, as opposed to an addon which can be loaded onto an existing mIRC installation.
This HOWTO was composed in notepad. Screen shots were aquired by a combination of hitting the Print Screen key and a control key.

4. Requirements:


5. Downloading:

Go to the
official Polaris site to download version 2.04. Download it into wherever you download files. Then extract it.
NOTE: This is the same xoom.com site. XOOM has been merged into NBCI

6. Installing:

Example WinZip 7.0 window
Fig 1: Extracting Polaris
Unzip Polaris_v2.04.zip (or however the program is saved) into it's own directory (for example: c:\polaris\)


7. Basic Configuration:


Fig 2: The Polaris directory
double-click mirc32.exe within the newly created Polaris directory.


Fig 3: mIRC options (Alt+O)
Information you'll need to add/change to connect to IRC. For the purposes of this HOWTO, DALnet will be assumed.
This HOWTO also assumes you know how to connect to IRC, otherwise you will not have found this HOWTO.


Fig 4: mIRC options, continued
You MUST change your IDENTD infomation from "Polaris" to something else, otherwise when you connect to DALnet you will get an error message saying that you have been K-lined.

Fig 5: If you see this then you skipped the last step

8. Fserve Configuration:


Fig 6: Setting up the fserve
In the menu, Polaris IRC -> Script Settings -> File Server to enter the fserve settings.


Fig 7: The General Tab
The General tab:


Fig 8: The Trigger Tab
The Trigger tab:


Fig 9: The Trigger Tab (again)
You should set up EVERY trigger, even if you don't plan on using it. If you aren't going to use the trigger, disable it, but make sure that the root directory points to a dummy directory and that there is a trigger.

9. Starting the Fserve:


Fig 10: Starting the fserve
Now that you have your basic fserve set, right click in a channel, and then select Advertisements -> File Server -> and then either Start or Silent.
The difference between Start and Silent is that Start will advertise to the channel while Silent will not. Both will listen for triggers and to !list
Say will advertise once to the channel, but unless Polaris is configured to listen to that channel people cannot get on.

10. DALnet Services:

DALnet has changed NickServ, ChanServ, and MemoServ to render them incompatable with Polaris. Some adjustments are needed to update the script with them. What? You expect me to tell you? Well... I'll try.
updated dalnet.ini
WARNING: some mIRC scripting knowledge required
You will get thess errors with the unmodified Polaris:
-NickServ- Error! "/msg NickServ" is no longer supported. Use "/msg nickserv@services.dal.net" or "/nickserv" instead.
-ChanServ- Error! "/msg ChanServ" is no longer supported. Use "/msg chanserv@services.dal.net" or "/chanserv" instead.
-MemoServ- Error! "/msg MemoServ" is no longer supported. Use "/msg memoserv@services.dal.net" or "/memoserv" instead.

to fix it, you'll have to go through Polaris and change every instance of ****Serv with the appropriate equivalent.
The files you'll need to look at are alias2.ini and dalnet.ini

from alias2.ini, the changed aliases:
  ident { if ($1 != $null) { /.nickserv IDENTIFY $1 | return } | if ($me == $r.set(Auto.ID,Nick.1)) { /.nickserv IDENTIFY $r.set(Auto.ID,Pass.1) | return } | if ($me == $r.set(Auto.ID,Nick.2)) { /.nickserv IDENTIFY $r.set(Auto.ID,Pass.2) | return } | if ($me == $r.set(Auto.ID,Nick.3)) { /.nickserv IDENTIFY $r.set(Auto.ID,Pass.3) | return } | if ($me == $r.set(Auto.ID,Nick.4)) { /.nickserv IDENTIFY $r.set(Auto.ID,Pass.4) | return } | if ($me == $r.set(Auto.ID,Nick.5)) { /.nickserv IDENTIFY $r.set(Auto.ID,Pass.5) | return } | /.nickserv IDENTIFY $$?*="Enter Nick Password" }
  opall { set %~opall 0 | :start | inc %~opall 1 | if ($chan(%~opall) == $null) { unset %~opall } | elseif ($me !isop $chan(%~opall)) { /.chanserv OP $chan(%~opall) $me | goto start } | else { goto start } }
  ghost { if ($1 == $null) { .timer 1 0 ghost $$?="Enter Nick to Ghost" | return } | if (($1 == $r.set(Auto.ID,Nick.1)) && ($r.set(Auto.ID,Nick.1) != $null)) { .msg NickServ Ghost $1 $r.set(Auto.ID,Pass.1) | return } | if (($1 == $r.set(Auto.ID,Nick.2)) && ($r.set(Auto.ID,Nick.2) != $null)) { .msg NickServ Ghost $1 $r.set(Auto.ID,Pass.2) | return } | if (($1 == $r.set(Auto.ID,Nick.3)) && ($r.set(Auto.ID,Nick.3) != $null)) { .msg NickServ Ghost $1 $r.set(Auto.ID,Pass.3) | return } | if (($1 == $r.set(Auto.ID,Nick.4)) && ($r.set(Auto.ID,Nick.4) != $null)) { .msg NickServ Ghost $1 $r.set(Auto.ID,Pass.4) | return } | if (($1 == $r.set(Auto.ID,Nick.5)) && ($r.set(Auto.ID,Nick.5) != $null)) { .msg NickServ Ghost $1 $r.set(Auto.ID,Pass.5) | return } | if ($2 == $null) { .timer 1 0 ghost $1 $$?*="Enter Nick Password" | return } | .msg NickServ Ghost $1 $2 }
  ms { if ($1 != $null) { /.memoserv $1- } | else { /.memoserv $$?="Enter Commands to MemoServ" } }
  ns { if ($1 != $null) { /.nickserv $1- } | else { /.nickserv $$?="Enter Commands to NickServ" } }
  cs { if ($1 != $null) { /.chanserv $1- } | else { /.chanserv $$?="Enter Commands to ChanServ" } }

NOTE: actually... I didn't do these exact changes myself, I did something else... =)
also, note that "/ping nickserv" will no longer work.

11. Things to Try Next:


12. Last Comments:

  1. This is the biggest flaw in Polaris. It makes it very easy to flood. (from line 94 in text.ini):
    from:        if ($1 == !List) && ($r.set(Fserve,Status) == On) && ($fserve.ad.temp != $null) { .notice $nick $fserve.ad.temp }
    to:        if ($1 == !List-) && ($r.set(Fserve,Status) == On) && ($fserve.ad.temp != $null) { .notice $nick $fserve.ad.temp }
    
  2. There is one fairly obvious bug in the part.ini remote.
    Original:
    on ^*:part:#:{
      if ($r.set(DCC.Watch,Status) == On) && (($send($nick) != $null) || ($fserv($nick) != $null)) && (($istok($r.set(DCC.Watch,Channels),$chan,44) == $true) || ($r.set(DCC.Watch,Channels) == All) || ($r.set(DCC.Watch,Channels) == $null)) { close -fs $nick | .notice $nick $c(1) $+ All of your DCC connections with me have been halted because you left one of the following channels. $bracket($iif($r.set(DCC.Watch,Channels) == $null || $r.set(DCC.Watch,Channels) == All,Any channel I am on,$r.set(DCC.Watch,Channels))) | aecho $nick $bracket($address) lost all of their DCC connections because they left $c(2) $+ $chan $+ $c(1) $+ . }
      if ($nick != $me) {
        if ($1- != $null) { echo $colour(join) $chan $ts Parts: $nick ( $+ $address $+ ) ( $+ $1- $+ ) $border($calc($nick($chan,0,a) - 1),$iif($calc($nick($chan,0,a) - 1) == 1,user,users)) }
        else { echo $colour(join) $chan $ts Parts: $nick ( $+ $address $+ ) $border($calc($nick($chan,0,a) - 1),$iif($calc($nick($chan,0,a) - 1) == 1,user,users)) }
      }
      haltdef
    }
    
    Updated:
    on ^*:part:#:{
      if ($r.set(DCC.Watch,Status) == On) && (($send($nick) != $null) || ($fserv($nick) != $null)) && (($istok($r.set(DCC.Watch,Channels),$chan,44) == $true) || ($r.set(DCC.Watch,Channels) == All) || ($r.set(DCC.Watch,Channels) == $null)) { close -fs $nick | .notice $nick $c(1) $+ All of your DCC connections with me have been halted because you left one of the following channels. $bracket($iif($r.set(DCC.Watch,Channels) == $null || $r.set(DCC.Watch,Channels) == All,Any channel I am on,$r.set(DCC.Watch,Channels))) | aecho $nick $bracket($address) lost all of their DCC connections because they left $c(2) $+ $chan $+ $c(1) $+ . }
      if ($nick != $me) {
        if ($1- != $null) { echo $colour(part) $chan $ts Parts: $nick ( $+ $address $+ ) ( $+ $1- $+ ) $border($calc($nick($chan,0,a) - 1),$iif($calc($nick($chan,0,a) - 1) == 1,user,users)) }
        else { echo $colour(part) $chan $ts Parts: $nick ( $+ $address $+ ) $border($calc($nick($chan,0,a) - 1),$iif($calc($nick($chan,0,a) - 1) == 1,user,users)) }
      }
      haltdef
    }
    
    The $colour(join) should be $colour(part)
  3. There are some features that have small problems, and others that could have been implemented much better with newer versions of mIRC.
  4. This is a WARNING: Polaris can be easily flooded. While it has some protections there are some parts of the script that are fairly vulerable. Those with Polaris are doomed to be flooded off eventually. Not that other scripts won't.


For the latest versions and info about Polaris visit there site
www.Polaris-Central.com.




ezban Advertisers



© Copyright 2002. All rights reserved. Contact: Ronald, Ronaldsoft Network

Site hosted by Angelfire.com: Build your free website today!