# 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. # Uncomment to start as deamon! daemonize on # 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 # server name:port, enter as many as you like server localhost:6667 # bot's nickname botnick idlebot # bot's username botuser idlebot # real name field botrlnm http://www.somenet.org # channel name (followed by key, if your channel uses a key botchan #irpg # (identify) command to send upon successful connect. if using a privmsg # command, you must begin the text of the message with a ":" -- see below botident PRIVMSG NickServ :identify CHANGEME # modes to set bot upon successful connect botmodes +ixB # 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 botopcmd PRIVMSG ChanServ :op #irpg %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 botghostcmd PRIVMSG NickServ :ghost idlebot CHANGEME # URL to send users to for help helpurl http://idlerpg.somenet.org/ # admin commands list (for admin help) admincommurl http://idlerpg.somenet.org/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 on # 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 /tmp/idlebot.log # 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 okurl jvales.net okurl somenet.org # 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 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 # URL where users can reach the online quest map, if available. if not # offering a map to users, leave this blank mapurl http://idlerpg.somenet.org/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 off # 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 :^) phonehome off # username of the bot's owner. this account cannot be DELADMINed and has access # to PEVAL even if it is disabled owner someone # 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 off # only owner account can use the DELADMIN command to remove admin status from # users? ownerdelonly on # 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 seconds for one event: part, privmsg, notice, # kick, etc. set to 0 if you want to disable limiting. # 604800 == 7 * 86400 == 1 week limitpen 0 # 604800 # if you would like a custom-sized map, define the width of your map here: mapx 50 # if you would like a custom-sized map, define the length of your map here: mapy 50 # 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