/
com/planet_ink/coffee_mud/Abilities/Common/
com/planet_ink/coffee_mud/Abilities/Diseases/
com/planet_ink/coffee_mud/Abilities/Druid/
com/planet_ink/coffee_mud/Abilities/Fighter/
com/planet_ink/coffee_mud/Abilities/Languages/
com/planet_ink/coffee_mud/Abilities/Misc/
com/planet_ink/coffee_mud/Abilities/Prayers/
com/planet_ink/coffee_mud/Abilities/Properties/
com/planet_ink/coffee_mud/Abilities/Skills/
com/planet_ink/coffee_mud/Abilities/Songs/
com/planet_ink/coffee_mud/Abilities/Specializations/
com/planet_ink/coffee_mud/Abilities/Spells/
com/planet_ink/coffee_mud/Abilities/Thief/
com/planet_ink/coffee_mud/Abilities/Traps/
com/planet_ink/coffee_mud/Behaviors/
com/planet_ink/coffee_mud/CharClasses/
com/planet_ink/coffee_mud/CharClasses/interfaces/
com/planet_ink/coffee_mud/Commands/
com/planet_ink/coffee_mud/Commands/interfaces/
com/planet_ink/coffee_mud/Common/
com/planet_ink/coffee_mud/Common/interfaces/
com/planet_ink/coffee_mud/Exits/interfaces/
com/planet_ink/coffee_mud/Items/Armor/
com/planet_ink/coffee_mud/Items/Basic/
com/planet_ink/coffee_mud/Items/BasicTech/
com/planet_ink/coffee_mud/Items/CompTech/
com/planet_ink/coffee_mud/Items/MiscMagic/
com/planet_ink/coffee_mud/Items/Weapons/
com/planet_ink/coffee_mud/Items/interfaces/
com/planet_ink/coffee_mud/Libraries/
com/planet_ink/coffee_mud/Libraries/interfaces/
com/planet_ink/coffee_mud/Locales/
com/planet_ink/coffee_mud/MOBS/
com/planet_ink/coffee_mud/Races/
com/planet_ink/coffee_mud/Races/interfaces/
com/planet_ink/coffee_mud/WebMacros/
com/planet_ink/coffee_mud/WebMacros/interfaces/
com/planet_ink/coffee_mud/core/
com/planet_ink/coffee_mud/core/collections/
com/planet_ink/coffee_mud/core/interfaces/
com/planet_ink/coffee_mud/core/intermud/
com/planet_ink/coffee_mud/core/intermud/i3/
com/planet_ink/coffee_web/server/
com/planet_ink/siplet/applet/
lib/
resources/factions/
resources/fakedb/
resources/progs/autoplayer/
resources/quests/holidays/
web/
web/admin.templates/
web/admin/grinder/
web/admin/images/
web/clan.templates/
web/pub.templates/
web/pub/images/mxp/
web/pub/sounds/
web/pub/textedit/
#-----------------------------------------------------
# this .ini file is loaded by all web servers -
#  a property that is defined in their server.ini
# will override one defined here.
#-----------------------------------------------------

#
# PORTS
# For the PORT and SSLPORT entry, specify a comma-delimited set of ports to listen on for
# normal http (PORT) and ssl/https (SSLPORT).  The server will attempt to listen on as
# many of the ports in your list as it can.  If it can not listen on any, it will give up
# and die.
#
#PORT=80,8080
#SSLPORT=443
#BIND=127.0.0.1

#
# DEBUGGING
# Set DEBUGFLAG to OFF to turn off any debugging.
# Set DEBUGFLAG to ON to turn on debugging to standard out
# Set DEBUGFLAG to FILE to turn on debugging only to the web.log file
# Set DEBUGFLAG to BOTH to turn on debugging both to standard out and the web.log file
#
DEBUGFLAG=OFF

#
# ACCESSLOGS
# Set ACCESSLOGS to OFF to turn off any access logs.
# Set ACCESSLOGS to ON to turn on access logging to standard out
# Set ACCESSLOGS to FILE to turn on access logging only to the web.log file
# Set ACCESSLOGS to BOTH to turn on access logging both to standard out and the web.log file
# Set ACCESSLOGS to OWNFILE to turn on access logging both to its own file
#   Append <[NUMBER]L to roll logs that reach [NUMBER] lines, for example: OWNFILE<9999L
#   Append <[NUMBER]B to roll logs that reach [NUMBER] bytes, for example: OWNFILE<9999999B
#       Use B for bytes, K for kilobytes, M for megabytes, G for gigabytes
#   Prefix with a number to change the number of logs kept during rolling.
#       For example: 55OWNFILE<999L means keep 55 log files, that roll up when 999 lines reached.
ACCESSLOGS=OFF

#
# DEFAULT PAGE
# When a browser requests a directory name, what page from that directory should be served?
# You can specify it here!
#
DEFAULTPAGE=index.cmvp

#
# ERROR PAGE
# When an error or exception is generated, which page is displayed.  This is a LOCAL PATH, 
# either relative or absolute.
#
# *** Handled by pub.ini and admin.ini ***

#
# BROWSE PAGE
# When a directory is encountered which is permitted to be browsed (see BROWSE below), this
# is the local path, relative or absolute, of the page to display.  If the page is kept at
# cwhtml or another Convertable type, then the page will correctly fill in directory
# entries.
#
# *** Handled by pub.ini and admin.ini ***

#
# MOUNT LISTS
# This is where you specify how requested hosts and contexts will map to actual directories on 
# your local hard drive.  The way it works is that you specify the word MOUNT followed by a 
# forward slash character / and the optional host name and optional port, and the context, then 
# set that equal to the local (or relative!) hard drive path that the given context should map to.
# Be sure to end your hard drive path with a path separator -- in windows, it would be \\
# The example (MOUNT/mydomain.com:80/remote=root\\local\\) maps the context /remote on the host
#   "mydomain.com" on port 80 to the relative local path "root\\local\\"
# The example (MOUNT/=root\\) maps the root context / to the relative local path "root\\" for all
#   hosts and ports.
# *** Handled by pub.ini and admin.ini ***

#
# CGI MOUNT LISTS
# This is where you specify how requested hosts and contexts will map to actual directories on 
# your local hard drive containing CGI (Common Gateway Interface) programs that the server is
# permitted to execute.  Any URL path parts after the mount directory is passed to the cgi-program.
# The mount path can also be an executeable file name. The way it works is that you specify the word 
# CGIMOUNT followed by a forward slash character / and the optional host name and optional 
# port, and the context, then set that equal to the local (or relative!) hard drive path that the 
# given context should map to.  If the local path is a directory, any cgi-programs in it may be executed,
# and if it is a program file, it will be executed against the referenced path.  The URI context may
# also contain a "*" character for filtering purposes.  
# Be sure to end your hard drive path with a path separator -- in windows, it would be \\
# The example (CGIMOUNT/mydomain.com:80/cgi-bin=root\\cgi-bin\\) maps the context /cgi-bin on the host
#   "mydomain.com" on port 80 to the relative local path "root\\cgi-bin\\"
# The example (CGIMOUNT/*.php=cgi-bin\\php-cgi.exe) executes the given cgi program against any .php files for
# all hosts and ports.
# CGIMOUNT/cgi-bin=cgi-bin\\

#
# BROWSE LISTS
# This is where you specify which virtual paths which, after going through mount processing,
# resolve to directories that you will permit browsing of. Specify the word BROWSE followed by a 
# forward slash character / and the optional host name and optional port, and the context, then 
# set that equal to anything you like (the value is reserved for future use at this point).
# The example (BROWSE/mydomain.com:80/mysubdir=OK) allows the context /mysubdir on the host
#   "mydomain.com" on port 80 to be browsed.
# The example (MOUNT/=YES) allows all directories, all hosts, all ports, to be browseable
# BROWSE/=FINE!
# *** Handled by pub.ini and admin.ini ***

# MIME TYPES
# CoffeeWebServer already defines all the standard and most common mime types.  However, if you
# require any special ones, or for some bizarre reason want to override an existing one, this
# is the place.  Specify the word MIME followed by a period character . and the extension to
# use with this mime type, then set that equal to the full mime type string, which must include
# a forward slash.
# For example: MIME.boo=text/plain
# 

#
# SSL CONFIGURATION
# CoffeeWebServer supports SSLv3 via a java keystore file (SSLKEYSTOREPATH), but you can 
# specify any key file format that java supports, so long as you also specify its type
# (SSLKEYSTORETYPE).  If the keystore/file has a password, specify it also (SSLKEYSTOREPASSWORD).
# If any of this stuff is invalid, the web server will not attempt to listen on your SSL ports.
#SSLKEYSTOREPATH=keys/keystore.jks
#SSLKEYSTOREPASSWORD=passphrase
#SSLKEYSTORETYPE=JKS
#SSLKEYMANAGERENCODING=SunX509

#
# FILE CACHING AND HANDLING
# The data for your web site can be cached in memory for better performance.  
# To tune this feature, you can specify the amount of time a cache entry lives
# in memory (FILECACHEEXPIREMS), how much TOTAL file data will be stored
# in the cache before it starts forcing entries out of the cache to make more
# room (FILECACHEMAXBYTES), and the maximum size of any one file stored in the
# cache (FILECACHEMAXFILEBYTES).
# The maximum size of any file that can be compressed is FILECOMPMAXBYTES.
# To turn off caching, set FILECACHEEXPIREMS and/or FILECACHEMAXBYTES to 0
# To allow caching of files of any size, set FILECACHEMAXFILEBYTES to 0
FILECACHEEXPIREMS=0
FILECACHEMAXBYTES=0
FILECACHEMAXFILEBYTES=8192
FILECOMPMAXBYTES=16485760

#
# REQUEST LIMITS
# This is some fine tuning regarding constraints on http requests.  You can
# specify the maximum size of any request body (REQUESTMAXBODYBYTES), the
# number of milliseconds a connection can sit idle between requests (REQUESTMAXIDLEMS),
# The maximum size of any one line of request data, such individual headers, url length,
# etc (REQUESTLINEBUFBYTES), the longest amount of time a connection can hang around
# sending requests to the web server and receiving data (REQUESTMAXALIVESECS), and the
# maximum number of requests that can be made on a single connection (REQUESTMAXPERCONN).  
REQUESTMAXBODYBYTES=2097152
#REQUESTMAXIDLEMS=5000
REQUESTLINEBUFBYTES=65535
#REQUESTMAXALIVESECS=15
REQUESTMAXPERCONN=20

#
# FORWARDING LISTS
# This is where you specify how requested hosts, ports, or contexts will be forwarded 
# to other web servers and ports and contexts. The way it works is that you specify 
# the word FORWARD followed by a forward slash character / and the optional host name 
# and optional port and the context (or just /), and then set that equal to 
# the host name of the remote web server, followed by a colon and the remote port number.
# You can specify as many mappings as you like .. coffeewebserver will be pretty smart about
# which is the proper one to use for any particular url.
# Remember to escape your colons and backslashes (if you use them)!!
# Some examples:
#FORWARD/mydomain.net\:80/contextname=www.google.com\:80
#FORWARD/localhost\:8080/zimmers=www.zimmers.net\:80
#FORWARD/localhost\:8080/zhome=www.zimmers.net/home
#FORWARD/*\:8080/zcommie=www.zimmers.net\:80/commie
#FORWARD/gallery.localhost\:80/=www.zimmers.net\:80/cbmpics
#FORWARD/texas.localhost\:*/=www.zimmers.net/texas

#
# OUTPUT THROTTLING
# This is where you specify how many bytes, per second, are allowed to be sent to
# the specified host.  Specify THROTTLEOUTPUT followed by 
# a forward slash character / and the optional host name and optional port and the 
# context (or just /), and then set that equal to the number of bytes per second to 
# allow in or out.  Specify as many entries as you like.  The throttle treats the 
# number of bytes that applies as a cap to ALL requests, in or out, that apply to a
# specified host mask.  It will attempt to be fair about distributing load across 
# numerous requests for a given host, and will treat each host mask as a separate pool
# from other hosts. Remember to escape your colons and backslashes (if you use them)!!
# Some examples:
# THROTTLEOUTPUT/mydomain.net\:80/contextname=1024
# THROTTLEOUTPUT/localhost\:8080/zimmers=10000000
# THROTTLEOUTPUT/localhost\:8080/zhome=2048
# THROTTLEOUTPUT/*\:8080/zcommie=512
# THROTTLEOUTPUT/gallery.localhost\:80/=65536
# THROTTLEOUTPUT/texas.localhost\:*/=9999999

#
# THREAD POOL TWEEKING
# Now for the really geeky stuff.  The web server will try to process as many requests at
# the same time as it can by spawning threads when it needs to.  You can tweek this process
# right here.  You can specify the minimum number of threads to keep hanging around waiting
# to process requests (CORETHREADPOOLSIZE), as well as the absolute maximum number (MAXTHREADS).
# You can also specify the amount of time a thread goes unused before it is shut down 
# (MAXTHREADIDLEMILLIS), the maximum number of tasks that can be queued up waiting for thread
# time (MAXTHREADQUEUESIZE), and the absolute maximum amount of time a thread is allowed to
# work on any one task (MAXTHREADTIMEOUTSECS).
CORETHREADPOOLSIZE=1
MAXTHREADS=10
MAXTHREADIDLEMILLIS=60000
MAXTHREADQUEUESIZE=500
#MAXTHREADTIMEOUTSECS=30

#
# DUPPOLICY
# How to deal with url parameters or multi-part fields that have the same names.
# For example: http://localhost?MYFIELD=bob&MYFIELD=joe&MYFIELD=tom
# Set DUPPOLICY to OVERWRITE to end up only one field where the last value wins.
# Set DUPPOLICY to ENUMERATE to append a number; e.g. MYFIELD=bob MYFIELD1=joe MYFIELD2=tom
#
DUPPOLICY=ENUMERATE

# 
# CHUNKED ENCODING for HTTP/1.1
# How to encourage or specify chunked encoding output from the server to clients.
# Will only provide chunked output according to the CHUNKHOST entries below.
# Set CHUNKSIZE to the default chunk size to use when allowed. A value of
#  0 completely disables chunked responses under all circumstances. 
# To allow chunked responses at particular domains or urls, enter "CHUNKALLOW" followed by 
# a forward slash character / and the optional host name and optional port and the 
# context (or just /), and then set that equal to either an asterisk * or a comma
# delimited list of mime types to apply chunking to, followed by a colon, followed
# by the minimum size of a file, in bytes, that may be chunk encoded.
# Specify as many entries as you like.  Here are some examples:
# CHUNKALLOW/*\:*/=*:1                  <-- this will chunk everything, basically
# CHUNKALLOW/mydomain.net\:80/contextname=*:1048576
# CHUNKALLOW/texas.localhost\:*/=application/octet-stream,h323,doc:9999999
#
CHUNKSIZE=8192

# 
# SIMPLE SERVLETS
# For you Java programmers, there is an interface available at 
# com.planet_ink.coffee_web.interfaces.SimpleServlet for creating simple
# servlet classes.  There is also a SimpleServletRequest and SimpleServletResponse
# interface for doing your input and output.  When you create such a servlet, you
# can map it to a top-level url context by using the word "SERVLET" followed by
# a slash, followed by the root url context, and then setting that equal to the
# java class name where your SimpleServlet can be found.  Have as many as you like!
#
# Check out the example servlets in com/planet_ink/coffee_web/servlets/*.java
SERVLET/stats=com.planet_ink.coffee_web.servlets.ServletStatsServlet
SERVLET/info=com.planet_ink.coffee_web.servlets.ServerInfoServlet
SERVLET/images/mxp/PlayerPortrait=com.planet_ink.coffee_mud.Libraries.WebMacroCreamer
SERVLET/AreaXML=com.planet_ink.coffee_mud.Libraries.WebMacroCreamer
SERVLET/FileData=com.planet_ink.coffee_mud.Libraries.WebMacroCreamer
SERVLET/ImageVerificationImage=com.planet_ink.coffee_mud.Libraries.WebMacroCreamer
SERVLET/pub/SipletInterface=com.planet_ink.coffee_mud.Libraries.WebMacroCreamer
SERVLET/SipletInterface=com.planet_ink.coffee_mud.Libraries.WebMacroCreamer
SERVLET/pub/Unsubscribe=com.planet_ink.coffee_mud.Libraries.WebMacroCreamer
SERVLET/Unsubscribe=com.planet_ink.coffee_mud.Libraries.WebMacroCreamer

# 
# MIME CONVERTERS
# Also for the Java programmers, there is an interface available at 
# com.planet_ink.coffee_web.interfaces.HTTPOutputConverter for creating classes
# that transform data from a specific mime type by processing it. Since it only
# supports the mime types hard coded into com/planet_ink/coffee_web/http/MIMEType.java.
# this is of limited usefulness -- still, you can do cool things make make custom
# http page converters! When you create such a converter, you specify it here by
# mapping the class to a mime type name by using the word "MIMECONVERT" followed by
# a period, followed by the mime type name, and then setting that equal to the
# java class name where your HTTPOutputConverter can be found.  Have as many as you like!
# Of course, using a mime converter will invalidate any eTag processing, since the
# whole point is to change the contents of pages from disk. :)
MIMECONVERT.cwhtml=com.planet_ink.coffee_web.converters.CWHTMLConverter
MIMECONVERT.cmvp=com.planet_ink.coffee_mud.Libraries.WebMacroCreamer
#
# DISABLE
# For developers and those who just don't like functional web servers, this is 
# a comma-delimited list of integrated features you would like to have disabled.
# Available features to disable are:
# RANGED : the web server will ignore ranged headers and return 200/full document
DISABLE=