მოთამაშეების სერვერზე მოყვანის ყველაზე სწრაფი გზა სერვერების სია არ არის. ეს არის ბმული ან ბრძანება, რომელიც პირდაპირ მისამართზე მიდის: steam://connect/203.0.113.10:27015 Steam-ს ხსნის და Steam-ის თამაშის სერვერს ერთი დაწკაპუნებით უერთდება, connect 203.0.113.10:27015 იგივეს Source თამაშის კონსოლიდან აკეთებს, ხოლო თითქმის ყველა თამაშს დანარჩენისთვის "join by IP" ველი აქვს. პაროლიც შეიძლება თან გაყვეს - steam://connect/203.0.113.10:27015/secret - რაც მოსახერხებელია და ნიშნავს, რომ ყველას, ვისაც ბმული აქვს, პაროლიც აქვს. ხაფანგები მცირეა, მაგრამ რეალური: ზოგი ჩატის აპლიკაცია steam:// ბმულებს დაწკაპუნებადს არ ხდის, ზოგ თამაშს query პორტი უნდა, ზოგს თამაშის პორტი, ხოლო რამდენიმე თამაში ბმულს მთლიანად უგულებელყოფს და საკუთარ სინტაქსს მოითხოვს.
სერვერზე მოხვედრის სამი გზა#
მოთამაშეები სერვერს სამიდან ერთ-ერთი გზით აღწევენ, და თითოეული სხვადასხვანაირად ფუჭდება.
- სერვერების სია. დამოკიდებულია master server-ზე რეგისტრაციაზე, ღია query პორტზე და მოთამაშის ფილტრებზე. როცა ფუჭდება, მიზეზები რატომ არ ჩანს სერვერი სერვერების სიაში სტატიაშია.
- პირდაპირი დაკავშირება. მოთამაშე მისამართსა და პორტს წერს. მხოლოდ თამაშის პორტი სჭირდება, და ეს ყველაზე საიმედო მეთოდია, რაც არსებობს.
- ბმული.
steam://ან თამაშის სპეციფიკური URL, რომელიც თამაშს უშვებს და უკავშირდება. ეს პირდაპირი დაკავშირებაა ნაკლები აკრეფით, ზემოდან პლატფორმების რამდენიმე თავისებურებით.
როცა სია ნელია ან არასტაბილური, პირდაპირი დაკავშირება და ბმულები ის გზაა, რითაც საზოგადოებას თამაშში ინარჩუნებ. ისინი ასევე მუშაობს სერვერებისთვის, რომლებიც განზრახ არ არის სიაში.
steam://connect ბმულები#
Steam საკუთარ თავს steam:// URL-ების დამმუშავებლად არეგისტრირებს. Connect-ის ფორმა Valve-ის მიერაა დოკუმენტირებული:
steam://connect/<address>[:<port>][/<password>]მისამართი შეიძლება იყოს IP მისამართი ან hostname. რამდენიმე მაგალითი:
steam://connect/203.0.113.10:27015steam://connect/203.0.113.10:27015/herring-barrel-42steam://connect/play.example.com:27015როცა მოთამაშე მასზე დააწკაპუნებს, Steam სერვერს ეკითხება, აჩვენებს პატარა ფანჯარას სერვერის სახელით, რუკით და მოთამაშეების რაოდენობით, და სწორ თამაშს connect ბრძანებით უშვებს. Source-engine თამაშებისთვის - CS2, Team Fortress 2, Garry's Mod, Left 4 Dead 2 - ეს უბრალოდ მუშაობს, რადგან თამაშის პორტი და query პორტი ერთი და იგივე ნომერია.
თამაშებისთვის, სადაც ისინი განსხვავდება, ქცევა იცვლება. Steam-ის ფანჯარა query პორტს ესაუბრება, თამაშს კი თამაშის პორტი სჭირდება, და სხვადასხვა თამაში ამას სხვადასხვანაირად წყვეტს. თუ ბმული თამაშის პორტზე "server not responding"-ს აჩვენებს, თავად თამაში კი IP-ით უპრობლემოდ შედის, სცადე ბმულში query პორტი. სანამ ორას ადამიანს ბმულს გაუზიარებ, საკუთარი თამაშით შეამოწმე. Query პორტები და A2S გავრცელებული თამაშების პორტების წყვილებს გთავაზობს.
ბმულში მითითებული პაროლი თამაშს დაკავშირებისას გადაეცემა. სიმბოლოები, რომლებსაც URL-ებში სპეციალური მნიშვნელობა აქვთ - ჰარები, #, ?, /, % - ბმულს აფუჭებს ან მახინჯდება; გამოიყენე ასოებისგან, ციფრებისა და დეფისებისგან შემდგარი პაროლი, თუ მის ბმულში ჩასმას გეგმავ.
steam://run გაშვების არგუმენტებით
მეორე სასარგებლო ფორმა თამაშს მისი app id-ით არგუმენტებით უშვებს, რაც თამაშის საკუთარი connect პარამეტრების გადაცემის საშუალებას გაძლევს:
steam://run/<app id>//<arguments>/steam://run/730//+connect%20203.0.113.10:27015/არგუმენტები URL-ით არის კოდირებული, ასე რომ ჰარი %20 ხდება. ეს ძირითადად სასარგებლოა თამაშებისთვის, რომლებიც steam://connect-ს უგულებელყოფენ, მაგრამ ბრძანების ხაზზე connect პარამეტრს იღებენ. გახსოვდეს, რომ app id თამაშის კლიენტის app id-ია და არა გამოყოფილი სერვერის - იგივე აღრევა, რომელიც Steam-ის game server token-ებში არის განხილული.
სად მუშაობს ბმულები და სად არა#
steam:// ბმული მხოლოდ იქ მუშაობს, სადაც რაღაც მას ოპერაციულ სისტემას გადასცემს, რომელიც მას შემდეგ Steam-ს გადასცემს.
- ვებ-ბრაუზერები პირველად გეკითხებიან ("Open Steam?") და შემდეგ ხსნიან. მუშაობს.
- Steam-ის ჩატი და Steam overlay მათ თავისით ამუშავებენ. მუშაობს.
- Discord შეტყობინებებში
steam://ბმულებს დაწკაპუნებად ბმულებად არ აქცევს. ხალხს შეუძლია მათი დაკოპირება და ბრაუზერის მისამართის ზოლში ჩასმა, რაც მუშაობს, მაგრამ მოუხერხებელია. - ბევრი ფორუმი და საიტების კონსტრუქტორი უსაფრთხოების მიზნით ბმულებიდან უცნობ URL სქემებს შლის.
ტელეფონები უფრო ჩუმი ჩავარდნაა. მოთამაშე, რომელიც Discord-ს ტელეფონზე კითხულობს, ბმულს ეხება, არაფერი სასარგებლო არ ხდება, და ფიქრობს, რომ ბმული გაფუჭებულია. ბმულები მხოლოდ იმ მანქანაზე გეხმარება, რომელზეც თამაში გაეშვება. იგივე ეხება კონსოლის მოთამაშეებს: Xbox-ს ან PlayStation-ს Steam კლიენტი არ აქვს, რომ ბმული გადასცეს, ამიტომ crossplay სერვერს კონსოლის საკუთარი შესვლის მეთოდი სჭირდება - კოდი, თამაშის შიდა სია ან მეგობრის მოწვევა - ბმულის გვერდით უბრალო სიტყვებით დაწერილი.
გავრცელებული გამოსავალი ჩვეულებრივი https:// მისამართია, რომელიც Steam-ის ბმულზე გადამისამართებს. ნებისმიერი რამ, რასაც გადამისამართების გაგზავნა შეუძლია, გამოდგება. nginx-ით:
location = /join { return 302 steam://connect/203.0.113.10:27015;}ახლა https://example.com/join ყველგან დაწკაპუნებადია, ერთი წამით ბრაუზერს ხსნის და Steam-ს გადასცემს. მოგვიანებით სამიზნის შეცვლა შეგიძლია ყოველი შეტყობინების რედაქტირების გარეშე, რომელიც ბმულს შეიცავს. ნუ ჩასვამ პაროლს გადამისამართებაში, რომელსაც ინტერნეტში ნებისმიერს შეუძლია მიჰყვეს, იმავე მიზეზით, რის გამოც მას საჯაროდ არ გამოაქვეყნებდი.
პირდაპირი დაკავშირება, თამაშების მიხედვით#
ყველა თამაშს მისამართის აკრეფის საკუთარი გზა აქვს. ეს გავრცელებულებია.
| თამაში | როგორ დაუკავშირდე პირდაპირ | მაგალითი |
|---|---|---|
| CS2, TF2, Garry's Mod, L4D2 | დეველოპერის კონსოლი | connect 203.0.113.10:27015 |
| Minecraft Java | Multiplayer, Direct Connection | play.example.com ან 203.0.113.10:25570 |
| Valheim | Join Game, Add server | 203.0.113.10:2456 (თამაშის პორტი) |
| Rust | F1 კონსოლი | client.connect 203.0.113.10:28015 |
| FiveM | F8 კონსოლი, ან ბმული | connect 203.0.113.10:30120 |
| Arma 3 | Launcher-ის პარამეტრები | -connect=203.0.113.10 -port=2302 -password=secret |
| Terraria | Multiplayer, Join via IP | მისამართი, შემდეგ პორტი 7777 |
| 7 Days to Die | Connect to IP | მისამართი და პორტი 26900 |
ამ ცხრილიდან რამდენიმე დეტალის განმარტება ღირს.
Source თამაშები და პაროლები. პაროლი დაკავშირებამდე დააყენე: password "herring-barrel-42", შემდეგ connect 203.0.113.10:27015. თუ ჯერ დაუკავშირდები, სერვერი უარს გეტყვის და თავიდან მოგიწევს. დეველოპერის კონსოლი თამაშის პარამეტრებში უნდა იყოს ჩართული.
Minecraft-ში Steam საერთოდ არ მონაწილეობს. კლიენტი ჯერ სახელის SRV ჩანაწერს ცდის, შემდეგ სახელს ან მისამართს პორტ 25565-ზე, თუ პორტს არ დაამატებ. 1.20-იდან launcher Quick Play-საც უჭერს მხარს, რომელსაც შეუძლია თამაშის გაშვება და სერვერზე პირდაპირ შესვლა launcher-ის პროფილიდან --quickPlayMultiplayer "play.example.com"-ით. SRV ჩანაწერები Minecraft-ისთვის ხსნის, როგორ დამალო არანაგულისხმევი პორტი სახელის უკან.
Valheim-ში IP-ით თამაშის პორტზე შედიხარ, ნაგულისხმევად 2456-ზე, და პაროლს ფანჯარაში გეკითხება. Crossplay მოთამაშეებს Xbox-ზე ან Microsoft Store-ზე IP-ით შესვლა საერთოდ არ შეუძლიათ; ისინი სერვერის log-იდან ექვსნიშნა შესვლის კოდს იყენებენ.
FiveM-ს საკუთარი ბმულები აქვს. fivem://connect/203.0.113.10:30120 კლიენტს ხსნის და უერთდება, ხოლო Cfx.re-ის სიაში მყოფი სერვერები მოკლე cfx.re/join/ მისამართს იღებენ, რომელიც ბრაუზერში მუშაობს და თავად ბმულში ნედლი IP-ის გამოჩენას თავიდან გაცილებს.
Rust-ში F1 კონსოლით client.connect-ით შედიხარ, და სწორედ ამას დებენ Rust-ის სერვერების სიების უმეტესობა თავიანთი "connect" ღილაკების უკან. Vanilla Rust-ს შესვლის პაროლი არ აქვს; კერძო სერვერები plugin-ებს ან სიაში არყოფნას ეყრდნობიან.
Arma 3 უფრო რთულია, რადგან კლიენტს შესვლამდე ჩვეულებრივ სერვერის მოდები უნდა ჰქონდეს ჩატვირთული. ცხრილში მოცემული ბრძანების ხაზის პარამეტრები მუშაობს, მაგრამ მოთამაშეების უმეტესობისთვის უკეთესია Arma 3 Launcher-ის პირდაპირი დაკავშირების ოფცია მის Servers ჩანართზე, რომელიც სერვერის მოდების სიას კითხულობს და შესაბამისი მოდების ჩატვირთვას გთავაზობს. მოდიფიცირებული milsim სერვერისთვის მისამართთან ერთად მოდების preset ფაილი გააზიარე; Arma 3-ის სერვერი და მოდები განიხილავს, როგორ შეინარჩუნო ეს ორი სინქრონში.
შესვლა მეგობრის გავლით
Steam-ის მეგობრების სიას მესამე გზა აქვს, რომელსაც მისამართი საერთოდ არ სჭირდება. როცა მეგობარი სერვერზეა, მასზე მარჯვენა დაწკაპუნებამ შეიძლება "Join Game" აჩვენოს. ეს მუშაობს, როცა თამაში Steam-ს აცნობებს, სად არის მოთამაშე - Source-engine თამაშები ამას აკეთებენ, ისევე როგორც ბევრი სხვა - და ის იმავე connect გზას იყენებს, რასაც ბმული. ეს ხშირად ახალი მოთამაშის მოსვლის ყველაზე მარტივი გზაა: მისი მეგობარი უკვე სერვერზეა, ის აწკაპუნებს, და შიგნითაა. ის პაროლებს ითვალისწინებს, ასე რომ პაროლით დაცული სერვერი მაინც მოითხოვს მას. ეს ასევე მიზეზია, რის გამოც "კერძო" სერვერი პაროლის გარეშე არც ისე კერძოა: ყველას, ვინც მოთამაშის მეგობრების სიაშია, შეუძლია მას გაჰყვეს.
პაროლები: დაყენება და გადაცემა#
პირდაპირი დაკავშირების ბმული საქმის მხოლოდ ნახევარია, თუ სერვერს შესვლის პაროლი აქვს. ყველა თამაში მას სერვერის მხარეს სხვადასხვა ადგილას ინახავს:
| თამაში | სერვერის მხარის პარამეტრი |
|---|---|
| Source თამაშები | sv_password "secret" server.cfg-ში |
| Valheim | -password გაშვების არგუმენტი (მინიმუმ 5 სიმბოლო) |
| Arma 3 | password = "secret"; server.cfg-ში |
| Terraria | password=secret serverconfig.txt-ში |
| Factorio | game_password server-settings.json-ში |
| 7 Days to Die | ServerPassword serverconfig.xml-ში |
| Project Zomboid | Password= servertest.ini-ში |
Minecraft-ს შესვლის პაროლი არ აქვს; წვდომას ამის ნაცვლად whitelist აკონტროლებს, რაც ისედაც უკეთესი მოდელია, რადგან თითო მოთამაშეზეა. Minecraft-ის whitelist და უფლებები ამას განიხილავს.
საერთო პაროლი სუსტი კონტროლია. ყველას, ვისაც ოდესმე ჰქონდა, ჯერ კიდევ აქვს, ის screenshot-ებითა და გადაგზავნილი შეტყობინებებით მოგზაურობს, და ერთი ადამიანისთვის მისი გაუქმება შეუძლებელია. მეგობრების პატარა ჯგუფის მიღმა ყველაფრისთვის ამჯობინე allow list ან whitelist, მოთამაშეების ID-ებზე მიბმული, და პაროლს შემთხვევითი სკანერების ფილტრად უყურე და არა უსაფრთხოებად. როცა ვინმე ცუდ ურთიერთობაზე მიდის, შეცვალე ის და ახალი ბმული მხოლოდ მათ გაუგზავნე, ვისაც უნდა ჰქონდეს.
სახელები ციფრების ნაცვლად#
IP მისამართი ბმულში იმ დღეს ფუჭდება, როცა სერვერი გადაადგილდება. სახელი ამას უძლებს. მიმართე A ჩანაწერი, მაგალითად play.example.com, სერვერის მისამართზე და ბმულებსა და შეტყობინებებში სახელი გამოიყენე; steam://connect hostname-ებს იღებს, ისევე როგორც თითქმის ყველა თამაშის პირდაპირი დაკავშირების ველი. დომენის მიბმა თამაშის სერვერზე აჩვენებს ჩანაწერს და როგორ შეამოწმო ის.
პორტი ის ნაწილია, რომელსაც სახელები არ ატარებენ. მხოლოდ რამდენიმე კლიენტი კითხულობს SRV ჩანაწერებს - Minecraft Java მნიშვნელოვანია - ასე რომ თამაშების უმეტესობისთვის ბმულს მაინც სჭირდება :27015 ან როგორიც არ უნდა იყოს პორტი. ნომერი ბმულში დატოვე; ნუ ელი, რომ მოთამაშეებს ემახსოვრებათ.
RE:NODE-ზე სერვერის მისამართი და გამოყოფილი პორტები პანელში სერვერის გვერდზეა. მისამართი სერვერის მთელი სიცოცხლის განმავლობაში ფიქსირებული რჩება, ხოლო გეგმის შეცვლა სერვერს ხელახლა არ აწყობს და მის მისამართს არ ცვლის, ასე რომ ბმული, რომელსაც დღეს აზიარებ, განახლების შემდეგაც იმუშავებს.
შესვლის გვერდი, რომელიც აქტუალური რჩება#
საზოგადოებისთვის, რომელსაც ერთზე მეტი სერვერი აქვს, ან მოთამაშეებით რამდენიმე პლატფორმაზე, ერთი ადგილი, რომელიც ყველა მისამართს ინახავს, მიმაგრებული შეტყობინებების გაფანტულობას სჯობს. ის შეიძლება ძალიან მარტივი იყოს: ერთი გვერდი, ან ერთი Discord-ის არხი, თითო ბლოკით ყოველ სერვერზე, რომელიც შეიცავს სახელს, მისამართსა და პორტს, connect ბმულს შენი გადამისამართების გავლით, პაროლის პოლიტიკას ("ჰკითხე მოდერატორს" და არა თავად პაროლი), და რომელი მეთოდი გამოიყენო რომელ პლატფორმაზე.
ორი გაუმჯობესება მას ბევრად უფრო სასარგებლოს ხდის. პირველი, აჩვენე, ჩართულია თუ არა თითოეული სერვერი და რამდენად სავსეა. ეს ტაიმერზე მომუშავე query-ია - იგივე A2S მოთხოვნა, რომელსაც სერვერების სია აგზავნის - და ის კითხვას "სერვერი გათიშულია?" ჩატიდან ისეთ რამედ აქცევს, რისი დანახვაც ხალხს შეუძლია. Discord webhook-ები სერვერის სტატუსისთვის გაჩვენებს, როგორ გამოაქვეყნო ეს მოკლე სკრიპტიდან. მეორე, მისამართები შენ მიერ კონტროლირებადი სახელებისა და გადამისამართებების უკან დატოვე, ასე რომ სერვერის გადატანა შენს მხარეს ერთი ცვლილება იქნება და არა კვირა, როცა ხალხი ძველ მისამართს იყენებს.
სერვერების სიის ვებსაიტები გარედან ისევე მუშაობს: ისინი შენს მისამართს ინახავენ, ტაიმერით ეკითხებიან და მოთამაშეებს connect ღილაკს აძლევენ, რომელიც ჩვეულებრივ steam://connect ბმულია ან თამაშის საკუთარი ეკვივალენტი. თუ სია შენს სერვერს offline-ად აჩვენებს, როცა მასზე მოთამაშეები არიან, სია ეკითხება პორტს, რომელიც არ პასუხობს - ჩვეულებრივ თამაშის პორტს query პორტის ნაცვლად.
ბმულის პრობლემების მოგვარება, რომელიც არაფერს აკეთებს#
| სიმპტომი | სავარაუდო მიზეზი |
|---|---|
| დაწკაპუნება საერთოდ არაფერს აკეთებს | აპლიკაცია steam:// ბმულებს არ გადასცემს; ამის ნაცვლად ბრაუზერში ჩასვი |
| ბრაუზერი ამბობს, რომ ბმულის გამხსნელი აპლიკაცია არ არის | Steam დაყენებული არ არის, ან პროტოკოლის დამმუშავებელი დაიკარგა - Steam-ის გადატვირთვა ჩვეულებრივ აღადგენს |
| Steam-ის ფანჯარა ამბობს, რომ სერვერი არ პასუხობს | ბმული თამაშის პორტს იყენებს, სადაც Steam-ს query პორტი სჭირდება, ან query პორტი დახურულია |
| თამაში იხსნება, მაგრამ მთავარ მენიუში რჩება | თამაში steam://connect-ს არ უჭერს მხარს; გამოიყენე მისი საკუთარი connect სინტაქსი |
| შედის, შემდეგ "bad password" | პაროლის სპეციალური სიმბოლოები URL-ში დამახინჯდა |
| ბმული გასულ თვეს მუშაობდა, ახლა არა | სერვერი გადავიდა ან პორტი შეიცვალა; ბმულში სახელი ამას გადაურჩებოდა |
თუ ბმული ფუჭდება, მაგრამ თამაშში მისამართის აკრეფა მუშაობს, სერვერი რიგზეა და პრობლემა მხოლოდ ბმულშია. თუ ორივე ფუჭდება, ეს კავშირის პრობლემაა, და ნაბიჯ-ნაბიჯ ვერსია არის რატომ ვერ უერთდებიან მოთამაშეები შენს სერვერს.
FAQ#
შეიძლება steam://connect ბმული პაროლს შეიცავდეს?
დიახ - steam://connect/address:port/password. ყველას, ვინც ბმულს ხედავს, პაროლი აქვს, ამიტომ მხოლოდ კერძო არხებში გააზიარე, და თავად პაროლში მოერიდე სიმბოლოებს, როგორიცაა #, ? და /, რადგან ისინი URL-ს აფუჭებს.
რატომ ვერ ვაწკაპუნებ steam:// ბმულებზე Discord-ში?
Discord შეტყობინებებში steam:// ბმულებს დაწკაპუნებადს არ ხდის. ჩასვი ბმული ბრაუზერში, ან მოაწყე ჩვეულებრივი https:// მისამართი, რომელიც Steam-ის ბმულზე გადამისამართებს, და ის გააზიარე.
Steam-ის ბმულში თამაშის პორტი გამოვიყენო თუ query პორტი?
Source თამაშებისთვის ისინი ერთი და იგივეა. სხვა თამაშებისთვის Steam-ის შესვლის ფანჯარა query პორტს ესაუბრება, ასე რომ, თუ ბმული თამაშის პორტით ამბობს, რომ სერვერი არ პასუხობს, სცადე query პორტი. გაზიარებამდე შეამოწმე.
შემიძლია steam://connect-ში დომენის სახელი გამოვიყენო?
დიახ. Steam დაკავშირებამდე hostname-ს მისამართად გარდაქმნის. ის SRV ჩანაწერებს არ კითხულობს, ამიტომ ბმულში პორტი მიუთითე, თუ თამაში ნაგულისხმევს არ იყენებს.
სჭირდებათ Minecraft-ის მოთამაშეებს Steam-ის ბმული?
არა. Minecraft Java Steam-ს საერთოდ არ იყენებს. მოთამაშეები სერვერს Multiplayer-ში ამატებენ მისამართით და არასავალდებულო პორტით, ან launcher-ის პროფილს Quick Play-ით ავტომატურად შესვლა შეუძლია.




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