પોર્ટ ચેકર કહે છે ખુલ્લું? Minecraft ખેલાડીઓ હજુ પણ કેમ જોડાઈ શકતા નથી
સફળ TCP કનેક્શન ફક્ત એ સાબિત કરે છે કે એક સોકેટ એક જગ્યાથી સ્વીકારવામાં આવ્યું. લોગિન, વિશ્વમાં પ્રવેશ અને અંદરથી બહારનો માર્ગ અલગ પરીક્ષણો છે.
કોઈ પોર્ટ ચેક ચલાવે છે, ખુલ્લું શબ્દ જુએ છે અને સર્વરને હલ થઈ ગયેલું માને છે. એ પરિણામનો ખરો અર્થ સાંકડો છે: ચેકરની જગ્યાથી, તે ક્ષણે, તે સરનામા અને પોર્ટ પર TCP કનેક્શન સ્વીકારવામાં આવ્યું. તે Minecraft પ્રોટોકોલ હેન્ડશેક, ખાતાની ચકાસણી, અથવા સર્વરે ખેલાડીને કોઈ વિશ્વમાં પ્રવેશ આપ્યો કે નહીં તે વિશે કંઈ કહેતું નથી.
એ ચાર અલગ સ્તરો છે, અને તેમાંથી કોઈપણ એકમાં નિષ્ફળતા ખેલાડી તરફથી એ જ વાક્ય લાવે છે: તે કામ ન કર્યું.
પ્રોબ ફક્ત તે જ ચકાસે છે જે તે જોઈ શકે
TCP કનેક્શન ત્યારે પૂર્ણ થાય છે જ્યારે બંને બાજુઓ ત્રણ-માર્ગી હેન્ડશેક પૂરો કરે, જે રમત જે કંઈ જાણે છે તેનાથી નીચે છે. પ્રોબ જણાવે છે કે એક શ્રોતા હતો અને તેણે પોતાના નેટવર્ક સ્થાનથી જવાબ આપ્યો. તે તમને કહી શકતું નથી કે શ્રોતા રમત છે, કારણ કે કોઈપણ પ્રક્રિયા પોર્ટ બાંધી શકે છે અને કનેક્શન સ્વીકારી શકે છે.
સ્થાન પરિણામ જેટલું જ મહત્ત્વનું છે. જાહેર ઇન્ટરનેટ પરનું ચેકર એક નેટવર્કથી એક માર્ગ ચકાસે છે. ઓપરેટર સમાન નેટવર્કની અંદરથી ચલાવે તે ચેકર સંપૂર્ણપણે બીજો માર્ગ ચકાસે છે, અને ત્યાંનું હકારાત્મક પરિણામ દૂરના ખેલાડીને શું અનુભવાય છે તે વિશે લગભગ કંઈ કહેતું નથી. બે અલગ પ્રદાતાઓ પરના બે અલગ ચેકર તમારા સર્વર સાથે કોઈ સંબંધ ન હોય તેવા કારણોસર અસમ્મત પણ હોઈ શકે છે.
સમય પણ મહત્ત્વનો છે. પ્રોબ પરિણામ તે ચાલ્યું તે ક્ષણનું વર્ણન કરે છે, અને ગતિશીલ સરનામું અથવા બદલાયેલ ફોરવર્ડિંગ નિયમ ધરાવતું ઘરેલું કનેક્શન ખરા જવાબને થોડી મિનિટ પછી ખસેડી શકે છે. જાહેર સરનામું, પોર્ટ, સરનામા કુટુંબ અને સમય ચુકાદા સાથે નોંધો, નહીં તો અવલોકન પુનરાવર્તનપાત્ર નથી. ચેકને સાચા અર્થમાં બીજા નેટવર્કથી પુનરાવર્તિત કરો, તે જ કનેક્શન પરના ફોનથી નહીં.
સોકેટ અને ખેલાડી વચ્ચે ચાર સ્તરો
જોડાનાર ક્લાયન્ટ ખરેખર જે ક્રમ કરે છે તેની કલ્પના કરો. પહેલા તે સરનામું ઉકેલે છે, પછી પ્રકાશિત પોર્ટ પર TCP કનેક્શન ખોલે છે, પછી વાટાઘાટ અને ચકાસણી માટે રમતનો પોતાનો પ્રોટોકોલ બોલે છે, અને અંતે સર્વર નક્કી કરે છે કે તે ઓળખને વિશ્વમાં પ્રવેશ આપવો છે કે નહીં. દરેક સ્તરની પોતાની નિષ્ફળતાની સહી છે, અને ફક્ત પહેલું જ પોર્ટ ચેકરને દેખાય છે.
Java Edition માટે ડિફોલ્ટ પોર્ટ 25565 છે, પરંતુ ઓપરેટર બીજો બાહ્ય પોર્ટ પ્રકાશિત કરી તેને અંદર ફોરવર્ડ કરી શકે છે, તેથી ખેલાડી જે નંબર લખે છે તે જ નંબર સર્વર જુએ છે તે જરૂરી નથી. ખોટા બાહ્ય પોર્ટ પર લક્ષ્ય રાખેલું ચેકર સર્વર સંપૂર્ણ સ્વસ્થ હોવા છતાં બંધ જણાવે છે, અને આ આખા ક્ષેત્રમાં સૌથી સામાન્ય ખોટો ચેતવણી છે.
નામો પોર્ટની ઉપર એક વધુ પગલું ઉમેરે છે. જો ખેલાડી હોસ્ટનામ લખે, તો રિઝોલ્યુશન પ્રકાશિત સરનામું પરત આપવું જોઈએ, અને નેટવર્કની અંદરની મશીન પર તે તેના બદલે ખાનગી સરનામું પરત આપી શકે છે. તે ફાયરવોલની નિષ્ફળતા નથી અને પોર્ટ ફોરવર્ડિંગનો કોઈ જથ્થો તેને બદલશે નહીં.
અંદરનો ખેલાડી કેમ બીજો માર્ગ લે છે
એક જ LAN પરનો ખેલાડી, અથવા તે LAN સુધી પહોંચતા VPN પરનો ખેલાડી, અંદરથી જાહેર સરનામે પહોંચવાનો પ્રયાસ કરે છે. વિનંતી રાઉટરના બાહ્ય સરનામે જાય છે અને રાઉટરે તેને પાછી અંદર અનુવાદિત કરવી પડે છે, જેને સામાન્ય રીતે hairpinning અથવા NAT પ્રતિબિંબ કહેવાય છે. તે કામ કરે તે માટે આગળનું અનુવાદન અને પરતનો માર્ગ બંને મેળ ખાવા જોઈએ, અને ઘણા ગ્રાહક રાઉટર તેને બિલકુલ લાગુ કરતા નથી.
તેથી બહારનો મહેમાન જોડાય છે અને સર્વરની બાજુમાં બેઠેલી વ્યક્તિ જોડાઈ શકતી નથી. બાહ્ય માર્ગ ખરેખર ઠીક છે; અંદરનું વળતું માર્ગ જ નિષ્ફળ જાય છે, અને તે ખેલાડીની સ્ક્રીન પરથી સર્વરની સમસ્યા જેવું લાગે તે રીતે નિષ્ફળ જાય છે. સર્વરનો પોતાનો લોગ નક્કી કરે છે કે કયું બન્યું, કારણ કે જે કનેક્શનનું ક્યારેય અનુવાદ થયું નથી તે ક્યારેય તેના સુધી પહોંચતું નથી.
બે પ્રામાણિક સુધારા અને એક ખરાબ ટેવ છે. સારા વિકલ્પો એ છે કે અંદરના ખેલાડીઓને ખાનગી સરનામું અથવા split-DNS નામ વાપરવા દેવું જે અંદરથી ખાનગી સરનામે રિઝોલ્વ થાય, અથવા જો સુવિધા હાજર હોય અને યોગ્ય રીતે વર્તે તો રાઉટર પર પ્રતિબિંબ સક્ષમ કરવું. ખરાબ ટેવ વધુ પોર્ટ ખોલવી અથવા હોસ્ટ ફાયરવોલ બંધ કરવી છે, જે રાઉટરે ક્યારેય ન કરેલા અનુવાદને અસર કરી શકતી નથી.
Netgate નું NAT પ્રતિબિંબ દસ્તાવેજીકરણ બાહ્ય અને અંદરના તફાવત તથા split-DNS વિકલ્પને વધુ વિગતવાર વર્ણવે છે. તેને મિકેનિઝમના વર્ણન તરીકે વાંચો, કોઈ ચોક્કસ VPN પ્રદાતા અથવા રાઉટર દરેક loopback પ્રકારને સમર્થન આપે છે તેવા વચન તરીકે નહીં.
દરેક દૃષ્ટિકોણથી પુરાવા એકત્ર કરો
દરેક પરીક્ષણ માટે લખો કે કોણે ચલાવ્યું, ક્યાંથી, કયા સમયે, કયા સરનામા અને પોર્ટ સામે, અને સર્વરે શું લોગ કર્યું. સર્વર કન્સોલમાં સ્પષ્ટ કારણ સાથેનો રમતનો અસ્વીકાર ક્યારેય ન પહોંચેલા કનેક્શનથી અલગ તારણ છે, અને બંને વિરુદ્ધ દિશામાં લઈ જાય છે.
જો મંજૂર દૂરના ખેલાડીઓ જોડાય અને એક સ્થાનિક ખેલાડી જોડાઈ ન શકે, તો સ્થાનિક માર્ગ બાકીનો પ્રશ્ન છે અને તે પોતાની તપાસ લાયક છે: ક્લાયન્ટે કયું સરનામું વાપર્યું, રાઉટરે અનુવાદ સાથે શું કર્યું, અને સર્વરે કોઈ કનેક્શન પ્રયાસ નોંધ્યો કે નહીં. પોર્ટ અવ્યવસ્થિત રીતે ખોલવાને બદલે એ ત્રણ તથ્યો નેટવર્કના માલિકને આપો.