----------
 ZDAEMON	(v1.00)
----------

---------------------------------------------------------

A client/server port for playing DOOM and DOOM II online

---------------------------------------------------------

CONTENTS

A) introduction
B) requirements
C) installation
D) playing zdaemon
    1. win32 launcher
    2. linux launcher
    3. online server lists
E) using the client
    1. options
    2. player setup
    3. quit
    4. the console
F) hosting a game
G) additional files
H) credits

===========================

[A] INTRODUCTION

ZDaemon is based on the ZDoom (v1.22) Win32/Linux DOOM port and is a continuation of
the csDoom project. It's released under the GNU General Public License and is being
developed by NightFang.

Email: nightfang@truelights.com

Official web site: http://www.truelights.com/

If you want the latest news about ZDaemon you can also visit: http://www.doom2.org/

On IRC you can visit #csdoom on EFnet: http://www.efnet.org/ (on www.doom2.org there is
a Java applet that you may use to join the channel, look for the "EFnet Chat" link).

===========================

[B] REQUIREMENTS

To run ZDaemon you need some sort of Internet connection (a modem connection will do)
and a Pentium processor or better. You need a copy of either DOOM II (the most widely
used), Ultimate DOOM, or Final DOOM. The shareware version of DOOM will work too,
though you'll hardly ever find a public server running it. ZDaemon specifically
requires one of the DOOM iWADs (main *.wad files); doom2.wad, etc. The iWADs must be
version 1.9. You must upgrade yours with a patch (found at http://www.idsofware.com, or
any major DOOM website) if its an older version.

ZDaemon for Linux requires Hermes. You can get it here: http://clanlib.org/hermes/

===========================

[C] INSTALLATION

Unpack the ZDaemon files in the directory where you have your DOOM files. You can also
place them in a separate directory if you find this convenient. In this case be sure to
read about launcher Settings and how to define the directories your launcher should look
for DOOM files in (see section D).

The Linux version includes an installation script (Zinstall.sh) which will install the
files as shown below. If you want to change this then edit the file.

zdaemon /usr/local/bin
Zserv /usr/local/bin            
zdaemon.wad /usr/local/share/zdoom
gzdl /usr/local/bin
zinfo /usr/local/bin
zspy /usr/local/bin
libzdoom-svgalib.so /usr/local/lib
libzdoom-x.so /usr/local/lib

The Linux launcher also requires configuration. You must define the DOOM and ZDaemon file
locations (see section D).

===========================

[D] PLAYING ZDAEMON

The easiest way to join a game is through the launcher. The Win32 and Linux versions of
ZDaemon each have a launcher. Their use is explained below. There is also online server
lists that may be helpful for joining a game.

1) Win32 launcher (zlauncher.exe)

The launcher's largest window shows the list of available servers and gives the name of
each (Name), the number of players presently playing on the server (Players), the number
of players allowed by the server (Max), the game you need to join (Game), the map being
played at the moment (Map), any additional files required by the server (Files), and
finally a measure of how good your connection to that server will be (Ping).

If this Server window does not show any info make sure you're connected to the web, and
press the "Refresh Master List" button at the lower end of launcher. This should help.

To launch a game all you need to do is select one of the server names and click the
"Launch" button at the lower left corner of the launcher. If you have the required files
the game will start immediately. You can also launch a game using the Server menu.

Refreshing: Beside the "Launch" button are two more (Refresh Server and Refresh Master
List). The 1st will give fresh info about a selected server, the 2nd will query the
Master Server for new information about all the servers running. Refreshing individual
servers can also be done through the Server menu.

Note that when you select a server the window on the lower left (Server Information) will
show details about the server:
- Whether its a cooperative, deathmatch or team deathmatch game (Gametype)
- The difficulty setting (Skill)
- The location of any additional files (File Location). When you double-click "File
  Location" the launcher should pick up your browser and take you to the required files.
  If this does not work simply launch your browser manually and copy and paste the URLs
  given. The Server menu also allows you to call your browser like the "File Location"
  link
- The email address of the server administrator (Admin Email). You can email this person
  if you'd like to play certain pWADs or games, or if your having any problems joining or
  playing on that server. "Admin Email" also acts like an email link, and the Server
  menu can be used as well. 
- Whether or not your DOOM character can jump (Allow Jump)
- Whether or not you can manually look up and down (Allow Free Look)
- Whether or not weapons stay once picked up by a player (as opposed to disappearing and
  then respawning later)

If you want even more detailed info about the server and its settings choose "Detailed
Server Information" in the Server menu once you've selected a server.

There's another window in the lower right corner. If you select a server (in the main
window), and if anyone is playing in that server, the names of the players will show up
here, along with how well they're doing in the game (Frags), and how good their connection
to the server is (Ping).

Settings: This menu allows you to add command line parameters (Extra ZDaemon Parameters),
though this is usually unnecessary since the server will automatically tell your client
what parameters to set. More importantly it allows you to specify directories in which
ZDaemon will search for DOOM files (Directory settings), either iWADs, additional files,
or both. Just type the location in the buffer and press the "Add" button, or select a
location and press "Remove" to get rid of it.

To quit the launcher press "Exit" in the lower right corner of the launcher or select it
in the File menu.

2) Online server lists 

===========================

[E] USING THE CLIENT

The file zdaemon.exe (or just zdaemon for Linux) is the client through which you play on
a server. It is launched automatically by the launcher when you choose "Launch". Or, if
you click on it, it will open a console with DOOM's titlepic on the background. The client
is able to connect and will work by itself, but the launcher makes everything much easier.

If you press escape DOOM's usual menu will appear. Its first three choices (New Game, Load
Game and Save Game) are disabled. The other three can be used as shown below.

Once you have familiarized yourself with the menu you may check command.txt, where you may
find additional commands you may use on the command-line (for launching the client) or the
console (used mostly during play). But knowing these commands isn't really necessary to
play. They are there for the more advanced users or for exceptional circumstances.

1) Options

Unless an item requires input (like the controls), use the left and right arrow keys to
select from the available choices. The Options menu includes the following items:

- ZDaemon Options: Here you may choose to disable skins (you will see everyone as the
  DOOM marine instead of seeing the skins they might have chosen). Do this if, for any
  reason, the skins bother you.

- Customize Controls: You may assign up to two keys/buttons to each control. Move the cursor
  up and down using the arrow keys. To select a new key press Enter and then the chosen key.
  Press Backspace if you want to erase the chosen keys. If you press Enter but change your
  mind press Escape, and nothing will be changed for that control.
	= Attack: the player will fire weapons or strike at opponents
	* Next Weapon: will switch to the next of the eight possible weapons
	= Previous Weapon: will switch to a lesser weapon from the eight possible weapons
	* Use/Open: will open doors, or activate platforms or switches
	= Jump: the player will jump up
	* Walk Forward: the player will move forward
	= Backpedal: the player will step back
	* Turn Left: the player will rotate towards his left side
	= Turn Right: the player will rotate towards his right side
	* Run: the player will move fast
	= Step Left: the player will shift to the left
	* Step Right: the player will shift to the right
	= Sidestep: will shift the player to the left/right if used with Turn Left/Right
	* Look Up: the player will look up
	= Look Down: the player will look down
	* Center View: the players view will return to the normal position
	= Mouselook: the player will look up/down if the mouse is moved forward/back
	* Keyboard Look: the player will look up/down if used with Walk Forward/Backpedal
	= Toggle Map: the players view will be replaced by the automap screen, and vise
	  versa
	* Chasecam: this doesn't do anything

- Gameplay Options: These options are set by the server. Items followed by (DM) apply
  only to deathmatch games.
	= Falling Damage: this doesn't do anything
	* Weapons Stay (DM): if YES, weapons will stay on the map but can only be picked
	   up once (like in -deathmatch), if NO, weapons respawn some time after they're
	   picked up by a player (like in -altdeath)
	= Allow Powerups: if YES, powerups will be placed on the map, if NO, these won't
	   be present
	* Allow Health: if YES, medikits, stimpacks and health potions will be placed on
	   the map, if NO, they won't
	= Allow Armor: if YES, armors and armor bonuses will be placed on the map, if
	   NO, they won't
	* Spawn Farthest: if YES, players will be spawned as far as possible from their
	   opponent players, if NO, spawning will be normal
	= Same Map: if YES, play will start on the same map after a game ends, if NO,
	   the map will be the next in the game's usual sequence
	* Force Respawn: if YES, players will respawn instantly after being killed, if
	   NO, they'll respawn when they hit the Open/Use key
	= Allow Exit: if YES, players can exit the map normally, if NO, they will die
	   horribly if they try to exit
	* Infinite Ammo: if YES, players don't use up ammo when they shoot
	= No Monsters: if YES, monsters won't show up in the map
	* Monster Respawn: if YES, monsters will respawn shortly after dying, if NO,
	   they will stay dead
	= Items Respawn: if YES, powerups and bonuses respawn shortly after being picked
	   up, if NO, they don't
	* Fast Monsters: if YES, monsters will attack more frequently, and their attacks
	   will be faster
	= Allow Jump: if YES, players can jump up by hitting a key/button
	* Allow Freelook: if YES, players can look up and down
	= Friendly Fire: if YES, players won't be able to hurt each other in cooperative
	   mode or if they are in the same team in deathmatch
	* Teamplay (DM): if YES, all players will belong to one of two opposing teams, if
	   NO, the game will be the usual free-for-all deathmatch

- Display Options: This group of options allow you to alter the way you view the game.
	= Messages: Takes you to the Messages menu, which deals with the way messages are
	   viewed.
		 Scale Text In High Res: if ON, messages will not look smaller if you set
		   a high resolution mode
		+ Minimum Message Level: lets you decide whether or not to display certain
		   types of messages
		 Message Colors: lets you choose the color of each message type or level:
			- Item Pickup: DOOM's standard messages, appearing when the player
			   picks up an item or when he needs a key
			- Obituaries: these are shown when a player dies
			- Critical Messages: these appear when a player joins or leaves a
			   game
			- Chat Messages: these are sent by communicating players
			- Team Messages: as Chat Messages, but are received only by team
			   members
			- Centered Messages: these appear in the middle of the screen,
			   like the one telling the player he's found a secret area
	* Screen Size: allows you to decrease or increase the size of the display view
	= Brightness: the equivalent of DOOM's gamma correction; it lets you increase the
	   brightness of the display in case it's too dark (or you are playing in a
	   brightly lit room)
	* Crosshair: lets you set one of a few aiming crosshairs; rather redundant, as in
	   DOOM there is no need to aim up or down
	= Column Render Mode: changes the way graphics are rendered; the optimized mode
	   will increase the performance of the display on high resolutions
	* Detail Mode: similar to DOOM's detail modes, use this if your computer has a
	   hard time running ZDaemon; horizontal doubling of pixels is usually more
	   effective than vertical doubling
	= Stretch Short Skies: this option makes sky graphics taller (and wider); set this
	   ON if you use freelook (your player can look up and down), set it OFF if you
	   don't
	* Stretch Status Bar: if ON, the DOOM status bar won't look smaller when you set
	   a high resolution mode
	= Screen Wipe Style: lets you set the way the screen will change when switching
	   from one map to the next; Melt is DOOM's standard style
	* Direct Draw Palette Hack: in case colors get garbled often this refreshes the
	   palette more often; you might as well upgrade or reinstall your video drivers
	   instead; it works on Win32 only
	= Use Fuzz Effect: if set to YES, spectres and partially invisible players will
	   show up as in DOOM, if set to NO they will be translucent
	* Rocket Trails: if set ON, rockets will leave smoke trails as the fly
	= Blood Type: this doesn't do anything
	* Bullet Puff Type: this doesn't do anything
	= Rotate Automap: if ON, the player marker in automap mode will always point to
	   the top of the screen, while the map rotates around it, if OFF, the player
	   marker will move and the map will always be in a fixed position
	* Overlay Automap: setting this ON will add an additional automap mode during play
	   allowing the player to see the map over the players normal view
	= Standard Map Colors: if YES, the automap will only use the colors normally used
	   in DOOM

- Set Video Modes: The options in this section will alter the screen resolution mode.
	= Screen Mode: this doesn't do anything
	* Fullscreen: if YES the game will run on full screen mode, if NO, it will run on
	   a window
	= Resolution Modes (320x200, etc.): you may select a resolution mode by using the
	   arrow keys, and may choose a selected one by pressing Enter; press T instead of
	   Enter if you just want to test it, or press D if you want to set
	   the resolution as your default (this means ZDaemon will also run at this
	   resolution the next time you play)

- Mouse Speed: This will change the sensitivity of your mouse, lower speed will give you
  more precision, but higher speed will give you more agility.

- Midi Music Volume: Adjusts the volume of ZDaemon's standard music.

- Mod Music Volume: Adjusts the volume of ZDaemon's music when playing on a map that
  includes music in MOD format.

- Sound Volume: Adjusts the volume of ZDaemon's sound effects.

- Always Run: If ON, the player will run even if the Run key isn't being pressed.

- Always Mouselook: If ON, the player will look up and down even if the Mouselook key
  isn't being pressed.

- Invert Mouse: If OFF, the player will look up if the mouse is moved forward, and down if
  it's moved backward, if ON, this is reversed.

- Lookspring: This doesn't do anything.

- Lookstrafe: If ON, the player will move instead of turn left or right when the mouse is
  moved to a side.

2) Player Setup

This menu allows you to modify your doomguy's appearance or traits so he (you) will be
easier to distinguish in the game.

- Name: This is the player's name, that will be shown during play when he is referred to
  by the server or when he sends a chat message. Press Enter to activate the buffer, type
  a player name, and press Enter again to set it.

- Team: This tells you what team you belong to. Let the server fill this in.

- Color (red, green and blue): Set the three colors at certain values to generate a
  desired player color.
	= Red: This is the amount of red hue used to define your player color.
	* Green: This is the amount of green hue used to define your player color.
	= Blue: This is the amount of blue hue used to define your player color.

- Gender: The player's gender may be Male, Female, or Neuter.

- Skin: This will change how you player looks. What skins are
  avaiable always depends on what the server offers, the standard DOOM marine skin is
  always an option, though. to choose a skin use the Right/Left cursor keys. Also, be
  sure that only the skin pWADs required by the server are in your Skins directory,
  because any skins not required will show up for a second if they are loaded on your
  client (which loads all skin files in the Skins directory), and they will only confuse
  you.

- Autoaim: This doesn't do anything.

3) Quit

This is for the silly people that want to leave the game for some strange reason.

4) The Console

You can always use the Tilde (~) key (or whatever the key on the upper left corner of the
main set of keys on your keyboard is) to bing down the console. You can type in commands
and variables in the prompt, and use Pg Up and Pg Down to navigate the buffer. You can
type only part of a command and then complete it by hitting Tab; if you keep hitting Tab
the prompt will cycle through all the commands starting with the letters you initially
typed. To leave the console use the Tilde key or hit Escape.

===========================

[F] HOSTING A GAME

ZDaemon servers are run through zserver.exe (Zserv for Linux). Before starting up a
server you have to edit a file called zserver.cfg, or the server executable won't run.
This file includes entries for the basic configuration variables needed to run a server.

You should familiarize yourself with DMFlags, as well as the following server-based
commands (in addition to the ones that appear in zserver.cfg): addmap, deathmatch, master
rcon_password and teamplay

The commands listed above are best placed in a file (coop.cfg is an example) which is
executed from the command-line with the +exec command.

The following command-line parameters are also important: -bg, +exec, -file, -iwad,
-maxclients, -maxplayers, -port, -skill and -warp.

They follow the server executable's name in the command-line (or maybe short cut, batch
file or executable file).

All the commands and parameters are explained in command.txt, along with DMFlags. Note
that commands have a default setting, so often it isn't necessary to include them.

Here goes a server-launching example:

Zserv -iwad d:\doom\doom2.wad -file d:\pwads\arena01.wad -maxplayers 8 +exec arena.cfg

The file arena.cfg could include:

//CFG file for running arena01.wad
teamplay 1
rcon_password yomomma
addmap map02
addmap map01

If you are running a server in Cooperative mode, be sure to check how many player starts
the map you chose for it has, because -maxplayers cannot exceed the number of starts (or
the server may crash if the number of players that attempt to join the game is greater
than the number of player starts).

If you want to allow players to use skins on your server you must load the skin pWADs
you'd like to include. You can place them in a /skins directory, this will load them
automatically. On the other hand, it may be better to simply add the pWAD normally with
the -file parameter after any other pWADs you wish to load. In this case the skins will
be loaded over the map pWAD, which will not overwrite any sounds in the skins pWAD, and
the player will be aware that the skins pWAD is loaded.

When a server is launched it will create a window with a console. On this console you
can see when players join or part the game, their chat strings when they communicate, and
their obituaries (when they die), as well as any error messages that apply to the server.
From the console you can execute any of the following commands:

addban <IP> <reason>
  Bans an IP address from the server. The IP is the offending client's IP. Wildcards
  may be used for the IP address (some IPs change each time the user connects to the
  internet). The reason is any text the server admin wishes to add, it will be displayed
  if a client using the banned IP tries to connect to the server. The file sv_bans.txt
  stores any bans added.
See also: players, kick

floodrate <rate>
  Puts a limit to how many bytes a server can read from a client per second, as a defense
  against possible flooding by mischevous players. The default setting is 1000, which
  should be good enough under most circumstances. The lower the rate, the more strict the
  protection. If a client exceeds this rate, it is kicked from the server.

kick <#> <reason>
  Kicks a player off the server with a kick message. The player is identified by a number
  (use "players" to know the #). The message is displayed when the kick is executed.
See also: addban, players

players
  Lists the clients using the server. Each is given a number (#) which is used when
  kicking a player, the corresponding IP address (which comes in handy if the admin wishes
  to ban a player), and the player name being used by that client.

quit
  Terminates the server application.

say <message>
  Sends a message to the clients on the server allowing the admin to chat with the
  players. The messages received are from "[console]".

===========================

[G] ADITIONAL FILES

* YartZ, in turn, produced a DMFlag calculator for Win32.

http://mbnet.fi/yartz/ddmfc11.zip

* Eugene Bondarchenko (bond) developed an advanced Win32 launcher for ZDaemon.

http://nfdfn.jinr.ru/~bond/csdoom/azdl.zip

* You can use deth's QCheck script to tell other people on IRC you are playing ZDaemon,
  if you use mIRC or an IRC client that supports mIRC scripts.

http://www.planetquake.com/qcheck/

* You can always find any additional ZDaemon applications and add-ons here:

http://www.doom2.org/files
http://www.doom2.org/download.php

===========================

[H] CREDITS


* Sean "NightFang" White: Coding and development (http://www.truelights.com/)

* Slayer: News, testing, Linux binaries, and FAQ (http://www.doom2.org/)

* RvB: Linux launcher and testing (http://rvb-net.yi.org/)

* Myk Helnyte (racoon): Text files and testing (http://slayer1.dhs.org/~racoon/)

* Kaotik Funk: phpZDaemon (http://www.doom2.org/)

* Id software: DOOM (http://www.idsoftware.com/)

* Randy Heit: ZDoom (http://zdoom.notgod.com/)

* ZDaemon players: Bug reports and having fun

===========================
 
If anything in this file is not clear (or you think there is an error somewhere) please
email me at: myk@doom.zzn.com

  myk (6/2001)