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

Wczytywanie informacji z serwera bezpośrednio do strony www


Rekomendowane odpowiedzi

Opublikowano

Witam, chciałem się dowiedzieć jak wczytywać, np. ilość graczy na serwerze aby ta liczba wyświetlała się na stronie www. Wiem, że można poprzez plugin zapisać to do bazy danych i potem na stronie wczytać ale chciałbym bardziej bezpośredni sposób (jeśli takowy istnieje). Pozdrawiam!

Opublikowano

Co rozumiesz przez bardziej bezpośredni? Bez zapisywania do bazy/pliku? Bo jeśli tak to generalnie jest to słaby pomysł głównie z jednego powodu - spam zapytaniami do serwera. Jeśli masz liczbę graczy zapisaną w bazie to możesz ją sobie aktualizować co x sekund, a osoba wchodząca na stronę będzie widziała aktualną wartość z bazy, jeśli natomiast pobierałbyś ją przy każdym załadowaniu strony bezpośrednio z serwera minecraft to niepotrzebnie wygenerujesz dodatkowe zapytania do serwera. 

Opublikowano

Pluginu do tego żadnego nie potrzebujesz, walisz bezposrednio po soketach do serwera, dane możesz sobie zapisac w np takim Firebase a potem tylko wyświetlać. Możesz też pobrać sobie z zewnętrznego API dane na temat liczby użytkowników na serwerze np stąd https://mcsrvstat.us

Ale też najlepiej tobie by było to zapisać gdzieś np we wspomnianym przeze mnie Firebase, co pozwoli na zmiejeszenie requestów do serwera.

Opublikowano
Dnia 30.05.2020 o 14:26, _sectasy napisał:

Pluginu do tego żadnego nie potrzebujesz, walisz bezposrednio po soketach do serwera, dane możesz sobie zapisac w np takim Firebase a potem tylko wyświetlać. Możesz też pobrać sobie z zewnętrznego API dane na temat liczby użytkowników na serwerze np stąd https://mcsrvstat.us

Ale też najlepiej tobie by było to zapisać gdzieś np we wspomnianym przeze mnie Firebase, co pozwoli na zmiejeszenie requestów do serwera.

 

Dnia 30.05.2020 o 11:57, carbonx napisał:

Co rozumiesz przez bardziej bezpośredni? Bez zapisywania do bazy/pliku? Bo jeśli tak to generalnie jest to słaby pomysł głównie z jednego powodu - spam zapytaniami do serwera. Jeśli masz liczbę graczy zapisaną w bazie to możesz ją sobie aktualizować co x sekund, a osoba wchodząca na stronę będzie widziała aktualną wartość z bazy, jeśli natomiast pobierałbyś ją przy każdym załadowaniu strony bezpośrednio z serwera minecraft to niepotrzebnie wygenerujesz dodatkowe zapytania do serwera. 

Dzięki za informacje o tej dużej ilości zapytań, dacie może kod php który z połączenia się do serwera wyciągnie ilość graczy? Bo samo połączenie już mam.

Opublikowano
17 godzin temu, Refilcraft napisał:

 

Dzięki za informacje o tej dużej ilości zapytań, dacie może kod php który z połączenia się do serwera wyciągnie ilość graczy? Bo samo połączenie już mam.

<?php
$result = json_decode(file_get_contents("https://api.mcsrvstat.us/2/<address>"));
$onlinePlayers = $result -> players -> online);

echo($onlinePlayers);
?>

Jeśli skorzystasz z mcsrvstat, to kod będzie wyglądał mniej więcej tak na pobranie liczby graczy.

Najlepiej sobie to zapisz do jakiejs bazy.

Opublikowano
21 godzin temu, _sectasy napisał:

<?php
$result = json_decode(file_get_contents("https://api.mcsrvstat.us/2/<address>"));
$onlinePlayers = $result -> players -> online);

echo($onlinePlayers);
?>

Jeśli skorzystasz z mcsrvstat, to kod będzie wyglądał mniej więcej tak na pobranie liczby graczy.

Najlepiej sobie to zapisz do jakiejs bazy.

Dzięki wielkie, właśnie tak zrobiłem i wszystko ładnie działa.

Ale tak z czystej ciekawości chciałbym jeszcze wiedzieć czy da się wczytać liczbę graczy zapytaniem z rcon zwykłym php'em, bez tego api mcsrvstat.us/

Opublikowano

@Refilcraft

Oczywiście takie rozwiązanie także jest możliwe, przy uzyciu tej biblioteko https://github.com/xPaw/PHP-Minecraft-Query

Przy użyciu takiego kodu.

 

<?php
	require __DIR__ . '/src/MinecraftQuery.php';
	require __DIR__ . '/src/MinecraftQueryException.php';
	
	use xPaw\MinecraftQuery;
	use xPaw\MinecraftQueryException;
	
	$query = new MinecraftQuery( );
	
	try {
		$query->Connect( 'localhost', 25565 );
		
		print_r( $query->GetInfo( ) );
		print_r( $query->GetPlayers( ) );
	}
	catch( MinecraftQueryException $e ) {
		echo $e->getMessage( );
	}
?>

Należy pamiętać o tym aby mieć ustawiony parametr "enable-query" w pliku server.properties na true.

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...