Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> Status serwera CS 1.6, Funkcja, PHP 4 i 5
.dragonfly
post 19.11.2004, 17:16:55
Post #1





Grupa: Zarejestrowani
Postów: 217
Pomógł: 0
Dołączył: 5.10.2003
Skąd: Londyn / UK

Ostrzeżenie: (0%)
-----


Dla wszystkich ktorzy chca pobierac status serwera gry Counter-Strike 1.6

  1. <?php
  2.  
  3. /**
  4. * pobiera informacje z serwera i zwraca tablice z tymi danymi
  5. * @param string $intServerIP Adres IP serwera
  6. * @param integer $intServerPort Port serwera
  7. * @return array
  8. */
  9. function RetriveInfo ( $strServerIP = '127.0.0.1', $intServerPort = 27015 )
  10. {
  11. $connection = fsockopen( &#092;"udp://\" . $strServerIP, $intServerPort );
  12. fwrite( $connection, sprintf( '%c%c%c%c%s%c', 0xFF, 0xFF, 0xFF, 0xFF, &#092;"infostring\", 0x00 ) );
  13. fread( $connection, 24 );
  14. $status = socket_get_status( $connection );
  15. if ( $status[&#092;"unread_bytes\"] != 0 )
  16. {
  17. $return = &#092;"\";
  18. while ( $status[&#092;"unread_bytes\"] != 0 )
  19. {
  20. $return .= fread( $connection, 1 );
  21. $status = socket_get_status( $connection );
  22. } 
  23.  
  24. $return = explode( '', $return );
  25.  
  26. $arr = array();
  27. $arr['ip'] = $intServerIP;
  28. $arr['port'] = $intServerPort;
  29. $arr['hostname'] = $return[19];
  30. $arr['game'] = $return[17];
  31. $arr['players'] = $return[5];
  32. $arr['maxplayers'] = $return[11];
  33. $arr['system'] = ( $return[25] == &#092;"w\" ) ? \"Windows\" : \"Linux\";
  34. $arr['game_dir'] = $return[15];
  35. $arr['map'] = $return[21];
  36. $arr['password'] = ( $return[25] == &#092;"0\" ) ? false : true;
  37. $arr['secure'] = $return[29];
  38. return $arr;
  39. } 
  40. else
  41. { 
  42. // blad?
  43. return $arr;
  44. } 
  45. } 
  46. ?>
Go to the top of the page
+Quote Post
kyno
post 28.11.2004, 18:19:16
Post #2





Grupa: Przyjaciele php.pl
Postów: 121
Pomógł: 1
Dołączył: 4.01.2004
Skąd: Jawor

Ostrzeżenie: (0%)
-----


Tak przegladajac kod smile.gif
  1. <?php
  2.  
  3. ...
  4. $arr['ip'] = $strServerIP;
  5. $arr['port'] = $intServerPort;
  6. ...
  7.  
  8. ?>


--------------------
Go to the top of the page
+Quote Post
mat3usz
post 16.03.2005, 18:32:41
Post #3





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 15.03.2005

Ostrzeżenie: (0%)
-----


Mam pytanie co do tego kodu. Czy wystarczy kod wkleić na stroe i zmienić
  1. <?php
  2.  
  3. ...
  4. ( $strServerIP = '127.0.0.1', $intServerPort = 27015 )
  5. ...
  6.  
  7. ?>

Bo gdy wklejam kod i tworze plik serwer.php, nic sie nie wyswietla;/ Moze trzeba zrobic tabelke Mysql?
P.S. Na php nie znam sie zbyt dobrze, ale ogolne pojecie mam ;P
Go to the top of the page
+Quote Post
dr_bonzo
post 16.03.2005, 18:41:00
Post #4





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Wystarczy tyle:
  1. <?php
  2. print_r( RetriveInfo( '129.112.1.1', 6666 ) );
  3. ?>

+ dodaj oczywiscie kod tej funkcji.

Ten post edytował dr_bonzo 16.03.2005, 18:42:13


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
Matikx
post 17.03.2005, 16:18:31
Post #5





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 1.02.2005
Skąd: z php

Ostrzeżenie: (0%)
-----


Niedziałają umnie te scrypty. worriedsmiley.gif
A jak zrobić żeby działały
Bo robie wszystko i nic

Jest to pod domena
http://matikx.no-ip.org/~matikx/stan.php
  1. <?php
  2.  
  3. /**
  4. * pobiera informacje z serwera i zwraca tablice z tymi danymi
  5. *
  6. * @param string $intServerIP Adres IP serwera
  7. * @param integer $intServerPort Port serwera
  8. * @return array
  9. */
  10. function RetriveInfo ( $strServerIP = 'matikx.no-ip.org', $intServerPort = 7171 )
  11. {
  12. $connection = fsockopen( &#092;"udp://\" . $strServerIP, $intServerPort );
  13. fwrite( $connection, sprintf( '%c%c%c%c%s%c', 0xFF, 0xFF, 0xFF, 0xFF, &#092;"infostring\", 0x00 ) );
  14. fread( $connection, 24 );
  15. $status = socket_get_status( $connection );
  16. if ( $status[&#092;"unread_bytes\"] != 0 )
  17. {
  18. $return = &#092;"\";
  19. while ( $status[&#092;"unread_bytes\"] != 0 )
  20. {
  21. $return .= fread( $connection, 1 );
  22. $status = socket_get_status( $connection );
  23. }
  24.  
  25. $return = explode( '', $return );
  26.  
  27. $arr = array();
  28. $arr['ip'] = $intServerIP;
  29. $arr['port'] = $intServerPort;
  30. $arr['hostname'] = $return[19];
  31. $arr['game'] = $return[17];
  32. $arr['players'] = $return[5];
  33. $arr['maxplayers'] = $return[11];
  34. $arr['system'] = ( $return[25] == &#092;"w\" ) ? \"Windows\" : \"Linux\";
  35. $arr['game_dir'] = $return[15];
  36. $arr['map'] = $return[21];
  37. $arr['password'] = ( $return[25] == &#092;"0\" ) ? false : true;
  38. $arr['secure'] = $return[29];
  39. return $arr;
  40. }
  41. else
  42. {
  43. // blad?
  44. return $arr;
  45. }
  46. }
  47. ?>

Wpisałem czy server gry jest dostepny czyli adress i port i nic
A gdzie mam wpisać ten kod
  1. <?php
  2. print_r( RetriveInfo( 'matikx.no-ip.org', 7171 ) );
  3. ?>


Ten post edytował Matikx 17.03.2005, 16:19:23
Go to the top of the page
+Quote Post
karolski
post 18.03.2005, 15:35:34
Post #6





Grupa: Zarejestrowani
Postów: 199
Pomógł: 0
Dołączył: 12.02.2004
Skąd: Czymiasto

Ostrzeżenie: (0%)
-----


wszystko ladnie zwraca w postaci tablicy biggrin.gif dzieki ci bardzo tongue.gif


--------------------
Pozdrawiam Karolski
Go to the top of the page
+Quote Post
Matikx
post 22.03.2005, 18:26:41
Post #7





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 1.02.2005
Skąd: z php

Ostrzeżenie: (0%)
-----


ja czytałem kilka razy i sie pogubiłem niech ktoś to wszystko zleje do gupy i da mi odpowiedz na pm

co dać mam do tabel baz danych a co n a strone a co includować plx
pomocy
rolleyes.gif
Go to the top of the page
+Quote Post
smom
post 7.12.2006, 01:30:30
Post #8





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 7.12.2006

Ostrzeżenie: (0%)
-----


Czy moglby ktos zamiescic tutaj link do tego skryptu, bo cos nie chce mi dzialac. Dziekuje.
Go to the top of the page
+Quote Post
Babcia@Stefa
post 17.12.2006, 16:09:42
Post #9





Grupa: Zarejestrowani
Postów: 654
Pomógł: 17
Dołączył: 19.03.2006
Skąd: z kosmosu ;)

Ostrzeżenie: (0%)
-----


Funkcja bardzo fajna i przydatna, z pewnością skorzystam smile.gif

Dziękuję, Babcia@Stefa


--------------------
Środowisko testowe (desktop) - Gedit, lighttpd, sftp, rsync, xfce4-terminal, chromium, firefox4 | System: Gentoo ~x86
O'Neill - serwer WWW @ lighttpd, links, nano, rsyncd, sftpd | System: Debian
Go to the top of the page
+Quote Post
mosh
post 23.02.2007, 19:09:30
Post #10





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 23.02.2007

Ostrzeżenie: (0%)
-----


Hej...
Wrzuci ktoś poprawną wersje tego skryptu.. bo to co jest coś nie działa...
albo może jakiś link do innej wersji questionmark.gif biggrin.gif

mnie szczególnie interesuje, coś szybkiego i wydajnego...
i co by zwracało nazwe serwera, liczbę plajerów i mapke... mi takie cóś by stykneło biggrin.gif

pozdro
Go to the top of the page
+Quote Post
johny009
post 25.03.2007, 18:50:38
Post #11





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 25.03.2007

Ostrzeżenie: (0%)
-----


Proszę o pomoc w rozwiązaniu problemu skrypt zwraca mi taki błąd

Kod
Parse error: syntax error, unexpected T_CHARACTER, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/users/hsqad/www/cs_stat.php on line 16
Go to the top of the page
+Quote Post
varez
post 17.06.2007, 12:19:11
Post #12





Grupa: Zarejestrowani
Postów: 275
Pomógł: 32
Dołączył: 17.06.2007

Ostrzeżenie: (0%)
-----


LUUUUDZIE, co wy za manianę z tym odwalacie?? skrypt jest ewidentnie z..epsuty!!
przy pomocy dobrych ludzi z 4programmers.net doszedłem do takiej wersji skryptu:

  1. <?php
  2.  
  3. /**
  4. * pobiera informacje z serwera i zwraca tablice z tymi danymi
  5. * @param string $intServerIP Adres IP serwera
  6. * @param integer $intServerPort Port serwera
  7. * @return array
  8. */
  9.  
  10. function RetriveInfo ( $strServerIP = '127.0.0.1', $intServerPort = 27015 )
  11. {
  12. $connection = fsockopen( "udp://" . $strServerIP, $intServerPort );
  13. fwrite( $connection, sprintf( '%c%c%c%c%s%c', 0xFF, 0xFF, 0xFF, 0xFF, "infostring", 0x00 ) );
  14. fread( $connection, 24 );
  15. $status = socket_get_status( $connection );
  16. if ( $status["unread_bytes"] != 0 )
  17. {
  18. $return = "";
  19. while ( $status["unread_bytes"] != 0 )
  20. {
  21. $return .= fread( $connection, 1 );
  22. $status = socket_get_status( $connection );
  23. } 
  24.  
  25. $return = explode( '', $return );
  26.  
  27. $arr = array();
  28. $arr['ip'] = $intServerIP;
  29. $arr['port'] = $intServerPort;
  30. $arr['hostname'] = $return[19];
  31. $arr['game'] = $return[17];
  32. $arr['players'] = $return[5];
  33. $arr['maxplayers'] = $return[11];
  34. $arr['system'] = ( $return[25] == "w" ) ? "Windows" : "Linux";
  35. $arr['game_dir'] = $return[15];
  36. $arr['map'] = $return[21];
  37. $arr['password'] = ( $return[25] == "0" ) ? "false" : "true";
  38. $arr['secure'] = $return[29];
  39. return $arr;
  40. } 
  41. else
  42. { 
  43. // blad?
  44. return $arr;
  45. } 
  46. } 
  47. ?>
  48.  
  49.  
  50. <?php
  51. $arr = RetriveInfo("127.0.0.1", "27015"); // gdzie te parametry to IP oraz port
  52. echo "IP: " . $arr['ip']; 
  53. echo "<BR>";
  54. echo "Port: " . $arr['port']; 
  55. echo "<BR>";
  56. echo "Nazwa servera: " . $arr['hostname']; 
  57. echo "<BR>";
  58. echo "Gra: " . $arr['game']; 
  59. echo "<BR>";
  60. echo "Ilosc graczy: " . $arr['players']; 
  61. echo "<BR>";
  62. echo "Max graczy: " . $arr['maxplayers']; 
  63. echo "<BR>";
  64. echo "System: " . $arr['system']; 
  65. echo "<BR>";
  66. echo "Cos tam: " . $arr['game_dir']; 
  67. echo "<BR>";
  68. echo "Mapa: " . $arr['players']; 
  69. echo "<BR>";
  70. echo "Haslo: " . $arr['password']; 
  71. echo "<BR>";
  72. echo "VAC: " . $arr[secure]; 
  73. echo "<BR>";
  74. ?>


Uwagi: Oczywiście nalezy to sobie juz samemu poukladac, zmienic tą linijkę
  1. <?php
  2. $arr = RetriveInfo("127.0.0.1", "27015"); // gdzie te parametry to IP oraz port
  3. ?>

no i coś wyświetlanie IP przy pomocy
  1. <?php
  2. echo "IP: " . $arr['ip'];
  3. ?>

nie dziala,ale to juz maly problem

johny009 - mialem identyczny bląd.. skrypt byl zly, uzyj tego powyzej winksmiley.jpg

a ma ktoś może skrypt zeby pobierał listę graczy,punkty i czas gry??

Ten post edytował kwiateusz 17.06.2007, 13:09:53
Go to the top of the page
+Quote Post
tiraeth
post 17.06.2007, 13:18:29
Post #13





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cytat
LUUUUDZIE, co wy za manianę z tym odwalacie?? skrypt jest ewidentnie z..epsuty!!
przy pomocy dobrych ludzi z 4programmers.net doszedłem do takiej wersji skryptu:

Pierwotna wersja skryptu powstała w 2004 roku, możliwe, że coś się zmieniło w strukturze danych zwracanych przez serwer...

Cytat
a ma ktoś może skrypt zeby pobierał listę graczy,punkty i czas gry??

Może dobrzy ludzie z 4programmers.net Ci pomogą? tongue.gif A tak na poważnie, to ja się z czymś takim nie spotkałem, może trzeba pobrać jakieś pliki przez ftp z katalogu hlds?
Go to the top of the page
+Quote Post
Kamson
post 17.06.2007, 13:37:12
Post #14





Grupa: Zarejestrowani
Postów: 57
Pomógł: 3
Dołączył: 23.10.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


skrypt i jeden i drugi jest oki ... po prostu skrypt forum przy pisaniu topica wstawił \ przed " bo kolega napisał post a potem robił szybką edycje . tyle
wywalcie te backslash'e przed " i będzie śmigał tak samo
Go to the top of the page
+Quote Post
varez
post 19.06.2007, 09:05:39
Post #15





Grupa: Zarejestrowani
Postów: 275
Pomógł: 32
Dołączył: 17.06.2007

Ostrzeżenie: (0%)
-----


hmm mam taki skrypt juz w domu (jestem w szkole), ale narazie mi zwraca jeden wielki ciag znaków (jeżeli nic nie popsuję to bedzie tu: http://free.of.pl/c/czeslav/play2.php.). musze wyłapać co jest punktami, co czasem gry i jak to rozumiec.. w oczekiwaniu jest skrypt pobierajacy wartosci CVAR z servera.. jak bede mial wszystkie gotowe to tu wrzucę smile.gif

Ten post edytował varez 19.06.2007, 09:08:19
Go to the top of the page
+Quote Post
in5ane
post 27.08.2007, 07:45:55
Post #16





Grupa: Zarejestrowani
Postów: 1 335
Pomógł: 34
Dołączył: 9.11.2005
Skąd: Wrocław

Ostrzeżenie: (10%)
X----


A czy będzie to działać do Counter Strike'a: Source?


--------------------
> > > Tworzenie stron < < <
Go to the top of the page
+Quote Post
Energy156
post 9.09.2007, 15:36:16
Post #17





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 9.09.2007

Ostrzeżenie: (0%)
-----


Witam.
Moglby mi ktos to wytlumaczyc krok po kroku co z tym zrobic co gdzie wkleic itp?
Go to the top of the page
+Quote Post
Pianandrill
post 26.09.2007, 03:26:14
Post #18





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 21.04.2003

Ostrzeżenie: (0%)
-----


Jak sie wydawało ten skrypt jest tym czego od dawna już szukam, ale....
jak go wykonuje na swoim serwerze csa to wykonuje sie bardzo długo po czym tablica socket_get_status zwraca wartość blocked jako 1 oraz unread_bytes jako 0 (co jest oczywiste)...
uzylem wiec funckji stream_set_blocking($connection, 0) która zwraca true (niby zadziałała), skrypt wykonuje sie natychmiast ale niestety, unread_bytes pozostaje 0

Dopisalem jeszcze cos takiego ze finkcja fcockopen zwraca errno oraz errstr (znaczy zaznaczylem te parametry) i zgadnijcie co, funkcja zwraca errno = 0 oraz pusty string errstr.

wiec mam dodatkowe pytania
1 jaki jest port udp z ktorego moge zczytywac dane z serwera CS 1.6 jezeli port serwera jest 1337
2 dlaczego mam puste wartosci, czy są jakies jeszcze dodatkowe rzeczy ktore musi spelniac box na ktorym jest serwer lub/i sam serwer cs'a

aha, apache ze skryptem jest na maszynie obok tej na ktorej stoi cs ale w tej samej klasie ip
3 dodatkowe pytanie: czy tym skryptem mozna odczytywac dane z dowolnego serwera w internecie (zakladam ze tak skoro sie podaje ip oraz port)

Pozdrawiam
mam nadzieje ze dla odmiany ktos odpowie na mojego posta i nie bedzie to jak zwykle ostatni post w wątku winksmiley.jpg

Ten post edytował Pianandrill 26.09.2007, 03:28:33


--------------------
Untertainment - www.ut.info.pl mój wkład w Unreal Tournament i CMS.
Zainteresowania: Teaching snakes to kick.
Go to the top of the page
+Quote Post
Piotrwusek
post 8.02.2008, 22:10:10
Post #19





Grupa: Zarejestrowani
Postów: 399
Pomógł: 7
Dołączył: 11.06.2007
Skąd: Poznan

Ostrzeżenie: (20%)
X----


A znacie takie skrypty jak pracuje na gametracker.com

Taki skrypt

Kto jest online na serwerze
Zlicza ilość zabić
Sam sie aktualizuje
Zlicza ilość godzin
Pokazuje info o serwerze
Go to the top of the page
+Quote Post
varez
post 8.02.2008, 23:48:45
Post #20





Grupa: Zarejestrowani
Postów: 275
Pomógł: 32
Dołączył: 17.06.2007

Ostrzeżenie: (0%)
-----


Cytat("Piotrwusek)
Kto jest online na serwerze -- bede robic jak bede mial czas, mam podstawe, ale trzeba ja zdekodowac
Zlicza ilość zabić -- jw
Sam sie aktualizuje -- nie rozumiem? kliknac odwiez i po problemie.. chyba ze dziala na Ajaxie czyli bez odswiezania - ale to tez do zrobienia
Zlicza ilość godzin -- jw (tzn jak 1 i 2)
Pokazuje info o serwerze -- tzn?? ale tez do zrobienia,cokolwiek masz na mysli tongue.gif
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 27.06.2025 - 07:50