Mae rhywun yn rhedeg gwiriad porth, yn gweld y gair agored, ac yn trin y gweinydd fel un wedi’i ddatrys. Yr hyn y mae’r canlyniad hwnnw yn ei olygu mewn gwirionedd yw cul: o leoliad y gwirydd, ar y foment honno, derbyniwyd cysylltiad TCP i’r cyfeiriad a’r porth hwnnw. Nid yw’n dweud dim am ysgwyd llaw protocol Minecraft, dilysu cyfrif, nac am a wnaeth y gweinydd addef y chwaraewr i fyd.

Mae’r rhain yn bedair haen wahanol, ac mae methiant yn unrhyw un ohonynt yn cynhyrchu’r un frawddeg gan y chwaraewr: ni weithiodd.

Mae archwiliad yn profi dim ond yr hyn y gall ei weld

Mae cysylltiad TCP yn cwblhau pan fydd y ddwy ochr yn gorffen yr ysgwyd llaw tair ffordd, sydd islaw popeth y mae’r gêm yn ei wybod. Mae’r archwiliad yn adrodd bod gwrandäwr wedi bodoli ac wedi ymateb o’i leoliad rhwydwaith. Ni all ddweud wrthych mai’r gêm yw’r gwrandäwr, oherwydd gall unrhyw broses rwymo porth a derbyn cysylltiadau.

Mae’r lleoliad yr un mor bwysig â’r canlyniad. Mae gwirydd ar y rhyngrwyd cyhoeddus yn profi un llwybr o un rhwydwaith. Mae gwirydd a redir gan y gweithredwr o du mewn i’r un rhwydwaith yn profi llwybr hollol wahanol, ac nid yw canlyniad cadarnhaol yno yn dweud fawr ddim am yr hyn y mae chwaraewr o bell yn ei brofi. Gall dau wahanol wirydd ar ddau wahanol ddarparwr hyd yn oed anghytuno am resymau nad oes ganddynt ddim i’w wneud â’ch gweinydd.

Mae amser yn bwysig hefyd. Mae canlyniad archwiliad yn disgrifio’r foment y rhedodd, a gall cysylltiad cartref â chyfeiriad deinamig neu reol anfon ymlaen wedi newid symud yr ateb go iawn ychydig funudau’n ddiweddarach. Cofnodwch y cyfeiriad cyhoeddus, y porth, y teulu cyfeiriadau a’r amser ynghyd â’r dyfarniad, neu nid yw’r arsylwi yn ailadroddadwy. Ailadroddwch y gwiriad o rwydwaith gwirioneddol wahanol yn hytrach nag o ffôn ar yr un cysylltiad.

Pedair haen rhwng soced a chwaraewr

Dychmygwch y dilyniant y mae cleient sy’n ymuno yn ei gyflawni mewn gwirionedd. Yn gyntaf mae’n datrys y cyfeiriad, yna’n agor cysylltiad TCP i’r porth cyhoeddedig, yna’n siarad protocol y gêm ei hun i drafod a dilysu, ac yn olaf mae’r gweinydd yn penderfynu a oes caniatâd i’r hunaniaeth honno fynd i mewn i’r byd. Mae gan bob haen ei llofnod methiant ei hun, a dim ond yr un gyntaf sy’n weladwy i wirydd porth.

Y porth diofyn ar gyfer Java Edition yw 25565, ond gall y gweithredwr gyhoeddi porth allanol gwahanol a’i anfon ymlaen i mewn, felly nid yw’r rhif y mae chwaraewr yn ei deipio o reidrwydd yn rhif y mae’r gweinydd yn ei weld. Mae gwirydd wedi’i anelu at y porth allanol anghywir yn adrodd caeedig tra bod y gweinydd yn berffaith iach, a dyma’r larwm ffug mwyaf cyffredin yn yr holl faes hwn.

Mae enwau yn ychwanegu un cam arall uwchben y porth. Os bydd chwaraewr yn teipio enw gwesteiwr, rhaid i’r datrysiad ddychwelyd y cyfeiriad cyhoeddedig, ac ar beiriant y tu mewn i’r rhwydwaith gall ddychwelyd un preifat yn lle hynny. Nid methiant mur ffin yw hyn ac ni fydd unrhyw faint o anfon portoedd ymlaen yn ei newid.

Pam mae’r chwaraewr tu mewn yn cymryd llwybr gwahanol

Mae chwaraewr ar yr un LAN, neu ar VPN sy’n cyrraedd y LAN hwnnw, yn ceisio cyrraedd y cyfeiriad cyhoeddus o’r tu mewn. Mae’r cais yn mynd i gyfeiriad allanol y llwybrydd a rhaid i’r llwybrydd ei gyfieithu yn ôl i mewn, sef y drefn a elwir fel arfer yn hairpinning neu’n adlewyrchiad NAT. Rhaid i’r cyfieithiad ymlaen a’r llwybr dychwelyd gyd-fynd i hynny weithio, ac nid yw llawer o lwybryddion cartref yn ei weithredu o gwbl.

Dyma pam mae’r gwestai o’r tu allan yn ymuno ac na all yr un sy’n eistedd wrth ymyl y gweinydd. Mae’r llwybr allanol yn iawn mewn gwirionedd; y gwyriad mewnol sy’n methu, ac mae’n methu mewn ffordd sy’n edrych fel problem gweinydd o sgrin y chwaraewr. Mae log y gweinydd ei hun yn setlo pa un a ddigwyddodd, oherwydd nid yw cysylltiad na chafodd ei gyfieithu erioed yn ei gyrraedd.

Mae dau atgyweiriad gonest ac un arferiad drwg. Y gwell opsiynau yw gadael i chwaraewyr mewnol ddefnyddio’r cyfeiriad preifat neu enw split-DNS sy’n datrys yn fewnol i’r cyfeiriad preifat, neu alluogi adlewyrchiad ar y llwybrydd os yw’r nodwedd yn bodoli ac yn ymddwyn yn iawn. Yr arferiad drwg yw agor mwy o borthoedd neu analluogi mur ffin y gwesteiwr, na all effeithio ar gyfieithiad na wnaeth y llwybrydd erioed.

Mae dogfennaeth Netgate ar adlewyrchiad NAT yn disgrifio’r gwahaniaeth rhwng allanol a mewnol a’r dewis arall split-DNS yn fwy manwl. Darllenwch hi fel disgrifiad o’r mecanwaith yn hytrach nag fel addewid bod unrhyw ddarparwr VPN neu lwybrydd penodol yn cefnogi pob amrywiolyn loopback.

Casglwch dystiolaeth o bob safbwynt

Ar gyfer pob prawf, nodwch pwy a’i rhedodd, o ble, ar ba amser, yn erbyn pa gyfeiriad a phorth, a beth a gofnododd y gweinydd. Mae gwrthodiad gêm â rheswm clir yng nghonsol y gweinydd yn ganfyddiad gwahanol i gysylltiad na chyrhaeddodd erioed, ac mae’r ddau yn arwain i gyfeiriadau croes.

Os bydd chwaraewyr o bell a ganiateir yn ymuno ac un chwaraewr lleol na all, y llwybr lleol yw’r cwestiwn sy’n weddill ac mae’n haeddu ymchwiliad ei hun: pa gyfeiriad a ddefnyddiodd y cleient, beth a wnaeth y llwybrydd â’r cyfieithiad, ac a gofnododd y gweinydd unrhyw ymgais gysylltu o gwbl. Trosglwyddwch y tri ffaith hynny i bwy bynnag sy’n berchen ar y rhwydwaith yn hytrach nag ailagor portoedd ar hap.

Erthyglau cysylltiedig