Piechu
New Member
Helo i Have problem with THEBEST031a_for_TFS_02 it doesn't check serwer status ... Serwer is online but in acc maker : Offline... Where is the problem ? Please Fix That .
<?PHP
// ###################### CONFIG ########################
//load page config file
$config['site'] = parse_ini_file('config/config.ini');
//load server config
// ###### INSTALATOR ####
if(file_exists($config['site']['server_path'].'config.lua') && !empty($config['site']['OTS_version']))
$config['server'] = parse_ini_file($config['site']['server_path'].'config.lua');
else
{
if(isset($_POST['newpath']))
{
$config['site']['OTS_version'] = $_POST['serverversion'];
$config['site']['server_path'] = $_POST['newpath'];
$config['site']['server_path'] = trim($config['site']['server_path'])."\\";
$config['site']['server_path'] = str_replace("\\\\", "/", $config['site']['server_path']);
$config['site']['server_path'] = str_replace("\\", "/", $config['site']['server_path']);
$config['site']['server_path'] = str_replace("//", "/", $config['site']['server_path']);
saveconfig_ini($config['site']);
}
if(file_exists($config['site']['server_path'].'config.lua'))
$config['server'] = parse_ini_file($config['site']['server_path'].'config.lua');
else
{
echo 'ERROR: <b>'.$config['site']['server_path'].'config.lua</b> doesn\'t exist!<br />';
$install_manager = true;
}
if(empty($config['site']['OTS_version']))
{
echo 'ERROR: Server version not set in <b>config.ini</b> select one from list below!<br />';
$install_manager = true;
}
if($install_manager)
{
echo '<form action="index.php" method="post" ><span><b>Server path:</b></span><input type="text" name="newpath" SIZE="120" maxlength="350" value="'.$config['site']['server_path'].'"><br />
<b>Server version:</b><br />';
if($config['site']['OTS_version'] == 'tfs03gesior')
echo '<input type="radio" name="serverversion" value="tfs03gesior" checked="checked" />TFS 0.3 beta + Gesior acc. maker for TFS 0.3 is installed in this database<br />';
else
echo '<input type="radio" name="serverversion" value="tfs03gesior" />TFS 0.3 beta + Gesior acc. maker for TFS 0.3 is installed in this database<br />';
if($config['site']['OTS_version'] == 'tfs03')
echo '<input type="radio" name="serverversion" value="tfs03" checked="checked" />TFS 0.3 beta<br />';
else
echo '<input type="radio" name="serverversion" value="tfs03" />TFS 0.3 beta<br />';
if($config['site']['OTS_version'] == 'tfs02gesior')
echo '<input type="radio" name="serverversion" value="tfs02gesior" checked="checked" />TFS from version 0.2.6 to 0.2.13 + Gesior acc. maker for TFS 0.2 is installed in this database<br />';
else
echo '<input type="radio" name="serverversion" value="tfs02gesior" />TFS from version 0.2.6 to 0.2.13 + Gesior acc. maker for TFS 0.2 is installed in this database<br />';
if($config['site']['OTS_version'] == 'tfs02')
echo '<input type="radio" name="serverversion" value="tfs02" checked="checked" />TFS from version 0.2.6 to 0.2.13 OR [8.1]SQL:The Best War by Gesior<br />'; else echo '<input type="radio" name="serverversion" value="tfs02" />TFS from version 0.2.6 to 0.2.13 OR [8.1][code=sql]The Best War by Gesior<br />'; echo '<br /><input type="submit" value="Set new path and server version"> </form>Put here you OTS folder path like: <b><i>C:/mygreatOTS/</i></b>'; exit; } } // ############### CONFIG FOR SERVER #################### if(strtolower($config['site']['OTS_version']) == 'tfs03gesior') { //account database config $config['dbmanager'] = array(); $config['dbmanager']['account_premdays'] = true; $config['dbmanager']['account_premdays_field'] = 'premdays'; $config['dbmanager']['account_type'] = false; $config['dbmanager']['account_type_field'] = 'type'; $config['dbmanager']['account_key'] = true; $config['dbmanager']['account_key_field'] = 'key'; $config['dbmanager']['account_rlname'] = true; $config['dbmanager']['account_rlname_field'] = 'rlname'; $config['dbmanager']['account_location'] = true; $config['dbmanager']['account_location_field'] = 'location'; $config['dbmanager']['account_pageaccess'] = true; $config['dbmanager']['account_pageaccess_field'] = 'page_access'; $config['dbmanager']['account_premiumpoints'] = true; $config['dbmanager']['account_premiumpoints_field'] = 'premium_points'; $config['dbmanager']['player_balance'] = true; $config['dbmanager']['player_balance_field'] = 'balance'; $config['dbmanager']['player_loss_experience'] = true; $config['dbmanager']['player_loss_experience_field'] = 'loss_experience'; $config['dbmanager']['player_loss_mana'] = true; $config['dbmanager']['player_loss_mana_field'] = 'loss_mana'; $config['dbmanager']['player_loss_skills'] = true; $config['dbmanager']['player_loss_skills_field'] = 'loss_skills'; $config['dbmanager']['player_loss_items'] = true; $config['dbmanager']['player_loss_items_field'] = 'loss_items'; $config['dbmanager']['player_online'] = true; $config['dbmanager']['player_online_field'] = 'online'; $config['dbmanager']['player_comment'] = true; $config['dbmanager']['player_comment_field'] = 'comment'; $config['dbmanager']['group_customflags'] = true; $config['dbmanager']['group_customflags_field'] = 'customflags'; $config['dbmanager']['group_violationaccess'] = true; $config['dbmanager']['group_violationaccess_field'] = 'violationaccess'; // files config $config['site']['vocationXML_file_subdir'] = "data/XML/vocations.xml"; // database config $pot_catalog = 'POT-0.1.4'; $sql_connection_type = strtolower($config['server']['sqlType']); $mysqlhost = $config['server']['mysqlHost']; $mysqluser = $config['server']['mysqlUser']; $mysqlpass = $config['server']['mysqlPass']; $mysqldatabase = $config['server']['mysqlDatabase']; $sqlitefile = $config['server']['sqliteDatabase']; $passwordency = ''; if(strtolower($config['server']['passwordType']) == 'md5') { $passwordency = 'md5'; } elseif(strtolower($config['server']['passwordType']) == 'sha1') { $passwordency = 'sha1'; } } elseif(strtolower($config['site']['OTS_version']) == 'tfs03') { //account database config $config['dbmanager'] = array(); $config['dbmanager']['account_premdays'] = true; $config['dbmanager']['account_premdays_field'] = 'premdays'; $config['dbmanager']['account_type'] = false; $config['dbmanager']['account_type_field'] = 'type'; $config['dbmanager']['account_key'] = true; $config['dbmanager']['account_key_field'] = 'key'; $config['dbmanager']['account_rlname'] = false; $config['dbmanager']['account_rlname_field'] = 'rlname'; $config['dbmanager']['account_location'] = false; $config['dbmanager']['account_location_field'] = 'location'; $config['dbmanager']['account_pageaccess'] = false; $config['dbmanager']['account_pageaccess_field'] = 'page_access'; $config['dbmanager']['player_balance'] = true; $config['dbmanager']['player_balance_field'] = 'balance'; $config['dbmanager']['player_loss_experience'] = true; $config['dbmanager']['player_loss_experience_field'] = 'loss_experience'; $config['dbmanager']['player_loss_mana'] = true; $config['dbmanager']['player_loss_mana_field'] = 'loss_mana'; $config['dbmanager']['player_loss_skills'] = true; $config['dbmanager']['player_loss_skills_field'] = 'loss_skills'; $config['dbmanager']['player_loss_items'] = true; $config['dbmanager']['player_loss_items_field'] = 'loss_items'; $config['dbmanager']['player_online'] = true; $config['dbmanager']['player_online_field'] = 'online'; $config['dbmanager']['player_comment'] = false; $config['dbmanager']['player_comment_field'] = 'comment'; $config['dbmanager']['group_customflags'] = true; $config['dbmanager']['group_customflags_field'] = 'customflags'; $config['dbmanager']['group_violationaccess'] = true; $config['dbmanager']['group_violationaccess_field'] = 'violationaccess'; // files config $config['site']['vocationXML_file_subdir'] = "data/XML/vocations.xml"; // database config $pot_catalog = 'POT-0.1.4'; $sql_connection_type = strtolower($config['server']['sqlType']); $mysqlhost = $config['server']['mysqlHost']; $mysqluser = $config['server']['mysqlUser']; $mysqlpass = $config['server']['mysqlPass']; $mysqldatabase = $config['server']['mysqlDatabase']; $sqlitefile = $config['server']['sqliteDatabase']; $passwordency = ''; if(strtolower($config['server']['passwordType']) == 'md5') { $passwordency = 'md5'; } elseif(strtolower($config['server']['passwordType']) == 'sha1') { $passwordency = 'sha1'; } } elseif(strtolower($config['site']['OTS_version']) == 'tfs02') { //account database config $config['dbmanager'] = array(); $config['dbmanager']['account_premdays'] = true; $config['dbmanager']['account_premdays_field'] = 'premdays'; $config['dbmanager']['account_type'] = true; $config['dbmanager']['account_type_field'] = 'type'; $config['dbmanager']['account_key'] = true; $config['dbmanager']['account_key_field'] = 'key'; $config['dbmanager']['account_rlname'] = false; $config['dbmanager']['account_rlname_field'] = 'rlname'; $config['dbmanager']['account_location'] = false; $config['dbmanager']['account_location_field'] = 'location'; $config['dbmanager']['account_pageaccess'] = false; $config['dbmanager']['account_pageaccess_field'] = 'page_access'; $config['dbmanager']['player_balance'] = false; $config['dbmanager']['player_balance_field'] = 'balance'; $config['dbmanager']['player_loss_experience'] = false; $config['dbmanager']['player_loss_experience_field'] = 'loss_experience'; $config['dbmanager']['player_loss_mana'] = false; $config['dbmanager']['player_loss_mana_field'] = 'loss_mana'; $config['dbmanager']['player_loss_skills'] = false; $config['dbmanager']['player_loss_skills_field'] = 'loss_skills'; $config['dbmanager']['player_loss_items'] = false; $config['dbmanager']['player_loss_items_field'] = 'loss_items'; $config['dbmanager']['player_online'] = true; $config['dbmanager']['player_online_field'] = 'online'; $config['dbmanager']['player_comment'] = false; $config['dbmanager']['player_comment_field'] = 'comment'; $config['dbmanager']['group_customflags'] = false; $config['dbmanager']['group_customflags_field'] = 'customflags'; $config['dbmanager']['group_violationaccess'] = false; $config['dbmanager']['group_violationaccess_field'] = 'violationaccess'; // files config $config['site']['vocationXML_file_subdir'] = "data/XML/vocations.xml"; // database config $pot_catalog = 'POT-0.1.0'; $sql_connection_type = strtolower($config['server']['sqlType']); $mysqlhost = $config['server']['mysqlHost']; $mysqluser = $config['server']['mysqlUser']; $mysqlpass = $config['server']['mysqlPass']; $mysqldatabase = $config['server']['mysqlDatabase']; $sqlitefile = $config['server']['sqliteDatabase']; $passwordency = ''; if(strtolower($config['server']['passwordType']) == 'md5') { $passwordency = 'md5'; } elseif(strtolower($config['server']['passwordType']) == 'sha1') { $passwordency = 'sha1'; } } elseif(strtolower($config['site']['OTS_version']) == 'tfs02gesior') { //account database config $config['dbmanager'] = array(); $config['dbmanager']['account_premdays'] = true; $config['dbmanager']['account_premdays_field'] = 'premdays'; $config['dbmanager']['account_type'] = true; $config['dbmanager']['account_type_field'] = 'type'; $config['dbmanager']['account_key'] = true; $config['dbmanager']['account_key_field'] = 'key'; $config['dbmanager']['account_rlname'] = false; $config['dbmanager']['account_rlname_field'] = 'rlname'; $config['dbmanager']['account_location'] = false; $config['dbmanager']['account_location_field'] = 'location'; $config['dbmanager']['account_pageaccess'] = true; $config['dbmanager']['account_pageaccess_field'] = 'page_access'; $config['dbmanager']['account_premiumpoints'] = true; $config['dbmanager']['account_premiumpoints_field'] = 'premium_points'; $config['dbmanager']['player_balance'] = false; $config['dbmanager']['player_balance_field'] = 'balance'; $config['dbmanager']['player_loss_experience'] = false; $config['dbmanager']['player_loss_experience_field'] = 'loss_experience'; $config['dbmanager']['player_loss_mana'] = false; $config['dbmanager']['player_loss_mana_field'] = 'loss_mana'; $config['dbmanager']['player_loss_skills'] = false; $config['dbmanager']['player_loss_skills_field'] = 'loss_skills'; $config['dbmanager']['player_loss_items'] = false; $config['dbmanager']['player_loss_items_field'] = 'loss_items'; $config['dbmanager']['player_online'] = true; $config['dbmanager']['player_online_field'] = 'online'; $config['dbmanager']['player_comment'] = true; $config['dbmanager']['player_comment_field'] = 'comment'; $config['dbmanager']['group_customflags'] = false; $config['dbmanager']['group_customflags_field'] = 'customflags'; $config['dbmanager']['group_violationaccess'] = false; $config['dbmanager']['group_violationaccess_field'] = 'violationaccess'; // files config $config['site']['vocationXML_file_subdir'] = "data/XML/vocations.xml"; // database config $pot_catalog = 'POT-0.1.0'; $sql_connection_type = strtolower($config['server']['sqlType']); $mysqlhost = $config['server']['mysqlHost']; $mysqluser = $config['server']['mysqlUser']; $mysqlpass = $config['server']['mysqlPass']; $mysqldatabase = $config['server']['mysqlDatabase']; $sqlitefile = $config['server']['sqliteDatabase']; $passwordency = ''; if(strtolower($config['server']['passwordType']) == 'md5') { $passwordency = 'md5'; } elseif(strtolower($config['server']['passwordType']) == 'sha1') { $passwordency = 'sha1'; } } // loads #####POT mainfile##### include($pot_catalog.'/OTS.php'); // PDO and POT connects to database $ots = POT::getInstance(); if($sql_connection_type == "mysql") { //connect to MySQL database $loaded_db_name = $mysqldatabase; try { $ots->connect(POT::DB_MYSQL, array('host' => $mysqlhost, 'user' => $mysqluser, 'password' => $mysqlpass, 'database' => $mysqldatabase) ); } catch(PDOException $error) { echo 'Database error - can\'t connect to MySQL database. Possible reasons:<br>1. MySQL server is not running on host.<br>2. MySQL user, password, database or host isn\'t configured in: <b>'.$config['site']['server_path'].'config.lua</b> .<br>3. MySQL user, password, database or host is wrong.'; exit; } } elseif($sql_connection_type == "sqlite") { //connect to SQLite database $loaded_db_name = $sqlitefile; $link_to_sqlitedatabase = $config['site']['server_path'].$sqlitefile; try { $ots->connect(POT::DB_SQLITE, array('database' => $link_to_sqlitedatabase)); } catch(PDOException $error) { echo 'Database error - can\'t open SQLite database. Possible reasons:<br><b>'.$link_to_sqlitedatabase.'</b> - file isn\'t valid SQLite database.<br><b>'.$link_to_sqlitedatabase.'</b> - doesn\'t exist.<br><b>Your web server isn\'t configured to work with SQLite databases</b>'; exit; } } else { echo 'Database error. Unknown database type in <b>'.$config['site']['server_path'].'config.lua</b> . Maybe you selected wrong OTS in config? Must be equal to: "<b>mysql</b>" or "<b>sqlite</b>". Now is: "<b>'.$sql_connection_type.'"</b>'; exit; } $SQL = POT::getInstance()->getDBHandle(); $ots_vocations_xml = simplexml_load_file($config['site']['server_path'].$config['site']['vocationXML_file_subdir']); $vocations_skills = array(); foreach($ots_vocations_xml as $vocationz) { foreach($vocationz as $skill) $vocations_skills[(int) $vocationz['id']][(int) $skill['id']] = $skill['multiplier']; $ots_vocations[(int) $vocationz['id']] = $vocationz; } $filter_operators = array('' => 3, '0' => 3, 'equal' => 1, 'lower' => 2, 'higher' => 3, 'notequal' => 4, 'higherorequal' => 5, 'lowerorequal' => 6, 'like' => 7, 'notlike' => 8); //###################### FUNCTIONS ###################### function show_operators_list($selected_value) { if($selected_value == 'higher') $to_return .= '<option value="higher" selected="selected" >></option>'; else $to_return .= '<option value="higher" >></option'; if($selected_value == 'equal') $to_return .= '<option value="equal" selected="selected" >=</option>'; else $to_return .= '<option value="equal" >=</option>'; if($selected_value == 'lower') $to_return .= '<option value="lower" selected="selected" ><</option>'; else $to_return .= '<option value="lower" ><</option>'; if($selected_value == 'lowerorequal') $to_return .= '<option value="lowerorequal" selected="selected" ><=</option>'; else $to_return .= '<option value="lowerorequal" ><=</option>'; if($selected_value == 'higherorequal') $to_return .= '<option value="higherorequal" selected="selected" >>=</option>'; else $to_return .= '<option value="higherorequal" >>=</option>'; return $to_return; } function show_pages_links($page, $results_count, $results_per_page, $href) { if($page > 1 && $page-100 >= 1) $to_return .= '<a href="'.$href.($page-100).'">'. ($page-100) .'</a> '; if($page > 1 && $page-50 >= 1) $to_return .= '<a href="'.$href.($page-50).'">'. ($page-50) .'</a> '; if($page > 1 && $page-40 >= 1) $to_return .= '<a href="'.$href.($page-40).'">'. ($page-40) .'</a> '; if($page > 1 && $page-30 >= 1) $to_return .= '<a href="'.$href.($page-30).'">'. ($page-30) .'</a> '; if($page > 1 && $page-20 >= 1) $to_return .= '<a href="'.$href.($page-20).'">'. ($page-20) .'</a> '; if($page > 1 && $page-10 >= 1) $to_return .= '<a href="'.$href.($page-10).'">'. ($page-10) .'</a> '; if($page > 1 && $page-9 >= 1) $to_return .= '<a href="'.$href.($page-9).'">'. ($page-9) .'</a> '; if($page > 1 && $page-8 >= 1) $to_return .= '<a href="'.$href.($page-8).'">'. ($page-8) .'</a> '; if($page > 1 && $page-7 >= 1) $to_return .= '<a href="'.$href.($page-7).'">'. ($page-7) .'</a> '; if($page > 1 && $page-6 >= 1) $to_return .= '<a href="'.$href.($page-6).'">'. ($page-6) .'</a> '; if($page > 1 && $page-5 >= 1) $to_return .= '<a href="'.$href.($page-5).'">'. ($page-5) .'</a> '; if($page > 1 && $page-4 >= 1) $to_return .= '<a href="'.$href.($page-4).'">'. ($page-4) .'</a> '; if($page > 1 && $page-3 >= 1) $to_return .= '<a href="'.$href.($page-3).'">'. ($page-3) .'</a> '; if($page > 1 && $page-2 >= 1) $to_return .= '<a href="'.$href.($page-2).'">'. ($page-2) .'</a> '; if($page > 1 && $page-1 >= 1) $to_return .= '<a href="'.$href.($page-1).'">'. ($page-1) .'</a> '; $to_return .= '<b> '.$page.' </b>'; if($results_count > $page * $results_per_page) $to_return .= ' <a href="'.$href.($page+1).'">'. ($page+1) .'</a>'; if($results_count > ($page+1) * $results_per_page) $to_return .= ' <a href="'.$href.($page+2).'">'. ($page+2) .'</a>'; if($results_count > ($page+2) * $results_per_page) $to_return .= ' <a href="'.$href.($page+3).'">'. ($page+3) .'</a>'; if($results_count > ($page+3) * $results_per_page) $to_return .= ' <a href="'.$href.($page+4).'">'. ($page+4) .'</a>'; if($results_count > ($page+4) * $results_per_page) $to_return .= ' <a href="'.$href.($page+5).'">'. ($page+5) .'</a>'; if($results_count > ($page+5) * $results_per_page) $to_return .= ' <a href="'.$href.($page+6).'">'. ($page+6) .'</a>'; if($results_count > ($page+6) * $results_per_page) $to_return .= ' <a href="'.$href.($page+7).'">'. ($page+7) .'</a>'; if($results_count > ($page+7) * $results_per_page) $to_return .= ' <a href="'.$href.($page+8).'">'. ($page+8) .'</a>'; if($results_count > ($page+8) * $results_per_page) $to_return .= ' <a href="'.$href.($page+9).'">'. ($page+9) .'</a>'; if($results_count > ($page+9) * $results_per_page) $to_return .= ' <a href="'.$href.($page+10).'">'. ($page+10) .'</a>'; if($results_count > ($page+19) * $results_per_page) $to_return .= ' <a href="'.$href.($page+20).'">'. ($page+20) .'</a>'; if($results_count > ($page+29) * $results_per_page) $to_return .= ' <a href="'.$href.($page+30).'">'. ($page+30) .'</a>'; if($results_count > ($page+39) * $results_per_page) $to_return .= ' <a href="'.$href.($page+40).'">'. ($page+40) .'</a>'; if($results_count > ($page+49) * $results_per_page) $to_return .= ' <a href="'.$href.($page+50).'">'. ($page+50) .'</a>'; if($results_count > ($page+99) * $results_per_page) $to_return .= ' <a href="'.$href.($page+100).'">'. ($page+100) .'</a>'; return $to_return; } //return password "to db" function password_ency($password) { $ency = $GLOBALS['passwordency']; if($ency == 'sha1') { return sha1($password); } elseif($ency == 'md5') { return md5($password); } else { return $password; } } function getIPrange($ip) { $url = 'http://ripe.net/fcgi-bin/whois?form_type=advanced&full_query_string=&searchtext='.$ip; $url.= '&inverse_attributes=None&ip_search_lvl=Default&recursive=ON&domain_name_referral=ON'; $url.= '&alt_database=RIPE&object_type=domain&object_type=inet6num&object_type=inetnum'; $url.= '&Simple+search=Simple+search'; $url_data = implode("", file($url)); $a = preg_match("@Information related to '(.*?)'</i>@", $url_data, $ips); return explode(" - ", $ips[1]); } function convert_long2ip($long) { // Valid range: 0.0.0.0 -> 255.255.255.255 if ($long < 0 || $long > 4294967295) return 0; $ip = ""; for ($i=3;$i>=0;$i--) { $ip = (int)($long / pow(256,$i)).$ip; $long -= (int)($long / pow(256,$i))*pow(256,$i); if ($i>0) $ip = ".".$ip; } return $ip; } //is it valid nick? function check_name($name) { $temp = strspn("$name", "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM- [ ] '"); if ($temp != strlen($name)) { return false; } else { $ok = "/[a-zA-Z ']{1,25}/"; return (preg_match($ok, $name))? true: false; } } //is it valid password? function check_password($pass) { $temp = strspn("$pass", "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890"); if ($temp != strlen($pass)) { return false; } else { $ok = "/[a-zA-Z0-9]{1,40}/"; return (preg_match($ok, $pass))? true: false; } } function delete_player($name) { $SQL = $GLOBALS['SQL']; $player = new OTS_Player(); $player->find($name); if($player->isLoaded()) { try { $SQL->query("DELETE FROM player_skills WHERE player_id = '".$player->getId()."';"); } catch(PDOException $error) {} try { $SQL->query("DELETE FROM guild_invites WHERE player_id = '".$player->getId()."';"); } catch(PDOException $error) {} try { $SQL->query("DELETE FROM player_items WHERE player_id = '".$player->getId()."';"); } catch(PDOException $error) {} try { $SQL->query("DELETE FROM player_depotitems WHERE player_id = '".$player->getId()."';"); } catch(PDOException $error) {} try { $SQL->query("DELETE FROM player_spells WHERE player_id = '".$player->getId()."';"); } catch(PDOException $error) {} try { $SQL->query("DELETE FROM player_storage WHERE player_id = '".$player->getId()."';"); } catch(PDOException $error) {} try { $SQL->query("DELETE FROM player_viplist WHERE player_id = '".$player->getId()."';"); } catch(PDOException $error) {} try { $SQL->query("DELETE FROM player_deaths WHERE player_id = '".$player->getId()."';"); } catch(PDOException $error) {} try { $SQL->query("DELETE FROM player_deaths WHERE killed_by = '".str_replace("'", "\'", $player->getName())."';"); } catch(PDOException $error) {} $rank = $player->getRank(); if(!empty($rank)) { $guild = $rank->getGuild(); if($guild->getOwner()->getId() == $player->getId()) { $rank_list = $guild->getGuildRanksList(); if(count($rank_list) > 0) { $rank_list->orderBy('level'); foreach($rank_list as $rank_in_guild) { $players_with_rank = $rank_in_guild->getPlayersList(); $players_with_rank->orderBy('name'); $players_with_rank_number = count($players_with_rank); if($players_with_rank_number > 0) { foreach($players_with_rank as $player_in_guild) { $player_in_guild->setRank(); $player_in_guild->save(); } } $rank_in_guild->delete(); } $guild->delete(); } } } $player->delete(); return TRUE; } } function saveconfig_ini($config) { $file = fopen("config/config.ini", "w"); foreach($config as $param => $data) { $file_data .= $param.' = "'.str_replace('"', '', $data).'" '; } rewind($file); fwrite($file, $file_data); fclose($file); } ?>[/QUOTE] 2 config and function [QUOTE]<?PHP // ###################### CONFIG ######################## //load page config file $config['site'] = parse_ini_file('config/config.ini'); //check install if($config['site']['install'] != "no") { header("Location: install.php"); exit; } //parse data from page config file $vocations_from_config = explode(":", $config['site']['char_vocations']); foreach(explode(":", $config['site']['char_vocations']) as $value) { $char_vocations_add = explode(",", $value); $config['char_vocations'][$char_vocations_add['0']] = $char_vocations_add['1']; } if($config['site']['char_type'] != "main") { $config['char_vocations']['Rook'] = $config['site']['char_rook_name']; } foreach(explode(":", $config['site']['towns_list']) as $value) { $add_town = explode(",", $value); $towns_list[$add_town['0']] = $add_town['1']; } $config_vocations = explode(",", $config['site']['vocations_list']); $config_vocations_short = explode(",", $config['site']['vocations_short_list']); //load server config $config['server'] = parse_ini_file($config['site']['server_path'].'config.lua'); if(isset($config['server']['mysqlHost'])) { //new (0.2.6+) ots config.lua file $mysqlhost = $config['server']['mysqlHost']; $mysqluser = $config['server']['mysqlUser']; $mysqlpass = $config['server']['mysqlPass']; $mysqldatabase = $config['server']['mysqlDatabase']; } elseif(isset($config['server']['sqlHost'])) { //old (0.2.4) ots config.lua file $mysqlhost = $config['server']['sqlHost']; $mysqluser = $config['server']['sqlUser']; $mysqlpass = $config['server']['sqlPass']; $mysqldatabase = $config['server']['sqlDatabase']; } $sqlitefile = $config['server']['sqliteDatabase']; $passwordency = ''; if(strtolower($config['server']['useMD5Passwords']) == 'yes' || strtolower($config['server']['passwordType']) == 'md5') { $passwordency = 'md5'; } if(strtolower($config['server']['passwordType']) == 'sha1') { $passwordency = 'sha1'; } // loads #####POT mainfile##### include('pot/OTS.php'); // PDO and POT connects to database $ots = POT::getInstance(); if(strtolower($config['server']['sqlType']) == "mysql") { //connect to MySQL database try { $ots->connect(POT::DB_MYSQL, array('host' => $mysqlhost, 'user' => $mysqluser, 'password' => $mysqlpass, 'database' => $mysqldatabase) ); } catch(PDOException $error) { echo 'Database error - can\'t connect to MySQL database. Possible reasons:<br>1. MySQL server is not running on host.<br>2. MySQL user, password, database or host isn\'t configured in: <b>'.$config['site']['server_path'].'config.lua</b> .<br>3. MySQL user, password, database or host is wrong.'; exit; } } elseif(strtolower($config['server']['sqlType']) == "sqlite") { //connect to SQLite database $link_to_sqlitedatabase = $config['site']['server_path'].$sqlitefile; try { $ots->connect(POT::DB_SQLITE, array('database' => $link_to_sqlitedatabase)); } catch(PDOException $error) { echo 'Database error - can\'t open SQLite database. Possible reasons:<br><b>'.$link_to_sqlitedatabase.'</b> - file isn\'t valid SQLite database.<br><b>'.$link_to_sqlitedatabase.'</b> - doesn\'t exist.<br><font color="red">Wrong PHP configuration. Default PHP does not work with SQLite databases!</font>'; exit; } } else { echo 'Database error. Unknown database type in <b>'.$config['site']['server_path'].'config.lua</b> . Must be equal to: "<b>mysql</b>" or "<b>sqlite</b>". Now is: "<b>'.strtolower($config['server']['sqlType']).'"</b>'; exit; } $SQL = POT::getInstance()->getDBHandle(); $layout_name = "layouts/".$layout_name = $config['site']['layout'];; $layout_ini = parse_ini_file($layout_name.'/layout_config.ini'); foreach($layout_ini as $key => $value) $config['site'][$key] = $value; //###################### FUNCTIONS ###################### //save config in ini file function saveconfig_ini($config) { $file = fopen("config/config.ini", "w"); foreach($config as $param => $data) { $file_data .= $param.' = "'.str_replace('"', '', $data).'" '; } rewind($file); fwrite($file, $file_data); fclose($file); } //return password to db function password_ency($password) { $ency = $GLOBALS['passwordency']; if($ency == 'sha1') return sha1($password); elseif($ency == 'md5') return md5($password); elseif($ency == '') return $password; } //delete player with name function delete_player($name) { $SQL = $GLOBALS['SQL']; $player = new OTS_Player(); $player->find($name); if($player->isLoaded()) { try { $SQL->query("DELETE FROM player_skills WHERE player_id = '".$player->getId()."';"); } catch(PDOException $error) {} try { $SQL->query("DELETE FROM guild_invites WHERE player_id = '".$player->getId()."';"); } catch(PDOException $error) {} try { $SQL->query("DELETE FROM player_items WHERE player_id = '".$player->getId()."';"); } catch(PDOException $error) {} try { $SQL->query("DELETE FROM player_depotitems WHERE player_id = '".$player->getId()."';"); } catch(PDOException $error) {} try { $SQL->query("DELETE FROM player_spells WHERE player_id = '".$player->getId()."';"); } catch(PDOException $error) {} try { $SQL->query("DELETE FROM player_storage WHERE player_id = '".$player->getId()."';"); } catch(PDOException $error) {} try { $SQL->query("DELETE FROM player_viplist WHERE player_id = '".$player->getId()."';"); } catch(PDOException $error) {} try { $SQL->query("DELETE FROM player_deaths WHERE player_id = '".$player->getId()."';"); } catch(PDOException $error) {} try { $SQL->query("DELETE FROM player_deaths WHERE killed_by = '".str_replace("'", "\'", $player->getName())."';"); } catch(PDOException $error) {} $rank = $player->getRank(); if(!empty($rank)) { $guild = $rank->getGuild(); if($guild->getOwner()->getId() == $player->getId()) { $rank_list = $guild->getGuildRanksList(); if(count($rank_list) > 0) { $rank_list->orderBy('level'); foreach($rank_list as $rank_in_guild) { $players_with_rank = $rank_in_guild->getPlayersList(); $players_with_rank->orderBy('name'); $players_with_rank_number = count($players_with_rank); if($players_with_rank_number > 0) { foreach($players_with_rank as $player_in_guild) { $player_in_guild->setRank(); $player_in_guild->save(); } } $rank_in_guild->delete(); } $guild->delete(); } } } $player->delete(); return TRUE; } } //delete account with id, nto ready function delete_account($id) { } //delete guild with id function delete_guild($id) { $guild = new OTS_Guild(); $guild->load($id); if($guild->isLoaded()) { $rank_list = $guild->getGuildRanksList(); if(count($rank_list) > 0) { $rank_list->orderBy('level'); foreach($rank_list as $rank_in_guild) { $players_with_rank = $rank_in_guild->getPlayersList(); if(count($players_with_rank) > 0) { foreach($players_with_rank as $player_in_guild) { $player_in_guild->setRank(); $player_in_guild->save(); } } $rank_in_guild->delete(); } } $guild->delete(); return TRUE; } else return FALSE; } //is it valid nick? function check_name($name)//sprawdza name { $temp = strspn("$name", "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM- [ ] '"); if ($temp != strlen($name)) { return false; } else { $ok = "/[a-zA-Z ']{1,25}/"; return (preg_match($ok, $name))? true: false; } } //is it valid nick for new char? function check_name_new_char($name)//sprawdza name { $name_to_check = strtolower($name); //first word can't be: //names blocked: $names_blocked = array('gm','cm', 'god', 'tutor'); $first_words_blocked = array('gm ','cm ', 'god ','tutor ', "'", '-'); //name can't contain: $words_blocked = array('gamemaster', 'game master', 'game-master', "game'master", '--', "''","' ", " '", '- ', ' -', "-'", "'-", 'fuck', 'sux', 'suck', 'noob', 'tutor'); foreach($first_words_blocked as $word) if($word == substr($name_to_check, 0, strlen($word))) return false; if(substr($name_to_check, -1) == "'" || substr($name_to_check, -1) == "-") return false; if(substr($name_to_check, 1, 1) == ' ') return false; if(substr($name_to_check, -2, 1) == " ") return false; foreach($names_blocked as $word) if($word == $name) return false; for($i = 0; $i < strlen($name_to_check); $i++) if($name_to_check[$i-1] == ' ' && $name_to_check[$i+1] == ' ') return false; foreach($words_blocked as $word) if (!(strpos($name_to_check, $word) === false)) return false; for($i = 0; $i < strlen($name_to_check); $i++) if($name_to_check[$i] == $name_to_check[($i+1)] && $name_to_check[$i] == $name_to_check[($i+2)]) return false; for($i = 0; $i < strlen($name_to_check); $i++) if($name_to_check[$i-1] == ' ' && $name_to_check[$i+1] == ' ') return false; $temp = strspn("$name", "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM- '"); if ($temp != strlen($name)) return false; else { $ok = "/[a-zA-Z ']{1,25}/"; return (preg_match($ok, $name))? true: false; } } //is rank name valid? function check_rank_name($name)//sprawdza name { $temp = strspn("$name", "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM0123456789-[ ] "); if ($temp != strlen($name)) { return false; } else { $ok = "/[a-zA-Z ]{1,60}/"; return (preg_match($ok, $name))? true: false; } } //is guild name valid? function check_guild_name($name) { $temp = strspn("$name", "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM0123456789- "); if ($temp != strlen($name)) { return false; } else { $ok = "/[a-zA-Z ]{1,60}/"; return (preg_match($ok, $name))? true: false; } } //is it valid password? function check_password($pass)//sprawdza haslo { $temp = strspn("$pass", "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890"); if ($temp != strlen($pass)) { return false; } else { $ok = "/[a-zA-Z0-9]{1,40}/"; return (preg_match($ok, $pass))? true: false; } } //is it valid e-mail? function check_mail($email)//sprawdza mail { $ok = "/[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z]{2,4}/"; return (preg_match($ok, $email))? true: false; } //################### DISPLAY FUNCTIONS ##################### //return shorter text (news ticker) function short_text($text, $chars_limit) { if (strlen($text) > $chars_limit) return substr($text, 0, strrpos(substr($text, 0, $chars_limit), " ")).'...'; else return $text; } //return text to news msg function news_place() { if($GLOBALS['subtopic'] == "latestnews") { //add tickers to site - without it tickers will not be showed //$news .= $GLOBALS['news_content']; /* //featured article $layout_name = $GLOBALS['layout_name']; $news .= ' <div id="featuredarticle" class="Box"> <div class="Corner-tl" style="background-image:url('.$layout_name.'/images/content/corner-tl.gif);"></div> <div class="Corner-tr" style="background-image:url('.$layout_name.'/images/content/corner-tr.gif);"></div> <div class="Border_1" style="background-image:url('.$layout_name.'/images/content/border-1.gif);"></div> <div class="BorderTitleText" style="background-image:url('.$layout_name.'/images/content/title-background-green.gif);"></div> <img class="Title" src="'.$layout_name.'/images/strings/headline-featuredarticle.gif" alt="Contentbox headline" /> <div class="Border_2"> <div class="Border_3"> <div class="BoxContent" style="background-image:url('.$layout_name.'/images/content/scroll.gif);"> <div id=\'TeaserThumbnail\'><img src="'.$layout_name.'/images/news/features.jpg" width=150 height=100 border=0 alt="" /></div><div id=\'TeaserText\'><div style="position: relative; top: -2px; margin-bottom: 2px;" > <b>Tutaj wpisz tytul</b></div> tutaj wpisz tresc newsa<br> zdjecie laduje sie w <i>tibiacom/images/news/features.jpg</i><br> skad sie laduje mozesz zmienic linijke ponad komentarzem </div> </div> </div> </div> <div class="Border_1" style="background-image:url('.$layout_name.'/images/content/border-1.gif);"></div> <div class="CornerWrapper-b"><div class="Corner-bl" style="background-image:url('.$layout_name.'/images/content/corner-bl.gif);"></div></div> <div class="CornerWrapper-b"><div class="Corner-br" style="background-image:url('.$layout_name.'/images/content/corner-br.gif);"></div></div> </div>'; */ } return $news; } //set monster of week function logo_monster() { return str_replace(" ", "", trim(mb_strtolower($GLOBALS['config']['site']['logo_monster']))); } $statustimeout = 1; foreach(explode("*", str_replace(" ", "", $config['server']['statusTimeout'])) as $status_var) if($status_var > 0) $statustimeout = $statustimeout * $status_var; $statustimeout = $statustimeout / 1000; $config['status'] = parse_ini_file('config/serverstatus'); if($config['status']['serverStatus_lastCheck']+$statustimeout < time()) { $config['status']['serverStatus_checkInterval'] = $statustimeout+3; $config['status']['serverStatus_lastCheck'] = time(); $info = chr(6).chr(0).chr(255).chr(255).'info'; $sock = @fsockopen("127.0.0.1", $config['server']['port'], $errno, $errstr, 1); if ($sock) { fwrite($sock, $info); $data=''; while (!feof($sock)) $data .= fgets($sock, 1024); fclose($sock); preg_match('/players online="(\d+)" max="(\d+)"/', $data, $matches); $config['status']['serverStatus_online'] = 1; $config['status']['serverStatus_players'] = $matches[1]; $config['status']['serverStatus_playersMax'] = $matches[2]; preg_match('/uptime="(\d+)"/', $data, $matches); $h = floor($matches[1] / 3600); $m = floor(($matches[1] - $h*3600) / 60); $config['status']['serverStatus_uptime'] = $h.'h '.$m.'m'; preg_match('/monsters total="(\d+)"/', $data, $matches); $config['status']['serverStatus_monsters'] = $matches[1]; } else { $config['status']['serverStatus_online'] = 0; $config['status']['serverStatus_players'] = 0; $config['status']['serverStatus_playersMax'] = 0; } $file = fopen("config/serverstatus", "w"); foreach($config['status'] as $param => $data) { $file_data .= $param.' = "'.str_replace('"', '', $data).'" '; } rewind($file); fwrite($file, $file_data); fclose($file); } //PAGE VIEWS COUNTER :) $views_counter = "usercounter.dat"; // checking if the file exists if (file_exists($views_counter)) { // het bestand bestaat, waarde + 1 $actie = fopen($views_counter, "r+"); $page_views = fgets($actie, 9); $page_views++; rewind($actie); fputs($actie, $page_views, 9); fclose($actie); } else { // the file doesn't exist, creating a new one with value 1 $actie = fopen($views_counter, "w"); $page_views = 1; fputs($actie, $page_views, 9); fclose($actie); } ?>[/QUOTE]
code [/.code] next time better to see or php
and change this line
[php]
$sock = @fsockopen("127.0.0.1", $config['server']['port'], $errno, $errstr, 1);
to
$sock = @fsockopen("127.0.0.1", $config['server']['statusport'], $errno, $errstr, 1);
[/php]
PHP:$sock = @fsockopen("127.0.0.1", $config['server'][7171], $errno, $errstr, 1);
try this!
$sock = @fsockopen("127.0.0.1", 7171, $errno, $errstr, 1);
Noobish but should works.PHP:$sock = @fsockopen("127.0.0.1", 7171, $errno, $errstr, 1);
Noobish but should works.PHP:$sock = @fsockopen("127.0.0.1", 7171, $errno, $errstr, 1);