dawdle/dawdle.conf.example

249 lines
6.1 KiB
Plaintext

# Configuration file for the DawdleRPG bot.
#
# This is backwards-compatible with the IdleRPG bot's configuration.
# Some of the old directives are ignored.
# Basic configuration - you should set all these
################################################
# Remove this line so the bot knows you edited the file.
#die
# Superuser that cannot be DELADMINed.
owner Animefield
# Server name:port.
server irc.animefriends.moe:7000
# Bot's nickname
botnick IdleFriend
# Bot's username
botuser Idle
# Bot's real name
botrlnm DawdleRPG Bot
# Bot joins this channel
botchan #idlerpg
# Bot changes its modes to this on connection
botmodes +Bix
# Bot identifies itself with this command - %botpass% string is
# replaced by the BOTPASS environment variable.
# Commented out because it requires registration by the server.
botident PRIVMSG NickServ :identify %botpass%
# Bot gains ops with this command after joining channel. The channel
# name and bot nick are replaced with their configuration.
# Commented out because it requires registration by the server.
# botopcmd PRIVMSG ChanServ :op %botchan% %botnick%
# Bot sends this command to attempt to retrieve its nick.
# Commented out because it requires registration by the server.
botghostcmd PRIVMSG NickServ :ghost %botnick% %botpass%
# URL that shows up in the help command output.
helpurl http://example.com/
# URL where admins can find help.
admincommurl http://example.com/admincomms.txt
# URL where users can reach the online quest map, if available.
mapurl http://example.com/quest.php
# Daemonize the bot. This will make the bot detach from the terminal
# and act as an independent server. If you are running this from a
# command line or an init script, this should be on. If you are
# running it from systemd or some other service manager, this should
# probably be off.
daemonize off
# Gameplay configuration - you might want to tweak these.
#########################################################
# Base amount of time to level.
rpbase 600
# Time to next level is rpbase * (rpstep ** current level)
rpstep 1.16
# Penalty time = penalty * (rppenstep ** current level)
rppenstep 1.14
# Maximum level for ttl to be exponentially computed.
rpmaxexplvl 60
# Ally base time to level
allylvlbase 200
# Time to next ally level is allylvlbase * (allylvlstep ** level)
allylvlstep 1.16
# Maximum level for ally ttl to be exponentially computed
allymaxexplvl 60
# Allow non-admin users to access info command.
allowuserinfo on
# Time penalty limit.
limitpen 24192200
# Penalty for losing the quest. This is applied to all questors!
penquest 15
# Penalty for changing nick.
pennick 30
# Penalty for sending a message - this is per character!
penmessage 1
# Penalty for leaving the channel.
penpart 200
# Penalty for being kicked from the channel.
penkick 250
# Penalty for quitting.
penquit 20
# Penalty for dropping connection.
pendropped 20
# Penalty for using the LOGOUT command.
penlogout 20
# Width of map.
mapx 500
# Height of map.
mapy 500
# Percent change in battle power for good.
good_battle_pct 110
# Percent change in battle power for evil.
evil_battle_pct 90
# Kick/ban users who mention a URL within seconds of joining channel.
doban on
# Time after joining that users can mention a URL without being banned.
bannable_time 90s
# Minimum time between quests.
quest_interval_min 12h
quest_interval_max 24h
# Minimum level that a player must be to quest.
quest_min_level 24
# Minimum login time in seconds that a player must have to quest.
quest_min_login 36000
# These are URL hosts which are okay to mention early in channel. Multiples are fine.
# okurl example.com
# okurl example.org
# Write quest file to be picked up from the website.
writequestfile on
# Voice users on login.
voiceonlogin on
# Allow users to view information on another user?
statuscmd on
# Disallow registration of filenames existing in a different case?
casematters on
# Detect netsplits. Servers are supposed to disallow netsplit-like
# messages, so this shouldn't be a cheat vector.
detectsplits on
# Time to wait after netsplit for disconnection.
splitwait 10m
# Enable mIRC color codes
color on
# Color of player names
namecolor cyan
# Color of durations (mostly time to level)
durationcolor green
# Color of items
itemcolor yellow
# Technical details
###################
# Directory to look for game files. This is set to this configuration
# file's directory by default. Uncomment if you need to specify it.
# datadir <data directory>
# To integrate with website, use this. Create this file with:
# manager.py migrate --database=game
# before running with --setup
dbfile ../site/game.sqlite3
# Filename for events file.
eventsfile events.txt
# Filename for quest file. Used by website.
questfilename questinfo.txt
# Game events are saved to this filename. Used by website.
modsfile modifiers.txt
# Logging output - format is log <log level> <path> <template>.
# Levels are CRITICAL, WARNING, INFO, DEBUG, and SPAMMY. The path is
# relative to the data directory. The template uses the python logger
# format documented in
# https://docs.python.org/3/library/logging.html#logrecord-attributes
#
# Examples:
# For debugging: tslog DEBUG /dev/stderr %(asctime)s %(message)s
# For systemd journal: log INFO /dev/stdout %(message)s
# For saving to a log file: tslog WARNING dawdle.log %(asctime)s %(message)s
log INFO dawdle.log %(message)s
# PID file for ensuring that dawdlerpg isn't running twice.
pidfile dawdle.pid
# Backup directory.
backupdir backups
# Maximum player name length.
max_player_len 16
# Maximum player class length.
max_class_len 30
# Does the bot reconnect when disconnected?
reconnect on
# How long to wait after disconnection to reconnect.
reconnect_wait 30s
# Throttle output?
throttle on
# Maximum messages to send during throttle period. Any more messages
# will be queued until next period.
throttle_rate 5
throttle_period 10s
# Address to use for outgoing connection. This is used to select a
# specific interface. Uses default interface when unset.
# localaddr <local address>
# IRC max message width to use for word wrap.
message_wrap_len 400
# Interval in seconds to check for game events.
self_clock 1s