Jo ferdielde tunnel slút de starter út, net it spul
In starter begjint in oar útfierber bestân foar de wedstriid, en dat proses hat syn eigen sockets. Fyn it echte proses, ferienje de juste identifikaasje, en test dan.
Jo foegje de starter ta oan 'e útslútingslist, de download springt fan stadich nei fluch, en de wedstriid lânet noch altyd op in fiere server. Neat is stikken. De starter en it spul binne twa prosessen mei twa sets sockets, en it útsluten fan ien seit neat oer de oare. De download waard flugger om't de download it ferkear fan 'e starter wie; de wedstriid is de ferbining fan immen oars, iepene troch in útfierber bestân dat jo regel nea sjoen hat.
Ien ynstallearder, in protte prosessen
Moderne spulsoftware is in lyts stjerrebyld. Der is in klant dy't jo oanmeldt, in fernijer dy't ynhâld hellet, in starter dy't it spul begjint, en in útfierber spulbestân dat sels in twadde proses oanmeitsje kin foar anty-cheat of foar de wedstriidoerlaach. Elk fan dy kin syn eigen ferbiningen nei syn eigen bestimmingen hâlde.
In útslútingsregel neamt meastentiids ien fan har. Hokker ien hy neamt hinget folslein ôf fan 'e identifikaasje dy't de VPN-klant stipet, en dat is it diel dat brûkers selden neigiet. Guon klanten ferienje in útfierber paad, guon in pakket- of bundle-identifikaasje, en guon in prosesnamme dy't twa net besibbe binaries diele kinne. Lês de regel foardat jo de proseslist lêze, want de regel beheint wat jo sels útdrukke kinne.
It symptoom is dus net “de ferdielde tunnel is stikken”. It is “de regel beslacht in proses dat net dejinge is dy't it ferkear drage dêr't ik om jou”, wat in folle smeller en folle better reparearbere bewearing is. Sadree't jo it sa sizze, is de folgjende stap gjin giswurk mear.
Fyn it proses dat de wedstriidferbining hat
Start it spul, gean in wedstriid yn en sjoch wa't de sockets hat ynstee fan wat op it skerm stiet. Op Windows beantwurdet de proseslist plus in socketfraach per proses dat mei twa opdrachten:
Get-Process | Where-Object { $_.ProcessName -match 'launcher|game|client' } | Select-Object Id,ProcessName,Path
Get-NetTCPConnection -State Established | Select-Object OwningProcess,RemoteAddress,RemotePort | Sort-Object OwningProcess
It twadde opdracht prints in proses-ID, gjin namme, dus ferbine de twa útfieringen op ID. De rige dy't jo sykje is dejinge waans fiere adres by de spultsjinst heart, en it proses dat him hat is it útfierbere bestân dat jo regel neame moat.
Op Linux freget deselde fraach ien opdracht per sockettype, en it is de muoite wurdich beide te kontrolearjen, om't in wedstriidferbining UDP wêze kin wylst al it oare TCP is:
ss -tunp state established | grep -i game
ss -tunp | awk 'NR==1 || /udp/'
As it spul yn in kontener of in kompatibiliteitslaach draait, kin it proses dat jo fine in shim wêze ynstee fan de binary dy't jo ynstalleare hawwe. Yn dat gefal is de identifikaasje dy't fan belang is dejinge dy't de klant sjocht, wat it paad fan 'e shim wêze kin, en gjin hoemannichte bewurkjen fan it orizjinele bestân sil dêr effekt op hawwe.
Ferienje de identifikaasje dy't jo klant stipet
Lês de dokumintaasje fan 'e klant foar de útslútingsregel foardat jo wat tafoegje. De trije gewoane modellen gedrage har oars, en ien fan har is in falstrik.
| Identifier | How it behaves | Failure mode |
|---|---|---|
| Executable path | Matches exactly the file at that path | Breaks when an update moves the binary |
| Process name | Matches any binary with that name | Too broad; catches unrelated software |
| Package or bundle id | Matches a signed application group | May include services you did not intend |
Paadregels binne it kreast en it brekberst. In fernijing fan 'e starter dy't it útfierbere bestân ferpleatst lit de regel wize nei in bestân dat net mear draait, en it symptoom komt werom sûnder dat der wat dúdlik feroaret. Pakketregels oerlibje dat, en se kinne ek stil helpprosessen dekke dêr't jo nea oan tocht hawwe, wat handich of alarmerend is ôfhinklik fan 'e helper.
Wat de klant ek stipet, foegje gjin items ta foar elk útfierber bestân dat jo fine. In list gearstald troch besykjen en flaters oant ien sesje wurke is net te besjen, en hy sil stil útsûnderingen foar net besibbe software opbouwe. Neam it proses dat jo fûn hawwe, en skriuw op wêr't it foar wie.
Test op 'e wedstriid, net op in download
De downloadsnelheid fan 'e starter is de minst mooglike test, om't dy krekt it proses oefenet dat al útsletten wie. Brûk it ding dat mislearre, en kontrolearje it paad ynstee fan 'e prestaasjeswerjefte fan it spul sels:
ip route get 203.0.113.55
Get-NetTCPConnection -State Established | Where-Object RemotePort -eq 27015
It earste opdracht hat it adres nedich dêr't de wedstriidserver nei oplost is, dat de ferbiningslog fan it spul of jo klant jo jaan kin. As de rûte de fysike ynterface neamt, wurket de regel. It twadde lit sjen oft der hielendal in sesje is, wat “útsletten mar de server is del” fan “net útsletten” skiedt.
Hâld de regio en it tagongsnetwurk fêst wylst jo teste. In wedstriid dy't elke kear yn in oar datacenter lânet produsearret ferskillende adressen, en jo sille úteinlik in beweegber doel efterfolgje ynstee fan in regel te falidearjen. Twa runs mei itselde adres binne mear wurdich as tsien mei ferskillende.
Kontrolearje opnij nei de folgjende fernijing
Elke paadbasearre regel hat in hâldberens mjitten yn patch-syklussen. As it spul in moanne letter de útslúting net mear respektearret, is it earste ding om te kontrolearjen oft it útfierbere bestân ferpleatst is, en it twadde oft der in nij helpproses njonken ferskynd is.
It applikaasje-útslútingsmodel dat ien klant dokumintearret is in ridlike referinsje foar hoe't dizze regels beskreaun wurde, al ferskille de details tusken produkten. Lês dyn, registrearje de identifikaasje dy't jo brûkt hawwe, en notearje de datum. Dat records is wat in mystearje feroaret yn in fiifminutenreparearje de folgjende kear as de starter in fernijing útstjoert.
As de klant gewoan net de grins útdrukke kin dy't jo nedich hawwe, is in goedkarde bredere polityk better as in heap undokumintearre útsûnderingen. Breed en begrepen ferslacht smel en ferkeard, benammen as de smelle ferzje is wat elkenien leaut dat yn plak is.