G-SERVE

    ::An IRC Bot for Serving files::

 

::configuration::


G-Serve picks up its options from a conf file that you specify as a command line parameter. The conf file has a simple format. Lines beginning with # are ignored. Configuration options are in the form of key:value.

We'll now look at each of the keys in detail. Please go through this section carefully.

nick - This is the nickname by which your bot will be identified. If the nick is already taken, the bot will try nick1, nick2, nick3, etc.

For example,
nick:mygserv

server - This is the ip address or hostname of the IRC server you want to connect to. As an example, to connect to freenode, you say irc.freenode.net.

For example,
server:irc.freenode.net

port - This is the port to which to connect to the server. This is usually 6667.

For example,
port:6667

hostip - This is the ip address to which external clients will connect for DCC sends/chats. So, this should be either your computer's external ip, or, if you're forwarding ports from another machine, the address of that machine.

For example,
hostip:10.136.8.120

channel - This is the channel which the bot will join and in which it will look for triggers. Channel names usually begin with a #

For example,
channel:#gserv

findfile - If you want people to be able to search your selection of files using @find, set this to a file which contains a list of all files you are sharing. A good way to generate this is to "cd" to your share directory and run

   find -follow ! -type d > list

Make sure your list file isn't too big, otherwise your bot will get slowed down everytime someone types a @find. The file size should ideally not cross 2 MB (unless you have a very very fast machine). If you don't want to enable the @find feature, comment out the findfile line in your conf file.

For example,
findfile:/pub/list

trigger - A trigger is what will cause the bot to initiate a chat session with a user (provided that slots are free). Make sure this is unique. Also note, that usually triggers begin with a '!'. Don't include the ! in your triggername, G-Serve will prepend it by itself.

For example, for a trigger of !getmyfiles
trigger:getmyfiles

sends - This is the maximum number of sends you want to allow at a time. This number has to be less than or equal to 5.

For example,
sends:1

queues - This is the maximum number of files that can be queued at a time. This number has to be less than or equal to 20.

For example,
queues:10

users - This is the maximum number of chat sessions that can be open at a time. This value can not be more than 10.

For example,
users:2

timeout - This is the timeout value, the maximum time g-serve waits for DCC connects and is also the maximum time a user is allowed to idle in a chat session.

For example,
timeout:30

wmsg - This is the welcome line shown to a user whenever he logs on to chat.

For example,
wmsg:Hi, welcome to this F-SERVE

motd - This is the motd field displayed in advertisements of your f-serve on the channel.

For example,
motd:Get the files

rlist - Set to 0 if you don't want g-serve to respond to !list, to 1 otherwise.

For example,
rlist:1

tadvert - The time spacing (in secs) between channel advertisements of your fserve. A value of 0 disables regular advertisements.

For example,
tadvert:120

maxport,minport - If you have a firewall like iptables set up and you only want to open a select number of ports to the outside world and want g-serve to "serve" only in these ports, the maxport and minport keys come in handy. Basically, if you set maxport and minport, gserve will only listen on ports between minport and maxport (including both). So, just open up these ports in your firewall and you're done.

This can also come in useful if you're forwarding only certain ports from another machine. If you do not want to use this feature (or don't know what its about), just comment out the two lines.

For example, to restrict listening to ports 7000-7005,
minport:7000
maxport:7005

sharedir - This is the directory that will be shared.

For example,
sharedir:/pub

logfilename - This is the file to which all events will be logged. You can read the file to see what you're bot has been upto lately.

For example,
logfile:/tmp/glog

 

[main]

[install]

[configuration]

[downloads]

[wishlist]

[project page]

 

SourceForge.net Logo