<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.bzflag.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Slon02</id>
	<title>BZFlagWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.bzflag.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Slon02"/>
	<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/Special:Contributions/Slon02"/>
	<updated>2026-05-04T23:00:20Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Plug-ins&amp;diff=4848</id>
		<title>Plug-ins</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=Plug-ins&amp;diff=4848"/>
		<updated>2008-08-27T01:23:15Z</updated>

		<summary type="html">&lt;p&gt;Slon02: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;BZFS can be built to support the loading of external libraries as plug-ins. These plug-ins can alter or replace the logic applied by the server, as well as automate many common tasks. &lt;br /&gt;
&lt;br /&gt;
Plug-ins are a simpler way to apply modifications to the game, as they do not require the server owner to modify or recompile his/her BZFS application. By using the [[BZFS API]] plug-ins are also able to be mixed and matched in an easy way.&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
Plug-ins are compile dynamic link libraries, that are built for the same OS/RuntimeEnvironment as the BZFS server that hosts them. On [http://www.microsoft.com/windows Microsoft Windows] they are built as [http://en.wikipedia.org/wiki/Dynamic-link_library DLL] files. On [http://www.linux.org Linux] and other [http://www.unix.org/ Unix]-like systems they are built as .so files.&lt;br /&gt;
&lt;br /&gt;
==Use==&lt;br /&gt;
Plug-ins are loaded at startup by the &#039;&#039;&#039;-loadplugin&#039;&#039;&#039; option, or at run time with the &#039;&#039;/loadplugin&#039;&#039; command. If the full path to the plug-in is not specified, then [[BZFS]] will search a number of known sub directories for the plug-in as it attempts to load it. Using a valid path to the plug-in on load is highly recommended. While playing, all plug-ins loaded onto the server are visible with the /listplugins command.&lt;br /&gt;
===Parameters===&lt;br /&gt;
Some plug-ins take parameters that are passed to the plug-in on load. This is often a numeric value, or a path to a file. To pass a parameter to a plug-in, simply add a &#039;,&#039; after the plug-in name or path, and then add the parameter. Parameters can not have spaces, due to the way [[BZFS]] parses command line options and / commands.&lt;br /&gt;
&lt;br /&gt;
On load, plug-ins install a number of callbacks and event handlers with the hosting [[BZFS]] that are called when specific events happen. This allows the plug-in to perform additional actions on these events, or if need be, alter the results of the default logic of the server.&lt;br /&gt;
===Search Paths===&lt;br /&gt;
[[BZFS]] searches for plug-ins in two standard locations: the config directory and the global plug-ins directory.  The config directory is where the BZFlag config.cfg file is located, and the global plug-ins directory is $(prefix)/lib/bzflag/.&lt;br /&gt;
&lt;br /&gt;
==BZFS API==&lt;br /&gt;
All plug-ins are linked to the [[BZFS API]]. This programing layer provides the interface to the BZFS application. All events and functions that a plug-in can call are in the [[BZFS API]].&lt;br /&gt;
&lt;br /&gt;
==Standard plug-ins==&lt;br /&gt;
The [[BZFlag Source]] distribution contains a number of plug-ins that are maintained by the project [http://my.bzflag.org/wiki/index.php/Category:Developer developers].&lt;br /&gt;
These plug-ins are located in the &#039;&#039;/plugins&#039;&#039; directory.&lt;br /&gt;
&lt;br /&gt;
As of February 18th 2007, [[BZFlag SVN|SVN]] TRUNK( version [[BZFlag 3.0|2.99]]) contains the following plug-ins:&lt;br /&gt;
&lt;br /&gt;
*[[airspawn]]&lt;br /&gt;
*[[bzfscron]]&lt;br /&gt;
*[[chathistory]]&lt;br /&gt;
*[[flagStay]]&lt;br /&gt;
*[[hiddenAdmin]]&lt;br /&gt;
*[[HoldTheFlag]]&lt;br /&gt;
*[[keepaway]]&lt;br /&gt;
*[[killall]]&lt;br /&gt;
*[[koth]]&lt;br /&gt;
*[[logDetail]]&lt;br /&gt;
*[[nagware]]&lt;br /&gt;
*[[playHistoryTracker]]&lt;br /&gt;
*[[Phoenix]]&lt;br /&gt;
*[[python(plug-in)|python]]&lt;br /&gt;
*[[recordmatch]]&lt;br /&gt;
*[[RogueGenocide]]&lt;br /&gt;
*[[SAMPLE_PLUGIN]]&lt;br /&gt;
*[[serverSideBotSample]]&lt;br /&gt;
*[[shockwaveDeath]]&lt;br /&gt;
*[[soundTest]]&lt;br /&gt;
*[[teamflagreset]]&lt;br /&gt;
*[[thiefControl]]&lt;br /&gt;
*[[timedctf]]&lt;br /&gt;
*[[torBlock]]&lt;br /&gt;
*[[weaponArena]]&lt;br /&gt;
*[[wwzones]]&lt;br /&gt;
&lt;br /&gt;
==Third Party Plug-ins==&lt;br /&gt;
A number of non-developers have created plug-ins for BZFS, and usually release them on the [http://my.bzflag.org/bb/ BZFlag Forums].&lt;br /&gt;
&lt;br /&gt;
==Plug-in Development==&lt;br /&gt;
{{DoDoc|Describe the basics of plug-in development.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Plug-Ins]]&lt;/div&gt;</summary>
		<author><name>Slon02</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Slash_Commands&amp;diff=4847</id>
		<title>Slash Commands</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=Slash_Commands&amp;diff=4847"/>
		<updated>2008-08-27T01:13:59Z</updated>

		<summary type="html">&lt;p&gt;Slon02: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Below is a list of the commands that are available in BZFlag. Access to most of these commands is controlled through [[Server_Permissions|permissions]].&lt;br /&gt;
&lt;br /&gt;
All commands are preceded by a &#039;/&#039; on any chat prompt.&lt;br /&gt;
The format for commands that take arguments are provided by the server by issuing the command with no arguments. (ie. `/ban`)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Some commands take no arguments&#039;&#039;&#039; (eg. &#039;&#039;/shutdownserver&#039;&#039;, &#039;&#039;/superkill&#039;&#039;) &#039;&#039;&#039;and therefore&#039;&#039;&#039; do not return the format string for the command but &#039;&#039;&#039;execute the command instead.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hl3}} |&#039;&#039;&#039;Command&#039;&#039;&#039; &lt;br /&gt;
| {{Hl3}} |&#039;&#039;&#039;Description&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/?&#039;&#039; || List commands&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/ban&#039;&#039; || Ban players using the specified IPs of the player specified for certain length of time from using this server.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/banlist&#039;&#039; || List all of the IPs currently banned from this server. Items from the master ban list on my.bzflag.org/bb have an &#039;(m)&#039; after the IP for masterban. If an argument is specified only bans that match the argument are displayed.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/checkip&#039;&#039; || Check if a specified IP is banned or not and report the results.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/clientquery&#039;&#039; || Retrieve client version info from all users, or just CALLSIGN if given&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/countdown&#039;&#039; || Starts the countdown sequence for a timed game. The countdown sequence length can optionally be specified in seconds.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/date&#039;&#039; || Responds with the current server local date and time (same as /time).&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/deregister&#039;&#039; || With an argument, it deregisters another user&#039;s callsign . Without, it removes your own registration. (only affects local registration)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/diff&#039;&#039; || Shows the &#039;&#039;/set&#039;&#039; server variables that are set to something other than the default (or at least most of them)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/endgame&#039;&#039; || Ends the current game&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/flag reset&#039;&#039; || Repositions flags. If unused is specified, flags carried by tanks are not affected.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/flag up&#039;&#039; || Removes all flags from the game&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/flag show&#039;&#039; || Shows all flags with information.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/flag give&#039;&#039; || Give the specified flag to the specified player. If the flag is not available, it will take a flag from the person who has the flag specified. You cannot give flags that do not exist on the map.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/flag take&#039;&#039; || Will take the flag that the player specified is currently carrying.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/flaghistory&#039;&#039; || Lists what flags players have grabbed in the past.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/gameover&#039;&#039; || Ends a timed game.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/ghost&#039;&#039; || Kicks off an impersonating player or ghost&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/grouplist&#039;&#039; || Lists the available user groups&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/groupperms&#039;&#039; || Lists the permissions for each group&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/help&#039;&#039; || With no argument it displays a lists the help files available. With the argument it displays the contents of the help file.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/highlight&#039;&#039; || Highlights any text that contains the word or words specified in the argument to this command. For example, if you type /highlight genocide , then any text that is printed on the console that contains the word genocide will be underlined and in blue.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/hostban&#039;&#039; || Ban players using the specified hostnames for a certain length of time from using this server.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/hostbanlist&#039;&#039; || List all of the host patterns currently banned from this server.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/hostunban&#039;&#039; || Will remove the the specified host from the ban list so that players from that host will be able to blay again.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/idban&#039;&#039; || Ban a player by bzbb id. This will stick even if the player ip changes.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/idbanlist&#039;&#039; || List all bans made with &#039;&#039;/idban&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/identify&#039;&#039; || Log in to a registered callsign&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/idlestats&#039;&#039; || Displays the idle time in seconds for each player. A player is idle when he is dead and has not respawned yet.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/idlist&#039;&#039; || Will list the currently banned IDs&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/idunban&#039;&#039; || Will remove the ban on the ID specified so that the player may play on the server again.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/kick&#039;&#039; || Kick a named player off the server.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/kill&#039;&#039; || Kill a player (they explode). The kill shows up as coming from the server (IE the player sees &amp;quot;PLAYERNAME: destroyed by the server&amp;quot; in their console). The player killed loses a point, but the player running the /kill command does not gain a point.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/lagdrop&#039;&#039; || With no argument it displays current lagdrop setting, with argument it sets it to the value specified. This specifies the number of warnings a player gets due to high lag before the server kicks the players.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/lagstats&#039;&#039; || Lists network delays, jitter and number of lost (out of order packets) by player.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/lagwarn&#039;&#039; || With no argument it displays current lagwarn setting, with argument it sets it to the value specified. If a players lag is higher that the setting they will be warned, then kicked.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/listplugins&#039;&#039; || Displays the plug-ins loaded on the server.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/localset&#039;&#039; || Set local client variables in your configuration file.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/masterban&#039;&#039; || Manipulate the master ban list.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/me&#039;&#039; || This command displays an &amp;quot;action&amp;quot; that is conveyed to another player. It allows for a little more expressivity in the game. For example if your callsign was &#039;Thumper&#039;: &amp;quot;/me is hunting wabbits&amp;quot; turns into a message like &amp;quot;Thumper is hunting wabbits&amp;quot; that gets displayed differently to other players than regular chat.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/msg&#039;&#039; || This command allows a player to send a message to another player. Similar to using the &amp;quot;,&amp;quot; and &amp;quot;.&amp;quot; message keys in the game and then selecting your recipient, this will send some message to particular player.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/mute&#039;&#039; || Allows a server admin to remove the ability for a player to communicate with other players. Once muted the player may only talk to admins on the server. This command removes the TALK permission for that user.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/part&#039;&#039; || Leave the server with a goodbye message (same as /quit).&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/password&#039;&#039; || Enter server password to gain operator privileges. It is frowned upon to use this command on servers where you are not an admin&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/playerlist&#039;&#039; || List player names and IP addresses.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/poll&#039;&#039; || Start a player poll&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/quit&#039;&#039; || Leave the server with a goodbye message (same as /part).&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/record&#039;&#039; || List all files in the recordings directory&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/record start&#039;&#039; || Starts recording&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/record stop&#039;&#039; || Stops recording&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/record size&#039;&#039; || Specify size of recording buffer in megabytes (MB)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/record rate&#039;&#039; || Specify recording rate in seconds&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/record stats&#039;&#039; || Display statistics of recording&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/record file&#039;&#039; || Specify a filename for recording instead of using memory&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/record save&#039;&#039; || Save an in-memory recording buffer to a file&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/register&#039;&#039; || Register your current callsign locally to the specified password. Passwords must be at least 3 characters long, and the callsign may not contain quotes or other non-alphanumeric/space characters. We use global logons and this is not needed.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/reload&#039;&#039; || Reloads the user, group, and password files (for synchronization between multiple servers on the same machine)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/removegroup&#039;&#039; || Remove a user from a group&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/replay list&#039;&#039; || List recording files that can be replayed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/replay load&#039;&#039; || Load a recording file for play&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/replay play&#039;&#039; || Start playback of the loaded recording&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/replay skip&#039;&#039; || Skip forwards or backwards through the recording&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/report&#039;&#039; || Write a message to the server administrator&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/reset&#039;&#039; || Reset a server variable to it&#039;s [[BZFS|bzfs]] default setting.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/say&#039;&#039; || Generate a public message sent by the server. For example if your callsign were &#039;Tanner&#039; using &amp;quot;/say This is a server message&amp;quot;, will display &#039;&#039;[SERVER:] This is a server message (Tanner)&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/savemsgs&#039;&#039; || Saves the chat console to &#039;&#039;config directory&#039;&#039;/msglog.txt. Use &amp;quot;/savemsgs -s&amp;quot; to strip coloring data.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/saveworld&#039;&#039; || Saves current world the client is paying on. For example, &amp;quot;/saveworld mapname.bzw&amp;quot; would save the world as &amp;quot;mapname.bzw&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/sendhelp&#039;&#039; || Send a help file to a player&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/serverquery&#039;&#039; || Report the server version number&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/set&#039;&#039; || With no arguments it will list the values of all server variables. With the arguments it will set the variable that is specified to the value that is given.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/setgroup&#039;&#039; || Add a user to a group&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/setpass&#039;&#039; || Changes your password (for locally registered users, not globally)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/showgroup&#039;&#039; || Lists the groups that a registered user is a member of&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/showperms&#039;&#039; || Show permissions granted to yourself or another player&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/shutdownserver&#039;&#039; || Stop serving BZFlag on this server.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/superkill&#039;&#039; || Kick all players off the server.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/time&#039;&#039; || Responds with the current server local date and time (same as /date).&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/unban&#039;&#039; || Will remove the IP address from the banlist, allowing someone from that address to connect and play BZFlag.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/unmute&#039;&#039; || Allows a server admin to restore the TALK permission to a previously muted player.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/uptime&#039;&#039; || Prints server&#039;s current running time in days, hours, minutes and seconds.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/veto&#039;&#039; || If there is a poll active, this will cancel the poll.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/viewreports&#039;&#039; || View the server&#039;s report file.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/vote&#039;&#039; || If there is a poll active, this command will place a vote in favor or in opposition to the poll. Multiple languages are supported as a vote argument in addition to &amp;quot;yes&amp;quot; and &amp;quot;no&amp;quot;. By default, you must be registered to vote on a poll.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:Client]]&lt;/div&gt;</summary>
		<author><name>Slon02</name></author>
	</entry>
</feed>