hunter112 Opublikowano 19 Lipca 2012 Udostępnij Opublikowano 19 Lipca 2012 mam pytanie : jak zrobić wyszukiwanie aktywnych serwerów w 39dll? Chodzi o to że jak wejdę w room_serwery to wyszukuje każdy aktywny serwer oraz ilu graczy i jaka mapa na nim jest. Taki efekt jest w Dead Planet : Serwery.jpg Z góry dziękuje za pomoc. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawka83 Opublikowano 19 Lipca 2012 Udostępnij Opublikowano 19 Lipca 2012 Każdy serwer zapisuje swoje ip w bazie na stronce, a client te informacje wczytuje :). A jesli chodzi o liczbę online to już proste zapytanie do samego serwera, może też być przechowywana razem z ip. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
hunter112 Opublikowano 19 Lipca 2012 Autor Udostępnij Opublikowano 19 Lipca 2012 ale jak na moją stronę mają serwery wysyłać IP? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
adam014 Opublikowano 19 Lipca 2012 Udostępnij Opublikowano 19 Lipca 2012 Tworzysz skrypt php dodający serwer do bazy. Wywołujesz go w grze jakimś dllem typu GMSock, a informacje o serwie podajesz w GET. np: twojastrona.pl/dodaj.php?nazwa=NazwaSerwera&ip=IP. Serwer został dodany do bazy. Drugi skrypt piszesz tak,aby przetwarzał wyniki i zwracał np. plik z taka zawartością: Mojserwer 0.0.0.0 Drugiserwer 0.0.0.0 Ściągasz ten pliczek i GMem czytasz po 2 linijki z pliku i masz dostępne serwery w grze. Trochę dziwne rozwiązanie, ale działa i dla początkujących starczy. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawka83 Opublikowano 19 Lipca 2012 Udostępnij Opublikowano 19 Lipca 2012 Jeśli chcesz mieć aktualne serwery, to zapisujesz jeszcze date. I dajesz w alarmie serwera wywoływanie jakiejś strony co np 30 min. Jeśli przekroczy czas to wywalasz serw z listy. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
adam014 Opublikowano 19 Lipca 2012 Udostępnij Opublikowano 19 Lipca 2012 No datę tez można dodać. Jak ma hosting z Cron (w co wątpię) to sobie ustawi wywoływanie skryptu co jakiś czas. W sumie sprawdzanie starych serwerów można też dodać przy dodawaniu nowego lub pobieraniu listy. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 19 Lipca 2012 Udostępnij Opublikowano 19 Lipca 2012 Ja po prostu wczytuje te serwery które zostały dodane nie więcej niż 15 sec temu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
adam014 Opublikowano 19 Lipca 2012 Udostępnij Opublikowano 19 Lipca 2012 A jak ktoś hostuje 24 ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 19 Lipca 2012 Udostępnij Opublikowano 19 Lipca 2012 To wysyła info co 15 sec. Ps: Ściąganie pliku i czytanie go do dziwny(żeby nie powiedzieć głupi) pomysł, lepiej dać skrypt php który wczytuje serwery, a następnie czytać to przez 39dll. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
adam014 Opublikowano 19 Lipca 2012 Udostępnij Opublikowano 19 Lipca 2012 Nie znam obsługi 39dll wiec nie mogłem dać takiego rozwiązania. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawka83 Opublikowano 19 Lipca 2012 Udostępnij Opublikowano 19 Lipca 2012 Edie misiu ale jak 39dll czyta to to sciąga :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 19 Lipca 2012 Udostępnij Opublikowano 19 Lipca 2012 Nie do końca, ale i tak jest szybsze. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 19 Lipca 2012 Udostępnij Opublikowano 19 Lipca 2012 z ether.dll ściągniesz plik xml wygenerowany ze skryptu php, potem łatwo przeiterujesz po tagach zawierających serwery, oraz możesz jeszcze dać tam dodatkowe info. i jest szybko i prosto i uniwersalnie, bo xmla możesz też na stronie www użyć, albo w rss :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
hunter112 Opublikowano 19 Lipca 2012 Autor Udostępnij Opublikowano 19 Lipca 2012 lepiej dać skrypt php który wczytuje serwery, a następnie czytać to przez 39dll. ten sposób z teorii wygląda najlepiej... a mógłbyś dać przykład lub kod? bo nie znam się na php, na razie jestem na etapie ogarniania HTMLa. Z góry dzięki. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
adam014 Opublikowano 19 Lipca 2012 Udostępnij Opublikowano 19 Lipca 2012 Z teorii to najlepiej wygląda sposób podany przez YXE. Jak chcesz swoim to musisz znaleźć hosting oferujący MySQL a skrypty do tego to akurat są proste. <?php // dodaj.php $gameid = 00000; //unikalny game_id twojej gry,zeby ci nikt nie spamowal if ( isset( $_GET['game_id'] ) ) { if ( $_GET['game_id'] == $gameid ) { $nazwa_serwera = $_GET['nazwa']; $ip = $_SERVER['REMOTE_ADDR']; $db = mysql_connect( 'serwer_bazy', 'nazwa_usera', 'haslo' ); mysql_select_db( 'serwery', $db ); $query = "INSERT INTO serwery (nazwa_serwera,ip,data) VALUES ('$nazwa_serwera','$ip',NOW())"; mysql_query( $query, $db ); mysql_close( $db ); } } ?> <?php //generuj ini $db = mysql_connect( 'serwer_bazy', 'nazwa_usera', 'haslo' ); mysql_select_db( 'serwery', $db ); $query = "SELECT * FROM serwery"; $q = mysql_query( $query, $db ); if ( file_exists( 'serwery.ini' ) ) { unlink( 'serwery.ini' ); } $plik = fopen( 'serwery.ini', 'w+' ); while ( $row = mysql_fetch_array( $q ) ) { fwrite( $plik, '[' . $row['id'] . ']' ); fwrite( $plik, 'nazwa_serwera=' . $row['nazwa_serwera'] ); fwrite( $plik, 'ip=' . $row['ip'] ); fwrite( $plik, 'data=' . $row['data'] ); } fclose( $plik ); mysql_close( $db ); ?> Pisałem z pamięci ;P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 19 Lipca 2012 Udostępnij Opublikowano 19 Lipca 2012 Tylko znowu nie rozumiem po co te pliki, 2x więcej roboty niż porzytku. Jak będe miał dostęp do kompa to skleje przykład. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 19 Lipca 2012 Udostępnij Opublikowano 19 Lipca 2012 edie. nie rozumiesz. plik to jest to, co zwraca strona. mówiąc, że ściągamy plik, mamy na myśli, że pobieramy go z sieci, nie zapisujemy z bufora na dysk, bo nie ma po co, ale na tym buforze wykonujemy operacje. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
hunter112 Opublikowano 19 Lipca 2012 Autor Udostępnij Opublikowano 19 Lipca 2012 Z teorii to najlepiej wygląda sposób podany przez YXE. Jak chcesz swoim to musisz znaleźć hosting oferujący MySQL a skrypty do tego to akurat są proste. Mam taką stronkę, ale nie wiem gdzie tan drugi plik wrzucić, bo pierwszy to podstrona dodaj.php, dobrze zrozumiałem? Dzięki wszystkim za starania. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 19 Lipca 2012 Udostępnij Opublikowano 19 Lipca 2012 YXE ale w tym przypadku musisz pobrać plik, zapisać go, otworzyć i dopiero wczytać serwery. Lepiej użyć bazy danych IMO. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
adam014 Opublikowano 19 Lipca 2012 Udostępnij Opublikowano 19 Lipca 2012 @Hunter: Drugi nazwij jak chcesz. Wywołuj go przy pobieraniu listy serwerów,a potem pobieraj plik. @ediepl: Można po prostu użyć GMSQL i to by było najprostsze rozwiązanie bo operujemy na samej bazie danych. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
hunter112 Opublikowano 19 Lipca 2012 Autor Udostępnij Opublikowano 19 Lipca 2012 Drugi nazwij jak chcesz. Wywołuj go przy pobieraniu listy serwerów,a potem pobieraj plik. eeee..... no właśnie a co z kodem w GM? co dać w serwie i gdzie? A w kliencie? sorka, ale nie znam się za bardzo, więc pytam. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 19 Lipca 2012 Udostępnij Opublikowano 19 Lipca 2012 edie: ja w etherze sciagam plik xml do bufora i od razu go parsuje i uzywam dane zapisane w tagach, przez co omijam to cale durne zapisywanie na dysk :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
adam014 Opublikowano 19 Lipca 2012 Udostępnij Opublikowano 19 Lipca 2012 Serwer -> wykonywanie pliku dodaj.php z parametrami. Klient -> wykonywanie pliku generuj.php i pobieranie pliku serwery.ini. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
hunter112 Opublikowano 19 Lipca 2012 Autor Udostępnij Opublikowano 19 Lipca 2012 wykonywanie pliku mógłbyś to ująć kodem? bo nie rozumię... więc, ktoś mi pomoże? Jak będe miał dostęp do kompa to skleje przykład. Bardzo proszę, będe wdzięczny. :) Przepraszam za doublepost, ale nikt nie odpisuje Posty sklejone 12 godzin to trochę za mało, aby przymknąć na to oko. Tydzień już jest OK - Upomnienie - Uzjel Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się