Біреу порт тексеруін іске қосады, ашық деген сөзді көреді және серверді шешілді деп санайды. Бұл нәтиженің нақты мағынасы тар: тексерушінің орналасқан жерінен, сол сәтте сол мекенжай мен портқа TCP қосылысы қабылданды. Ол Minecraft хаттамасының қол алысуы, тіркелгінің аутентификациясы немесе сервер ойыншыны әлемге жіберді ме деген туралы ештеңе айтпайды.

Бұл төрт түрлі қабат, және олардың кез келгеніндегі сәтсіздік ойыншыдан бірдей сөйлем шығарады: жұмыс істемеді.

Зонд тек көре алатынын тексереді

TCP қосылысы екі жақ үш бағытты қол алысуды аяқтағанда аяқталады, ол ойын білетін барлық нәрсенің астында жатыр. Зонд тыңдаушы болғанын және өзінің желілік орналасуынан жауап бергенін хабарлайды. Ол тыңдаушының ойынның өзі екенін айта алмайды, өйткені кез келген процесс портты алып, қосылыстарды қабылдай алады.

Орын нәтиже сияқты маңызды. Қоғамдық интернеттегі тексеруші бір желіден бір жолды тексереді. Оператор бір желінің ішінен іске қосатын тексеруші мүлде басқа жолды тексереді, және ондағы оң нәтиже қашықтағы ойыншының не бастан кешіретіні туралы ештеңе дерлік айтпайды. Екі түрлі провайдердегі екі түрлі тексеруші тіпті сіздің серверіңізге қатысы жоқ себептермен келіспеуі мүмкін.

Уақыт та маңызды. Зонд нәтижесі ол іске қосылған сәтті сипаттайды, ал динамикалық мекенжайы немесе өзгерген бағыттау ережесі бар үй қосылысы нақты жауапты бірнеше минуттан кейін жылжытуы мүмкін. Қоғамдық мекенжайды, портты, мекенжайлар тобын және уақытты үкіммен бірге жазып алыңыз, әйтпесе байқау қайталанбайды. Тексеруді сол қосылыстағы телефоннан емес, шынымен басқа желіден қайталаңыз.

Сокет пен ойыншы арасындағы төрт қабат

Қосылып жатқан клиенттің нақты орындайтын ретін елестетіңіз. Алдымен ол мекенжайды шешеді, содан кейін жарияланған портқа TCP қосылысын ашады, содан кейін келіссөз бен аутентификация үшін ойынның өз хаттамасымен сөйлеседі, және соңында сервер бұл тұлғаны әлемге жіберуге рұқсат бар-жоғын шешеді. Әр қабаттың өз сәтсіздік қолтаңбасы бар, және тек біріншісі порт тексерушісіне көрінеді.

Java Edition үшін әдепкі порт — 25565, бірақ оператор басқа сыртқы порт жариялап, оны ішке бағыттай алады, сондықтан ойыншы теретін сан сервер көретін сан бола бермейді. Қате сыртқы портқа бағытталған тексеруші сервер толық сау кезде жабық деп хабарлайды, және бұл осы саладағы ең көп тараған жалған дабыл.

Атаулар порттың үстіне тағы бір қадам қосады. Егер ойыншы хост атауын терсе, шешім жарияланған мекенжайды қайтаруы керек, ал желі ішіндегі машинада ол оның орнына жеке мекенжайды қайтаруы мүмкін. Бұл firewall ақауы емес, және порттарды бағыттаудың ешбір мөлшері оны өзгертпейді.

Неге іштегі ойыншы басқа жол таңдайды

Сол LAN-дағы немесе сол LAN-ға жететін VPN-дегі ойыншы іштен қоғамдық мекенжайға жетуге тырысады. Сұраныс маршрутизатордың сыртқы мекенжайына барады және маршрутизатор оны қайтадан ішке аударуы керек, бұл әдетте hairpinning немесе NAT шағылысуы деп аталады. Бұл жұмыс істеуі үшін алға аудару да, қайту жолы да сәйкесуі керек, ал көптеген тұрмыстық маршрутизаторлар мұны мүлде іске асырмайды.

Сондықтан сырттан келген қонақ қосылады, ал сервердің қасында отырған адам қосыла алмайды. Сыртқы жол шынымен дұрыс; сәтсіз болатын нәрсе — ішкі айналма жол, және ол ойыншының экранынан сервер мәселесіне ұқсайтындай сәтсіз болады. Қайсысы болғанын сервердің өз журналы шешеді, өйткені ешқашан аударылмаған қосылыс оған ешқашан жетпейді.

Екі адал түзету және бір жаман әдет бар. Жақсы нұсқалар — ішкі ойыншыларға жеке мекенжайды немесе split-DNS атауын пайдалануға рұқсат беру, ол іште жеке мекенжайға шешіледі, немесе функция бар болса және дұрыс жұмыс істесе, маршрутизаторда шағылысуды қосу. Жаман әдет — қосымша порттар ашу немесе хосттың firewall-ын өшіру, бұл маршрутизатор ешқашан жасамаған аудармаға әсер ете алмайды.

Netgate-тің NAT шағылысуы туралы құжаттамасы сыртқы мен ішкі айырмашылығын және split-DNS баламасын толығырақ сипаттайды. Оны механизмнің сипаттамасы ретінде оқыңыз, кез келген нақты VPN провайдері немесе маршрутизатор loopback-тің барлық нұсқасын қолдайды деген уәде ретінде емес.

Әр көзқарастан дәлел жинаңыз

Әр тест үшін кімнің іске қосқанын, қайдан, қай уақытта, қай мекенжай мен портқа қарсы, және сервердің не жазғанын жазыңыз. Сервер консолінде анық себебі бар ойынның бас тартуы — ешқашан жетпеген қосылыстан өзгеше тұжырым, және екеуі қарама-қарсы бағытқа апарады.

Егер рұқсат етілген қашықтағы ойыншылар қосылып, бір жергілікті ойыншы қосыла алмаса, қалған сұрақ — жергілікті жол, және ол жеке тексеруге лайық: клиент қай мекенжайды пайдаланды, маршрутизатор аудармамен не істеді және сервер қандай да бір қосылу әрекетін тіркеді ме. Порттарды кездейсоқ қайта ашудың орнына осы үш фактіні желі иесіне беріңіз.

Қатысты мақалалар