This wiki is archived and useful information is being migrated to the main bzflag.org website

Editing Creating a server

Jump to: navigation, search

Warning: The database has been locked for maintenance, so you will not be able to save your edits right now. You may wish to copy and paste your text into a text file and save it for later.

The administrator who locked it offered this explanation: Archived wiki

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 6: Line 6:
 
== Planning a Server ==
 
== Planning a Server ==
  
Before you create a server, you need to decide what you want your server will be like. There are a few requirements in creating a server. First, you need a good connection. If you are on a high end DSL or higher connection you will be able to host a few players. With really fast connections, such as T1 or related, you could host dozens (although you may not want to do so).
+
Before you create a server, you need to decide what you want your server will be like. There are a few requirements in creating a server. First, you need a good connection. BZFS servers are usually on fast connections. On a 56k in the US, you can probably host up to 3 players under bearable latency. In other countries on a 56k, you can probably host up to 8 or so. This is due to more stricter and demanding interference restrictions in the US. If you are on a high end DSL or higher connection, you need not worry what country you are in since your connection is fast enough to handle many players. With really fast connections, such as T1 or related, you could host dozens (although you may not want to do so).
  
You must provide an address to connect to. You will specify this address when you run the server (more on this below). The address may be your IP address (something like 192.12.193.123), or the domain name pointing to your computer (e.g. BZFlag.ducati.org). If your server is going to be on a machine that is connected via DSL or Cable, figure out if your provider is giving you a dynamic or a static IP. If the IP address is static, your life will be a little easier since you can specify that address once and forever. If the IP is dynamic, this means that your internet provider will change the address once in a while (without warning). In this case you probably want to "[[Alias Your IP Address]]" to a static name (click on the link for how to).
+
You must provide an address to connect to. You will specify this address when you run the server (more on this below). The address may be your IP address (something like 192.12.193.123, or the domain name pointing to your computer (e.g. BZFlag.ducati.org). If your server is going to be on a machine that is connected via DSL or Cable, figure out if your provider is giving you a dynamic or a static IP. If the IP address is static, your life will be a little easier since you can specify that address once and forever. If the IP is dynamic, this means that your internet provider will change the address once in a while (without warning). In this case you probably want to "[[Alias Your IP Address]]" to a static name (click on the link for howto).
  
 
Next you need to have an idea of how your server is going to look: you are probably already familiar with the game style (CTF, Rabbit) from playing on existing servers. You may specify a map or ask your server to create a random one. You will also be able to specify many details of the game play (how many good and bad flags, jumping, ricochet, etc...). All of this is accomplished in the next step.
 
Next you need to have an idea of how your server is going to look: you are probably already familiar with the game style (CTF, Rabbit) from playing on existing servers. You may specify a map or ask your server to create a random one. You will also be able to specify many details of the game play (how many good and bad flags, jumping, ricochet, etc...). All of this is accomplished in the next step.
Line 14: Line 14:
 
== Configure your Server ==
 
== Configure your Server ==
  
In this step, you specify all the server options. The cleanest way to accomplish this is to create a configuration file. Fortunately, the BZFlag installation provides you with a sample configuration file that you can modify according to your wishes. You will find this file in the directory where you installed BZFlag under a subdirectory called <code>misc</code>. The file is named <code>bzfs.conf</code>. Open <code>bzfs.conf</code> in a text editor (in windows, notepad will be just fine; in GNU/Linux, Unix, Debian, etc.. : vi would work nice).
+
In this step, you specify all the server options. The cleanest way to accomplish this is to create a configuration file. Fortunately, the BZFlag installation provides you with a sample configuration file that you can modify according to your wishes. You will find this file in the directory where you installed BZFlag under a subdirectory called data. The file is named <code>bzfs.conf</code>. Open <code>bzfs.conf</code> in a text editor (in windows, notepad will be just fine; in GNU/Linux, Unix, Debian, etc.. : vi would work nice).
  
 
Read through <code>bzfs.conf</code> to understand all the options. Remove the # sign on the lines corresponding to the options you want to set. Add # at the beginning of the line if you don't want that option. After you have finished your changes, you can save that file with a different name (this will be helpful if you want to run server with different configurations: just save many files with different names).
 
Read through <code>bzfs.conf</code> to understand all the options. Remove the # sign on the lines corresponding to the options you want to set. Add # at the beginning of the line if you don't want that option. After you have finished your changes, you can save that file with a different name (this will be helpful if you want to run server with different configurations: just save many files with different names).
Line 26: Line 26:
 
* Specify other options. For example, if you want to allow jumping, then your conf file should have a line starting with <code>-j</code>. Other options are: ricochet, which needs a line starting with <code>+r</code>. Read through <code>bzfs.conf</code> and you'll find out how to specify the game style (rabbit, ctf, etc...), the number of flags, etc.... If you want to run different configurations you can create as many conf files as you like (with different names of course). Just specify the correct configuration file you want to invoke in the bat file mentioned in the previous paragraph. One of the options that you can set in the configuration file is a map the server should use.
 
* Specify other options. For example, if you want to allow jumping, then your conf file should have a line starting with <code>-j</code>. Other options are: ricochet, which needs a line starting with <code>+r</code>. Read through <code>bzfs.conf</code> and you'll find out how to specify the game style (rabbit, ctf, etc...), the number of flags, etc.... If you want to run different configurations you can create as many conf files as you like (with different names of course). Just specify the correct configuration file you want to invoke in the bat file mentioned in the previous paragraph. One of the options that you can set in the configuration file is a map the server should use.
 
* You can choose whether to use a custom map or a random one. If you use a random one, decide whether or not to include teleporters. If you want to include them, add (again, to your configuration) the option "<code>-t</code>". If you are playing CTF and you want a random map, use "<code>-cr</code>" instead of standard "<code>-c</code>", in addition to "<code>-t</code>". For a custom server, use: <code>-world "MAP_NAME"</code> ; replacing <code>MAP_NAME</code> with the file name of the map, which must be in the BZFS directory. You have probably seen that when you visit other server, one of the menus has the "save map" option. That means you can save that map for use on your server. Just save it somewhere in your pc, and specify the location of the map in the configuration file, next to the line that starts with <code>-world</code>
 
* You can choose whether to use a custom map or a random one. If you use a random one, decide whether or not to include teleporters. If you want to include them, add (again, to your configuration) the option "<code>-t</code>". If you are playing CTF and you want a random map, use "<code>-cr</code>" instead of standard "<code>-c</code>", in addition to "<code>-t</code>". For a custom server, use: <code>-world "MAP_NAME"</code> ; replacing <code>MAP_NAME</code> with the file name of the map, which must be in the BZFS directory. You have probably seen that when you visit other server, one of the menus has the "save map" option. That means you can save that map for use on your server. Just save it somewhere in your pc, and specify the location of the map in the configuration file, next to the line that starts with <code>-world</code>
* You can choose the max number of players (for example <code>-mp 10</code> says there can't be more than 10 players). But just because you can host many, decide if you really want to. The more players on your server, the higher the overall latency will be and the more bandwidth your server will consume. Moreover, more than 4 players per team on a ctf or more than 6 players on a rabbit style is just not fun. Experiment if you plan to host a lot, otherwise don't worry. Not only latency that matters, but many players will make the field busy. Tanks will get killed often and there would be a lot of action. This is good, and bad. Good in that it is a lot of fun! But bad in that the average alive time may only be a few seconds.
+
* You can choose the max number of players (for example <code>-np 10</code> says there can't be more than 10 players). But just because you can host many, decide if you really want to. The more players on your server, the higher the overall latency will be and the more bandwidth your server will consume. Moreover, more than 4 players per team on a ctf or more than 6 players on a rabbit style is just not fun. Experiment if you plan to host a lot, otherwise don't worry. Not only latency that matters, but many players will make the field busy. Tanks will get killed often and there would be a lot of action. This is good, and bad. Good in that it is a lot of fun! But bad in that the average alive time may only be a few seconds.
 
* A server description would be nice. Note that there is a small limit on how many characters you can put for description, and it gets smaller based on how long the server address is. Add a description by adding option: <code>-public DESCRIPTION</code>
 
* A server description would be nice. Note that there is a small limit on how many characters you can put for description, and it gets smaller based on how long the server address is. Add a description by adding option: <code>-public DESCRIPTION</code>
 
* You can choose what flags, if any, to include or restrict. You must be familiar with the flag abbreviations, which are listed using command "<code>bzfs -help</code>" near the end of the help message. Add flags to the server using "<code>+f ABBR</code>" and restrict flags using "<code>-f ABBR</code>" replacing <code>ABBR</code> with the flag abbreviation.
 
* You can choose what flags, if any, to include or restrict. You must be familiar with the flag abbreviations, which are listed using command "<code>bzfs -help</code>" near the end of the help message. Add flags to the server using "<code>+f ABBR</code>" and restrict flags using "<code>-f ABBR</code>" replacing <code>ABBR</code> with the flag abbreviation.
Line 38: Line 38:
 
The list server will need to be able to access your server just as other players will. This is done by connecting back to the public IP address where your server is running. The list server only checks the tcp connection back to your server at present, though players will also try udp on the same IP address and port number.
 
The list server will need to be able to access your server just as other players will. This is done by connecting back to the public IP address where your server is running. The list server only checks the tcp connection back to your server at present, though players will also try udp on the same IP address and port number.
  
You can view the raw [http://my.bzflag.org/db/?action=LIST server list] in your web browser.  If you do not see your server, then your server is firewalled or misconfigured and the list server cannot contact it. You will need to resolve this if you want your server to be publicly accessible.
+
You can test your server with the bot in #BZFlag on irc.freenode.net IRC network. See http://irchelp.org/ for more information on irc. You may want to use the web interface at http://my.BZFlag.org/irc/irc.cgi if you do not already have an irc client like [http://xchat.org/ X-Chat] or [http://mirc.com mIRC] installed. Once you are in the #BZFlag channel tell the bot to contact your server by doing this with your machine name or IP address and the :port number:
 +
 
 +
~bzfquery bzflag.secretplace.us:5255
 +
 
 +
You should get a list of players back like:
 +
 
 +
  <ibot> X:0(0-0) R:-78(95-173) G:4(67-63) B:-4(172-176) Tofe(R:anonymous)-27(29-56) zapped
 +
(O:anonymous)0(0-0) cookiecutter(G)14(28-14) Shoot For Brains [CAN-NS](G:shoot@me.com)7(20-13)
 +
Attilla(X:Terleckyjy@terleckyjy)42(79-37) emul(G)-15(18-33) immel(G)-2(1-3) shadow
 +
(B:matt@tiger.prinz)-10(0-10) jp(R:PenovichJ@penovichj)-31(31-62)
 +
 
 +
or
 +
 
 +
<ibot> No Players
 +
 
 +
which means the bot was able to contact your server, just that there are no players on it at the moment. This is ok.
 +
 
 +
If you get:
 +
 
 +
<ibot> could not connect to 127.0.0.1:5154
 +
 
 +
Then your server is firewalled and the list server cannot contact it. This means that you will not be able to get your server on the list. Chances are you have a firewall blocking external access to your server.
  
 
Note: when you run the bzflag client on the same network as a server it should discover the server by using a broadcast ping. If your server shows up in the list, but without the description next to it, this means that you found it through broadcast discovery, and '''not from the public list server'''. If the server description that you included on the <code>-public "this text"</code> command line option is there, then your server is correctly listed on the public server list.
 
Note: when you run the bzflag client on the same network as a server it should discover the server by using a broadcast ping. If your server shows up in the list, but without the description next to it, this means that you found it through broadcast discovery, and '''not from the public list server'''. If the server description that you included on the <code>-public "this text"</code> command line option is there, then your server is correctly listed on the public server list.
  
 
Using multiple <code>-d</code> options to the server will result in some useful (and some useless) messages from the server.
 
Using multiple <code>-d</code> options to the server will result in some useful (and some useless) messages from the server.
{|
+
 
|
+
 
  bzflag@phoenix:~/bzflag-1.10$ src/bzfs/bzfs -d -d -d -i 24.1.104.25 -p 51540 -public "My Server Name"
 
  bzflag@phoenix:~/bzflag-1.10$ src/bzfs/bzfs -d -d -d -i 24.1.104.25 -p 51540 -public "My Server Name"
 
  style: 0
 
  style: 0
Line 67: Line 87:
 
  Player [0] accept() from 24.1.104.25:50579 on 6
 
  Player [0] accept() from 24.1.104.25:50579 on 6
 
  Player  [0] on 6 removed: Disconnected
 
  Player  [0] on 6 removed: Disconnected
|}
+
 
 
* the -i parameter is used here to force an IP address. This server happens to have more than one IP address. This is not required on most servers.
 
* the -i parameter is used here to force an IP address. This server happens to have more than one IP address. This is not required on most servers.
 
* the -p parameter is used to pick a different port number than the default. If you are only running one server, it is recommended that you leave this off and use the default port number.
 
* the -p parameter is used to pick a different port number than the default. If you are only running one server, it is recommended that you leave this off and use the default port number.
Line 75: Line 95:
 
== Running the server ==
 
== Running the server ==
  
There are different ways to run a server. On both Windows and *nix, the program (BZFS) is in the directory where you installed BZFlag (most likely: "<code>C:/Program Files/BZFlag2.4.8</code>", or on your usr account). The program containing the server is BZFS.exe. Double clicking on it will run a server with default options, but clearly you want to specify your own options, for example those you saved in the configuration file generated in the previous step. One way to do it is to specify all the commands for the server in a batch file, so you can just double click on it to start a server. On other systems such as Linux, create an executable with the commands, or a shell script, or see if there are any related ways to store console/text based command interface commands in a "shortcut" style.
+
There are different ways to run a server. On both Windows and *nix, the program (BZFS) is in the directory where you installed BZFlag (most likely: "<code>C:/Program Files/BZFlag2.0.0</code>", or on your usr account). The program containing the server is BZFS.exe. Double clicking on it will run a server with default options, but clearly you want to specify your own options, for example those you saved in the configuration file generated in the previous step. One way to do it is to specify all the commands for the server in a batch file, so you can just double click on it to start a server. On other systems such as Linux, create an executable with the commands, or a shell script, or see if there are any related ways to store console/text based command interface commands in a "shortcut" style.
  
On Windows: Here is a SampleBatchFile. Open notepad or any other text editor, copy the content of the file, make the changes that you need to change (notably: the location of BZFS and the config file bzfs.conf). Save the file with a nice name and extension .bat (for example: nicename.bat) on your desktop or a window of your choice. You probably understand what the batch file is doing: the lines beginning with "set" specify the content of some variables, such as the location of BZFS and the configuration files. The server is started on the line next to last (before "pause").
+
On Windows: Here is a [SampleBatchFile]. Open notepad or any other text editor, copy the content of the file, make the changes that you need to change (notably: the location of BZFS and the config file bzfs.conf). Save the file with a nice name and extension .bat (for example: nicename.bat) on your desktop or a window of your choice. You probably understand what the batch file is doing: the lines beginning with "set" specify the content of some variables, such as the location of BZFS and the configuration files. The server is started on the line next to last (before "pause").
  
If you don't want to have a batch file or for some reason your batch file doesn't work, here is a procedure that always works: from the start menu in your windows machine, look for the "command prompt" and click on it. A black window will open up. Type: <code>cd "c:\Program Files\BZFlag2.4.8"</code>  (this should work in most cases, unless you installed BZFlag in a different directory). Once you are there type: <code>bzfs -conf "C:\Program Files\BZFlag2.4.8\Data\bzfs.conf"</code> (change what is between quotes with the exact location of the configuration file).
+
If you don't want to have a batch file or for some reason your batch file doesn't work, here is a procedure that always works: from the start menu in your windows machine, look for the "command prompt" and click on it. A black window will open up. Type: <code>cd "c:\Program Files\BZFlag2.0.0"</code>  (this should work in most cases, unless you installed BZFlag in a different directory). Once you are there type: <code>bzfs -conf "C:\Program Files\BZFlag2.0.0\Data\bzfs.conf"</code> (change what is between quotes with the exact location of the configuration file).
  
 
On *nix: Use a config file, or a shell script. A config file can be made simply by taking all of your command line options you want to pass to BZFS, and placing them in a config file, one options on each line. An HTML file has been created that is shipped with BZFlag (in /data/ on binary releases, and in /misc/ in source releases or CVS). A shell script can be made the same way. A config file can be used, by changing directory to BZFS, and do "bzfs -conf CONF.conf", replacing CONF.conf with the config file in the same BZFS directory.
 
On *nix: Use a config file, or a shell script. A config file can be made simply by taking all of your command line options you want to pass to BZFS, and placing them in a config file, one options on each line. An HTML file has been created that is shipped with BZFlag (in /data/ on binary releases, and in /misc/ in source releases or CVS). A shell script can be made the same way. A config file can be used, by changing directory to BZFS, and do "bzfs -conf CONF.conf", replacing CONF.conf with the config file in the same BZFS directory.
Line 87: Line 107:
 
== Sharing Administration Status ==
 
== Sharing Administration Status ==
  
Helpful links about this topic:
+
Helpfull links about this topic:
  
 
http://my.bzflag.org/bb/viewtopic.php?t=5960
 
http://my.bzflag.org/bb/viewtopic.php?t=5960
Line 93: Line 113:
 
http://my.bzflag.org/bb/viewtopic.php?t=6516
 
http://my.bzflag.org/bb/viewtopic.php?t=6516
  
Sometimes people will want to share administrator status. Multiple people can be assigned permissions on a server, and all can do more than the normal DEFAULT group (general public). This allows a server to be better administrated, as when one admin is not watching it, another one can. So how do you do this? This is quite easy to do. First off, configure your server to accept group permissions. This is done through BZFS command "<code>-groupdb FILE</code>". This stores group names and permissions for that group. Its syntax for adding groups is: "GROUPNAME: permissions...", replacing GROUPNAME with the name of the group. Don't worry about adding ADMIN or DEFAULT groups, as those get thrown in automatically. Make one up, but please do not alter ADMIN group, as this is stuff administrators can do, and why limit yourself? Groupnames may not have spaces or quotes. Replace "permissions" with permissions, and take out the backslash in the command. For example, write "lagstats" instead of "/lagstats". So a sample line would be, "JRADMIN: playerlist ban kick". Separate permissions by a space, and DO NOT put permissions on different lines! Make sure the group name and ALL permissions are on the same line!
+
Sometimes people will want to share administrator status. Multiple people can be assigned permissions on a server, and all can do more than the normal DEFAULT group (general public). This allows a server to be better administrated, as when one admin is not watching it, another one can. So how do you do this? This is quite easy to do. First off, configure your server to accept group permissions. This is done through BZFS command "<code>-groupdb FILE</code>". This stores group names and permissions for that group. Its syntax for adding groups is: "GROUPNAME: permissions...", replacing GROUPNAME with the name of the group. Don't worry about adding ADMIN or DEFAULT groups, as those get thrown in automatically. Make one up, but please do not alter ADMIN group, as this is stuff administrators can do, and why limit yourself? Groupnames may not have spaces or quotes. Replace "permissions" with permissions, and take out the backslash in the command. For example, write "lagstats" instead of "/lagstats". So a sample line would be, "JRADMIN: playerlist ban kick". Separate permissions by a space, and DO NOT put persmissions on different lines! Make sure the group name and ALL permissions are on the same line!
  
 
Now that you have your groups laid out, you must create a pas-swo-rd dat-ab-ase to store nicks and passwords created using "/register", as only registered users may be added to groups. To add people to a group, have them register, and enter BZFlag admin client command "/setgroup CALLSIGN GROUPNAME", replacing CALLSIGN with their callsign, case sensitive (add quotes around it if the callsign has spaces), and GROUPNAME with the name of the group to add them to. And that?s it! Easy as pie! This enables you to have multiple admins on one server. But what if you don't want other admins? Easy, create a smaller admin group, such as JRADMIN, in which they have more privileges than a normal person, but not as many as an admin. One privilege you MUST be very careful in giving a person is /shutdownserver. This is terrible if misused, as it kills the server. Trust wisely. And finally, if your server supports /report, starting in 1.11.*, people with privilege to "/viewreports" can see any reports filed, regardless of whether or not the person with that privilege has the computer that stores the reports.
 
Now that you have your groups laid out, you must create a pas-swo-rd dat-ab-ase to store nicks and passwords created using "/register", as only registered users may be added to groups. To add people to a group, have them register, and enter BZFlag admin client command "/setgroup CALLSIGN GROUPNAME", replacing CALLSIGN with their callsign, case sensitive (add quotes around it if the callsign has spaces), and GROUPNAME with the name of the group to add them to. And that?s it! Easy as pie! This enables you to have multiple admins on one server. But what if you don't want other admins? Easy, create a smaller admin group, such as JRADMIN, in which they have more privileges than a normal person, but not as many as an admin. One privilege you MUST be very careful in giving a person is /shutdownserver. This is terrible if misused, as it kills the server. Trust wisely. And finally, if your server supports /report, starting in 1.11.*, people with privilege to "/viewreports" can see any reports filed, regardless of whether or not the person with that privilege has the computer that stores the reports.
Line 115: Line 135:
 
You may want to implement a filter to filter chat or callsigns or both from abusive words. Make a file with a phrase/word that should be filtered on every line, and add it to the server using configuration option "-badwords FILE", replacing FILE with the file name IN QUOTES that is found in the BZFS directory. Then set whether to filter chat, callsigns, or both using "-filterCallsigns" and/or "-filterChat". Sometimes, BZFS will be too strict and filter things that aren't bad. You can make simple exact matches happen using "-filterSimple".
 
You may want to implement a filter to filter chat or callsigns or both from abusive words. Make a file with a phrase/word that should be filtered on every line, and add it to the server using configuration option "-badwords FILE", replacing FILE with the file name IN QUOTES that is found in the BZFS directory. Then set whether to filter chat, callsigns, or both using "-filterCallsigns" and/or "-filterChat". Sometimes, BZFS will be too strict and filter things that aren't bad. You can make simple exact matches happen using "-filterSimple".
  
So you have a filter, but what if a bad person comes on? Take reasonable action, a warning to start, a permanent ban at worst. Punishment severity is, in order, a warning (use the chat), a kick (/kick REASON), a temporary ban (/ban IP DURATION REASON), and a permanent ban (/ban IP REASON). IP is delinquent's IP address (found using "/playerlist" admin command), DURATION is the amount of time in minutes (do not put a number alone if to ban forever), and REASON is an optional text string of the reason, which will be sent to the player and recorded in your logs. If you want to just kick a person off the server temporarily, use "/kick REASON", replacing REASON with an optional text string of the reason why. If you want bans to last after you shut down or restart your server, make sure you specified a [[ban file]], which is a file that BZFS can store banned IPs in, using BZFS command-line option "-banfile FILE", where FILE is the name of the file in the BZFS directory.
+
So you have a filter, but what if a bad person comes on? Take reasonable action, a warning to start, a permanent ban at worst. Punishment severity is, in order, a warning (use the chat), a kick (/kick REASON), a temporary ban (/ban IP DURATION REASON), and a permanent ban (/ban IP REASON). IP is delinquent's IP address (found using "/playerlist" admin command), DURATION is the amount of time in minutes (do not put a number alone if to ban forever), and REASON is an optional text string of the reason, which will be sent to the player and recorded in your logs. If you want to just kick a person off the server temporarily, use "/kick REASON", replacing REASON with an optional text string of the reason why. If you want bans to last after you shut down or restart your server, make sure you specified a ban file, which is a file that BZFS can store banned IPs in, using BZFS command-line option "-banfile FILE", where FILE is the name of the file in the BZFS directory.
  
 
== World Files ==
 
== World Files ==
Line 121: Line 141:
 
World files should have the ".bzw" file extension and be in [[BZW]] format. If world files live in the "<code>worlds</code>" directory under the config directory they will be usable when you start a simple server from inside the client. You should not use this method to run a dedicated server, just for starting a LAN game etc. The "<code>worlds</code>" directory is located:
 
World files should have the ".bzw" file extension and be in [[BZW]] format. If world files live in the "<code>worlds</code>" directory under the config directory they will be usable when you start a simple server from inside the client. You should not use this method to run a dedicated server, just for starting a LAN game etc. The "<code>worlds</code>" directory is located:
  
* "~/.bzf/worlds/" - on Linux and Unix Systems.
+
* "~/.bzf/worlds/}" - on Linux and Unix Systems.
* "My Documents\My BZFlag Files\worlds\" - on Microsoft Windows.
+
* "{My Documents\My BZFlag Files\worlds\" - on Microsoft Windows.
* "~/Library/Application Support/BZFlag/worlds" - on Apple Mac OS X.
+
* "~/Library/Application Support/BZFlag/worlds" - on Apple Mac OS X.
  
 
== Other Information ==
 
== Other Information ==
  
BZFlag has not been carefully audited for buffer overflows and other remote attacks, however, large packets or suspicious packets make the server kick the player that sent it. You should never trust the server to be your guard. It's a good idea to run your BZFlag server as a user with minimal permissions on your machine and to run it in a [[BZFS in a chroot jail|chroot jail]].
+
BZFlag has not been carefully audited for buffer overflows and other remote attacks, however, large packets or suspicious packets make the server kick the player that sent it. You should never trust the server to be your guard. It's a Good Idea® to run your BZFlag server as a user with minimal permissions on your machine. Another Good Idea® is to run the BZFlag server in a chroot.
  
 
== Regarding "cheat" servers ==
 
== Regarding "cheat" servers ==
  
While the license for BZFlag allows users to run any server modification that they wish, or to modify the code in any way, the project administration asks that users do not publish or host "cheat" type clients or servers. These cheats ruin the game for the average player, when they are mixed in with the normal game servers and clients. We understand the desire to expand and modify the game and its sources, so it is requested that anyone wishing to run a game that uses modified code or logic to do so using a different network protocol than the current public release. This will let modified games be played, and prevent modified clients from being used on public unmodified games, as they would be incompatible. The BZFlag project administrators reserve the right to remove the public listings of any game servers that do not adhere to this rule. Administrators also reserve the right to remove any global accounts or access to public services at any time.
+
While the license for BZFlag allows users to run any server modification that they wish, or to modify the code in any way. The project administration asks that users do not publish or host "cheat" type clients or servers. These cheats ruin the game for the average player, when they are mixed in with the normal game servers and clients. We understand the desire to expand and modify the game and it's sources, so it is requested that anyone wishing to run a game that uses modified code or logic to do so using a different network protocol then the current public release. This will let modified games be played, and prevent modified clients from being used on public unmodified games, as they would be incompatible. The BZFlag project administrators reserve the right to remove the public listings of any game servers that do not adhere to this rule. Administrators also reserve the right to remove any global accounts or access to public services at any time.
  
 
==See also==
 
==See also==
* [[Slash Commands]]
+
[[Commands]]<br>
* [[Server Variables]]
+
[[Server Variables]] <br>
* [[BZFS in a chroot jail]]
+
[[BZFS in a chroot jail]]
* [[Known Cheats]]
+
* [[Rotating Maps]]
+
  
 
==External Links==
 
==External Links==
Line 145: Line 163:
 
[[Category:Server]]
 
[[Category:Server]]
 
[[Category:Support]]
 
[[Category:Support]]
[[Category:Tutorials]]
 

Please note that all contributions to BZFlagWiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see BZFlagWiki:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel | Editing help (opens in new window)