quake/articles/1996/art-588
Path: mantis!not-for-mail
From: soft@iphthp.physik.uni-mainz.de (Johannes Plass)
Newsgroups: rec.games.computer.quake.announce
Subject: ANNOUNCE: ServerModules-2.5.6
Date: 7 Oct 1996 17:50:59 +0100
Organization: Johannes Gutenberg-Universität Mainz, Germany
Lines: 314
Sender: olly@mantis.co.uk
Approved: quake@mantis.co.uk
Message-ID: <536lmq$dcl@kralle.zdv.Uni-Mainz.DE>
Reply-To: plass@dipmza.physik.uni-mainz.de
-------------------------------------------------------------------------
The files
ServerModules-2.5.6.txt
ServerModules-2.5.6.zip
have been uploaded to ftp.cdrom.com and may be found in the directories
ftp://ftp.cdrom.com/pub/quake/newstuff/
ftp://ftp.cdrom.com/pub/quake/quakec/misc/
soon.
-------------------------------------------------------------------------
###### Overview:
----------------
ServerModules is a set of modularized QuakeC modifications.
The range of applicability is restricted to deathmatch games.
The modifications require an installation on the server only.
They are based on QuakeC version 1.06 and may be used by
1.01, 1.05a and 1.06 deathmatch servers.
-------------------------------------------------------------------------
###### Changes:
---------------
The following is an excerpt from _CHANGES:
=== version 2.5.6 (last version was 1.9.6)
# Added module 'Protect' which protects respawning players.
# Added module 'Random' which serves as a selective item randomizer.
# Added module 'Burn' which allows players to burn.
# Added module 'Shrapnel' which provides splintering missiles to be
shot by the rocket launcher.
# Added module 'WeldGun' which overrides the nailgun and spits small
blobs of fluid metal.
# Added module 'Drone' which provides shootable, bouncing homing
missiles.
# Removed module 'Telefrag' since its functionality is included
in Quake 1.06.
# Observer: Don't let server crash if teleport target is not found.
# ExitRules: Changed rules so that a single vote now suffices to exit
levels with no exit (dm1-dm6,end) once the exitrules-fraglimit is
reached.
[thanks to Robert Logan (rl@mungbean.dmu.ac.uk)]
# Exclude most monsters to gain compilation speed and space for
site-dependant add-ons.
# Init: by default this module is now disabled.
-------------------------------------------------------------------------
The following is an excerpt from _MANUAL:
###### Modules:
---------------
Module Burn:
Allows players to burn.
Players may start to burn if being bombarded by certain weapons,
including drones (see module Drone), the weldgun (see module
WeldGun) and shrapnel missiles (see module Shrapnel).
Three flavours of burning exist. The first causes little damage,
the third hurts significantly. A player burning mildly may
start to burn worse if hit again by incendiary ammunition.
Fire is extinguished automatically after a certain period of time
or if the burning player jumps into sufficiently deep water.
A burning player may infect other players in the vicinity.
Module Drone:
Provides homing missiles to be shot by the grenade launcher.
Drones search for targets once every second, preferring those
which are most easily reached.
To find potential targets hidden behind corners launched drones
first fly on a straight trajectory for about one second, then
start to adjust their velocity as required to reach the target.
A Drone will target its owner if better target can not be found.
Flying drones can be shot down, most easily with the shotgun
or by nearby explosions.
A player can only have four drones in air simultaneously.
Launching a fifth one causes the self destruction of an older
drone.
Golden keys of targeted players are lit to indicate that they
are hunted.
To fire drones the player has to select the grenade launcher
twice. The player's silver key is lit if the grenade launcher
fires drones.
This is not an 'allround' weapon. It is a very specialized
weapon which sometimes provides the only way to attack an enemy
which can not be attacked directly.
Module ExitRules:
Disallows to exit a level too early.
Players can only exit a level
- if at least one player has reached a minimum number of frags
(which is 40 by default).
- and if a certain time has passed on the current level (which
is 1 minute by default).
These ExitRules may be disabled by voting (see Module Vote).
The ExitRules valid for the current level are displayed when
the player enters the level.
Levels like 'dm1'-'dm6','start' and 'end' don't impose ExitRules.
Module KickSuicider:
Players suiciding twice within two minutes are kicked out of the
game.
Module Lightning:
This module reduces the damage done when discharging the lighning gun
under water. Furthermore it improves the sound of the lightning gun
and causes a lighning gun discharge to happen only if the gun is
really under water.
Module Init:
Allows client side initialization when connecting to the server
by causing the client to execute a sequence of 'init' commands.
Example:
A player puts the following lines into his autexec.cfg:
alias init init01
alias init01 "init-nextcall; alias init init02; echo successful;"
alias init02 "init-nextskin; alias init init03; " // skin 2
alias init03 "init-nextskin; alias init init04; " // skin 3
alias init04 "init-nextskin; alias init init05; " // skin 4
alias init05 "init-nextskin; alias init init06; " // skin 5
alias init06 "init-nextcall; alias init init07; color 3; "
alias init07 " alias init init01; "
These lines cause that a short time after the player connected
to the server
- he is assigned the skin number 5.
- his color changes to 3.
How it works:
The server first tells the client to execute the command 'init'.
The client executes 'init' which includes either 'init-nextskin'
or 'init-nextcall', both of which tell the server to again let
the client execute the command 'init'. This continues until in
the example above the empty assignment 'init07' terminates the
sequence. Apart from triggering the next step 'init-nextskin'
also increases the skin number by one.
Module LevelSelect:
Allows to specify which levels are offered on the server and in which
order they are to be played.
By default this module is used to modify the original level order
such that instead of the end level the level sequence dm2-...-dm6-end
is played when selecting the end map on the start level (the players
must exit the levels dm1-dm6 and end by voting (see Module Vote)).
Module Messages:
Allows to selectively enable or disable messages about picking up ammo,
armor, backpacks, keys, health, powerups and weapons.
By default these messages are suppressed.
Module Motd:
When connecting to the server a message-of-the-day may be
center-printed to the player's screen.
A moment later, information about local server settings and
extensions is dumped to the player's console.
Module Observer:
As observer you just watch what's happening, without interacting
with other players or with the environment.
This especially means that other players will not notice you when you
are an observer.
As observer you can
- fly around.
- switch to another observation point by pressing 'fire'.
- join the game as regular player by pressing 'jump'.
You can turn into an observer by pressing 'fire' when you
are dead.
When you connect to the server you automatically start as observer.
The command 'help-observer' provides help on the observer mode.
Module Protect:
Protects respawning players.
The protection ends automatically after a certain amount of time
or if the player shoots or picks up a weapon, armor or a powerup.
Module Random:
Randomizes positions of items.
The randomizer knows four groups of items:
AMMO: shells, nails, rockets, cells and health boxes
WEAPON: all weapons
POWERUP: armors, quad damage, invisibility, invincibility,
and superhealth
The randomizer mixes only items within the same group.
Randomization doesn't affect the biosuit.
Module Rank:
The command 'rank' displays a sorted ranking table with entries
in the format
X TOTAL = KILLS DEATHS ACCIDENTS = PLAYER
where
X = letter 'D' if the player is dead, letter 'O' if
the player is an observer
PLAYER = the name of the player
TOTAL = his total score
KILLS = how many he killed
DEATHS = how often he got killed by other players
ACCIDENTS = number of self-caused, deathly accidents
A Suicide counts as double-accident.
The default formula for calculating TOTAL is
TOTAL = 3*KILLS - DEATHS - 3*ACCIDENTS
The command 'help-rank' provides help on the format of the ranking
table and should explain the (local) formula used to calculate the
total score as well.
Module ServerConsole:
Does nothing except except of printing some messages to the server
console when a player suicides, is killed, enters the game or is
telefragged by another player.
Module ServerHelp:
Provides the command 'server-help', used to display some help on
server settings and extensions in the player console.
Module Shrapnel:
Provides splintering missiles to be shot by the rocket launcher.
Once a splintering missile hits a massive object it defragments
into a few splinters. The high-speed, burning fragments move
on straight trajectories but are reflected by every massive object,
causing an explosion on the object's surface. Players hit by the
missile or by its fragments may start to burn (see module Burn).
To fire shrapnel missiles the player has to select the rocket
launcher twice. The player's silver key is lit if the rocket
launcher operates in 'sharapnel missile' mode.
This is not an 'allround' weapon; its main intent is to clean
rooms or other areas from a safe distance.
Module Skin:
This is a slightly improved version of Dennis Noordsij's
(lnoordsi@inter.NL.net) Multiskin, which allows players to use
different skins (see also section Acknowledgements below).
The improvements have the effect that
- corpses show the correct skin.
- skins are preserved across level changings (so that players
have to choose their skin only once).
- the commands 'skin-next' and 'skin-prev' may be used to change
the skin.
- the command 'help-skin' provides some help about available
commands.
- names for Multiskin-1.1 skins and for Top20Skins-1.0 skins are
shown when the player chooses a skin.
Players certainly still have to use proper player and player-head
model files containing the actual skins to be displayed.
ServerModules supports
- the MultiSkin 1.1 PLAYER.MDL file which may be found on
Dennis Noordsij's QuakeC page:
http://web.inter.NL.net/users/L.J.Noordsij/qc.htm
- the Top20Skins PLAYER.MDL and H_PLAYER.MDL file included in the
skin collection
ftp://ftp.cdrom.com/pub/quake/graphics/mdl/top20skins-1.0.zip
When using this set of skins gibbed heads will show the correct
skin also.
Module Vote:
Allows players to vote.
Players may use the console commands
vote-exit: to vote for exiting a level immediately.
vote-exitrules: to vote for disabling the rules imposed by
the module ExitRules.
Votes are counted every few seconds.
Voting for exiting allows to leave levels which don't provide an
exit.
Voting via 'vote-exit' and 'vote-exitrules' may both be used to
override the ExitRules for the current level.
The console command 'help-vote' provides some help on available
voting options, the command 'votes' displays current voting
statistics.
Module WeldGun:
Provides a weapon which spits burning blobs of a magnesium-steel
mixture in rapid succession.
The blobs cause small explosions on the surface of whatever they
hit.
Players hit by burning blobs may start to burn (see module Burn).
This weapon overrides the nailgun. Selecting the nailgun twice
causes it to shoot ordinary spikes instead.
The player's silver key is lit if the weldgun is active.
-------------------------------------------------------------------------
###### Copyright:
-----------------
/*
**
** Copyright (C) 1996 Johannes Plass
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
**
** Author: Johannes Plass (plass@dipmza.physik.uni-mainz.de)
**
*/
-------------------------------------------------------------------------
Regards,
Johannes Plass (plass@dipmza.physik.uni-mainz.de)