Okay, I'm getting quite a lot of requests on how to integrate PBWoW with a Private WoW Server (PWS from now on), so during the next couple of days I'll spend some time on getting the basics working.
The first thing to remember is that most private server packages (MaNGOS, Antrix, etc.) don't have any password encryption as far as I know (last time I looked was over a years ago, correct me if I'm wrong). This means that it will be much easier to integrate a PWS registration script inside the phpBB registration code, than the other way around. So, all integration will be done exclusively from phpBB to PWS.
There are a few possible levels of integration:
1 - Registration only: when a user registers to the forum, phpBB itself will do multiple checks (duplicate usernames, etc). If all these checks are passed, the registration information will be send to the phpBB installation and the password will be send in an encrypted form (MD5 or something, haven't checked yet). At the same time, this information should be send to the PWS, but this time, with the unencrypted password. This is pretty unsafe, but since most PWS packages don't support password encryption, it's the only way. There are a few problems with this. Firstly, users that already have an account on the PWS will have to create a new account just to get on the forum. Also, changing passwords etc is not possible on the PWS making thing very complicated and messy.
2 - Account integration: when a user registers on the forum, a check will be made to see if an account with that name already exists in the PWS database. If this isn't the case then the registration will continue and the unencrypted password will be send to the PWS and saved there. Also changing passwords from the UCP will work in the same way. Lastly, banning users will also be integrated into the ACP/MCP so that you can ban players from the PWS from the forum. A big problem is that users might already have an account on the PWS but don't yet have on the forum. Somehow, the new forum account should be combined with the old PWS account. Food for thought.
3 - Character integration: users are able to select a character associated with their account on the PWS from a dedicated option in the UCP. Character information will be retrieved as soon as a character name is selected from this dropdown list menu. This information will be displayed at all places where the user information is currently shown. Problems with this are the vast complexity of the required mods. Firstly, a complex mod must be written that retrieves a list of characters from the PWS and also retrieves character info which must then be cached somewhere (perhaps a new table inside the phpBB database) in order not to put too much strain on the PWS database server. After that, each page that displays user info must retrieve the information from this cache and use it to correctly display char info. All this will require cache management and other control mechanisms.
I will be focussing on integration level 2.
This thread can be used to post anything constructive to add to the conversation. Don't post support requests.
Modify the UCP registration module to include additional PHP script. *DONE*
Modify registration to check for already existing account in PWS DB.
Have UCP display errors in case of already existing account.
On successful passing of checks, have account info inserted into PWS DB. *DONE*
Have UCP display errors in case of registration errors. *DONE*
Modify UCP account options module to include additional PHP script for password changing.
Have UCP send unencrypted password to PWS DB for update.
Banning options, more on that later.
What I need from you guys:
The best PWS registration script (in PHP) currently available. I know that there are multiple CMS (Content Management Systems) available with portal and frontend that have PWS registration options. Post the link to the package (without required signup) and I can recycle the code.
Structure of the accounts table of the biggest PWS packages (MaNGOS, Antrix, etc.)
Character Integration is very hard, because you have the "characters" database with the "characters" and "guild" tables.
Very hard, you have to try MaNGOS on your own, it's not very hard, I can give you a working Core (emulator files) and the database is simple stuff (Best DB Team: http://project-silvermoon.net )
Technical Support Moderator, PBWoW