RE:NODE

ქსელი11 წუთის საკითხავი

სერვერი არ ჩანს Steam-ის სიაში?

რატომ არ ჩანს მომუშავე თამაშის სერვერი Steam-ის ან თამაშის სიაში: master server-ზე რეგისტრაცია, query პორტები, token-ები, ფილტრები და თამაშების საკუთარი პარამეტრები.

0 მკითხველი

Steam-ის თამაშის სერვერი სიაში მხოლოდ მაშინ ჩნდება, როცა სამი ცალკეული რამ მუშაობს: სერვერი Steam-ის master server-ზე დარეგისტრირდა, მოთამაშის კლიენტი სერვერის query პორტს აღწევს და პასუხს იღებს, და მოთამაშის საკუთარი ფილტრები შედეგს ატარებს. სერვერს, რომელზეც ხალხი IP-ით შედის, მაგრამ სიაში ვერ პოულობს, ამ სამიდან ერთ-ერთი ჩაუვარდა, და მათ სხვადასხვა გამოსავალი აქვთ. ამ ყველაფრამდე ერთი რამ შეამოწმე: იყენებს თუ არა თამაში Steam-ის სიას საერთოდ, რადგან პოპულარული თამაშების საკმაო ნაწილი სიას Epic-ის, PlayFab-ის, Cfx.re-ის ან საკუთარი სერვისის მეშვეობით აწყობს, და Steam-ის მხარის გამოსწორებები მათთვის არაფერს აკეთებს.

ეს სტატია სიაში მოხვედრის გზას თანმიმდევრობით არჩევს. თუ მხოლოდ პორტების ნომრები გჭირდება, ცხრილი თამაშის სერვერის პორტების ახსნაშია; თუ მოთამაშეები საერთოდ ვერ შედიან, IP-ითაც კი, ამის ნაცვლად დაიწყე რატომ ვერ უერთდებიან მოთამაშეები შენს სერვერს-ით.

როგორ იწყობა Steam-ის სერვერების სია#

სია სერვერების ცოცხალი ხედი არ არის. ის ორ ნაბიჯად იწყობა, ორი სხვადასხვა მხარის მიერ.

  1. რეგისტრაცია. როცა Steam-ის game server API-ის გამომყენებელი სერვერი ეშვება, ის Steam-ში შედის - ან ანონიმურად, ან game server login token-ით - და heartbeat-ების გაგზავნას იწყებს. Steam-ის master server სერვერის საჯარო მისამართს და მის query პორტს თამაშის app id-ის ქვეშ იწერს, რამდენიმე ნიშანთან ერთად: პაროლი, anti-cheat, რეგიონი, tag-ები.
  2. Query. როცა მოთამაშე სიას ხსნის, კლიენტი master server-ს სთხოვს მისამართების სიას, რომლებიც თამაშსა და მოთამაშის ფილტრებს ემთხვევა. შემდეგ კლიენტი თავად უგზავნის query პაკეტს სიის ყოველ მისამართს და პასუხებს ელოდება. სახელი, რუკა, მოთამაშეების რაოდენობა და ping, რასაც ხედავ, ამ პირდაპირი query-დან მოდის და არა Steam-იდან.
login და heartbeatსია app id-ისთვისმისამართებიA2S query თითო მისამართზესახელი, რუკა, მოთამაშეებითამაშის სერვერიquery პორტი ღიააSteam master serverმხოლოდ მისამართებიმოთამაშის კლიენტისია გახსნილია
საიდან მოდის სერვერების სიის ჩანაწერი

ეს დაყოფა სიასთან დაკავშირებულ თითქმის ყველა საჩივარს ხსნის. სერვერი, რომელიც არასოდეს დარეგისტრირებულა, სიიდან მთლიანად აკლია. სერვერი, რომელიც დარეგისტრირდა, მაგრამ query-ებს არ პასუხობს, ან აკლია, ან ping-ისა და სახელის გარეშე ჩანს, თამაშის მიხედვით. ხოლო სერვერი, რომელიც დარეგისტრირდა და პასუხობს, მაინც უხილავია იმ მოთამაშისთვის, რომლის ping-ის ან "not full" ფილტრიც მას გამორიცხავს. თავად query A2S პროტოკოლია, აღწერილი query პორტები და A2S სტატიაში.

რეგისტრაცია: სერვერს Steam-ისთვის არაფერი უთქვამს#

თუ სერვერი დარეგისტრირებული არ არის, პორტებზე რამდენი მუშაობაც არ უნდა იყოს, ის არ გამოჩნდება. მიზეზები, დაახლოებით სიხშირის მიხედვით:

თამაშის საკუთარი "public" გადამრთველი გამორთულია

თამაშების უმეტესობას აქვს პარამეტრი, რომელიც წყვეტს, საერთოდ დარეგისტრირდეს თუ არა. ის ხშირად ნაგულისხმევად გამორთულია, ან შაბლონის მიერ "friends only"-ზეა დაყენებული.

თამაშიპარამეტრისიაში ჩანს, როცა
Source თამაშები (CS2, TF2, Garry's Mod)sv_lan server.cfg-შიsv_lan 0
Valheim-public გაშვების არგუმენტი-public 1
Palworld-publiclobby გაშვების არგუმენტიმითითებულია
Project ZomboidPublic servertest.ini-შიPublic=true
7 Days to DieServerVisibility serverconfig.xml-ში2 (საჯარო); 1 მხოლოდ მეგობრებისთვისაა, 0 სიის გარეშე
Factoriovisibility server-settings.json-ში"public": true პლუს factorio.com-ის მომხმარებლის სახელი და token

Source სერვერი sv_lan 1-ით LAN სერვერია: ის master server-ს არ ესაუბრება და საკუთარი ქვექსელის გარედან მოთამაშეებს უარს ეუბნება. LAN-წვეულებისთვის სწორი პარამეტრია და ყველგან სხვაგან არასწორი, და დაკოპირებულ კონფიგებში იმაზე ხშირად გვხვდება, ვიდრე უნდა.

Login token არ არის, ან ცუდია

Steam-ის რამდენიმე თამაშს საჯაროდ დასარეგისტრირებლად game server login token (GSLT) სჭირდება. Counter-Strike 2 მის გარეშე საჯარო სიაში არ გამოჩნდება, ხოლო token, რომელიც დაიბანა, წაიშალა ან სხვა app id-ისთვის შეიქმნა, ისე იქცევა, თითქოს token არ არსებობს. სერვერი ჩვეულებრივ მაინც ეშვება, და სწორედ ამიტომ ჭამს ეს მიზეზი ამდენ დროს. Source-engine სერვერზე გაშვების output-ი გეუბნება, რა მოხდა:

code
Connection to Steam servers successful.   Public IP is 203.0.113.10.Assigned persistent gameserver Steam ID [G:1:1234567].VAC secure mode is activated.

"Persistent" ნიშნავს, რომ token მიიღეს. "Anonymous" ნიშნავს, რომ სერვერი მის გარეშე შევიდა, და თამაშის მიხედვით სიაში შეზღუდვებით მოხვდება ან საერთოდ არა. ხაზი, რომელიც ამბობს, რომ login ჩავარდა, ნიშნავს, რომ token უარყვეს. Steam-ის game server token-ები ხსნის, როგორ შექმნა, რომელი app id გამოიყენო და რის გამო იბანება token.

სერვერი Steam-ს ვერ აღწევს

სერვერმა Steam-თან გამავალი კავშირები უნდა დაამყაროს. ჰოსტინგზე მყოფ სერვერზე ეს თითქმის არასოდესაა პრობლემა; სახლის სერვერზე, რომელიც აგრესიული გამავალი firewall-ის უკანაა, ან VDS-ზე, სადაც ვიღაცამ default-deny egress პოლიტიკა დაწერა, შეიძლება იყოს. თუ გაშვების log-ში არასოდეს წერია, რომ Steam-ს დაუკავშირდა, შემომავალ წესებამდე გამავალი წესები ნახე. და ზოგჯერ ეს Steam-ია: Steam-ის გათიშვის ან ტექნიკური სამუშაოების დროს რეგისტრაციები ყველგან ფუჭდება. სწრაფი შემოწმება, ჩანს თუ არა სიაში იმავე თამაშის სხვა სერვერები, ამას წყვეტს.

Query: Steam-მა იცის მის შესახებ, კლიენტი ვერ ეკითხება#

დარეგისტრირებული სერვერი, რომლის query პორტიც მიუწვდომელია, ყველაზე დამაბნეველ სიმპტომს იძლევა: შეიძლება მოკლედ გამოჩნდეს, ping-ის გარეშე გამოჩნდეს, ან საერთოდ არ გამოჩნდეს, იმის მიხედვით, როგორ ექცევა თამაშის სია სერვერს, რომელიც არ პასუხობს. თამაშის შიდა სიების უმეტესობა აგდებს სერვერებს, რომლებიც მოკლე timeout-ში არ პასუხობენ, ასე რომ მოთამაშის მხრიდან ეს ზუსტად "არ არის დარეგისტრირებული"-ს ჰგავს.

მიზეზები ერთი და იმავე რამის ვარიაციებია - query პაკეტი პასუხს ვერ იღებს:

  • Query პორტი არ არის გამოყოფილი ან გადამისამართებული. თამაშებს, სადაც query პორტი თამაშის პორტისგან განსხვავდება - Valheim (2457), Palworld (27015), Unturned (27015 თამაშის პორტ 27016-ის გვერდით), Arma 3, DayZ, Unreal-ის თამაშების უმეტესობა - ეს მეორე პორტი ღია სჭირდებათ. ხალხი ხსნის პორტს, რომელსაც დაკავშირების ველში წერს, და ავიწყდება ის, რომელსაც სია იყენებს.
  • ღიაა არასწორ პროტოკოლზე. Steam-ის query-ები UDP-ია.
  • თამაში სხვა პორტზე პასუხობს, ვიდრე ის, რომელზეც დარეგისტრირდა. თუ query პორტი ერთ ადგილას შეცვალე, თამაშის საკუთარ პარამეტრში კი არა, master server-ს ისეთი პორტი აქვს შენახული, რომელსაც არაფერი უსმენს.
  • სერვერი query-ებს ზღუდავს. Source სერვერები ზღუდავენ, რამდენ query-ს უპასუხონ თითო მისამართზე და ჯამში (sv_max_queries_sec, sv_max_queries_sec_global). ნაგულისხმევი მნიშვნელობები გონივრულია; კონფიგი, რომელიც შეტევის დროს დაიწია და აღარასოდეს აღდგა, სერვერს ზოგიერთი სიისთვის უპასუხოდ აჩვენებს.

ტესტი, რომელიც ამას წყვეტს, არის სერვერისთვის query-ის თავად გაგზავნა სხვა ქსელიდან, რაც ერთ ხაზს მოითხოვს query პორტები და A2S სტატიის ხელსაწყოებით. თუ პასუხს სწორი სახელითა და მოთამაშეების რაოდენობით მიიღებ, სერვერი და ქსელი რიგზეა, ხოლო პრობლემა კლიენტის მხარესაა.

მოთამაშის ფილტრები და სიის შეზღუდვები#

სერვერი დარეგისტრირებულია და query-ებს პასუხობს, მოთამაშე კი მაინც ამბობს, რომ ის არ ჩანს. ახლა პრობლემა სიაა.

Ping-ის ფილტრები. თამაშის შიდა სიების უმეტესობა ნაგულისხმევად მალავს სერვერებს გარკვეულ დაყოვნებაზე მაღლა, ხოლო Steam კლიენტის საკუთარ სიასაც (View, შემდეგ Game Servers) დაყოვნების ფილტრი აქვს. ჩრდილოეთ ამერიკაში მყოფი მოთამაშე, რომელიც გერმანიაში მყოფ სერვერს "100 ms-ზე ნაკლები" ფილტრით ეძებს, მას ვერასოდეს დაინახავს. ყველაფრამდე ჰკითხე, რა ფილტრებია დაყენებული.

"Not full", "has players" და "no password". ახალ სერვერს ნული მოთამაშით "has players" მალავს. სერვერს შესვლის პაროლით "not password protected" მალავს. ზოგ თამაშში ორივე ნაგულისხმევი ფილტრია.

რეგიონი. Source-engine სერვერები რეგიონს sv_region-ით აცხადებენ, და master server-ს მისით ფილტრაცია შეუძლია. sv_region 3 ევროპაა, 255 კი მთელი მსოფლიო; არასწორი რეგიონის მქონე სერვერი შეიძლება რეგიონით გაფილტრული სიებიდან ამოვარდეს. ყველა თამაში ამას არ ითვალისწინებს, ახალი თამაშები მეტწილად უგულებელყოფენ, მაგრამ სწორად დაყენება არაფერი ჯდება.

სია გრძელია და ძებნა სუსტი. Steam-ის master server ერთ მოთხოვნაზე შეზღუდული რაოდენობის შედეგს აბრუნებს, ხოლო თამაშის შიდა სიები ხშირად ping-ით ალაგებს და რამდენიმე ასეული ჩანაწერის შემდეგ ხატვას წყვეტს. პატარა სერვერი ზოგადი სახელით, როგორიცაა "EU Survival", ამ სიაში იკარგება, მაშინაც კი, როცა ტექნიკურად მასშია. მოძებნე შენი სერვერის სახელიდან რომელიმე უჩვეულო სიტყვა. Source თამაშებისთვის sv_tags საძიებო tag-ებს ამატებს - მოკლე და პატიოსანი დატოვე.

უბრალოდ ნელია. ზოგ სიას ახალი სერვერის აღმოსაჩენად წუთები სჭირდება. Valheim-ის საზოგადოებრივი სია ცნობილი შემთხვევაა; ათი წუთი უჩვეულო არ არის. სერვერი, რომელიც crash loop-ის გამო ყოველ რამდენიმე წუთში გადაიტვირთება, შეიძლება იმდენ ხანს ვერასოდეს დარჩეს დარეგისტრირებული, რომ დაინახონ.

თამაშები, რომლებიც Steam-ის სიას არ იყენებენ#

"Steam-ის სიაში არ ჩანს" კითხვების დიდი ნაწილი ისეთ თამაშებს ეხება, რომლებიც მას საერთოდ არ იყენებენ. მათთვის Steam-ის მხარის შემოწმებები დაკარგული დროა.

თამაშისიის სერვისირა აკონტროლებს
Minecraft (Java)არცერთი - კლიენტი შენახულ მისამართებს ping-ავსდასარეგისტრირებელი არაფერია; გაუზიარე მისამართი
FiveMCfx.re-ის სერვერების სიაsv_licenseKey; ცარიელი sv_master1 სერვერს მალავს
BeamMPBeamMP backendAuthKey და Private ServerConfig.toml-ში
Don't Starve TogetherKlei lobbyკლასტერის token cluster_token.txt-ში
Valheim crossplay-ითPlayFab-crossplay; მოთამაშეები კოდითაც შედიან
ARK: Survival AscendedEpic Online Servicesთამაშში unofficial სერვერების ქვეშ ჩანს
Satisfactoryსაჯარო სია არ აქვსმოთამაშეები სერვერს მისამართით ამატებენ Server Manager-ში
Terrariaსაჯარო სია არ აქვსგაუზიარე მისამართი

მათთვის სქემა იგივეა, რაც Steam-ისთვის - რეგისტრაცია, შემდეგ query-ებზე პასუხი - მაგრამ მონაცემები და endpoint-ები განსხვავდება. FiveM სერვერები არასწორი ლიცენზიის გასაღებით სიაში არ ხვდებიან; BeamMP სერვერები auth key-ის გარეშე კერძოდ მუშაობენ; DST სერვერი ვალიდური კლასტერის token-ის გარეშე lobby-ში არ გამოჩნდება. თითოეული ეს გასაღები ისეთი რამაა, რასაც მხოლოდ შენ შეგიძლია მიაწოდო, რადგან ის ამ სერვისში შენს ანგარიშზეა მიბმული. RE:NODE-ზე თამაშები, რომლებსაც ასეთი მონაცემი სჭირდება - CS2 და Unturned Steam token-ისთვის, FiveM Cfx.re-ის გასაღებისთვის, Don't Starve Together Klei token-ისთვის, BeamMP მისი auth key-ისთვის - მაშინვე იქმნება, ხოლო ინსტალაცია Setup ჩანართზე ელოდება, სანამ მას ჩასვამ, ნაცვლად იმისა, რომ გაუშვას სერვერი, რომელიც სიაში ვერასოდეს მოხვდება.

დიაგნოსტიკა თანმიმდევრობით#

გაუშვი ეს ზემოდან და გაჩერდი პირველზე, რომელიც ჩავარდება.

  1. შედი პირდაპირი მისამართით. თუ ეს ჩავარდა, პრობლემა სია არ არის. გადადი კავშირის პრობლემების მოგვარებაზე.
  2. წაიკითხე გაშვების log-ში რეგისტრაციის ხაზი. Source თამაშებისთვის - ზემოთ მოყვანილი Steam-თან კავშირისა და Steam ID-ის ხაზები. სხვა თამაშებისთვის ეძებე სერვისთან დაკავშირება: Cfx.re heartbeat, BeamMP-ის ავთენტიფიკაცია, PlayFab-ის სესია ან შესვლის კოდი, Klei token-ის მიღება.
  3. შეამოწმე public გადამრთველი. sv_lan, -public, Public=, ServerVisibility - როგორც არ უნდა ერქვას თამაშში.
  4. გაუგზავნე query query პორტს გარედან. ერთი ბრძანება, განხილული query პორტები და A2S სტატიაში. პასუხის არქონა პორტის ან პროტოკოლის პრობლემას ნიშნავს.
  5. შეამოწმე კლიენტის ფილტრები. დაყოვნება, not full, has players, პაროლი, რეგიონი.
  6. მოძებნე სახელში რაიმე უჩვეულო და დაელოდე. ათი წუთი, არა ათი წამი.

როცა Steam კლიენტში favourite-ს ამატებ, გამოიყენე query პორტი, სადაც ის თამაშის პორტისგან განსხვავდება. Steam-ის სია A2S-ით ესაუბრება ნებისმიერ პორტს, რომელსაც მისცემ, და თამაშის პორტს პასუხიდან იგებს.

როცა არ გინდა სიაში ყოფნა#

სიაში ყოფნა ის გზაა, რითაც უცნობები გპოულობენ, და ეს არასწორ უცნობებსაც მოიცავს: სკანერებს, რომლებიც ღია RCON-ს ეძებენ, ხალხს, რომელიც განუახლებელ სერვერებს ეძებს, და ხანდახან ადამიანს, რომელსაც რაიმეს flood-ით დატვირთვა უნდა. მეგობრებს შორის კერძო სერვერისთვის სია არაფერს მატებს.

გამორთე public გადამრთველი, სადაც თამაშს აქვს (-public 0 Valheim-ისთვის, ServerVisibility 2-ზე ნაკლები 7 Days to Die-სთვის), დააყენე შესვლის პაროლი და მისამართი ან Steam connect ბმული გაუზიარე მათ, ვისაც უნდა ჰქონდეს. sv_lan 1 ამისთვის ინტერნეტ-სერვერზე სწორი ხელსაწყო არ არის: ის ლოკალური ქსელის გარედან ყველა მოთამაშეს უარს ეუბნება და არა მხოლოდ უცნობებს. სიაში არმყოფი სერვერი მაინც მისაწვდომია ყველასთვის, ვინც მისამართი იცის ან დაასკანერებს, ასე რომ ეს ხმაურის შემცირებაა და არა უსაფრთხოების საზღვარი - რას ვაკეთებთ შეტევებთან ხსნის, რატომ არის query პორტი ყველაზე ხმაურიანი რამ, რასაც ნებისმიერ შემთხვევაში ხსნი.

RE:NODE-ზე query პორტი გეგმის allocation-ების ნაწილია, სერვერის გვერდზე თამაშის პორტთან ერთად ჩანს და Network ჩანართზე ემატება, როცა თამაშს კიდევ ერთი სჭირდება. Valheim-ის სერვერები ორივე UDP პორტით გამოყოფილი იწყება; სხვა თამაშებისთვის არჩევამდე გეგმის გვერდზე პორტების რაოდენობა ნახე.

FAQ#

რატომ შეუძლიათ ჩემს მეგობრებს IP-ით შესვლა, სერვერს კი ვერავინ პოულობს?

IP-ით შესვლა თამაშის პორტს იყენებს; სია კი რეგისტრაციას პლუს query პორტს. თუ პირდაპირი შესვლა მუშაობს, სერვერი და მისი თამაშის პორტი რიგზეა, ხოლო ბრალი ერთ-ერთშია: public გადამრთველი გამორთულია, login token აკლია ან უარყოფილია, query პორტი დახურულია, ან მოთამაშის ფილტრები მას მალავს.

რამდენ ხანში ჩნდება ახალი სერვერი სიაში?

Steam-ის თამაშების უმეტესობისთვის - სერვერის გაშვების დასრულებიდან ერთ-ორ წუთში. ზოგი სია ბევრად ნელია - Valheim-ის საზოგადოებრივი სიისთვის ათი წუთი ჩვეულებრივია - ხოლო სერვერი, რომელიც გამუდმებით გადაიტვირთება, შეიძლება აღმოჩენამდე ამოვარდეს.

პაროლი სერვერს სიაში მოხვედრას უშლის?

არა. პაროლით დაცული სერვერები სიაში ბოქლომის ხატულით ჩანს, მაგრამ ბევრი სია მათ ნაგულისხმევად მალავს "not password protected" ფილტრით. მოთამაშეებმა ის უნდა მოხსნან, ან პირდაპირი დაკავშირება ან favourite გამოიყენონ.

შემიძლია ჩემი სერვერი სიაში უფრო მაღლა ავწიო?

პატიოსანი გზით არა. სიების უმეტესობა ping-ით ალაგებს, ასე რომ სერვერი უფრო მაღლა ჩანს მოთამაშეებისთვის, რომლებიც მასთან ახლოს არიან. გამორჩეული სახელი, ზუსტი tag-ები და რეალური მოთამაშეების რაოდენობა პოვნისთვის ყველაფერ დანარჩენზე მეტს აკეთებს.

რატომ აჩვენებს ჩემი სერვერი 0 მოთამაშეს, როცა მასზე ხალხია?

მოთამაშეების რაოდენობა query-ის პასუხიდან მოდის. თუ query პორტი პასუხობს, მაგრამ თამაში მოთამაშეებს ნელა აცხადებს, ან რომელიმე მოდი მოთამაშეების დათვლის წესს ცვლის, სია შეიძლება ჩამორჩეს. თუ ყოველთვის ნულს აჩვენებს, შეამოწმე, რომ query სწორედ ამ სერვერს აღწევს და არა სხვას იმავე მისამართზე.


კომენტარები

სრულიად ანონიმურად: ანგარიშის, ელფოსტის და cookie-ის გარეშე. ინახება მხოლოდ სახელი, ტექსტი და დრო - სხვა არაფერი. ბმულების რაოდენობა ლიმიტირებულია.

0/2000