Plugins Explained

Questions, comments, and news on the server side plug-ins and it's API
Post Reply
User avatar
optic delusion
Special Forces
Special Forces
Posts: 1054
Joined: Sat Sep 25, 2004 2:29 pm
Location: Planet MoFo
Contact:

Plugins Explained

Post by optic delusion »

Since I can't make a plugin myself, I decided to gather information about them and put it where people can see it. Eventually, I hope to include a .zip-file with plugin help files that server owners can drop into their configuration.

This post will be heavily edited over time as new plugins become available, or more correct information is realized.
I am currently weakest on developer names.
I couldn't find anything about the current status of vocalizer.

This is revision number 0



PlayHistoryTracker Plugin (NOT play-ER, play-history)
This plugin tracks everybody's kills, and announces kill streaks.
Any player with five consecutive kills is on a Rampage
Ten consecutive kills is a Killing Spree
Twenty straight kills is an UnStoppable player.
Every five kills thereafter announces the Reign Continues
When a streak ends, the player stopping it gets they're name announced.
Developed By JeffM2501

ChatChannel enables users easier to communicate with a group of other players, no matter which team they joined. This is useful in official league matches, players observing can act as "Commander." ChatChannel was developed by JeffM2501
Commands may be used by all players. Once you Join a channel, using n sends to that channel, not to all.
/channel create <channel>
Creates a new channel. If channel exists, this command works as /channel join
/channel join <channel>
Joins an existing channel, it also sets default channel to this one.
/channel part <channel>
Leave channel. Default channel is restored to public.
/channel use [channel]
Change default channel. Useful if you want to speak in another channel
(such as the public one). If no channel is specified, default channel is
public, otherwise its [channel]. /public can be use instead of
"/channel use".
/channel list
List all available channels
/channel lock <channel>
Lock the channel. If players tries to join a locked channel, they will
get an error message telling them that the channel is locked. Locking
a channel can be done by all players in channel.
/channel unlock <channel>
Unlock the channel. This action can be done by all players in channel.
/channel invite <channel> <callsign>
Invite a player to a channel. Invited players can join even if the channel
is locked.
Future?+
- Patch BZFlag client so channels are displayed as tabs (F5..F - Permanent channels (such as MATCHES)



Janitor Plugin
Janitor is an extremely powerful plugin that can change server variables based on IN-GAME events.
capture, die, spawn, join, part, teamkill and suicide, are the triggers that may cause an event.
For example, _skyColor could change to the last team that captured a flag.
But that is a very simple example, Janitor is very powerful and flexible.
There are no client commands. Janitor can only be accessed by the server owner.
Janitor is developed by Meacan.




HTF - Hold The Flag Plugin
The Hold the Flag plugin enables a new game play mode where the object is to capture your own team's flag.
For example, All players are red. There is only a red flag. Take red flag to blue base.
The player capturing the flag gets a point, and current score is displayed.
Team Killing is allowed, and encouraged. Though all players are the same color, try to think of them as rogues.
A good "strategy" for HTF is to let someone else do a majority of the team flag carrying across the map, then,
right as that player goes to cap the flag for a point, kill that player, take the team flag and cap it for yourself.
Longhair, pyrO and Master Yoda run the HTF League. try http://HTFLeague.com for more info.
The HTF game mode was played long ago, and evolved into rabbit chase. Now HTF is back as it's own mode.
HTF plugin was developed by.....



RaceToSeven - Flag Capture Scoring Plugin
RaceToSeven is a plugin that enables Flag Capture scoring in League Matches
It starts matches, scores matches, ends matches, and then sends match results to a website.
It can also open or close the server to new players at any time.
RaceToSeven was developed by RPG with a little help from A-Delusion.
These commands may be used by all players.
/match - Gives you command info
/match score - Prints the current score
These Commands may only be used by admins.
/match start - Starts a match (requires explicit permission in groups file)
/match end - Manually ends a match
/match config _set- Lets you screw with the configuration
These are the config options.
-allowMatches <true|false> you can disallow matches
-allowPlayersDuringMatch <true|false> opens or closes the server to new players.
-capNum <integer> Number of captures to end match at.
-reportURL <string> URL location to report match



ShockWaveDeath Plugin
Fires a ShockWave weapon whenever a player dies.
This plugin takes some getting used to. It requires strategy changes by all players.
It can be very hard to kill at close range without dying yourself.
One interesting effect is you can get close to a camper, and suicide, to kill the camper.
Small changes in shockAdLife or shockOutRadius can have huge consequences on game play.
Small-to-medium OutRadius and long AdLife is usually preferable.
ShockWaveDeath was developed by JeffM2501


AirSpawn Plugin
Very Simple- all players spawn in the air at a random height between 0 and X units.
X is set by the server owner. 25 units is probably too high. Keep this number low.
AirSpawn was developed by JeffM2501



IRC/BZFlag Relay Plugin
Acts as a mediator between BZFlag and IRC, where it links bzflag conversations on a server with IRC chatter.
The plugin joins as an IRC bot and sits in a channel, passing every PRIVMSG in IRC on to the bzflag server
and every bzflag message onto the channel. This makes it easier for server owners to watch what people are
saying on their server and comment from IRC. Another way it can be used is for people on IRC who want to
chat with bzflag players, and are too lazy, or cannot start their client and join in for various reasons.
Join and Part events in bzflag are also displayed on IRC.
In IRC, the callsigns of the players who speak are shown with color that reflect their team color.
IRC/BZFlag Relay Plugin is developed by WegStar

RogueGenocide Plugin
It's genocide for rogues. Are you surprised?
Developed by JeffM2501


ChatHistory Plugin
ChatHistory is for admins only.
It will show you the last N chat lines for a player, no mater WHO they were to.
It loads a /last command that does, Usage: /last <NUMBER OF LINES> <CALLSIGN>
so /last 20 yourmomma will give you the last 20 things yourmomma said. usefull for cops and stuff.
It will be tied to a custom perm soon.
Developed By JeffM2501


FixedSpawn Plugin
A special plugin that installs a custom map object handler.
Basically it lets you put in hardcoded spawn points into the map. Jeff made this for the BSP converter.
Spawn zones are similar but a little more "soft"
With FixedSpawn when you specify the postion, BAM you get that position.
Developed By JeffM2501

Python Plugin
Potentially the coolest of all plugins!
This one is a plugin that loads other plugins, ones written in python.
While it's not complete, and probably won't be for release, this could basically let people
use python as a scripting language ( no compiler, no .so, just a text file ) to make plugins.
At this time, it is included for informational purposes only. It's got a LONG way to go.
Developed by BZFlag Developers.


LogDetail
The LogDetail plugin prints all important join, leave, chat (public and private), var changes (successes and failures), and command attempts (/password attempts) in the stdout of your bzfs window. It effectively replaces the standard bzadmin method of logging and goes beyond its capabilities while producing legible output unlike bzfs -dddd. The downside is if logDetail is used, you cannot run it with -dddd without getting a lot of redundant messages. This makes it only suitable for 'stable' servers that don't need crash information. Note that logDetail is transparent to the client unless /listplugins is run, this server could even be running it!!
LogDetail made by DTRemenak.


SAMPLE_PLUGIN
Doesn't do a darn thing, only used as a template for new plugins.


(From here on.... I'm sketchy on the details.)
KillAll Plugin
Not only kills all players, but throws them off the server as well.
This can be nice for match play, to force players to (hopefully) rejoin on the correct team.
It does not kick the player who issued the command.
Take a look at my Defender game mode concept.

Thinking is not an automatic process. A man can choose to think or to let his mind stagnate, or he can choose actively to turn against his intelligence, to evade his knowledge, to subvert his reason. If he refuses to think, he courts disaster: he cannot with impunity reject his means of perceiving reality.
User avatar
optic delusion
Special Forces
Special Forces
Posts: 1054
Joined: Sat Sep 25, 2004 2:29 pm
Location: Planet MoFo
Contact:

Post by optic delusion »

Menotume has released the NagWare Plugin
This plugin sends a message to unregistered players every x minutes and optionally kicks them after y minutes. Its quite configurable and is working VERY well so far. Servers are encouraged to use this plugin to help encourage registration and in turn discourage cheating, spamming, and childish behavior in general.
First used by silverfox. here is a link.
http://my.bzflag.org/bb/viewtopic.php?t=6674


In other plugin news..
There are a couple of other plugins out there. But getting REAL information on them is difficult. ....Except for ladder, which is still not quite ready. There is also the powerup plugin....

The Planet MoFo team (L4M3R) is currently modifying PlayHistoryTracker, so it tracks what weapon a player "rampages" with, and gives appropriate messages.
Take a look at my Defender game mode concept.

Thinking is not an automatic process. A man can choose to think or to let his mind stagnate, or he can choose actively to turn against his intelligence, to evade his knowledge, to subvert his reason. If he refuses to think, he courts disaster: he cannot with impunity reject his means of perceiving reality.
Post Reply