tconfigfile.html - vaccinewars - be a doctor and try to vaccinate the world
 (HTM) git clone git://src.adamsgaard.dk/vaccinewars
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
       tconfigfile.html (29751B)
       ---
            1 <?xml version="1.0" encoding="UTF-8"?>
            2 
            3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
            4  "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
            5 
            6 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
            7 
            8 <head>
            9 <title>dopewars configuration files</title>
           10 <meta charset="utf-8"/>
           11 </head>
           12 
           13 <body>
           14 <h1>dopewars configuration files</h1>
           15 
           16 <p>A dopewars <a href="server.html">server</a>, or a <a href="clientplay.html">
           17 client</a> (in single-player mode) can be heavily configured by the means
           18 of dopewars configuration files. Clients used to connect to multiplayer
           19 servers can also be configured by the same means, but almost all of these
           20 settings will be overridden on connecting to the server (although the server
           21 location settings <i>Port</i> and <i>Server</i> are still useful).</p>
           22 
           23 <p>Example configuration files:</p>
           24 <ul>
           25 <li><a href="example-cfg">Simple example, to show syntax only
           26 (incomplete)</a></li>
           27 <li><a href="example-igneous">Igneous's mod (complete)</a></li>
           28 </ul>
           29 
           30 <p>The order of making dopewars settings is as follows:-</p>
           31 <ol>
           32 <li>The global configuration file (if present) <b>/etc/dopewars</b></li>
           33 <li>The user-specific file (if present) <b>~/.dopewars</b></li>
           34 <li><i>(Windows only)</i> The file <b>dopewars-config.txt</b> in the current
           35 user's application data directory (e.g.
           36 <tt>C:\Users\foo\AppData\Local\dopewars\</tt>)</li>
           37 <li>Options specified on the <a href="commandline.html">command line</a></li>
           38 </ol>
           39 
           40 <p>Settings in a configuration file can set numbers, booleans, strings or
           41 "string lists". A numerical value is set with a command such as
           42 <b>Port=7902</b> (which sets the TCP port for mulitplayer connections to
           43 7902). Booleans are "on/off" or "true/false" variables, set with commands
           44 such as <b>Sanitized=TRUE</b> (which removes drug references from random
           45 events in the game).</p>
           46 
           47 <p>String (text) values are set with commands such as <b>BankName='the bank'</b>
           48 (which sets the name of the bank). Notice that string values <b>must</b> be
           49 enclosed in quotes. Strings in double quotes understand escapes such as "\t";
           50 strings in single quotes do not treat backslash characters specially, and
           51 so should be used for Windows pathnames.</p>
           52 
           53 <p>A string list is used for setting an array of strings; for example
           54 <b>SubwaySaying = { "Saying 1", "Saying 2", "Saying 3" }</b> sets up three
           55 "subway sayings". A string list consists of a list of strings, separated by
           56 commas and wrapped with braces - { and } characters. Single strings in a
           57 string list can be replaced individually - for example
           58 <b>SubwaySaying[3]="Third Saying"</b> replaces the third string (which was
           59 previously "Saying 3"). The <i>number</i> of strings in the list
           60 <i>"List"</i> can be set with the variable <i>NumList</i> - for example,
           61 <b>NumSubwaySaying=4</b> dimensions the <b>SubwaySaying</b> list to contain
           62 four strings.</p>
           63 
           64 <p>Whitespace and line breaks are ignored in the configuration files; comments
           65 can be used, and extend from a '#' character to the end of the current line,
           66 or are enclosed by C-style /* and */ symbols. See the 
           67 <a href="example-cfg">example configuration file</a> for a demonstration.
           68 Valid configuration file settings are listed below. The examples given
           69 generally reproduce the default behaviour; obviously you are free to replace
           70 the parts in italics to customise your own server and client.</p>
           71 
           72 <ul>
           73 <li><a href="#fileloc">General configuration: file and server
           74 locations</a></li>
           75 <li><a href="#metaserver">Metaserver configuration</a></li>
           76 <li><a href="#places">Basic configuration: places in the game</a></li>
           77 <li><a href="#drugs">Basic configuration: drug prices</a></li>
           78 <li><a href="#combat">Basic configuration: guns and fighting</a></li>
           79 <li><a href="#advanced">Advanced configuration</a></li>
           80 <li><a href="#commands">Special configuration file commands</a></li>
           81 </ul>
           82 
           83 <h2><a id="fileloc">General configuration: file and server locations</a></h2>
           84 
           85 <dl>
           86 <dt><a id="Port"><b>Port=<i>7902</i></b></a></dt>
           87 <dd>Tells the dopewars client to look for a server on port <i>7902</i>, and
           88 tells the dopewars server to bind to port <i>7902</i> and wait for connections.
           89 This can be overridden with the -p <a href="commandline.html#port">
           90 command line option</a>.</dd>
           91 
           92 <dt><a id="Server"><b>Server=<i>"localhost"</i></b></a></dt>
           93 <dd>Tells the dopewars client to look for a server at the address
           94 <i>localhost</i>. Dotted quad (e.g. 127.0.0.1) addresses may also be used here.
           95 If this variable is set to one of the three "special" names
           96 <b>(MetaServer)</b>, <b>(Prompt)</b>, or <b>(Single)</b> (including the 
           97 brackets) then the client will not connect to a server but instead
           98 list the servers available at the metaserver, prompt the user to enter a
           99 server name and port, or play in single player mode, respectively.
          100 This option can be overridden with the -o <a href="commandline.html#server">
          101 command line option</a> (but be sure to protect the brackets from the shell
          102 if you use one of the "special" names). <b>Note</b> that this only changes
          103 the name of the server that the client connects to - if you're running your
          104 own server it does not change the address that it binds to. For that, see
          105 the <b>BindAddress</b> variable.</dd>
          106 
          107 <dt><b>ServerMOTD=<i>"Welcome to my dopewars server"</i></b></dt>
          108 <dd>When running a server, any client that connects displays the welcome
          109 "message of the day" <i>"Welcome to my dopewars server"</i>. This can
          110 be used, for example, to inform users of any special features that the
          111 server has.</dd>
          112 
          113 <dt><b>BindAddress=<i>"localhost"</i></b></dt>
          114 <dd>Forces your dopewars server (if you run one) to accept network connections
          115 only on the <i>localhost</i> network interface. (This can be a host name,
          116 or an IP address.) If this is left blank (the default) then the server will
          117 accept connections coming in on any valid network interface.
          118 </dd>
          119 
          120 <dt><b>Socks.Active=<i>FALSE</i></b></dt>
          121 <dd>Instructs the dopewars client to connect directly to the given server,
          122 without using an intermediate SOCKS server. If this is set to TRUE, all
          123 connections go via the SOCKS server. By default, SOCKS is not used for
          124 metaserver communications - see the MetaServer.UseSocks variable. N.B. You
          125 cannot run a dopewars server behind a SOCKS server, due to limitations in
          126 the SOCKS protocol.</dd>
          127 
          128 <dt><b>Socks.NumUID=<i>FALSE</i></b></dt>
          129 <dd>When connecting to a SOCKS version 4 server, the protocol demands that
          130 the name of the current user be sent for simple authentication; the SOCKS
          131 server then queries identd on your machine to check if you are who you say
          132 you are. dopewars complies with this requirement if this variable is set to
          133 FALSE. However, some Unix implementations of identd send numeric user IDs
          134 rather than user names; dopewars will do the same if you set this variable 
          135 to TRUE. (N.B. Not supported on Windows systems.)</dd>
          136 
          137 <dt><b>Socks.User=<i>"fred"</i></b></dt>
          138 <dd>Overrides the username detection (discussed above) completely, and instead
          139 sends the user name <i>"fred"</i> to a SOCKS4 server. If this is set to the
          140 blank string ("") - the default - this does not happen.</dd>
          141 
          142 <dt><b>Socks.Name=<i>"socks"</i></b></dt>
          143 <dd>If using SOCKS, sets the hostname of the SOCKS server to connect to to
          144 be <i>"socks"</i>.</dd>
          145 
          146 <dt><b>Socks.Port=<i>1080</i></b></dt>
          147 <dd>Connects to the SOCKS server on TCP port <i>1080</i>.</dd>
          148 
          149 <dt><b>Socks.Version=<i>4</i></b></dt>
          150 <dd>Uses SOCKS version <i>4</i>. Version 5 is also supported; SOCKS5 servers
          151 support username/password authentication, unlike SOCKS4.</dd>
          152 
          153 <dt><b>Socks.Auth.User=<i>""</i></b></dt>
          154 <dd>If using SOCKS5 with user/password authentication, with the server or AI
          155 player (which can both run unattended) then setting this variable to something
          156 other than "" will enable them to authenticate themselves with the SOCKS
          157 server, provided Socks.Auth.Password is also set. (The game clients prompt
          158 the user for a username and password on each connect instead.)</dd>
          159 
          160 <dt><b>Socks.Auth.Password=<i>""</i></b></dt>
          161 <dd>The corresponding password for Socks.Auth.User, above.</dd>
          162 
          163 <dt><a id="HiScoreFile"><b>HiScoreFile=<i>"/var/lib/dopewars.sco"</i></b></a>
          164 </dt>
          165 <dd>Tells the dopewars server (or the client, if running in single-player
          166 mode, not connected to a server) to use the file <i>/var/lib/dopewars.sco</i>
          167 to store high scores. This can be overridden with the -f
          168 <a href="commandline.html#hiscore">command line option</a>.
          169 (N.B. This option cannot be used to get dopewars to open a high
          170 score file with privilege when running setuid/setgid; all privileges are
          171 dropped by this point for security.)</dd>
          172 
          173 <dt><b>MinToSysTray=<i>TRUE</i></b></dt>
          174 <dd>Rather than behaving as a normal window, the dopewars server window adds
          175 an icon to the Windows System Tray, and, when the window is minimized, it
          176 vanishes completely. Clicking on the System Tray icon will restore the
          177 window to its normal state. If FALSE, the System Tray is not used. Only
          178 supported on Windows systems.</dd>
          179 
          180 <dt><b>Daemonize=<i>TRUE</i></b></dt>
          181 <dd>When the Unix server is successfully started, it immediately uses the
          182 fork() function to become a daemon, running in the background. Since this
          183 can cause problems with debugging, or with other programs that need to keep
          184 track of the process, setting Daemonize to FALSE will run the program in the
          185 foreground. Only supported on Unix systems.</dd>
          186 
          187 <dt><b>WebBrowser=<i>/usr/bin/firefox</i></b></dt>
          188 <dd>Sets the program used to display website URLs. This is used only by the
          189 Unix version, as under Windows the standard mechanism for associating file
          190 types with applications is used, and on MacOS the system-configured default
          191 web browser is used.</dd>
          192 
          193 <dt><b>ConfigVerbose=<i>FALSE</i></b></dt>
          194 <dd>Prints extra feedback information when processing the config. file if set
          195 to TRUE; this only takes effect, of course, after the ConfigVerbose variable is
          196 set, and then remains in force until it is reset again.</dd>
          197 </dl>
          198 
          199 <h2><a id="metaserver">Metaserver configuration</a></h2>
          200 <dl>
          201 <dt><a id="MetaServerActive"><b>MetaServer.Active=<i>TRUE</i></b></a></dt>
          202 <dd>Tells the dopewars server to report its status to the
          203 <a href="metaserver.html">metaserver</a>. If <i>TRUE</i>
          204 is replaced by <i>FALSE</i> the server will not report to the metaserver.
          205 This setting, if set to TRUE, can be overridden by the -S
          206 <a href="commandline.html#privateserver">command line option</a>.</dd>
          207 
          208 <dt><b>MetaServer.URL=<i>"https://dopewars.sourceforge.io/metaserver.php"</i></b></dt>
          209 <dd>Tells dopewars that the metaserver PHP script is located at
          210 <i>https://dopewars.sourceforge.io/metaserver.php</i>. This is used for server
          211 registration (server mode) or listing the available servers (client mode);
          212 see the <a href="metaserver.html">metaserver</a> page. If a proxy is needed to
          213 connect to the web server, set the
          214 <a href="https://curl.haxx.se/libcurl/c/libcurl-tutorial.html#Environment">https_proxy environment variable</a>.</dd>
          215 
          216 <dt><a id="MetaServerComment"><b>MetaServer.Comment=<i>"dopewars
          217 server"</i></b></a></dt>
          218 <dd>Sets the comment for your server, which appears on the list of servers
          219 maintained by the metaserver, to <i>dopewars server</i>.</dd>
          220 
          221 <dt><b>MetaServer.LocalName=<i>"dope-serv.com"</i></b></dt>
          222 <dd>Tells the metaserver that the preferred hostname of your dopewars server
          223 machine is <i>dope-serv.com</i>. By default, the metaserver tries to ascertain
          224 your domain name from the connection, and this can fail if you connect via
          225 a proxy server, or if DNS does not properly translate your IP address to your
          226 domain name. You must also set MetaServer.Password to the password given to
          227 you by the <a href="mailto:benwebb@users.sf.net">metaserver
          228 maintainer</a> for this to work. A blank LocalName can also be used with a
          229 suitable password to identify "your" server, even if its IP changes.
          230 See the <a href="metaserver.html">metaserver page</a> for more details.</dd>
          231 
          232 <dt><b>MetaServer.Password=<i>"auth"</i></b></dt>
          233 <dd>Uses the password <i>auth</i> to authenticate your dopewars server's
          234 hostname (see MetaServer.LocalName above) with the metaserver.</dd>
          235 
          236 </dl>
          237 
          238 <h2><a id="places">Basic configuration: places in the game</a></h2>
          239 
          240 <dl>
          241 <dt><b>NumLocation=<i>8</i></b></dt>
          242 <dd>Sets the number of locations in the game to <i>8</i>. Note that if too
          243 many locations are specified, the client may not be able to display them
          244 all!</dd>
          245 
          246 <dt><b>Location[<i>4</i>].Name=<i>"Manhattan"</i></b></dt>
          247 <dd>Sets the name of the <i>4th</i> location in the game to <i>Manhattan</i>.
          248 The index within the square brackets can range from 1 to whatever
          249 NumLocation is set to above, or an error will be reported.</dd>
          250 
          251 <dt><b>Location[<i>4</i>].PolicePresence=<i>90</i></b></dt>
          252 <dd>Sets the police presence in the <i>4th</i> location to <i>90%</i>. This
          253 affects how likely it is for the police to attack players at each location
          254 when arriving, dropping drugs, or attacking other players.</dd>
          255 
          256 <dt><b>Location[<i>4</i>].MinDrug=<i>4</i></b></dt>
          257 <dd>Sets the minimum possible number of different drugs that will be on sale
          258 to players in location number <i>4</i> to <i>4</i>.</dd>
          259 
          260 <dt><b>Location[<i>4</i>].MaxDrug=<i>10</i></b></dt>
          261 <dd>Sets the maximum possible number of different drugs that will be on sale
          262 to players in location number <i>4</i> to <i>10</i>.</dd>
          263 
          264 <dt><b>LoanShark=<i>1</i></b></dt>
          265 <dd>Makes the loan shark pop up when players visit location number <i>1</i>.
          266 To stop the loan shark from appearing at all (making it rather difficult to
          267 pay off debts) set this number to something which is not a valid location,
          268 such as 0 (zero).</dd>
          269 
          270 <dt><b>Bank=<i>1</i></b></dt>
          271 <dd>Makes the bank appear when a player visits location <i>1</i> (the
          272 Bronx).</dd>
          273 
          274 <dt><b>GunShop=<i>2</i></b></dt>
          275 <dd>Players can visit the gun shop in location number <i>2</i> (the
          276 Ghetto).</dd>
          277 
          278 <dt><b>RoughPub=<i>2</i></b></dt>
          279 <dd>Players can visit the rough pub to hire bitches in location number
          280 <i>2</i>.</dd>
          281 
          282 <dt><b>LoanSharkName=<i>"the Loan Shark"</i></b></dt>
          283 <dd>The loan shark is known by the name <i>"the Loan Shark"</i> during the
          284 game.</dd>
          285 
          286 <dt><b>BankName=<i>"the bank"</i></b></dt>
          287 <dd>The bank is known by the name <i>"the bank"</i> during the game.</dd>
          288 
          289 <dt><b>GunShopName=<i>"Dan's House of Guns"</i></b></dt>
          290 <dd>The gun shop is known by the name <i>"Dan's House of Guns"</i> during
          291 the game.</dd>
          292 
          293 <dt><b>RoughPubName=<i>"the pub"</i></b></dt>
          294 <dd>The pub is known by the name <i>"the pub"</i> during the game.</dd>
          295 </dl>
          296 
          297 <h2><a id="drugs">Basic configuration: drug prices</a></h2>
          298 <dl>
          299 <dt><b>NumDrug=<i>12</i></b></dt>
          300 <dd>Sets there to be <i>12</i> different types of drug in the game.</dd>
          301 
          302 <dt><b>Drug[<i>6</i>].Name=<i>"MDA"</i></b></dt>
          303 <dd>Sets the name of the <i>6th</i> drug to be <i>MDA</i>.</dd>
          304 
          305 <dt><b>Drug[<i>6</i>].MinPrice=<i>1500</i></b></dt>
          306 <dd>Sets the usual minimum price of the <i>6th</i> drug (in the absence of
          307 "special events" such as drug busts) to be <i>$1,500</i>.</dd>
          308 
          309 <dt><b>Drug[<i>6</i>].MaxPrice=<i>4400</i></b></dt>
          310 <dd>Sets the usual maximum price of drug number <i>6</i> to be
          311 <i>$4,400</i>.</dd>
          312 
          313 <dt><b>Drug[<i>1</i>].Cheap=<i>TRUE</i></b></dt>
          314 <dd>Tells dopewars that drug <i>1</i> (by default, Acid) can occasionally
          315 be especially cheap (if this is set to FALSE, this does not happen).</dd>
          316 
          317 <dt><b>Drug[<i>1</i>].CheapStr=<i>"The market is flooded with cheap
          318 home-made acid!"</i></b></dt>
          319 <dd>Sets the message to display to alert players that drug number <i>1</i>
          320 is especially cheap.</dd>
          321 
          322 <dt><b>Drugs.CheapDivide=<i>4</i></b></dt>
          323 <dd>Tells dopewars that whenever a drug is "specially" cheap, divide the 
          324 normal price distribution (between Drug[x].MinPrice and Drug[x].MaxPrice) by
          325 <i>4</i>.</dd>
          326 
          327 <dt><b>Drug[<i>4</i>].Expensive=<i>TRUE</i></b></dt>
          328 <dd>Tells dopewars that drug <i>4</i> (normally Heroin) can occasionally be
          329 particuarly expensive (FALSE cancels this).</dd>
          330 
          331 <dt><b>Drugs.ExpensiveStr1=<i>"Cops made a big %tde bust! Prices are
          332 outrageous!"</i></b></dt>
          333 <dd>Sets the string that is displayed when <b>any</b> drug is particularly
          334 expensive. This is similar to a standard C-style format string - i.e. the
          335 %tde is replaced by the name of the drug which is expensive. (See the
          336 <a href="i18n.html">Internationalization page</a> for further information
          337 on this notation.) This string is displayed 50% of the time for expensive
          338 drugs.</dd>
          339 
          340 <dt><b>Drugs.ExpensiveStr2=<i>"Addicts are buying %tde at ridiculous
          341 prices!"</i></b></dt>
          342 <dd>Sets the string which is used for expensive drugs the other 50% of the 
          343 time.</dd>
          344 
          345 <dt><b>Drugs.ExpensiveMultiply=<i>4</i></b></dt>
          346 <dd>Tells dopewars that whenever a drug is "specially" expensive, multiply the
          347 normal price distribution (between Drug[x].MinPrice and Drug[x].MaxPrice) by
          348 <i>4</i>.</dd>
          349 </dl>
          350 
          351 <h2><a id="combat">Basic configuration: guns and fighting</a></h2>
          352 <dl>
          353 <dt><b>NumGun=<i>4</i></b></dt>
          354 <dd>Configures the game to have <i>4</i> guns available to players at the
          355 gun shop. (If you set this to zero, you will be unable to buy guns, you
          356 will never be attacked by the cops, and you will be unable to shoot at other
          357 players.)</dd>
          358 
          359 <dt><b>Gun[<i>3</i>].Name=<i>"Ruger"</i></b></dt>
          360 <dd>Sets the name of the <i>3rd</i> gun to <i>Ruger</i>.</dd>
          361 
          362 <dt><b>Gun[<i>3</i>].Price=<i>2900</i></b></dt>
          363 <dd>Sets the price in the gun shop of the <i>3rd</i> gun to <i>$2,900</i>.
          364 Guns offered "on the street" (i.e. by random events) will be priced at 10%
          365 of the value set here.</dd>
          366 
          367 <dt><b>Gun[<i>3</i>].Space=<i>4</i></b></dt>
          368 <dd>Tells dopewars that gun number <i>3</i> uses <i>4</i> spaces in the 
          369 inventory - i.e. carrying one of these guns uses the same spaces as 4
          370 drugs.</dd>
          371 
          372 <dt><b>Gun[<i>3</i>].Damage=<i>4</i></b></dt>
          373 <dd>Defines gun number <i>3</i> to do up to <i>4</i> points of damage.</dd>
          374 
          375 <dt><b>PlayerArmor=<i>100</i></b> or <b>PlayerArmour=<i>100</i></b></dt>
          376 <dd>Sets the percentage armor rating of each player to <i>100</i> - this
          377 defines the amount of health that you lose when you are successfully hit.
          378 If 100, you lose the same number of health points as the gun's damage.
          379 If more than 100, you lose fewer health points, and if less than 100, you lose
          380 <b>more</b> health points than the gun's damage. This rating applies only
          381 when you have no bitches.</dd>
          382 
          383 <dt><b>BitchArmor=<i>50</i></b> or <b>BitchArmour=<i>50</i></b></dt>
          384 <dd>Sets the percentage armor rating of each bitch to <i>50</i>.</dd>
          385 
          386 <dt><b>NumCop=<i>3</i></b></dt>
          387 <dd>Configures the game to have <i>3</i> cops. If you kill the first one, you
          388 will later be attacked by the second one, and so on. (The last cop is 'undead'
          389 and will return even if you kill him.) If you set this to zero, then you
          390 will never be attacked by the cops.</dd>
          391 
          392 <dt><b>Cop[<i>1</i>].Name=<i>Officer Hardass</i></b></dt>
          393 <dd>Names the first cop to attack you <i>"Officer Hardass"</i>.</dd>
          394 
          395 <dt><b>Cop[<i>1</i>].DeputyName=<i>deputy</i></b></dt>
          396 <dd>Names a solitary deputy accompanying the first cop <i>"deputy"</i>.</dd>
          397 
          398 <dt><b>Cop[<i>1</i>].DeputiesName=<i>deputies</i></b></dt>
          399 <dd>Names more than one deputy accompanying the first cop
          400 <i>"deputies"</i>.</dd>
          401 
          402 <dt><b>Cop[<i>1</i>].Armor=<i>4</i></b> or <b>Cop[<i>1</i>].Armour=<i>4</i></b></dt>
          403 <dd>Sets the armor rating of the first cop to <i>4%</i>.</dd>
          404 
          405 <dt><b>Cop[<i>1</i>].DeputyArmor=<i>3</i></b> or <b>Cop[<i>1</i>].DeputyArmour=<i>3</i></b></dt>
          406 <dd>Sets the armor rating of the first cop's deputies to <i>3%</i>.</dd>
          407 
          408 <dt><b>Cop[<i>1</i>].AttackPenalty=<i>30</i></b></dt>
          409 <dd>When attacking another player, whether you successfully hit them depends
          410 on whether your attack rating is greater than their defence rating, which are
          411 generally numbers between 0 and 100 (think of them as percentages). This
          412 penalises the first cop (and his deputies) by <i>30%</i> when attacking
          413 you.</dd>
          414 
          415 <dt><b>Cop[<i>1</i>].DefendPenalty=<i>30</i></b></dt>
          416 <dd>Penalises the first cop (and his deputies) by <i>30%</i> when defending
          417 against a player.</dd>
          418 
          419 <dt><b>Cop[<i>1</i>].MinDeputies=<i>2</i></b></dt>
          420 <dd>The first cop will be accompanied by a minimum of <i>2</i> deputies.</dd>
          421 
          422 <dt><b>Cop[<i>1</i>].MaxDeputies=<i>8</i></b></dt>
          423 <dd>The first cop will be accompanied by a maximum of <i>8</i> deputies.</dd>
          424 
          425 <dt><b>Cop[<i>1</i>].GunIndex=<i>0</i></b></dt>
          426 <dd>The first cop, and his deputies, will carry gun number <i>0</i>
          427 (zero-based).</dd>
          428 
          429 <dt><b>Cop[<i>1</i>].CopGun=<i>1</i></b></dt>
          430 <dd>The first cop will carry <i>1</i> gun.</dd>
          431 
          432 <dt><b>Cop[<i>1</i>].DeputyGun=<i>1</i></b></dt>
          433 <dd>The first cop's deputies will each carry <i>1</i> gun.</dd>
          434 </dl>
          435 
          436 <h2><a id="advanced">Advanced configuration</a></h2>
          437 <dl>
          438 <dt><b>DebtInterest=<i>10</i></b></dt>
          439 <dd>Increases your debt to the loan shark by <i>10%</i> every turn. Negative
          440 numbers can also be used here, to have the debt shrink every day.</dd>
          441 
          442 <dt><b>BankInterest=<i>5</i></b></dt>
          443 <dd>Adds interest at a rate of <i>5%</i> per turn to your bank balance.
          444 </dd>
          445 
          446 <dt><b>Currrency.Symbol=<i>$</i></b></dt>
          447 <dd>Uses the dollar (<i>$</i>) symbol to display all prices of drugs, guns,
          448 etc.</dd>
          449 
          450 <dt><b>Currrency.Prefix=<i>TRUE</i></b></dt>
          451 <dd>Prints Currency.Symbol in front of any price - e.g. "$1,000"; if
          452 FALSE, prints it after the price - e.g. "1,000 $".</dd>
          453 
          454 <dt><b>Log.File=<i>dopewars.log</i></b></dt>
          455 <dd>By default, server log messages are printed to the screen (standard
          456 output). By setting this variable, they will instead be written to the file
          457 <i>dopewars.log</i>.</dd>
          458 
          459 <dt><b>Log.Level=<i>2</i></b></dt>
          460 <dd>Most server log messages are given a priority level, from 0 (most urgent)
          461 to 5 (most verbose). This setting instructs the server only to log messages
          462 from level 0 up to <i>2</i>, inclusive.</dd>
          463 
          464 <dt><b>Log.Timestamp=<i>"[%H:%M:%S] "</i></b></dt>
          465 <dd>Prefixes all log messages with a timestamp of the form (e.g.)
          466 <i>[16:34:49]</i>. This is a string which is passed as input to the
          467 <tt>strftime(3)</tt> function. If this is set to a blank string, then no
          468 timestamp is added to log messages.</dd>
          469 
          470 <dt><b>NumTurns=<i>31</i></b></dt>
          471 <dd>Defines the game to end after <i>31</i> "days" or turns. If this is set
          472 to 0 (zero) the game never ends for a player, unless they quit or are
          473 killed.</dd>
          474 
          475 <dt><b>Sanitized=<i>FALSE</i></b></dt>
          476 <dd>If set to TRUE, this "sanitizes" the game by removing all drug references
          477 from the random events. To completely remove drug references, of course, you
          478 must also alter the drug names above.</dd>
          479 
          480 <dt><b>DrugSortMethod=<i>1</i></b></dt>
          481 <dd>Tells the dopewars client how to sort the names of available drugs at
          482 each location for display. The default, <i>1</i>, sorts them in alphabetical
          483 order by their names. The choices are as follows:-
          484 <ul>
          485 <li><b>1</b>. Sort in forward alphabetical order by name</li>
          486 <li><b>2</b>. Sort in reverse alphabetical order by name</li>
          487 <li><b>3</b>. Sort in order of current price, cheapest first</li>
          488 <li><b>4</b>. Sort in order of current price, most expensive first</li>
          489 </ul>
          490 </dd>
          491 
          492 <dt><b>FightTimeout=<i>5</i></b></dt>
          493 <dd>If a player in a firefight with another player fails to fire back
          494 within <i>5</i> seconds, lets his/her enemy have another shot. If this
          495 is set to 0 (zero) timeouts are disabled, and players may take as long
          496 as they like to fire back.</dd>
          497 
          498 <dt><b>IdleTimeout=<i>14400</i></b></dt>
          499 <dd>If a connected player in a game does nothing to interact with the
          500 server for <i>14400</i> seconds, he/she will be automatically disconnected.</dd>
          501 
          502 <dt><b>ConnectTimeout=<i>300</i></b></dt>
          503 <dd>If a player takes more than <i>300</i> seconds to complete the process
          504 of connecting or disconnecting to the server, the server will sever the
          505 connection.</dd>
          506 
          507 <dt><a id="MaxClients"><b>MaxClients=<i>20</i></b></a></dt>
          508 <dd>Prevents more than <i>20</i> clients from connecting to the server at
          509 any one time.</dd>
          510 
          511 <dt><a id="AITurnPause"><b>AITurnPause=<i>5</i></b></a></dt>
          512 <dd>Makes computer-controlled client players run from this machine (not
          513 necessarily AI players that connect to a server run on this machine) wait
          514 <i>5</i> seconds between moving from location to location - i.e. a turn
          515 takes at least 5 seconds.</dd>
          516 
          517 <dt><b>StartCash=<i>2000</i></b></dt>
          518 <dd>Each player will start the game with <i>$2,000</i> in cash.</dd>
          519 
          520 <dt><b>StartDebt=<i>5000</i></b></dt>
          521 <dd>Each player will start the game with a debt to the loan shark of
          522 <i>$5,000</i>.</dd>
          523 
          524 <dt><b>Names.Bitch=<i>"bitch"</i></b></dt>
          525 <dd>Sets the word used to describe a single "bitch" in the game. Bitch, gun
          526 and drug names are automatically capitalised where necessary by the dopewars
          527 code.</dd>
          528 
          529 <dt><b>Names.Bitches=<i>"bitches"</i></b></dt>
          530 <dd>Sets the word used to describe two or more "bitches".</dd>
          531 
          532 <dt><b>Names.Gun=<i>"gun"</i></b></dt>
          533 <dd>Sets the word used to describe a single "gun" (for example, it could be
          534 replaced by "knife").</dd>
          535 
          536 <dt><b>Names.Guns=<i>"guns"</i></b></dt>
          537 <dd>Sets the word used to describe two or more "guns".</dd>
          538 
          539 <dt><b>Names.Drug=<i>"drug"</i></b></dt>
          540 <dd>Sets the word used to describe a single "drug" (for example, it could be
          541 replaced by "candy bar" or something similarly innocuous).</dd>
          542 
          543 <dt><b>Names.Drugs=<i>"drugs"</i></b></dt>
          544 <dd>Sets the word used to describe two or more "drugs".</dd>
          545 
          546 <dt><b>Names.Date=<i>"%m-%d-%Y"</i></b></dt>
          547 <dd>Sets the format string (which is passed to the strftime() function) for
          548 displaying the current game date. This example (the default) displays the
          549 date in MM-DD-YYYY format, as is commonplace in the US. Only date (not time)
          550 formats can be used, and the special format %T is used to display the
          551 current game turn.</dd>
          552 
          553 <dt><b>StartDate.Day=<i>"1"</i></b></dt>
          554 <dd>Sets the day of the month on which the game starts to <i>1</i>.</dd>
          555 
          556 <dt><b>StartDate.Month=<i>"12"</i></b></dt>
          557 <dd>Sets the month in which the game starts to <i>12</i> (i.e. December).</dd>
          558 
          559 <dt><b>StartDate.Year=<i>"1984"</i></b></dt>
          560 <dd>Sets the year in which the game starts to <i>1984</i>.</dd>
          561 
          562 <dt><b>Prices.Spy=<i>20000</i></b></dt>
          563 <dd>Sets the price to pay a bitch to spy on another player to be
          564 <i>$20,000</i>.</dd>
          565 
          566 <dt><b>Prices.Tipoff=<i>10000</i></b></dt>
          567 <dd>Sets the price to pay a bitch to tip off the cops to another player to be
          568 <i>$10,000</i>.</dd>
          569 
          570 <dt><b>Bitch.MinPrice=<i>50000</i></b></dt>
          571 <dd>Sets the minimum price for a bitch at the Rough Pub to be <i>$50,000</i>.
          572 Note that prices for bitches "on the street" (i.e. those that are offered
          573 by random events) are produced by dividing the normal bitch price
          574 distribution by 10.</dd>
          575 
          576 <dt><b>Bitch.MaxPrice=<i>150000</i></b></dt>
          577 <dd>Sets the maximum price for a bitch to <i>$150,000</i>.</dd>
          578 
          579 <dt><b>SubwaySaying= <i>{ "First saying", "Second saying",
          580 "Third saying" }</i></b></dt>
          581 <dd>Sets the list of things which the lady you sometimes meet on the subway 
          582 says to you; one of <i>"First saying"</i>, <i>"Second saying"</i> and
          583 <i>"Third saying"</i> will be displayed each time. Any previous sayings will
          584 be erased. Note that individual sayings can be overwritten by appending an
          585 array suffix to the variable name - for example, to replace
          586 <i>"Third saying"</i> with <i>"3rd saying"</i> the following command would
          587 suffice:-<br />
          588 <b>SubwaySaying[3]="3rd saying"</b></dd>
          589 
          590 <dt><b>NumSubwaySaying=<i>5</i></b></dt>
          591 <dd>Sets there to be <i>5</i> distinct things that the lady on the subway
          592 says to you. If this number is greater than the old number of sayings, the
          593 newly added sayings will be blank; if it is smaller, the sayings that are now
          594 beyond the end of the list will be deleted. If set to zero, the lady will
          595 be mercifully silent.</dd>
          596 
          597 <dt><b>Playing= <i>{ "Song 1", "Song 2", "Song 3" }</i></b></dt>
          598 <dd>Sets the list of things which you can sometimes hear playing while
          599 jetting; one of <i>"Song 1"</i>, <i>"Song 2"</i> or <i>"Song 3"</i> will be
          600 displayed. See the help for <b>SubwaySaying</b> for more details.</dd>
          601 
          602 <dt><b>NumPlaying=<i>4</i></b></dt>
          603 <dd>Sets there to be <i>4</i> distinct things which you can sometimes hear
          604 playing. (Set this to zero to disable this feature.)</dd>
          605 
          606 <dt><b>StoppedTo= <i>{ "have a beer", "smoke a joint", "smoke a cigar",
          607 "smoke a Djarum", "smoke a cigarette" }</i></b></dt>
          608 <dd>Sets the list of things which you sometimes stop to do while jetting;
          609 see <b>SubwaySaying</b> for more details. (Set this to zero to disable this
          610 feature.)</dd>
          611 
          612 <dt><b>NumStoppedTo=<i>5</i></b></dt>
          613 <dd>Sets there to be <i>5</i> distinct things which you can stop to do.</dd>
          614 
          615 <dt><b>DrugValue=<i>TRUE</i></b></dt>
          616 <dd>If TRUE, then the server will keep track of the price you paid for
          617 any drugs, and clients will display this information if available.</dd>
          618 
          619 <dt><b>Sounds.FightHit=<i>"hit.wav"</i></b></dt>
          620 <dd>Plays the sound file <i>"hit.wav"</i> when you fire a gun and hit your
          621 target. The sound must be installed on your system, and you must be using
          622 a functioning sound system, in order to hear anything. Other sounds that
          623 can be configured in the same way are: <b>FightMiss</b>, <b>FightReload</b>,
          624 <b>Jet</b>, <b>TalkToAll</b>, <b>TalkPrivate</b>, <b>JoinGame</b>, and
          625 <b>LeaveGame</b>.</dd>
          626 
          627 </dl>
          628 
          629 <h2><a id="commands">Special configuration file commands</a></h2>
          630 <dl>
          631 <dt><b>include <i>"foo"</i></b></dt>
          632 <dd>Reads in the additional configuration file, <i>"foo"</i>.</dd>
          633 
          634 <dt><b>encoding <i>"UTF-8"</i></b></dt>
          635 <dd>Specifies that any text following this directive (in this configuration
          636 file only) is in <i>"UTF-8"</i> encoding. This directive is only supported
          637 if dopewars is built on a Unix system and linked against GLib version 2.
          638 If unspecifed, then it will be assumed that your configuration files are
          639 in the locale's default encoding - e.g. ISO-8859-1 for C or POSIX locales,
          640 ISO-8859-2 for pl_PL, ISO-8859-15 for es_ES@euro, or UTF-8 for en_GB.UTF-8.</dd>
          641 
          642 </dl>
          643 
          644 <hr />
          645 <ul>
          646 <li><a href="index.html">Main index</a></li>
          647 </ul>
          648 <p>
          649   Last update: <b>11-08-2002</b><br />
          650   Valid <a href="http://validator.w3.org/check/referer">XHTML 1.1</a>
          651 </p>
          652 </body>
          653 </html>