patryk20120
31.08.2012, 19:55:47
Witajcie,
czy można za pomocą PHP sprawdzić ilość użytkowników podłączonych do danego serwera?
Szymciosek
31.08.2012, 20:03:58
Tak, musiałbyś mieć np w bazie użytkowników wpis Active, oraz zmieniać wartość po wejściu użytkownika na stronę np.
Zarejestrowany jest użytkownik XXX
więc tabela może wyglądać tak: ID, User, Active (boolean)
Po wejściu i zalogowaniu (tutaj sesje/cookies) zmieniasz wartość w bazie z false na true
W liczniku, który chcesz mieć sprawdzasz ile użytkowników jest Active i na tej podstawie masz wynik ile użytkowników jest podłączonych.
Chyba, że coś innego masz na myśli, ale nie ustaliłeś tego
patryk20120
31.08.2012, 20:29:41
Nie chodzi mi o server lokalny(stronę). Chodzi o to, że mam np. port i IP servera i chciałbym wyświetlić liczbę podłączonych użytkowników.
abort
31.08.2012, 22:25:18
netstat z linii komend może pokazać to, co chcesz, a system() może to uruchomić.
Zastrzeżenia:
- wczytywanie stron, w szczególności statycznych - to conajwyżej sekundy.
- jedna przegladarka może wysłać KILKA requestów w bardzo krótkim czasie i relatywnie szybko je zamknąć
- można odwoływać się via proxy (różne)
Napisz może, co chcesz osiągnąć, bo może jest inny i lepszy sposób? Np. periodyczne (z crona) przetwarzanie logów serwera?
patryk20120
2.09.2012, 00:38:55
Ogólnie chcę zrobić listę serwerów. Użytkownik dodaje serwer do listy, admin akceptuje i dodaje do głównej listy. Główna lista to np. 10 serwerów na stronę, gdzie przy każdym jest napisane czy serwer jest online i ilu użytkowników jest na nim.
Może jest jakieś inne wyjście?
wujek2009
2.09.2012, 10:04:39
Nie wiem o jakim serwerze gry mówimy, ale spójrz na ten skrypt -
http://www.greycube.com/site/download.php?list.10 (Live Game Server List); obsługuje wiele gier i tutaj otrzymujesz pełny status. Jeśli chodzi o zliczanie wszystkich graczy online na tych 10 serwerach to robisz mniej więcej taki zapis:
// wczytujesz bibliotekę LGSL
$liczba_graczy = 0;
// pobierasz te 10 serwerów i przetwarzasz je w pętli np.
$pobierzSerwery = pobierz();
foreach ( $pobierzSerwery as $k => $v )
$liczba_graczy += $v['s']['players'];
patryk20120
2.09.2012, 11:14:37
Dzięki serdeczne, to rozwiązuje wszystko co chciałem. Jeszcze raz dziękuję serdecznie.
PS. Nieźle rozbudowany jest ten "skrypt", można się tym pobawić.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.