Kaip atidaryti portus žaidimų serveriams

Kodėl apskritai reikia atidaryti portus?

Kai pirmą kartą bandai sukurti savo žaidimų serverį – ar tai būtų Minecraft, CS:GO, ar bet kuris kitas – dažniausiai susiduri su keista problema: tu matai serverį, bet tavo draugai ne. Viskas veikia tavo kompiuteryje, bet niekas iš išorės negali prisijungti. Problema slypi tavo namų maršrutizatoriuje, kuris veikia kaip sargybinis prie durų.

Maršrutizatorius pagal nutylėjimą blokuoja visus bandymus prisijungti prie tavo tinklo iš išorės. Tai logiška saugumo priemonė – juk nenori, kad bet kas galėtų tiesiog prisijungti prie tavo kompiuterio. Tačiau kai nori paleisti serverį, šis saugumas tampa kliūtimi. Portų atidarymas (angl. port forwarding) yra būdas pasakyti maršrutizatoriui: „Kai kas nors beldžiasi į šias specifines duris, praleisk juos vidun ir nukreipk į konkretų kompiuterį”.

Portai – tai tarsi numeruoti durys į tavo kompiuterį. Yra daugiau nei 65 tūkstančiai galimų portų, ir skirtingos programos naudoja skirtingus. Pavyzdžiui, Minecraft serveris pagal nutylėjimą naudoja 25565 portą, o HTTP interneto puslapiai – 80 portą. Kai atidarai portą, iš esmės sakai: „Visas eismas, ateinantis per šį numerį, turėtų būti nukreiptas į mano kompiuterį”.

Pasiruošimas prieš konfigūruojant maršrutizatorių

Prieš lįsdamas į maršrutizatoriaus nustatymus, reikia surinkti keletą svarbių informacijos gabaliukų. Pirmiausiai – tavo kompiuterio vidinis IP adresas. Tai ne tas IP, kurį mato išorinis pasaulis, o tavo vieta vietiniame tinkle. Windows sistemoje tai sužinosi atidarius Command Prompt ir įvedęs komandą ipconfig. Ieškoki eilutės „IPv4 Address” – tai bus kažkas panašaus į 192.168.1.100 ar 10.0.0.5.

Linux ar Mac sistemose naudok komandą ifconfig arba ip addr. Svarbu užsirašyti šį adresą – jis tau prireiks vėliau. Dar geriau – nustatyti statinį IP adresą savo kompiuteriui, nes daugelyje namų tinklų IP adresai keičiasi po kiekvieno perkrovimo. Jei tavo IP pasikeis, o maršrutizatorius vis dar siųs eismą į seną adresą, serveris nustos veikti.

Statinio IP nustatymas priklauso nuo operacinės sistemos, bet paprastai tai daroma tinklo nustatymuose. Alternatyva – sukonfigūruoti DHCP rezervaciją maršrutizatoriuje, kuri visada priskiria tam pačiam įrenginiui tą patį IP adresą. Tai dažnai patogiau, nes viską valdai iš vienos vietos.

Taip pat reikia žinoti, kokį portą naudoja tavo žaidimo serveris. Dažniausiai tai rasi serverio dokumentacijoje ar konfigūracijos faile. Kai kurie populiarūs portai: Minecraft Java – 25565, Minecraft Bedrock – 19132, Terraria – 7777, Valheim – 2456-2458, ARK – 7777-7778.

Prisijungimas prie maršrutizatoriaus

Dabar prasideda tikrasis darbas. Reikia patekti į maršrutizatoriaus administravimo sąsają. Dažniausiai tai daroma naršyklėje įvedus maršrutizatoriaus IP adresą. Paprastai tai yra 192.168.1.1, 192.168.0.1 arba 10.0.0.1. Jei nė vienas neveikia, grįžk prie tos ipconfig komandos rezultatų ir ieškoki „Default Gateway” – tai ir yra tavo maršrutizatoriaus adresas.

Įvedęs adresą į naršyklę, turėtum pamatyti prisijungimo langą. Čia prasideda linksmybės su slaptažodžiais. Jei niekada nekeitei prisijungimo duomenų, gali būti, kad vis dar veikia gamykliniai. Dažniausiai tai „admin/admin”, „admin/password”, arba „admin/(tuščias laukas)”. Ant paties maršrutizatoriaus gali būti lipdukas su šia informacija.

Jei kažkas anksčiau keitė slaptažodį ir niekas jo neprisimena, gali tekti atlikti maršrutizatoriaus nustatymų atstatymą į gamyklinius. Paprastai tai daroma ilgai laikant mažą reset mygtuką ant įrenginio. Bet atsargiai – tai ištrins VISUS nustatymus, įskaitant WiFi slaptažodį, todėl tai turėtų būti paskutinė priemonė.

Portų peradresavimo konfigūravimas

Kai jau esi viduje, reikia rasti portų peradresavimo (port forwarding) skiltį. Skirtinguose maršrutizatoriuose ji vadinama skirtingai: „Port Forwarding”, „Virtual Server”, „NAT”, „Applications and Gaming” ar panašiai. TP-Link maršrutizatoriuose tai paprastai „Forwarding” → „Virtual Servers”, ASUS – „WAN” → „Virtual Server/Port Forwarding”, Netgear – „Advanced” → „Advanced Setup” → „Port Forwarding”.

Radęs tinkamą skiltį, turėsi sukurti naują taisyklę. Štai ką paprastai reikia užpildyti:

Service Name/Application: Bet koks pavadinimas, kuris tau padės prisiminti, kam tai skirta. Pavyzdžiui, „Minecraft Server”.

External Port/Start Port: Portas, kurį žmonės naudos prisijungdami iš interneto. Dažniausiai čia įrašai tą patį numerį kaip ir vidinis portas.

Internal Port/End Port: Portas tavo kompiuteryje, kuriame veikia serveris.

Internal IP Address: Tas statinis IP adresas, kurį anksčiau užsirašei.

Protocol: Dažniausiai TCP, UDP arba abu (TCP/UDP). Minecraft naudoja TCP, bet kai kurie žaidimai reikalauja abiejų. Jei nesi tikras, rinkis abu.

Pavyzdys Minecraft serveriui atrodytų taip:
– Service Name: Minecraft
– External Port: 25565
– Internal Port: 25565
– Internal IP: 192.168.1.100
– Protocol: TCP

Išsaugok nustatymus, ir maršrutizatorius gali reikalauti perkrauti. Kai kurie maršrutizatoriai pritaiko pakeitimus iš karto, kiti – tik po perkrovimo.

Ugniasienės nustatymai kompiuteryje

Atidarius portą maršrutizatoriuje, dar ne viskas baigta. Tavo kompiuterio ugniasienė taip pat gali blokuoti prisijungimus. Windows Defender Firewall pagal nutylėjimą blokuoja daugelį įeinančių ryšių, todėl reikia sukurti išimtį.

Windows sistemoje eik į Control Panel → System and Security → Windows Defender Firewall → Advanced Settings. Kairėje pusėje pasirink „Inbound Rules”, dešinėje – „New Rule”. Pasirink „Port”, tada TCP ar UDP (priklausomai nuo to, ko reikia tavo serveriui), įvesk porto numerį ir leisk ryšį.

Alternatyviai gali tiesiog leisti visą programą per ugniasienę. Tai kartais paprasčiau – tiesiog randi serverio .exe failą ir pridedi jį prie išimčių sąrašo. Windows Firewall nustatymuose tai daroma per „Allow an app or feature through Windows Defender Firewall”.

Linux sistemose su ufw (Ubuntu ir panašūs) tai paprasta:
sudo ufw allow 25565/tcp

Su iptables šiek tiek sudėtingiau, bet principas tas pats – reikia pridėti taisyklę, leidžiančią eismą per konkretų portą.

Kaip patikrinti, ar viskas veikia

Sukonfigūravus viską, reikia patikrinti, ar tikrai veikia. Yra keletas būdų tai padaryti. Pirmiausiai – naudok išorinį portų tikrinimo įrankį. Svetainės kaip canyouseeme.org, yougetsignal.com ar portchecker.co leidžia įvesti savo išorinį IP adresą ir porto numerį, tada bando prie jo prisijungti.

Tavo išorinį IP adresą sužinosi tiesiog įgūglinęs „what is my ip” arba apsilankęs whatismyipaddress.com. Tai tas adresas, kurį tavo draugai turės naudoti prisijungdami prie serverio.

Svarbus niuansas: tu pats negali testuoti prisijungimo naudodamas išorinį IP adresą iš savo tinklo. Tai vadinama NAT loopback problema, ir daugelis namų maršrutizatorių jos nepalaiko. Jei bandai prisijungti prie savo serverio per išorinį IP būdamas tame pačiame tinkle, gali nematyti serverio, nors jis puikiai veikia išoriniams vartotojams. Todėl geriausia testuoti su draugu, kuris yra kitame tinkle, arba naudoti mobilųjį internetą.

Jei portų tikrinimo įrankis rodo, kad portas uždarytas, nors viską sukonfigūravai, patikrink šiuos dalykus:

1. Ar serverio programa tikrai veikia? Portas atrodys uždarytas, jei nieko jo neklausosi.
2. Ar tikrai naudoji teisingą vidinį IP adresą?
3. Ar ugniasienė kompiuteryje tikrai leidžia ryšį?
4. Ar maršrutizatorius tikrai pritaikė pakeitimus? Pabandyk jį perkrauti.

Saugumo klausimai, apie kuriuos verta pagalvoti

Atidarius portus, tavo kompiuteris tampa šiek tiek labiau prieinamas iš interneto, todėl svarbu pagalvoti apie saugumą. Nėra ko panikuoti, bet keletas atsargumo priemonių tikrai nepakenks.

Pirmiausiai, atidaryk tik tuos portus, kurių tikrai reikia, ir tik tiek, kiek reikia. Jei tavo žaidimas naudoja tik vieną portą, neatidaryk viso porto diapazono. Kai serveris nebereikalingas, išjunk portų peradresavimą arba bent jau sustabdyk serverio programą.

Naudok stiprius slaptažodžius serverio administravimui. Daugelis žaidimų serverių turi administratoriaus slaptažodžius ar RCON slaptažodžius – pasirūpink, kad jie būtų sudėtingi. Yra automatinių botų, kurie skenuoja internetą ieškodami atidarytų portų ir bando prisijungti su numatytaisiais slaptažodžiais.

Jei įmanoma, naudok baltąjį sąrašą (whitelist). Daugelis žaidimų serverių leidžia apriboti, kas gali prisijungti. Jei serveris skirtas tik draugams, kodėl leisti bet kam bandyti prisijungti?

Reguliariai atnaujink serverio programinę įrangą. Žaidimų serverių programose, kaip ir bet kurioje kitoje programinėje įrangoje, kartais randama saugumo spragų. Atnaujinimai jas taiso.

Alternatyvos portų atidarymui

Jei visas šis portų atidarymo procesas atrodo per sudėtingas arba tiesiog neveikia (kai kurie interneto tiekėjai naudoja CG-NAT, kuris apsunkina ar net neįgalina portų atidarymo), yra alternatyvų.

Hamachi, ZeroTier ir panašūs VPN sprendimai sukuria virtualų vietinį tinklą per internetą. Visi, kas nori žaisti, įsiinstaliuoja tą pačią programą, prisijungia prie to paties virtualaus tinklo, ir tada serveris veikia tarsi visi būtų tame pačiame vietiniame tinkle. Nereikia atidaryti jokių portų. Hamachi yra populiariausias, bet riboja nemokamą versiją iki 5 žmonių. ZeroTier leidžia daugiau vartotojų nemokamai.

Ngrok ir Playit.gg veikia kaip tuneliai – jie nukreipia eismą per jų serverius į tavo kompiuterį. Tai veikia net su CG-NAT, bet gali pridėti šiek tiek vėlavimo. Playit.gg specialiai sukurtas žaidimų serveriams ir yra nemokamas.

Debesų serveriai – jei turi šiek tiek biudžeto, gali išsinuomoti virtualų serverį pas tokius tiekėjus kaip DigitalOcean, Linode, AWS ar specializuotus žaidimų serverių hostingus. Tada portų atidarymas yra jų problema, ne tavo. Kai kurie tiekėjai siūlo labai pigius planus, tinkamus mažiems serveriams.

Kai viskas veikia ir kas toliau

Kai pagaliau viskas sukonfigūruota ir draugai gali prisijungti, atsiranda naujų dalykų, apie kuriuos verta pagalvoti. Dinaminis IP adresas – daugelis namų interneto planų duoda IP adresą, kuris gali keistis. Jei tavo IP pasikeičia, draugai nebegalės prisijungti naudodami seną adresą.

Sprendimas – dinaminės DNS paslaugos kaip No-IP, DuckDNS ar DynDNS. Jos leidžia sukurti domeną (pvz., tavoserveris.ddns.net), kuris visada rodo į tavo dabartinį IP adresą, net jei jis keičiasi. Dauguma šių paslaugų yra nemokamos baziniam naudojimui, ir kai kurie maršrutizatoriai turi integruotą palaikymą jiems.

Našumo optimizavimas taip pat tampa svarbus, kai serveris veikia ilgesnį laiką. Žaidimų serveriai gali būti resursų reiklūs, ypač su daugeliu žaidėjų. Stebėk procesoriaus ir RAM naudojimą, reguliariai daryk atsargines kopijas, ir skaityk apie specifines tavo žaidimo serverio optimizavimo galimybes.

Bendruomenės kūrimas – jei serveris tampa populiarus, gali norėti sukurti Discord serverį ar kitą komunikacijos platformą. Tai palengvina koordinavimą, leidžia skelbti naujienas apie serverio priežiūrą, ir apskritai padeda sukurti bendruomenės jausmą.

Portų atidarymas iš pradžių gali atrodyti bauginantis, bet iš tikrųjų tai gana paprasta procedūra, kai supranti pagrindinius principus. Taip, yra keletas žingsnių, ir kartais reikia šiek tiek eksperimentuoti, kol viskas veikia, bet rezultatas – galimybė žaisti su draugais savo serveryje – tikrai to verta. O jei viskas kažkodėl nepavyksta, visada yra alternatyvių sprendimų, kurie gali būti net paprastesni.

Поділіться: XFacebookPinterestLinkedin