NAT HLDS
Opis
Artykuł się tyczy kwestii WAN oraz LAN.
Problem
Przy próbie połączenia się z serwerem wyswietla się komunikat "Your steam ticket has expired" lub "This Steam account is being used in another location" oraz okno do logowania. Posiadam oczywiście oryginalne konto na steamie, nie mam najmniejszych problemów z połączeniem się na inne serwery.
Serwer jest w sieci WAN i działa z parametrem sv_lan 0
Rozwiązanie
Na początek założenia:
- IP Serwera: Wewnetrzne: 10.10.10.2 Zewnetrzne 123.123.123.12
- IP Graczy z LANu: 10.10.10.x
- Zewnętrzne IP ludzi z LANu: 123.123.123.10 (czyli adres routera)
- sv_lan 0
Gdy gracz loguje się do sieci STEAM robi to z adresu 123.123.123.10 Natomiast przy próbie wejścia na server gry jest widziany z IP 10.10.10.x. Steam w tym momencie głupieje [no bo jak? gracz jest zalogowany na jedno IP a próbuje wejść z innego wiec cos tu nie tak] i każe się ponownie zalogować. I znowu proces się powtarza [tak w kolko]. To wygląda mniej więcej tak:
Rozwiązaniem tego problemu jest ustawienie tak NAT'u żeby pakiety idące na server wychodziły "do internetu" po czym znów wracały do komputera z serwerem. Czyli powinno być tak
Mam nadzieje ze jakoś jasno to wytłumaczyłem (inaczej nie umiem :X )
Podane tutaj adres IP to tylko przykłady.
Tak więc najlepiej jak odpalimy serwer na numerze IP zewnętrznym tylko i wyłącznie.
- trawiator
Najwygodniej to ejst zrealizować poprzez kofnigurację firewalla ze specjalną strefą w której siedzą gry, najłatwiej na linuchu chyba z wykorzystaniem takiego pakietu jak shorewall pod linuksa.