Pozwoliłem sobie kontynuować poruszany przez Sylwka już temat o najcześciej spotykanych błędach w Vallheru.
Musisz w katagu ./includes znaleźć plik sessions.php. Jego zawartość powinna brzmieć:
session_start();
if (!isset($_SESSION['inicjuj']))
{
session_regenerate_id();
$_SESSION['inicjuj'] = true;
$_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
}
if($_SESSION['ip'] !== $_SERVER['REMOTE_ADDR'])
{
session_destroy();
}
?>
Dzięki temu mamy naprawiony oraz bezpieczny plik.
Serwer nie jest prawidłowo skonfigurowany czego owocem są krzaki zamist polskich znaków (w normalnych przeglądarkach), lub pobieraniem plików .php (w badzIEwiastych przeglądarkach).
Musisz wyłączyć komprezję GZIP, jednak gra będzie zużywała na oko 4x więcej transferu.
Aby wyłączyć kompresję, należy w pliku head.php (katalog includes), znaleźć sekcję:
/**
* Kompresja GZIP strony w celu zmiejszenia tranferu
*/
$do_gzip_compress = FALSE;
$compress = TRUE;
$phpver = phpversion();
$useragent = (isset($_SERVER["HTTP_USER_AGENT"]) ) ? $_SERVER["HTTP_USER_AGENT"] : $HTTP_USER_AGENT;
if ( $phpver >= '4.0.4pl1' && ( strstr($useragent,'compatible') || strstr($useragent,'Gecko') ) ) {
if ( extension_loaded('zlib') ) {
$compress = TRUE;
ob_start('ob_gzhandler');
}
} elseif ( $phpver > '4.0' ) {
if ( strstr($HTTP_SERVER_VARS['HTTP_ACCEPT_ENCODING'], 'gzip') ) {
if ( extension_loaded('zlib') ) {
$do_gzip_compress = TRUE;
$compress = TRUE;
ob_start();
ob_implicit_flush(0);
header('Content-Encoding: gzip');
}
}
}
Wystarczy, że:
$compress = TRUE;
zmienisz na:
$compress = FALSE;
Lub po prostu zakomentujesz:
/**
* Kompresja GZIP strony w celu zmiejszenia tranferu
$do_gzip_compress = FALSE;
$compress = TRUE;
$phpver = phpversion();
$useragent = (isset($_SERVER["HTTP_USER_AGENT"]) ) ? $_SERVER["HTTP_USER_AGENT"] : $HTTP_USER_AGENT;
if ( $phpver >= '4.0.4pl1' && ( strstr($useragent,'compatible') || strstr($useragent,'Gecko') ) ) {
if ( extension_loaded('zlib') ) {
$compress = TRUE;
ob_start('ob_gzhandler');
}
} elseif ( $phpver > '4.0' ) {
if ( strstr($HTTP_SERVER_VARS['HTTP_ACCEPT_ENCODING'], 'gzip') ) {
if ( extension_loaded('zlib') ) {
$do_gzip_compress = TRUE;
$compress = TRUE;
ob_start();
ob_implicit_flush(0);
header('Content-Encoding: gzip');
}
}
}*/
Aby ten problem rozwiązać musisz zmienić uprawnienia chmod do katalogu avatars na serwerze na 777, z prawem zapisu dla wszystkich.
Musisz typ pola credits w tabeli players (np. za pomocą PhpMyAdmin) ustawić na bigint(20).
W chat.php odszukujesz:
$stat = $db -> Execute("SELECT id, rank FROM players WHERE email='".$_SESSION['email']."' AND pass=MD5('".$_SESSION['pass'].")'");
i zmieniasz na:
$stat = $db -> Execute("SELECT id, rank FROM players WHERE email='".$_SESSION['email']);
Katalog includes, plik head.php, szukaj:
$time = date("H:i:s";
$data = date("y-m-d";
$hour = explode(":", $time);
$day = explode("-",$data);
$newhour = $hour[0] + 1;
if ($newhour > 23) {
$newhour = $newhour - 24;
$day[2] = $day[2]+1;
}
a linijkę:
$newhour = $hour[0] + 1;
zmień na:
$newhour = $hour[0];
------------------------------------------------------------------------------------------
I na tym kończy się nasza wspólna podróż po Vallheru.
Obiecuję, że niedługo zanużymy się ponownie w tym silniku, aby odpicować go do granic wytrzymałości ;)