Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

MCServerStatus


Rekomendowane odpowiedzi

Opublikowano

Witam.
Mam pewien problem dotyczący skryptu www MCServerStatus.

Na stronie:

http://mgcraft.pl/demo/

Błąd wygląda tak:

Parse error: syntax error, unexpected T_STRING in /home/magmacra/public_html/demo/MCServerStatus/Minecraft/Server.php on line 3

Kod pliku Server.php

 

namespace Minecraft;
 
class Server {
 
protected $hostname;
protected $port;
 
public function __construct($hostname = '127.0.0.1', $port = 25565) {
// Overload for hostname:port syntax.
if (stristr(':', $hostname)) {
list($hostname, $port) = explode(':', $hostname);
}
 
$this->setHostname($hostname);
$this->setPort($port);
}
 
public function setHostname($hostname) {
// If hostname doesn't resolve, throw error.
// Must be IP or domain. (only IPv4)
$this->hostname = $hostname;
return $this;
}
 
public function getHostname() {
return $this->hostname;
}
 
public function setPort($port) {
 
if (is_int($port)) {
$this->port = $port;
}
 
return $this;
}
 
public function getPort() {
return $this->port;
}
 
}

 

 

Opublikowano
public function __construct($hostname = '127.0.0.1', $port = 25565) {

Polecam zmienić ip i port na serwerowy ;)

Jeżeli nie zadziała, pomyślimy.

 

Pozdrawiam,

SKmedix

 

@down @asior887

Daj mi 20min max ;)

sygna2014.png

Opublikowano
public function __construct($hostname = '127.0.0.1', $port = 25565) {

Polecam zmienić ip i port na serwerowy ;)

Jeżeli nie zadziała, pomyślimy.

 

Pozdrawiam,

SKmedix

 

Owszem możliwe że musi i to zmienić, ale jest problem na linijce 3 a nie 7. Ja zauważyłem że jest tam puste pole (enter/spacja) może to, to jest przyczyną, usuń ją i zobacz :)

Opublikowano

@KPM2003 O to kod: demo/index.php

 

 

<?php
 
// Autoloader. Use SPL in a real project.
foreach(array('Server', 'Stats') as $file) {
        include sprintf('MCServerStatus/Minecraft/%s.php', $file);
}
 
$servers = array(
        "mc.mgcraft.pl",
        "fb.mgcraft.pl",
);
$tablica = array(
    "MgCraft.pl [Survival + Frakcje] [1.7.2]",
    "MgCraft.pl [FreeBuild] [1.7.2]]",
);
 
 
echo "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>\n";
echo "<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='".$locale['xml_lang']."' lang='".$locale['xml_lang']."'>\n";
echo "<head>\n<title>".$settings['sitename']."</title>\n";
echo "<meta http-equiv='Content-Type' content='text/html; charset=".$locale['charset']."' />\n";
echo "<meta name='description' content='".$settings['description']."' />\n";
echo "<meta name='keywords' content='".$settings['keywords']."' />\n";
?>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css" />
       
        <style>tr td,tr th {text-align:center !important}tr td.motd,tr th.motd{text-align:left !important;}</style>
        <style>.status{width:50px;}</style>
        <!-- HTML5 shim -->
    <!--[if lt IE 9]>
        <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
</head>
<body>
        <div class='container'>
                <div class='row'>
                        <table class='table table-bordered table-striped'>
                                <thead>
                                        <tr>
                                                <th class='status'>Status</th>
                                                <th class='motd'>Serwer:</th>
												<th>Nazwa</th>
                                                <th>Gracze:</th>
                                        </tr>
                                </thead>
                                <tbody>
                                        <?php 
										$i = 0;
										foreach($servers as $server): ?>
                                        <?php $stats = Stats::retrieve(new Server($server)); ?>
                                        <tr>
                                                <td>
                                                        <?php if($stats->is_online): ?>
                                                        <span class='badge badge-success'><i class='icon-ok icon-white'></i></span>
                                                        <?php else: ?>
                                                        <span class='badge badge-important'><i class='icon-remove icon-white'></i></span>
                                                        <?php endif; ?>
                                                </td>
                                                
                                                <td class='motd'><code><?php echo $server; ?></code></td>
												<td><?php echo $tablica[$i]; ?></td>
                                                <td><?php printf('%u/%u', $stats->online_players, $stats->max_players); ?></td>
                                        </tr>
                                        <?php 
										$i++;
										unset($stats); ?>
                                        <?php endforeach; ?>
                                </tbody>
                        </table>
                </div>
        </div>
</body>
</html>  

 

 

 

@skmedix Zmiana IP i portu nic nie dała.

 

Ze spacją nic tu nie ma wspólnego :/

 

Thx za odpowiedzi, ale trzeba ten problem rozwiązać hehe ^_^

Opublikowano

Sorry, ale medix nie wysłał.. bo po co..

 

<?php

// Autoloader. Use SPL in a real project.
foreach(array('Server', 'Stats') as $file) {
	include sprintf('MCServerStatus/Minecraft/%s.php', $file);
}

$servers = array(
"mc.mgcraft.pl" => "MgCraft.pl [Survival + Frakcje] [1.7.2]",
"fb.mgcraft.pl" => "MgCraft.pl [FreeBuild] [1.7.2]"
);

?><!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8" />
	<title>Minecraft Server Status</title>
	<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css" />
	<style>tr td,tr th {text-align:center !important}tr td.motd,tr th.motd{text-align:left !important;}</style>
	<style>.status{width:50px;}</style>
	<!-- HTML5 shim -->
    <!--[if lt IE 9]>
    	<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
</head>
<body>
	<div class="container">
		<div class="row" style="margin:15px 0;">
			<h1>MCServerStatus</h1>
			<p>This is a basic implementation of reading Minecraft server meta and online/offline status.</p>
		</div>
		<div class="row">
			<table class="table table-bordered table-striped">
				<thead>
					<tr>
						<th class="status">Status</th>
						<th class="motd">Server</th>
						<th>Players</th>
					</tr>
				</thead>
				<tbody>
					<?php foreach($servers as $server => $custommotd): ?>
					<?php $stats = \Minecraft\Stats::retrieve(new \Minecraft\Server($server)); ?>
					<tr>
						<td>
							<?php if($stats->is_online): ?>
							<span class="badge badge-success"><i class="icon-ok icon-white"></i></span>
							<?php else: ?>
							<span class="badge badge-important"><i class="icon-remove icon-white"></i></span>
							<?php endif; ?>
						</td>
						<td class="motd"><?php echo $custommotd; ?></td>
						<td><?php printf('%u/%u', $stats->online_players, $stats->max_players); ?></td>
					</tr>
					
					<?php unset($stats);?>
					<?php endforeach; ?>
				</tbody>
			</table>
		</div>
	</div>
</body>
</html>

 

 

Kod sprawdziłem, inne serwery działają, Twój nie. Zamiast mc.xxx.pl wporwadź ip cyfrowo, powinno być git ;)

 

Pozdrawiam,

SKmedix  B) 

sygna2014.png

Opublikowano

Nie działa

Teraz mam tak:

Parse error: syntax error, unexpected T_STRING in /home/magmacra/public_html/demo/MCServerStatus/Minecraft/Server.php on line 3

Proszę oto cała paczka demo:

http://mgcraft.pl/download/demo.rar

Skan:

 

 

Opublikowano

I znowu mam ten błąd:

http://mgcraft.pl/demo/
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /home/magmacra/public_html/demo/index.php on line 42

Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /home/magmacra/public_html/demo/index.php on line 42

Parse error: syntax error, unexpected T_STRING in /home/magmacra/public_html/demo/index.php on line 42
Opublikowano

No what the hell... Jak Ci to może nie działać.. 

http://skmedix.pl/demo

Zmieniasz coś w tym?

Edit:Zaraz coś spróbuje jeszcze poprawić..

Edit2:Masz 2 wersje, jeżeli przy obu będą błędy to pm, bo nie wierze jak to nie może działać..

http://skmedix.pl/share/demo1.zip
Skan
https://www.virustotal.com/pl/file/80e28353290f2252dff5770f3fc3eaa535a312ba4c580bfde0240cfe975f2e27/analysis/1400352678/

http://skmedix.pl/share/demo2.zip
Skan
https://www.virustotal.com/pl/file/109cb4c16a47645089be599d33bbd210834f1fbc47b0090843f80dcb1bed64c1/analysis/1400352700/

sygna2014.png

Opublikowano

lol.. nic nie zmieniam

 

Edit: Patrz, wgrałem tą 2 wersję centralnie do głównego folderu (przed tym usunąłem starą wersję) i mam tak:

http://mgcraft.pl/demo/

Edit: Może podam ci na PW FPT do tego folderu?

Edit: Wysłałem

 

 

Edit FINAL!: Problem rozwiązany :) wystarczyło zmienić wersję php. Jeszcze raz dziękuję wszystkim za pomoc, a szczególnie tobie @skmedix za poświęcony mi czas i cierpliwość ^_^.

 

Pozdrawiam Asior887

 

Można zamknąć :)

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...