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

Difference between revisions of "BZFS 2.4 Upgrade"

From BZFlagWiki
Jump to: navigation, search
(added category)
 
(13 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
Stub for BZFS 2.0.x to 2.4 server upgrade path
 
Stub for BZFS 2.0.x to 2.4 server upgrade path
  
== Overview ==
+
==Overview==
  
 
For version 2.4 there are new requirements for your server to be listed on the
 
For version 2.4 there are new requirements for your server to be listed on the
Line 8: Line 8:
 
This page documents user visible changes to the BZFlag server for the 2.4 release of [[BZFlag]].
 
This page documents user visible changes to the BZFlag server for the 2.4 release of [[BZFlag]].
  
== Getting your server listed on the server list ==
+
=== Short Version for the impatient ===
  
=== Generating and managing server keys ===
+
* '''-public''' changed to '''-publictitle'''
 +
* '''-publickey''' specifies your server key for including your server on the server list
 +
* '''-utc''' logs server timestamps in UTC instead of localtime
 +
* '''-passdb''' removed
 +
* '''-requireudp''' removed
 +
* '''-offa''' selects teamless free-for-all game style
 +
* '''-time''' can specify end time for timed games
 +
* '''-noTeamKills''' can remove teamkilling possibilities from the map
 +
* Groups can now be referenced in the groupdb before they are defined
 +
 
 +
==Getting your server listed on the server list==
 +
 
 +
===Generating and managing server keys===
 
You need to generate a public server key for your BZFlag server which matches your  
 
You need to generate a public server key for your BZFlag server which matches your  
 
server host.  If you have multiple server hosts you need a separate key per host.
 
server host.  If you have multiple server hosts you need a separate key per host.
 
You can generate and manage your server keys at http://my.bzflag.org/listkeys/
 
You can generate and manage your server keys at http://my.bzflag.org/listkeys/
  
=== Starting your BZFlag server using your server key ===
+
===Starting your BZFlag server using your server key===
 
After generating a server key you need to provide the key to your bzfs server so it can
 
After generating a server key you need to provide the key to your bzfs server so it can
 
authenticate with the list server.  Only servers with valid public keys will be shown
 
authenticate with the list server.  Only servers with valid public keys will be shown
Line 37: Line 49:
 
You need to provide the key value to the bzfs server option '''''-publickey''''' like this
 
You need to provide the key value to the bzfs server option '''''-publickey''''' like this
  
  $ bzfs -public "Map name goes here" -publickey 1234567890123456789  
+
  $ bzfs -publictitle "Map name goes here" -publickey 1234567890123456789  
  
 
The '''''-publicaddr''''' and '''''-p''''' parameters have not changed from 2.0.x and are used to  
 
The '''''-publicaddr''''' and '''''-p''''' parameters have not changed from 2.0.x and are used to  
 
provide the hosting server address and port respectively.
 
provide the hosting server address and port respectively.
  
 +
More information about the public key option can be found at
 +
[[ServerAuthentication]]
  
== Upgrading third party plugins ==
+
==Upgrading third party plugins==
  
 
The API for plugins has changed in the 2.4 release.  See
 
The API for plugins has changed in the 2.4 release.  See
 
[[BZFS_API_2.4_Upgrade]] for details on upgrading your server plugins.
 
[[BZFS_API_2.4_Upgrade]] for details on upgrading your server plugins.
  
== BZFlag server commandline option changes ==
+
==BZFlag server commandline option changes==
  
{|
+
=== Removed options ===
! bzfs Commandline Switch
+
* Local password databases are no longer supported for authentication
! Notes                   
+
** '''-passdb''' has been removed as a command line option
|-
+
* UDP is on by default
| -offa
+
** '''-requireudp''' has been removed as a command line option
| New, teamless free-for-all game mode                 
+
 
|-
+
=== Changed options ===
| -passdb
+
* The option for specifying the map name on the server list has changed
| Removed                                             
+
** '''-public''' changed to '''-publictitle'''
|-
+
* Timed games can now specify the end time in either seconds or end time
| -requireudp
+
** '''-time''' now takes either the number of seconds or an end time as an option (format hh:mm or hh:mm:ss)
| Removed                                             
+
 
|-
+
=== New options ===
| -time                 
+
* Ability to turn off teamkilling for a map
| Modified, Specify end time in seconds or ending time (hh:mm:ss)
+
** '''-noTeamKills''' added as an option to prevent players from dying from each other.
|-
+
* New game mode for teamless free-for-all
| -utc                   
+
** '''-offa''' added as an option to select this mode
| New, Make server time stamps in UTC instead of local time
+
* bzfs server timestamps can now be output in UTC instead of the local time
|-
+
** Specifying '''-utc''' outputs all times in UTC and implies '''-ts'''
| -publickey <key>       
+
* Public keys are required to have your server included on the BZFlag server list
| New, Required for including your server on the server list
+
** '''-publickey''' is used to specify your key. See [[BZFS_2.4_Upgrade#Getting your server listed on the server list|Getting your server listed on the server list]] for details
|}
+
 
 +
==Server Groups==
 +
With this release BZFlag groups defined in the ''groupdb'' can now be referenced before they are defined.
 +
 
 +
Permissions provided by existing server groups will work with no modifications as long as no forward references to
 +
groups exist in your ''groupdb''.
 +
 
 +
If your group files reference other groups that were not yet defined the permissions provided by
 +
those forward-referenced groups will now be granted to your group members.
 +
 
 +
We recommend that you review your server ''groupdb'' settings.
 +
 
 +
 
 +
An example
 +
 
 +
<pre>
 +
group1: *group2 +spawn
 +
group2: +talk
 +
group3: *group2
 +
group2: +poll
 +
</pre>
 +
 
 +
In 2.0 the "*group2" statement in line one would have been ignored because group2 was not yet defined. Also line 4 would have been ignored becaused group2 was used as a reference in line 3.
 +
Now in 2.4 these aren't errors anymore, so while in 2.0  the resulting perms are:
 +
 
 +
group1: spawn<br />
 +
group2: talk<br />
 +
group3: talk<br />
 +
 
 +
they are in 2.4
 +
 
 +
group1: spawn talk poll<br />
 +
group2: talk poll<br />
 +
group3: talk poll<br />
  
== TODO ==
+
If bzfs didn't warn (with -d) about bad group references or skipped lines in 2.0 your groupdb file should work the same way in 2.4. Else you should have a look on it or expect unexpected effects.
  
* document r21903
+
[[Category:Server]]
** should not change for well defined groups
+
** may change behaviour if the group definitions were wrong
+

Latest revision as of 16:49, 22 February 2017

Stub for BZFS 2.0.x to 2.4 server upgrade path

Overview[edit]

For version 2.4 there are new requirements for your server to be listed on the BZFlag hosted server list.

This page documents user visible changes to the BZFlag server for the 2.4 release of BZFlag.

Short Version for the impatient[edit]

  • -public changed to -publictitle
  • -publickey specifies your server key for including your server on the server list
  • -utc logs server timestamps in UTC instead of localtime
  • -passdb removed
  • -requireudp removed
  • -offa selects teamless free-for-all game style
  • -time can specify end time for timed games
  • -noTeamKills can remove teamkilling possibilities from the map
  • Groups can now be referenced in the groupdb before they are defined

Getting your server listed on the server list[edit]

Generating and managing server keys[edit]

You need to generate a public server key for your BZFlag server which matches your server host. If you have multiple server hosts you need a separate key per host. You can generate and manage your server keys at http://my.bzflag.org/listkeys/

Starting your BZFlag server using your server key[edit]

After generating a server key you need to provide the key to your bzfs server so it can authenticate with the list server. Only servers with valid public keys will be shown on the BZFlag list server.

Keys are shown at http://my.bzflag.org/listkeys like this:

KEYS listed from http://my.bzflag.org/listkeys
Host Key
my.bzflag.server.host 1234567890123456789 [Delete]

You need to provide the key value to the bzfs server option -publickey like this

$ bzfs -publictitle "Map name goes here" -publickey 1234567890123456789 

The -publicaddr and -p parameters have not changed from 2.0.x and are used to provide the hosting server address and port respectively.

More information about the public key option can be found at ServerAuthentication

Upgrading third party plugins[edit]

The API for plugins has changed in the 2.4 release. See BZFS_API_2.4_Upgrade for details on upgrading your server plugins.

BZFlag server commandline option changes[edit]

Removed options[edit]

  • Local password databases are no longer supported for authentication
    • -passdb has been removed as a command line option
  • UDP is on by default
    • -requireudp has been removed as a command line option

Changed options[edit]

  • The option for specifying the map name on the server list has changed
    • -public changed to -publictitle
  • Timed games can now specify the end time in either seconds or end time
    • -time now takes either the number of seconds or an end time as an option (format hh:mm or hh:mm:ss)

New options[edit]

  • Ability to turn off teamkilling for a map
    • -noTeamKills added as an option to prevent players from dying from each other.
  • New game mode for teamless free-for-all
    • -offa added as an option to select this mode
  • bzfs server timestamps can now be output in UTC instead of the local time
    • Specifying -utc outputs all times in UTC and implies -ts
  • Public keys are required to have your server included on the BZFlag server list

Server Groups[edit]

With this release BZFlag groups defined in the groupdb can now be referenced before they are defined.

Permissions provided by existing server groups will work with no modifications as long as no forward references to groups exist in your groupdb.

If your group files reference other groups that were not yet defined the permissions provided by those forward-referenced groups will now be granted to your group members.

We recommend that you review your server groupdb settings.


An example

group1: *group2 +spawn
group2: +talk
group3: *group2
group2: +poll

In 2.0 the "*group2" statement in line one would have been ignored because group2 was not yet defined. Also line 4 would have been ignored becaused group2 was used as a reference in line 3. Now in 2.4 these aren't errors anymore, so while in 2.0 the resulting perms are:

group1: spawn
group2: talk
group3: talk

they are in 2.4

group1: spawn talk poll
group2: talk poll
group3: talk poll

If bzfs didn't warn (with -d) about bad group references or skipped lines in 2.0 your groupdb file should work the same way in 2.4. Else you should have a look on it or expect unexpected effects.