Skocz do zawartości
  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

damianks

Problem z monitoringiem statusu serwera

Promowane odpowiedzi

damianks    3

Strona WWW: http://OneKill.pl/

Pełny opis problemu:

Mam problem ponieważ nie chce mi odczytać grafiki odpowiadającej za status.

http://onekill.pl/status/status.php?server=193.33.177.117:27026

Gdy kod status.php jest następujący czyli biały, normalnie czyta:

<?php
/**
*
* Graficzny tatus serwerow opartych na protokole Half Life oraz Half Life 2
* Autorem klasy jest: Herwin Weststrate aka Hdez - hdez@counter-strike.nl
* Wersja: 1.0
* copyright (c) 2010 Fragles.eu
* bok@fragles.eu
* http://opensource.org/licenses/gpl-license.php GNU Public License
* Zezwalam na użytkowanie, modyfikowanie ale nie na sprzedawanie!
*
*/
// sciezka do pliku z klasa
require_once('status/class.hlsocket.php');
// przykladowe czcionki
define('TEMPESTA', 'status/fonts/tempesta.ttf');
define('TAHOMA',	'status/fonts/tahoma.ttf');
define('VERDANA',	'status/fonts/verdana.ttf');
define('TAHOMA_BOLD',	'status/fonts/tahoma_bold.ttf');
// przyporządkowujemy zmienna do zmiennej globalnej
$server = $_GET['server'];
// Jesli jest pusty to nie zajmujemy sie ip oraz portem
if (isset($server) && !empty($server)) {
	// podzielenie adresu na ip oraz port
	list($ip, $port) = explode(":", $server);
	// nowy obiekt klasy HLSocket oraz pobranie info z serwera
	$s1_status 	= new HLSocket($ip, $port);
	$s1_info	= $s1_status->details();
	/**
	* rozpatrujemy dwa przypadki
	* 1 - serwer offline bo nie ma nazwy serwera
	* 2 - serwer online
	*/
	if($s1_info['hostname']=="") 
	{
		$hostname = 'Serwer '.$server.' jest OFFLINE';
		$players = "x";
		$playersmax = "x";
		$map = "OFFLINE";
	} 
	else 
	{
		$hostname = $s1_info['hostname'];
		$players = $s1_info['players'];
		$playersmax = $s1_info['max'];
		$map = $s1_info['map'];
	}
	// utworzenie obrazka z tla
	$im = imagecreatefrompng("status/background.png");
	// kolor bialy
	$white = imagecolorallocate($im, 255, 255, 255);
	// polaczenie informacji do jednej zmiennej
	$info = $server ."   ". $players ." / ". $playersmax ."   ". $map;
	// gorny rzad, nazwa serwera
	imagettftext($im, 7, 0, 30, 10, $white, VERDANA, $hostname);
	// dolny rzad, ip serwera, gracze, mapa
	imagettftext($im, 7, 0, 30, 21, $white, VERDANA, $info);
} else {
	$im = imagecreatefrompng("status/background.png");
	$white = imagecolorallocate($im, 255, 255, 255);
	$info = "123.456:27015     31 / 32     de_inferno";
	imagettftext($im, 7, 0, 30, 10, $white, VERDANA, "Fragles.eu [TESTOWY SERWER] @ fragles.eu");
	imagettftext($im, 7, 0, 30, 21, $white, VERDANA, $info);
}
// okreslenie typu zawartosci
header('Content-type: image/png');
imagepng($im);
imagedestroy($im); 
>[/code]
A gdy chciałem zmienić na kolor zielony napisów, właśnie coś takiego się dzieje.
Kod zielonych napisów status.php:
[code]<?php /** * * Graficzny tatus serwerow opartych na protokole Half Life oraz Half Life 2 * Autorem klasy jest: Herwin Weststrate aka Hdez - hdez@counter-strike.nl * Wersja: 1.0 * copyright (c) 2010 Fragles.eu * bok@fragles.eu * http://opensource.org/licenses/gpl-license.php GNU Public License * Zezwalam na użytkowanie, modyfikowanie ale nie na sprzedawanie! * */ // sciezka do pliku z klasa require_once('status/class.hlsocket.php'); // przykladowe czcionki define('TEMPESTA', 'status/fonts/tempesta.ttf'); define('TAHOMA', 'status/fonts/tahoma.ttf'); define('VERDANA', 'status/fonts/verdana.ttf'); define('TAHOMA_BOLD', 'status/fonts/tahoma_bold.ttf'); // przyporządkowujemy zmienna do zmiennej globalnej $server = $_GET['server']; // Jesli jest pusty to nie zajmujemy sie ip oraz portem if (isset($server) && !empty($server)) { // podzielenie adresu na ip oraz port list($ip, $port) = explode(":", $server); // nowy obiekt klasy HLSocket oraz pobranie info z serwera $s1_status = new HLSocket($ip, $port); $s1_info = $s1_status->details(); /** * rozpatrujemy dwa przypadki * 1 - serwer offline bo nie ma nazwy serwera * 2 - serwer online */ if($s1_info['hostname']=="") { $hostname = 'Serwer '.$server.' jest OFFLINE'; $players = "x"; $playersmax = "x"; $map = "OFFLINE"; } else { $hostname = $s1_info['hostname']; $players = $s1_info['players']; $playersmax = $s1_info['max']; $map = $s1_info['map']; } // utworzenie obrazka z tla $im = imagecreatefrompng("status/background.png"); // kolor bialy $green = imagecolorallocate($im, 0, 128, 0); // polaczenie informacji do jednej zmiennej $info = $server ." ". $players ." / ". $playersmax ." ". $map; // gorny rzad, nazwa serwera imagettftext($im, 7, 0, 30, 10, $green, VERDANA, $hostname); // dolny rzad, ip serwera, gracze, mapa imagettftext($im, 7, 0, 30, 21, $green, VERDANA, $info); } else { $im = imagecreatefrompng("status/background.png"); $green = imagecolorallocate($im, 0, 128, 0); $info = "123.456:27015 31 / 32 de_inferno"; imagettftext($im, 7, 0, 30, 10, $green, VERDANA, "OneKill.pl [TESTOWY SERWER] @ OneKill.pl"); imagettftext($im, 7, 0, 30, 21, $green, VERDANA, $info); } // okreslenie typu zawartosci header('Content-type: image/png'); imagepng($im); imagedestroy($im); ?>

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

×