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
|