idlerpg-ng/irpg.conf

288 lines
11 KiB
Plaintext

# Configuration file for IRPG bot. Prefix comments with a #. Line must start
# with a # to be a comment (no leading spaces and no comments starting in the
# middle of a line).
#
# If you don't personally know your admins, or you're just not the trusting
# type, you may want to look at the ownerpevalonly, owneraddonly, and
# ownerdelonly options. ownerpevalonly prevents non-owner accounts from using
# the PEVAL command, which can allow admins to execute arbitrary code under the
# username that the bot runs as. owneraddonly prevents non-owner accounts from
# assigning admin status to users. ownerdelonly prevents non-owner accounts from
# removing admin status from users
#
# 'disablepeval' option was renamed to 'ownerpevalonly'
#
# Command line options override options in this file.
#
# Any setting marked "MUST SET" needs to be properly configured before the bot
# is started for the first time.
# remove or comment out this line so the bot knows that you edited the config
# file
die
# local hostname or address to bind to. leave blank or comment out if you don't
# want to use a vhost
#localaddr myvhost.domain.com
# MUST SET: server name:port, enter as many as you like
#server miami.fl.us.irc-network.org:6667
#server dallas.tx.us.irc-network.org:7000
#server brussels.be.eu.irc-network.org:6660
server chat.freenode.net:6667
# MUST SET: bot's nickname
botnick bot-nick
# MUST SET: bot's username
botuser bot-username
# MUST SET: real name field
botrlnm bot real name
# MUST SET: channel name (followed by optional key, if your channel requires
# a key)
botchan #bot-channel s3cr3t.p4ss
# MUST SET: (identify) command to send upon successful connect. if using a
# privmsg command, you must begin the text of the message with a ":" -- see
# below last parameter is account password
#
# note: this is very dependent on the services being used. The following
# works on freenode and other networks using atheme or similar services
botident PRIVMSG NickServ :identify ilovedink
# MUST SET: modes to set bot upon successful connect. verify these are
# correct for your network
botmodes +ix
# MUST SET: command to send upon joining channel. %botnick% will evaluate to
# the bot's current nickname, so you don't have to worry about opping the
# wrong person. if using a privmsg command, you must begin the text of the
# message with a ":" -- see below
#
# note: this is very dependent on the services being used. The following
# works on freenode and other networks using atheme or similar services
botopcmd PRIVMSG ChanServ :op #bot-channel %botnick%
# command sent to recover nick if bot's primary nickname is in use if using a
# privmsg command, you must begin the text of the message with a ":" -- see
# below
#
# note: this is very dependent on the services being used. The following
# works on freenode and other networks using atheme or similar services
#
# this is not currently properly implemented and is provided as a placeholder
botghostcmd PRIVMSG NickServ :ghost bot ilovedink
# URL to send users to for help
# note: running the web code is not necessary but is _strongly_ encouraged
helpurl http://localhost/
# admin commands list (for admin help)
# note: running the web code is not necessary but is _strongly_ encouraged
admincommurl http://localhost/admincomms.txt
# base time to level up, 600 = 10 minutes
rpbase 600
# time to next level = rpbase * (rpstep ** CURRENT_LEVEL)
rpstep 1.16
# penalty time = penalty * (rppenstep ** CURRENT_LEVEL)
rppenstep 1.14
# player database file
dbfile irpg.db
# where quests/godsends/calamities are stored
eventsfile events.txt
# debug mode on/off flag, merely prints what text was received, what queue
# number outgoing text is given, and what text is sent to server (to the
# debug file, no longer to STDOUT)
debug off
# choose filename to send debug output to. text is appended to this file
# while the bot is in debug mode, in lieu of STDOUT
debugfile debug.txt
# Use URL-type banning for non-logged-in users that have been on the channel
# less than 90 seconds?
doban on
# URLs containing these terms will not be banned by the 'http:'
# advertisement ban (if you have it turned on). enter as many as you like
okurl ultrazone.org
okurl idlerpg.net
# modes of silence. in mode 0, bot sends all privmsgs. in mode 1, only
# chanmsg() is disabled. in mode 2, only privmsg() to non-channels is
# disabled. in mode 3, privmsgs to users and channels are disabled
silentmode 0
# write quest info file? all this file does is give outside programs info
# about the active quests, its participants, their positions, and time to
# completion
#
# note: this is required for quest reloads on game restart to function
writequestfile on
# filename for the above-mentioned file
questfilename questinfo.txt
# voice users on login (and register)? if you like, you can set your channel
# +m, then +v clients as they login, cutting down on spam. however, if your
# users generally bring in a second client to chat with, that client won't
# be able to speak in the channel
voiceonlogin on
# disallow usernames and character classes with control codes (bold, color,
# underline, bell, etc)?
noccodes on
# disallow usernames and character classes that contain "non-printable"
# characters? it's a good idea to leave this option on, as I have had
# problems in the past with using binary hash keys
nononp on
# MUST SET: URL where users can reach the online quest map, if available.
# if not offering a map to users, leave this blank
mapurl http://localhost/quest.php
# allow a STATUS command for users? this is a p0 command to view information
# on an irpg user. useful if you don't have a website where users can view
# their stats
statuscmd on
# filename to write our PID to. leave blank or comment out if pidfile is
# unnecessary to you
pidfile irpg.pid
# attempt to reconnect if disconnected?
reconnect on
# seconds to wait before attempting to reconnect? don't hammer your irc
# network, please; 90+ seconds is suggested
reconnect_wait 120
# this is what the bot considers to be an "internal clock" of sorts. some
# examples of where this is used: $freemessages lines of text from the
# message queue are sent every self_clock seconds; every self_clock seconds,
# the players move on the map (self_clock times to simulate movement every
# second); HOGs, calamities, godsends, etc. are given a chance to occur
# every self_clock seconds; and the list goes on. if you have problems with
# the bot flooding off, try increasing this number to 4 or 5. if your bot
# appears to 'lag' because it is queueing too much text, you can set this
# as low as 1. this must be an integral value (no fractions), and it must be a
# factor of 60 (or certain events will not occur, like database rewrites)
self_clock 3
# file into which character modifier texts are appended
modsfile modifiers.txt
# disallow the registration of usernames already existing in a different
# case? ie, jon == Jon == JON
casematters on
# allow rudimentary netsplit detection, and a) give no penalty and b) log
# them back in upon return? I always suggest to users that they switch to
# the server that the bot is on, but this has been a frequent request, so.
# will pick up quit messages that match /^\S+\.\S+ \S+\.\S+$/. if your
# network does not prefix quit messages with "Quit: " (or something other
# string), then users can cheat this at their whim
detectsplits on
# time to wait for netsplit users to return? in seconds. 900 = 15 minutes, good
# for large nets
splitwait 900
# allow non-admin users some information on the bot, such as the server it
# is connected to and the nicknames of online admins via a p0 INFO command?
allowuserinfo on
# ignore the new scaling features and use the old method for calculating the
# odds of events occurring? if you have a very large game and were
# comfortable with the speed that HoGs, Godsends, Calamities, etc. were
# occurring, you may want to set this
noscale off
# allow bot to access http://jotun.ultrazone.org/g7/count.php?new=1 each
# time someone registers a new username? it only takes a second, and I'd
# really like to be able to keep up with the total player count :^)
#
# The above URL no longer resolves; disabled now by default
phonehome off
# username of the bot's owner. this account cannot be DELADMINed and has access
# to PEVAL even if it is disabled
owner botadmin
# disable the PEVAL command for non-owner accounts? this command allows the
# execution of arbitrary Perl code by bot admins, effectively giving them
# complete control of the account under which the bot runs. I prefer to leave
# this command available and choose my admins with care, but, whatever :^)
ownerpevalonly on
# only owner account can use the MKADMIN command to assign admin status to
# users?
owneraddonly on
# only owner account can use the DELADMIN command to remove admin status from
# users?
ownerdelonly on
# check for newer versions each time the bot starts up? this will access the
# URL http://jotun.ultrazone.org/g7/version.php?version=$version and report on
# any updated versions and what features there are/bugs have been fixed
#
# The above URL no longer resolves; disabled now by default
checkupdates off
# send list of usernames that are automatically logged back in when we restart
# (iff that list is < 1 k)? this should, hopefully, no longer cause the bot to
# flood off. the function that sends text to the server will no longer send more
# than 768 bytes to the server every self_clock seconds. the old function would
# send as much as 5 * 512b or 2.5k each self_clock seconds, and as this was
# usually the feature that caused such a large amount of text to be sent at
# once, if your channel had a large amount of users, this would cause it to
# flood off. so, though I think the bug is fixed, I offer the option to turn
# this off
senduserlist on
# limit maximum amount of penalty for one event? this will prevent a user from
# being penalized more than <X> seconds for one event: part, privmsg, notice,
# kick, etc. set to 0 if you want to disable limiting.
# 604800 == 7 * 86400 == 1 week
limitpen 604800
# if you would like a custom-sized map, define the width of your map here:
mapx 500
# if you would like a custom-sized map, define the length of your map here:
mapy 500
# specify modes / line. the bot will override this from what it grabs from the
# server's 005 numeric, though, if anything. used only for auto-login voicing
modesperline 3
# do we want to receive new user repors emails?
newuserreports off
# MUST SET: where do new user emails go; unnecessary if newuserreports is off
#
# note: the escape on the '@' is mandatory; ignored if newuserreports is off
newuserdest user\@email.tld
# MUST SET: from addr on newuser report email; unnecessary if newuserreports
# is off; ignored if newuserreports is off
newuserfromaddr idlerpg-monitor\@email.tld
# MUST SET: from name on newuser report email; unnecessary if newuserreports
# is off; ignored if newuserreports is off
newuserfromname IdleRPG Monitor
# MUST SET: game title used in channel announcements, emails, etc; unnecessary
# if newuserreports is off
gametitle game title