This wiki was in read-only mode for many years, but can now be edited again. A lot of information will need to be updated.
Private List Server: Difference between revisions
		
		
		
		Jump to navigation
		Jump to search
		
No edit summary  | 
				No edit summary  | 
				||
| Line 33: | Line 33: | ||
  include($phpbb_root_path.'serversettings.'.$phpEx);  |   include($phpbb_root_path.'serversettings.'.$phpEx);  | ||
  include($phpbb_root_path.'banfunctions.'.$phpEx);  |   include($phpbb_root_path.'banfunctions.'.$phpEx);  | ||
*The PHPBB3 '''phpbb_user''' table must have additional fields added to track the BZFLAG player user_token, user_tokendate, and user_tokenip.  This is how the List Server authenticates each player, by sending an up to 10 digit token to the BZFLAG client:  | |||
 `user_token` int(10) unsigned NOT NULL DEFAULT '0',  | |||
 `user_tokendate` int(10) unsigned NOT NULL DEFAULT '0',  | |||
 `user_tokenip` varchar(40) COLLATE utf8_bin NOT NULL DEFAULT '',   | |||
=Acknowledgements=  | =Acknowledgements=  | ||
This process would not have been successful without the help of Blast/Blast007.  | This process would not have been successful without the help of Blast/Blast007.  | ||
Revision as of 04:19, 2 November 2010
Overview
This article discusses how to create a PRIVATE List Server and have players authenticate via this server. This is generally not necessary, since BZFlag clients perform Global Registration via the official bzflag.org List Server. However, if a BZFS server is created within a private LAN network, it may be desirable/necessary to authenticate players locally.
Assumptions
- This article assumes that a working BZFS server is already in place and has been tested.
 - This article assumes that the server administrator has access to web hosting with MySQL and PHP.
 - This article assumes that the server administrator understand how to download and install PHPBB3.
 - This article assumes that the private list server will use the same database as PHPBB3.
 - This article assumes that the server administrator understands how to perform basic editing of PHP code.
 - This article was written using Linux for the BZFS server.
 - This article was written using Windows clients to access both the game server and the private list server.
 
Directions
- Install and test your BZFS server. Make sure clients can connect and play the game.
 - Install PHPBB3 on a web server, configure settings, test that users can REGISTER to the PHPBB3 board.
 - In the "main" PHPBB3 folder, (ex: /usr/share/phpbb3/www/), place the following THREE files found in the SVN DB Repository (https://bzflag.svn.sourceforge.net/svnroot/bzflag/trunk/db/):
 
bzfls.php serversettings.php.tmpl (rename to serversettings.php) banfunctions.php
- Edit serversettings.php such that it can connect to your PHPBB3 MySQL database. Note that this example assumes that the same database is used for MySQL tables used by bzfls.php and by the PHPBB3 installation:
 
$dbhost = "localhost"; $dbname = "phpbb3"; $dbuname = "phpbb3"; $dbpass = "********"; $bbdbname = 'phpbb3';
- For ease of setup, bzfls.php was edited to access files from the "main" PHPBB3 folder (ex: /usr/share/phpbb3/www/). The following lines were changed to accomplish this:
 
$phpbb_root_path = '/usr/share/phpbb3/www/'; $phpEx = 'php'; include($phpbb_root_path.'includes/functions.'.$phpEx); include($phpbb_root_path.'includes/utf/utf_tools.'.$phpEx); include($phpbb_root_path.'includes/utf/utf_normalizer.'.$phpEx); include($phpbb_root_path.'serversettings.'.$phpEx); include($phpbb_root_path.'banfunctions.'.$phpEx);
- The PHPBB3 phpbb_user table must have additional fields added to track the BZFLAG player user_token, user_tokendate, and user_tokenip. This is how the List Server authenticates each player, by sending an up to 10 digit token to the BZFLAG client:
 
`user_token` int(10) unsigned NOT NULL DEFAULT '0', `user_tokendate` int(10) unsigned NOT NULL DEFAULT '0', `user_tokenip` varchar(40) COLLATE utf8_bin NOT NULL DEFAULT ,
Acknowledgements
This process would not have been successful without the help of Blast/Blast007.