ORG

quake.net.pl » Polskie Centrum Quake od 1998 roku



Problemy z łączeniem się na serwery w sieciach LAN.

pon, 17 czerwiec 2002 20:08:05 | Autor: Rozz

Poniższy tekst ma charakter techniczny i dotyczy rozwiązania problemu niemożności dołączenia się na zewnętrzny serwer q3 przez kilku graczy z sieci lokalnej, podłączonej do internetu zbiorczym serwerem NAT (Network Address Translation). Sprawa w ogóle nie dotyczy graczy łączących się z zewnętrznego IP, czyli np. z sdi czy modemu. Cały ten tekst można streścić jednym zdaniem - jeśli łączysz się z LAN’a i nie możesz wejść na serwer, bo ktoś z twojego LAN’a już na nim gra to musisz połączyć się na innym lokalnym porcie niż 27960. Radzę jednak przeczytać od początku, zwłaszcza jeśli nagle znikają nam favorites i stoimy podejrzanie długo na Awaiting Challenge.



Mówimy o LAN’ie, czyli sieci lokalnej - sieci komputerów podłączonych do internetu jednym zbiorczym serwerem, zwanym NAT. W sieci znajdują się komputery mające różne adresy IP, np. 10.66.1.3, 10.66.1.4, itd. Te adresy IP nie są jednak widoczne w internecie. W internecie każdy komputer z sieci wewnętrznej jest identyfikowany adresem zewnętrznym, adresem serwera NAT, np. 62.63.64.65. Oznacza to, że jakakolwiek (z wyj. IRC, gdzie istnieje możliwość identyfikacji użytkownika) zalogowana aktywność użytkownikana zewnątrz sieci nie może być bezpośrednio skojarzona z konkretnym komputerem z sieci LAN, ponieważ jedyny adres IP jaki zostanie zalogowany to adres zewnętrzny serwera NAT, a nie komputera wewnątrz sieci. Prowadzi do wielu problemów, np. niemożności przesyłania plików przez gg czy niemożności postawienia serwera ftp na swoim komputerze. Prowadzi to również do problemów przy łączeniu się na serwery q3. Żeby to zrozumieć trzeba poznać podstawy działania protokołów internetowych. Najczęściej wykorzystywanym protokołem jest TCP. Protokół ten wykorzystuje tzw. porty, przez które odbywa się komunikacja z wybranymi usługami. Każda usługa korzysta z jednego lub więcej z góry określonych portów zdalnych oraz zwykle dynamicznie zmieniającego się portu lokalnego. Zrozumienie różnicy między portem lokalnym a zdalnym jest kluczowe dla problemu. Przykładowo jeśli łączymy się ze stroną www, to komunikacja ta odbywa się na zdalnym porcie 80. Ten port jest otwierany na serwerze na którym znajduje się usługa, czyli w tym przypadku strona www. Natomiast port lokalny jest otwierany na naszym komputerze (możemy to sprawdzić sami wybierając z menu Start Uruchom i wpisując netstat). Port lokalny w przypadku większości usług zmienia się dynamicznie - jest wybierany automatycznie bez naszej wiedzy i możliwości ingerencji. W przypadku omawianej strony www może to być port 1034, 1078 itd. Po zakończeniu komunikacji port lokalny zostaje automatycznie zamknięty i za jakiś czas może zostać ponownie otwarty w przypadku innej usługi czy następnego połączenia. Inne znane zdalne porty dla typowych usług to np. 21 dla usługi ftp, 23 dla telnetu, 25 dla poczty wysyłanej, 110 dla poczty odbieranej, 6669 dla IRC, 27960 dla quake3. Podkreślam jeszcze raz, ze są to porty zdalne, czyli otwierane na serwerze docelowym, na które nie mamy wpływu. O wyborze portu zdalnego decyduje administrator ograniczany przez możliwości techniczne. Sami wiemy, że w przypadku q3 używa się różnych portów zdalnych, np. 27961 czy nawet 30000, ale to nie ma dla klienta żadnego znaczenia oprócz konieczności posiadania informacji o numerze portu. Quake3 używa protokołu UDP, który w działaniu jest bardzo podobny do TCP - również opiera się na komunikacji między portem zdalnym i lokalnym. Różnica między quake3 a innymi usługami polega na tym, że port lokalny q3 nie zmienia się dynamicznie jak inne, ale jest domyślnie określony również na 27960. Zbieżność z domyślnym portem zdalnym można powiedzieć jest przypadkowa, ale dla naszych rozważań nie ma to większego znaczenia. Właśnie fakt statyczności portu lokalnego jest przyczyną niemożności połączenia się z serwerem q3 drugiego gracza zza serwera NAT. Jeżeli łączymy się z serwerem q3, np. 111.111.111.111:27960 lub 112.112.112.112:27962, to na naszym komputerze zostaje otwarty port lokalny 27960, przez który q3 łączy się z zdalnym portem 27960 na serwerze 111.111.111.111 lub 27962 na 112.112.112.112. Wszystko jest w porządku jeśli łączymy się z zewnętrznego IP, np. z sdi. Natomiast jeśli znajdujemy się w sieci lokalnej, to też jest wszystko w porządku o ile jako jedyni z całej sieci w danym momencie gramy na zewnętrznym serwerze q3. Pamiętamy, że komputer zza serwera NAT jest identyfikowany na zewnątrz jako IP serwera NAT, a nie IP komputera wewnątrz sieci. Tak więc jeśli drugi gracz z sieci LAN będzie się chciał dołączyć na dowolny internetowy serwer q3 w czasie, kiedy inny użytkownik sieci już gra na internecie napotka problemy, których nie będzie umiał wyjaśnić - znikną wszystkie lub niektóre serwery favorites, próba połączenia się przez konsolę zakończy się oczekiwaniem Awaiting Challenge, pojawią się problemy z cdkeyem. Dzieje się tak właśnie dlatego, że obydwa komputery z sieci LAN nie dość że są identyfikowane tym samym IP (serwera NAT), to jeszcze łączą się na tych samych portach lokalnych! Winna temu jest statyczność portu lokalnego q3, która nie pozwala serwerowi q3 odróżnić dwóch komputerów ani po IP ani po porcie i dlatego powoduje owe konflikty dla drugiego w kolejności komputera. Gracz który połączy się pierwszy nie napotka żadnych problemów. Dopiero drugi i kolejni.



Taka sytuacja nie musi być jednak regułą - w niektórych sieciach ten problem nie musi wcale wystąpić - może to zależeć od konfiguracji sieci, serwera NAT, także od rodzaju serwera q3 (dedicated 1 czy 2). Każdy kto łączy się z sieci lokalnej powinien jednak zwrócić na to zjawisko uwagę.



Rozwiązanie tego problemu jest na szczęście bardzo proste - trzeba połączyć się na innym porcie lokalnym niż pierwszy gracz. Quake3 jak wiemy umożliwia zmianę portu przy pomocy komendy net_port, toteż do naszej linii poleceń (nie do configa), czyli do bata lub skrótu musimy dopisać linię +set net_port #####. Jaki wybrać port? Nie ma to większego znaczenia. Musi on być po prostu różny od 27960, tak aby serwer q3 mógł zidentyfikować nasz komputer na podstawie innego portu niż kolegi. Możemy ustawić na przykład 27770 czy 27666 (nie musi być pięciocyfrowy, ale pozostańmy na granicy 27 tysięcy). Wtedy obojętnie jaka ilość graczy z sieci będzie grała na serwerach q3, zawsze uda się nam połączyć z dowolnym serwerem, ponieważ konflikt portów zostanie zlikwidowany.
Wyświetleń: 9634
Gravatar

ALI_87 | 2004-12-05 18:22:56

ja mam problem własnie z wchodzeniem na servery na necie :( zainstalowałem juz wszystkie możliwe bajery, przinstalowywałem q3 i nadal nic, jak daje na multiplayer i zakładke internet to nie znajduje mi ani jednego servera !!! prosze pomóżvie ktoś z tym !!! najlepiej to odezwijcie sie na gg 7330479 bo tutaj to rzadko wchodze. Bede dozgonnie wdzięczny !!!!!!!!!!!

Zaloguj się by dodać komentarz.

Co nowego

  1. Szczawson napisał post: Tak ja w tej okolicy. Dawaj na maila numera to se pogadamy na GG cz... / Sylwester 2025
  2. Requiem napisał post: Niestety musisz go wysłać na jakiś serwis hostingujący obrazki... / szukam starej mapy: M-City
  3. Magus napisał post: Jak to dodac obrazki? widze tylko opcje z url ... / szukam starej mapy: M-City
  4. Requiem napisał post: Tak, na steam możesz kupić remaster za 40zł: https://store.steampow... / Quake 1 w 2026
  5. Requiem napisał post: Koniecznie :D / szukam starej mapy: M-City
  6. Magus stworzył temat: Quake 1 w 2026
  7. Magus napisał post: mape znalazlem :) jak odpale to posle jakiego screena / szukam starej mapy: M-City
  8. Szczawson napisał post: panie chooy i Martinez, macie jakieś foty z judgement night? / O By cię chuj jak mnie tu dawno nie było
  9. Requiem napisał post: Przeszukałem swoje zbiory i płytki, ale niestety nie posiadam tej m... / szukam starej mapy: M-City
  10. Magus napisał post: inna nazwa pliku to MLM_08.bsp / szukam starej mapy: M-City
  11. Magus stworzył temat: szukam starej mapy: M-City
  12. Szczawson napisał post: Czołem martinezu. Daj znać, pogadałbym. Na GG cię nie ma. Może what... / Wielkie plany, wielka iluzja i wielkie... rozczarowanie?
  13. Szczawson napisał post: Trójmiasto to daleko. Wszyscy siedzą na Śląsku albo małopolskie / Piwo w Krakowie
  14. Requiem napisał post: A czy ktoś z Was rezyduje albo bywa w Trójmieście albo okolicy? :D / Piwo w Krakowie
  15. MateoMartinezz napisał post: hej - i jak tam Wasze wnioski po latach? Gdzie jesteście i czy jes... / Wielkie plany, wielka iluzja i wielkie... rozczarowanie?
  1. Requiem zaktualizował plik: Q3Visit screensaver
  2. Requiem dodał newsa: Drużyny i grupy QLIP Bravo League
  3. Bugmenot napisał komentarz: No cóż, moi przyjaciele, witajcie w 2026 roku! Piszę w moim ojczyst... / pliki
  4. Szczawson napisał post: Tak ja w tej okolicy. Dawaj na maila numera to se pogadamy na GG cz... / Sylwester 2025
  5. tath napisał komentarz: super ;-) / newsy
  6. Requiem napisał post: Niestety musisz go wysłać na jakiś serwis hostingujący obrazki... / szukam starej mapy: M-City
  7. Magus napisał post: Jak to dodac obrazki? widze tylko opcje z url ... / szukam starej mapy: M-City
  8. Requiem zaktualizował newsa: Mieszkanie w Quake III: Proces tworzenia + sekretne lokacje
  9. Requiem napisał post: Tak, na steam możesz kupić remaster za 40zł: https://store.steampow... / Quake 1 w 2026
  10. Requiem napisał post: Koniecznie :D / szukam starej mapy: M-City
  11. Magus stworzył temat: Quake 1 w 2026
  12. Magus napisał post: mape znalazlem :) jak odpale to posle jakiego screena / szukam starej mapy: M-City
  13. Szczawson napisał post: panie chooy i Martinez, macie jakieś foty z judgement night? / O By cię chuj jak mnie tu dawno nie było
  14. Requiem napisał post: Przeszukałem swoje zbiory i płytki, ale niestety nie posiadam tej m... / szukam starej mapy: M-City
  15. Magus napisał post: inna nazwa pliku to MLM_08.bsp / szukam starej mapy: M-City

Pokaż więcej »

Cytaty

Quakecon will soon start getting sponsored by hair loss solutions, erection pills, life insurance and QVC.

Źródło: http://esreality.com/post/2891023/clawz-everyone-can-give-me-a-hard-time-it-is-about/#pid2891208

Dodał: tath

Ankieta

OMPQ3 2023 - turniej 1v1 online (gracze sami się dogadują, finał 21 maja))

Głosów: 57