Forum integration

Experienced Elementalist
Joined
Jan 4, 2007
Messages
257
Reaction score
16
I'm working on an SMF mod, to allow gunz to semi-integrate into it. So far I've managed:

Dual Account Registration: When you register for the forums, it automatically registers you to the gunz server. (about 40% done, the actual script is working, but there is issues that will come around when the server is down, looking for suggestions on ways to prevent this from happening, best way would just be to shut down registration until the gunz server is up)

I'm also considering, instead of dual registration on the registration script, just make a page which parses all the account information from the mysql database (forums) and just asks for a password (since the passwords in forums are encrypted).

Stats: Levels, experience, bounty, characters, etc, can all be pulled and displayed on the forums if done correctly. I'm about 75% done with this, I've gotten an account name to parse from the server, the rest of it is easy as changing two variables.

Management menu: Haven't started on this, but I plan on making a page which allows you to edit your account directly, names, genders, etc.



I'm looking for suggestions, anything that you could pull from the database, any ideas? Also, I need someone to write a tcp/ip guide to mssql (I got mine working, miraculously) for this to be effective.
 
For dual account registration a simple solution would be to put the user information in a file if Gunz server is down and on Matchserver startup register those.
 


Did it a few months ago. Ez
Easy indeed, lacking features bro. Also, I'm 100% certain you don't have dual registration, so I'm assuming you have a box where they can enter their account name.

Also when I'm done I'll be releasing this as a forum mod package, instead of doing the whole "haha look what I did" thing.
 
The idea is very aged, and while it will work, I recommend forcing the users to enter their "Display Name" to be something different than that of their username, for security reasons.

Anyways, the best solution is to cache all registration data, and notify the user that the server appears to be down, on the event that the script fails to connect to the server database.
 
Easy indeed, lacking features bro. Also, I'm 100% certain you don't have dual registration, so I'm assuming you have a box where they can enter their account name.

Also when I'm done I'll be releasing this as a forum mod package, instead of doing the whole "haha look what I did" thing.

Dual-Registratrion -> SetRegIsterHook(), OnHook(), if(Down) SetCronJob(); done.
 
Dual-Registratrion -> SetRegIsterHook(), OnHook(), if(Down) SetCronJob(); done.

1) There's an "l" in your "SetRegIsterHook()" statement, instead of an i.
2) Only you would think of turning a simple modification to the registration script, into a complicated series of hooks, requiring the use of cron.
 
1) There's an "l" in your "SetRegIsterHook()" statement, instead of an i.
2) Only you would think of turning a simple modification to the registration script, into a complicated series of hooks, requiring the use of cron.
The cron is for when the server is down, what you would do is add the account to a table under mysql and cron would check check every hour so (or not) if Gunz is up so it can put the queued accounts intro the database.
 
The cron is for when the server is down, what you would do is add the account to a table under mysql and cron would check check every hour so (or not) if Gunz is up so it can put the queued accounts intro the database.

It'd be easier to have the server daemon check for new files on load, rather than use cron; also, if the machine is hosted with MSSQL, odds are, you'll be on a Windows machine, in which case, Task Scheduler would be the wiser choice.
 
It'd be easier to have the server daemon check for new files on load, rather than use cron; also, if the machine is hosted with MSSQL, odds are, you'll be on a Windows machine, in which case, Task Scheduler would be the wiser choice.

That's true aswell there. Although, most people have a second host for web based areas. I was just saying cron because it's easier for people with cPanel access to understand.
 
Well not everyone has cPanel installed on their linux server. I myself have no control panel installed and manually manage my linux server. It runs pretty smooth, had a attempt at intrustion, owned ;].

but anyways, I'm working on something similar to this for vBulletin. extending the vbulletin database class for mssql is not easy but it goes ]:.
 
Well not everyone has cPanel installed on their linux server. I myself have no control panel installed and manually manage my linux server. It runs pretty smooth, had a attempt at intrustion, owned ;].

but anyways, I'm working on something similar to this for vBulletin. extending the vbulletin database class for mssql is not easy but it goes ]:.

It's very easy, depending on how you set it up - setting up the registration page to feed results to a script that parses results, connects to the MSSQL server, selects the Gunz database, then inserts the results.
 
I'm planning something similar. Already made a bridge between Joomla en vBulletin ( )
The biggest problem between bridging your SMF and Gunz database is that both piece of software run on another type of database (SMF: mySQL, Gunz: msSQL). Making bridging harder to do, when the services are not provided by the same host. (eg Wildcards. And most people using a free service for their forum).
So what I advice you to do is writing a host PHP script (eg after SMF Register). Which sends the values to a PHP page on your mssql service host, which fetches those.

Short example
Code:
// Register on SMF
     // SMF Checks values.
     // SMF Registers into database.
     // SMF sends the values to another page on your host.
// Register on Gunz.
     // Page "GET"s the values (eg http://host.net?register.php?value1=input1&value2=input2&....).
     // Page checks the values again.
     // Page writes them into the database.
 
The idea is very aged, and while it will work, I recommend forcing the users to enter their "Display Name" to be something different than that of their username, for security reasons.

Anyways, the best solution is to cache all registration data, and notify the user that the server appears to be down, on the event that the script fails to connect to the server database.

Would agree. I knew some old friends working on this, I was against it. Its to easy to hack into peoples accounts then if the game ID is the same as Forums.

I like the thought, but its just stupid security wise.
 
Would agree. I knew some old friends working on this, I was against it. Its to easy to hack into peoples accounts then if the game ID is the same as Forums.

I like the thought, but its just stupid security wise.

SMF offers "Display Names" by default - I even believe there's a mod to force display names to be entered on registration, differing from the username, for SMF (Similar to how IPB operates).

I'm planning something similar. Already made a bridge between Joomla en vBulletin ( )
The biggest problem between bridging your SMF and Gunz database is that both piece of software run on another type of database (SMF: mySQL, Gunz: msSQL). Making bridging harder to do, when the services are not provided by the same host. (eg Wildcards. And most people using a free service for their forum).
So what I advice you to do is writing a host PHP script (eg after SMF Register). Which sends the values to a PHP page on your mssql service host, which fetches those.

Short example
Code:
// Register on SMF
     // SMF Checks values.
     // SMF Registers into database.
     // SMF sends the values to another page on your host.
// Register on Gunz.
     // Page "GET"s the values (eg http://host.net?register.php?value1=input1&value2=input2&....).
     // Page checks the values again.
     // Page writes them into the database.

The problem with that is security and embeddability - what if the script fails to execute, due to a lack of resources? What if the script is discovered, and there being no form of CAPTCHA between the original box and the one being contacted, suffers some form of flood?

Ideally, you would open a concurrent-connection to the MSSQL database, parsing the results, then entering queries directly.
 
Back