HLDS, czyli Half-Life Dedicated Server, umo┐liwia prowadzenie rozgrywek w Internecie lub w lokalnej sieci LAN. Je┐eli nie chcemy udostΩpniaµ wszystkim naszego serwera, a chcemy pograµ z osobami nie bΩd▒cymi w naszej lokalnej sieci - jest na to spos≤b.
Ca│o╢µ dotyczy serwera w wersji Linux - mo┐liwe (a nawet bardzo prawdopodobne), ┐e bΩdzie to dzia│aµ r≤wnie┐ z serwerem dla innego systemu operacyjnego, jednak testowany by│ serwer dla Linux.
Uruchamiaj▒c serwer hlds z parametrami:
-nomaster +sv_lan 1
serwer dzia│a w trybie sieci lokalnej. W tym trybie serwer nie wymaga autoryzacji klient≤w z World Opponent Network, wiΩc mo┐liwe jest granie z kilku kopii tego samego HL zainstalowanych na r≤┐nych komputerach. Serwer sprawdza natomiast, czy osoby │▒cz▒ce siΩ z nim s▒ na sieci lokalnej. Robi to poprzez sprawdzenie, czy ich adres mie╢ci siΩ w przedziale maski klasy C (czyli np. 192.168.0.0 - 192.168.0.255). Gdy gramy po Internecie, adresy nie bΩd▒ mie╢ci│y siΩ w podanej masce i zdalny Half-Life nie przy│▒czy siΩ do naszego serwera.
Rozwi▒zanie tego problemu jest ca│kiem proste, wymaga jednak dostΩpu do odpowiednich narzΩdzi. Je┐eli nasza sieµ przy│▒czona jest do Internetu routerem (do kt≤rego mamy dostΩp i mo┐emy zmieniaµ jego konfiguracjΩ - np. gdy sami sobie ten router postawili╢my :)), a na routerze zainstalowane jest oprogramowanie do NAT (Network Adress Translation), czyli linuxowa maskarada IP (IP masquerading), to wystarczy stworzyµ odpowiedni▒ konfiguracjΩ. Podam przyk│ad jak to powinno wygl▒daµ przy pomocy ipchains :
$PRIIP = adres IP serwera z HLDS
ipchains -A forward -b -p udp -s 0/0 1024:65535 -d $PRIIP 27015 -j MASQ
Powy┐sza linia powoduje, ┐e pakiety UDP przychodz▒ce ze ╢wiata (-s 0/0 1024:65535 ), kt≤rych celem jest port 27015 serwera HLDS, bΩd▒ forwardowane (przesy│ane dalej) ze zmienionym adresem ╝r≤d│owym (-j MASQ ). Teraz serwer HLDS bΩdzie my╢la│, ┐e ca│y ruch ma ╝r≤d│o w sieci lokalnej, a tak na prawdΩ bΩd▒ to ludzie znajduj▒cy siΩ gdzie╢ w Internecie.
Poni┐ej znajduje siΩ lista przydatnego oprogramowania do stworzenia takiego serwera:
- serwer HLDS dla systemu Linux
- Linux Router Project (LRP) - dyskietkowa dystrubucja linuksa, przeznaczona do obs│ugi routera, zawieraj▒ca obs│ugΩ translacji adres≤w, dzia│aj▒ca nawet na starym 486 z 8 MB RAMu
|