Loukas Posted March 8, 2010 Posted March 8, 2010 Ive decided to make this thread cuz theres allot of good servers out there with pages looking like something frontpage would spit out.. besides it was time to give something back to the mxc community ;D I could post all scripts from castle sieges to clan hall owners lol.. but i will just post this 3 for example.. and ofcourse learning purposes.. Server Status: anyway status script is the easyest thing to do with php.. and i wont even try to explain it since its mostly obvious.. <?php print'<table width="150">'; $server = "127.0.0.1"; $portg = "7777"; $portl = "9014"; $timeout = "5"; if ($server and $port and $timeout) { $game = @fsockopen("$server", $portg, $errno, $errstr, $timeout); $login = @fsockopen("$server", $portl, $errno, $errstr, $timeout); } print'<tr><td align="center"><strong>Server Status</strong></td></tr>'; if($login) { print'<tr><td>Login:</td><td><font color="#00FF00"><strong> Online</strong></font><br><br></td></tr>'; } else { print'<tr><td>Login:</td><td><font color="#FF0000"><strong> Offline</strong></font><br><br></td></tr>'; } if($game) { print'<tr><td>Game:</td><td><font color="#00FF00"><strong> Online</strong></font></td></tr>'; } else { print'<tr><td>Game:</td><td"><font color="#FF0000"><strong> Offline</strong></td></tr>'; } print'</table>'; ?> Acc creation: I wasted allot of time to get to know what encryption l2 uses for passwords.. anyway i wanted to spare you some time.. First create acc.php file in same directory as index.. and add this script to it <?php define('mySQL_hostname', '127.0.0.1'); //database IP define('mySQL_database', 'Database'); //database name define('mySQL_username', 'User'); //database user define('mySQL_password', 'Pass'); //database password function l2j_encrypt($password) { return base64_encode(pack("H*", sha1(utf8_encode($password)))); } $str = l2j_encrypt($_POST['pass']); $user = $_POST["name"]; $db_link = mysql_pconnect( mySQL_hostname, mySQL_username, mySQL_password ) or die( 'Error connecting to mysql<br><br>'.mysql_error() ); $db_select = mysql_select_db( mySQL_database, $db_link ) or die( 'Error connecting to Database<br><br>'.mysql_error() ); if ($user == '') { print'Incorrect UserID'; mysql_close(); } else { $db_add = mysql_query( "INSERT INTO `accounts` VALUES ('$user', '$str', '0', '0', '')" ) or die( 'Error: '.mysql_error() ); } print 'Account Created<br><br>Enjoy youre gameplay.'; mysql_close(); ?> after that add this to index <form action="acc.php" method=post> UserID:<input type="text" name="name" size 20><br><br> Password:<input type="password" name="pass" size 20><br><br> <input type=submit name="submit" value="Login"> </form> Online Players: This script connects to the database(that means you need to have php connected to sql.. if you need any help with it try searching with google for apache php mysql install guides and i bet first link will work). Ive explained some of the code.. so learning from it should be easy.. <?php //first you need to define db info define('mySQL_hostname', '127.0.0.1'); //database IP define('mySQL_database', 'Database'); //database name define('mySQL_username', 'User'); //database user define('mySQL_password', 'Pass'); //database password //connects to mysql $db_link = mysql_pconnect( mySQL_hostname, mySQL_username, mySQL_password ) or die( 'Error connecting to mysql<br><br>'.mysql_error() ); //connects to Database $db_select = mysql_select_db( mySQL_database, $db_link ) or die( 'Error connecting to Database<br><br>'.mysql_error() ); //selects desired table $chars=mysql_query("SELECT * FROM characters"); //tells how much rows are there (will come helpfull with while loops) $rows =mysql_numrows($characters); $i=0; $x=0; //while $i is smaller than number of rows repeat the code while ($i < $rows) { $online=mysql_result($chars,$i,"online"); //looks into characters table, under column online(if player is online its "0" else "1"), at row $i if ($online == 1) { $x++; } // if column online at row $i is "1", increase $x $i++; //increase $i } print 'Online players:<em>'.$x.'<em>'; //prints out the $x number of players online ?> sometimes you will only get for example clan id.. not the name of it.. and in that case i suggest you use 2 whiles (one inside the other) to check other tables for names... hope it was helpful.. enjoy :) Quote
CriticalError Posted March 8, 2010 Posted March 8, 2010 wow cool guide man thanks a lot really usefull Quote
MiCroN™ Posted March 9, 2010 Posted March 9, 2010 Great guide! I am sure it will help a lot some ppl Quote
playkiller Posted March 10, 2010 Posted March 10, 2010 looking for something like this to my page, thanks! Quote
FearDuck Posted June 6, 2010 Posted June 6, 2010 good job guide, i hope this guide can help other pplw in website. Quote
HUNpusi2 Posted June 25, 2010 Posted June 25, 2010 good but already posted many times. another: im searching this forum about a php code, that can tell me online players by an ip:port. there was a webpage (l2.evermore.ru or i dont remember correctly) what could do this. Can anyone help me about this? Quote
©Skylos© Posted January 31, 2011 Posted January 31, 2011 man very nice and usefull ups.... "( sr for sigging havent checked date Quote
slesher91700 Posted June 5, 2011 Posted June 5, 2011 What should i write to: $portl = "9014"; $timeout = "5"; ? what port number, and what does this timeout do? :$ sry I'm a beginner at php :/ Quote
AdrenalinE Posted June 5, 2011 Posted June 5, 2011 For me account creation doesn't work.. Error : Error: Column count doesn't match value count at row 1 Quote
FFs Posted June 5, 2011 Posted June 5, 2011 For me account creation doesn't work.. Error : Error: Column count doesn't match value count at row 1 Because you have another database, check the code tables and the database, the problem can be the database tables dont have the same name who the code's have, so check it. You use Freya or Interlude? and what pack did you use? Quote
AdrenalinE Posted June 5, 2011 Posted June 5, 2011 Because you have another database, check the code tables and the database, the problem can be the database tables dont have the same name who the code's have, so check it. You use Freya or Interlude? and what pack did you use? I use datapack of l2j with freya. Quote
fokys Posted June 6, 2011 Posted June 6, 2011 Could you add captcha system to registration script? Because without captcha you can not rly use it! Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.