RE:NODE

SteamCMD-ის ლოგინი და Steam Guard: anonymous თუ ანგარიში

ავტორი RE:NODE-ის გუნდი
15 წუთის საკითხავი


უმეტესი dedicated სერვერი ინსტალდება +login anonymous-ით და შენგან არაფერს ითხოვს. რამდენიმე მათგანი - DayZ და Arma 3 პირველი, რასაც შეხვდები - anonymous სესიას უარყოფს. მაშინ SteamCMD-ს სჭირდება Steam-ის რეალური მომხმარებლის სახელი და პაროლი, ერთხელ პასუხობს Steam Guard-ის გამოწვევას და ინახავს ლოგინის token-ს, რომ შემდგომი განახლებები ავტომატურად გაეშვას. ეს token და პაროლი, რომელიც მის მისაღებად ჩაწერე, სერვერზე რჩება. ამიტომ უსაფრთხოების მთელი თემა ერთ წინადადებაში ეტევა: გამოიყენე სათადარიგო Steam ანგარიში, რომელსაც მხოლოდ ეს თამაში აქვს და სხვა არაფერი, და ის მანქანა, რომელზეც SteamCMD მუშაობს, ჩათვალე ადგილად, სადაც ამ ანგარიშის credentials-ი ახლა ინახება.

ამ პოსტის დანარჩენი ნაწილი დეტალებს შეიცავს: რომელ სერვერებს სჭირდება ანგარიში, როგორ გამოიყურება Steam Guard-ის თითოეული მოთხოვნა და როგორ ვუპასუხოთ, სად ინახება შენახული credential-ი და რამდენ ხანს მუშაობს, როგორ მოვაწყოთ სათადარიგო ანგარიში სწორად და რას ნიშნავს ლოგინის შეცდომები. თვით SteamCMD-ის საფუძვლები - ინსტალაცია, force_install_dir, validate, სკრიპტები - აღწერილია პოსტში SteamCMD explained, აქ მათ არ გავიმეორებ.

რას წყვეტს ლოგინი სინამდვილეში#

SteamCMD ყოველთვის შედის სისტემაში, სანამ რამეს ჩამოტვირთავდეს. ლოგინი იმ სერვერს არ ეხება, რომელსაც გაუშვებ - გაშვებული game server ამ სესიას აღარ იყენებს. ის ერთ რამეს წყვეტს: რა ლიცენზიები აქვს ჩამოტვირთვის სესიას.

  • Anonymous არის სესია, რომლის უკან ანგარიში არ დგას. მას აქვს ლიცენზია ყველა აპზე, რომელიც გამომცემელმა anonymous ჩამოტვირთვისთვის უფასოდ მონიშნა, და ეს dedicated სერვერის უმეტეს ხელსაწყოს მოიცავს. პაროლი არ სჭირდება, Steam Guard არ არის, არაფერი ინახება.
  • ანგარიშით ლოგინს აქვს ყველაფერი, რაც ამ ანგარიშს ეკუთვნის, პლუს უფასო ხელსაწყოები. ის საჭიროა მაშინ, როცა გამომცემელმა სერვერის ხელსაწყო ან მისი Workshop კონტენტი მხოლოდ იმ ანგარიშებისთვის შეზღუდა, რომლებსაც თამაში აქვთ.

აქედან ორი შედეგი გამომდინარეობს და ორივე ბევრს უკვირს. პირველი: credential-ი საჭიროა მხოლოდ ინსტალაციისა და განახლების დროს. გაშვებული DayZ ან Arma 3 სერვერი შენი ანგარიშით Steam-ში არ შედის - ამას აკეთებს SteamCMD, რომელიც სერვერის გაშვებამდე სრულდება. მეორე: credential-ი ყოველ განახლებაზე ისევ საჭიროა, ამიტომ ის ინახება და არა ერთხელ ჩაიწერება და დაიკარგება. სერვერი, რომელიც ყოველ restart-ზე ახლდება, ყოველ restart-ზე შედის Steam-ში ამ ანგარიშით.

ეს ლოგინი ასევე განსხვავდება game server login token-ისგან. GSLT არის ის, რასაც გაშვებული სერვერი წარადგენს, რომ Steam-მა ის ბრაუზერში აჩვენოს; ის იქმნება ვებგვერდზე და SteamCMD-ში არასდროს იწერება. ორივეს ხშირად ერთმანეთში ურევენ, რადგან ორივე "Steam credential-ია, რომელსაც ჰოსტი ითხოვს", მაგრამ ერთი ფაილებს აინსტალდებს, მეორე კი გაშვებულ სერვერს ამოიცნობს. რამდენიმე თამაშს ორივე სჭირდება.

რომელ სერვერებს სჭირდება რეალური ანგარიში#

წინასწარ წასაკითხი ისეთი flag არ არსებობს, რომელიც იტყვის "ეს anonymous-ს უარყოფს". ამას გებულობ გამომცემლის დოკუმენტაციიდან, Valve-ის developer wiki-ის dedicated სერვერების სიიდან ან თვით SteamCMD-დან, რომელიც შეზღუდულ აპზე anonymous მცდელობას პასუხობს No subscription-ით.

თამაშისერვერის ხელსაწყოს ანგარიში სჭირდებაWorkshop-ს მფლობელი ანგარიში სჭირდება
DayZYes, one that owns DayZYes
Arma 3YesYes
Project ZomboidVaries - see belowMods download through the server
7 Days to DieUsually anonymousMods are installed as files
Most others (Valheim, CS2, Palworld...)NoDepends on the game

DayZ ყველაზე ნათელი შემთხვევაა. DayZ Server ხელსაწყო (აპი 223350) არ ინსტალდება anonymous სესიით, ვერც ისეთი ანგარიშით, რომელსაც თამაში არ აქვს, ხოლო მისი Workshop ელემენტები თამაშის app id-ით, 221100-ით, იტვირთება, რასაც იგივე მფლობელი ანგარიში სჭირდება. ინსტალაციის დანარჩენი ნაწილი აღწერილია პოსტში DayZ server and mods.

Arma 3 შემთხვევაა, სადაც წყაროები ისე ეწინააღმდეგებიან ერთმანეთს, რომ ეს სასარგებლოა. Valve-ის სიაში სერვერის ხელსაწყო (233780) anonymous წვდომისთვის მიუწვდომლად არის მონიშნული, Bohemia-ს საკუთარი სერვერის დოკუმენტაცია კი გირჩევს რეალური მომხმარებლით შესვლას და ამ საქმისთვის ცალკე ანგარიშს. Bohemia სერვერის პაკეტს უფასოდაც აღწერს, ამიტომ იმას, ანგარიშს Arma 3 უნდა ჰქონდეს თუ არა მხოლოდ სერვერის ჩამოსატვირთად, დროისა და წყაროს მიხედვით სხვადასხვა პასუხი ჰქონდა. Workshop მოდები სხვა საქმეა: workshop_download_item 107410 <id> მოითხოვს ანგარიშს, რომელსაც Arma 3 აქვს. რადგან თითქმის ყველა რეალური Arma 3 სერვერი მოდებს იყენებს, ყოველ შემთხვევაში მფლობელი ანგარიში დაგჭირდება. მოდების სრული სამუშაო პროცესი არის პოსტში Arma 3 server and mods.

Project Zomboid და 7 Days to Die ნაცრისფერი ზონაა. მათი სერვერის ხელსაწყოები წლებია ფართოდ ინსტალდება login anonymous-ით, მაგრამ ჰოსტები და გიდები განსხვავდებიან იმაში, სჭირდება თუ არა ლოგინი, ხოლო გამომცემლებს შეუძლიათ აპის წვდომა გაფრთხილების გარეშე შეცვალონ. პრაქტიკული შემოწმება სწრაფია: ჯერ სცადე anonymous. თუ დაინსტალდა, თვით სერვერისთვის ანგარიში არ გჭირდება. თუ No subscription მიიღე, გჭირდება. თუ არ იცი, რომელი ნომერი შეამოწმო, SteamCMD app IDs and beta branches შეიცავს ოცდაათი თამაშის სერვერისა და თამაშის id-ებს.

პირველი ლოგინი#

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

bash
$ ./steamcmd.shSteam> login myserveraccountpassword:

რა მოხდება შემდეგ, დამოკიდებულია იმაზე, როგორ არის ანგარიშზე Steam Guard მოწყობილი, რასაც შემდეგი ნაწილი აღწერს. ლოგინის წარმატების შემდეგ დაინახავ დამადასტურებელ ხაზს და Steam> prompt დაბრუნდება. აქედან ინსტალაცია ჩვეულებრივ გააკეთე:

code
Steam> force_install_dir /srv/dayzSteam> app_update 223350 validateSteam> quit

ეს ერთი ინტერაქტიული სესია ორ საქმეს აკეთებს: აკმაყოფილებს Steam Guard-ს და ტოვებს შენახულ credential-ს. ყოველი შემდგომი გაშვება - cron job, restart სკრიპტი, პანელის განახლება - შეძლებს მხოლოდ მომხმარებლის სახელით შესვლას:

bash
$ ./steamcmd.sh +force_install_dir /srv/dayz \    +login myserveraccount \    +app_update 223350 +quit

არც პაროლი, არც კოდი. SteamCMD პოულობს ამ მომხმარებლის შენახულ credential-ს და იყენებს. თუ ვერ იპოვა, ამას გეტყვის და ან გკითხავს (ინტერაქტიულ გაშვებაში), ან ჩავარდება (სკრიპტში @NoPromptForPassword 1-ით), ანუ ზუსტად იმას, რაც ავტომატური დავალებისგან გინდა: ხმამაღალ ჩავარდნას და არა გაჭედვას.

მოერიდე +login user password ბრძანების ხაზზე გამოყენების მოკლე გზას. ის მუშაობს, მაგრამ პაროლი ხვდება შენს shell history-ში, ps-ის გამოტანაში მანქანაზე მყოფი ყველასთვის, სანამ SteamCMD მუშაობს, და ხშირად დავალების გამოტანის ნებისმიერ ლოგში. container-ში ეს უარესია: environment variable-ად გადაცემული პაროლი ნებისმიერს შეუძლია წაიკითხოს, ვინც container-ს შეისწავლის. რატომ არის ეს უფრო სუსტი სამალავი, ვიდრე ხალხი ფიქრობს, წერია პოსტში Environment variables and secrets.

Steam Guard: ელფოსტის კოდები, მობილური კოდები და დადასტურებები#

Steam Guard არის Steam-ის მეორე ფაქტორი და SteamCMD მას ისევე ხვდება, როგორც დესკტოპ client ახალი მოწყობილობიდან შესვლისას. ანგარიში სამ მდგომარეობაში შეიძლება იყოს და თითოეული განსხვავებულ გამოცდილებას იძლევა.

ელფოსტის Steam Guard

ანგარიშს აქვს Steam Guard, მაგრამ მობილური authenticator არა. ახალი მანქანიდან პირველ ლოგინზე Steam ანგარიშის მისამართზე მოკლე კოდს გზავნის და SteamCMD მას გეკითხება:

code
Steam Guard code:

ჩაწერე ელფოსტით მიღებული კოდი. კოდი კონკრეტულ ლოგინის მცდელობას ეკუთვნის, ამიტომ მოითხოვე და გამოიყენე ერთბაშად; წინა მცდელობის ძველი კოდი უარიყოფა. თუ წერილი არ მოდის, ხელახლა ცდამდე spam საქაღალდე შეამოწმე - განმეორებითი მცდელობებით ხვდები rate limit-ში.

მობილური authenticator

ანგარიშს Steam Mobile აპი authenticator-ად აქვს მორგებული. SteamCMD აპიდან მბრუნავ კოდს ითხოვს:

code
Two-factor code:

კოდი ხუთსიმბოლოიანია და ყოველ 30 წამში იცვლება. ჩაწერე სწრაფად; კოდი, რომელიც აკრეფისას შეიცვალა, შეუსაბამობას იძლევა და უბრალოდ ახალით ცდი ხელახლა. Steam-ის ახალ build-ებს შეუძლიათ ტელეფონზე დადასტურებაც შემოგთავაზონ აკრეფილი კოდის ნაცვლად, ისევე როგორც დესკტოპ client-ს - თუ SteamCMD გეუბნება, რომ აპში შესვლა დაადასტურო, გააკეთე ეს და ის გააგრძელებს. რომელს ნახავ, prompt-ს თუ დადასტურებას, SteamCMD-ის build-ზეა დამოკიდებული, ამიტომ წაიკითხე, რასაც ბეჭდავს და ნუ დაუშვებ.

SteamCMD კოდს login-ის მესამე არგუმენტადაც იღებს (login user password code), რითაც ხალხი სკრიპტიდან პასუხობს Steam Guard-ს. ეს მუშაობს, მაგრამ პაროლს ბრძანების ხაზზე სვამს, ამიტომ გამოიყენე მხოლოდ ერთჯერადად, შენს კონტროლქვეშ მყოფი ტერმინალიდან და არასდროს ფაილში.

Steam Guard გამორთული

არავითარი prompt. ამ მდგომარეობას ირჩევენ Steam Guard-ის პირველი გამაღიზიანებელი ციკლის შემდეგ და ეს არასწორი გამოსწორებაა. ანგარიში, რომელზეც Steam Guard გამორთულია, მხოლოდ პაროლით არის დაცული, პაროლი კი სწორედ ის არის, რაც სერვერზე ახლახან ჩაწერე. დატოვე Steam Guard ჩართული; ის თითო მანქანაზე მხოლოდ ერთხელ გეკითხება.

passwordtoken savedreads tokenlogin without a codeპირველი გაშვებაინტერაქტიულად, ხელითშემდგომი განახლებებიმხოლოდ სახელიSteam Guardელფოსტის ან მობილურის კოდიშენახული credentialconfig.vdfSteamსესიის ლიცენზიები
პირველი ლოგინი და ყოველი შემდგომი განახლება

შენახული credentials: სად ინახება და როდის წყვეტს მუშაობას#

წარმატებული ლოგინის შემდეგ SteamCMD ანგარიშის ლოგინის token-ს ინახავს თავის კონფიგურაციაში, SteamCMD-ის მონაცემთა დირექტორიაში config/config.vdf-ში. Windows-ზე ეს არის config საქაღალდე steamcmd.exe-ს გვერდით. Linux-ზე ეს დამოკიდებულია, როგორ დაინსტალდა SteamCMD: Valve-ის tarball და დისტრიბუტივის პაკეტები მონაცემებს სხვადასხვა ადგილას ინახავენ, ხშირად ~/Steam ან ~/.steam ქვეშ. თუ დარწმუნებული არ ხარ, config.vdf მოძებნე SteamCMD-ის მომხმარებლის home დირექტორიაში. უფრო ძველ build-ებს მის გვერდით ssfn sentry ფაილებიც რჩებოდა, რომლებიც იგივე როლს ასრულებდნენ.

რა არის ამ ფაილში მნიშვნელოვანი:

  • ის credential-ია. ის შენი პაროლი არ არის, მაგრამ იმ მანქანაზე SteamCMD-ს პაროლის გარეშე ანგარიშით შესვლის საშუალებას აძლევს. ვისაც მისი კოპირება შეუძლია, პრაქტიკულად იგივეს გააკეთებს - ამიტომ ის სათადარიგო ანგარიშს ეკუთვნის და სხვას არაფერს.
  • ის ეკუთვნის მომხმარებელს, რომელმაც SteamCMD გაუშვა. პირველი ინტერაქტიული ლოგინი გააკეთე იმავე Unix მომხმარებლით, რომელსაც cron job ან სერვისი იყენებს. საკუთარი თავით შესვლა და შემდეგ განახლებების steam სერვისის მომხმარებლით გაშვება შენახული ლოგინის "არ მუშაობის" ყველაზე გავრცელებული მიზეზია.
  • container-ში ის უნდა შენარჩუნდეს. თუ SteamCMD container-ში მუშაობს, რომლის ფაილური სისტემა restart-ზე იშლება, შენახული credential-იც მასთან ერთად იკარგება და ყოველი გაშვება Steam Guard-ს ისევ ითხოვს. SteamCMD-ის config დირექტორია persistent volume-ზე მოათავსე.

ქეში სამუდამოდ არ მუშაობს. ის წყვეტს მუშაობას, როცა:

  1. პაროლი იცვლება. Steam არსებულ სესიებს წყვეტს და SteamCMD-ს ახალი პაროლი და, ჩვეულებრივ, ახალი Steam Guard გამოწვევა სჭირდება.
  2. მოწყობილობებს აუქმებ. ანგარიშის Steam Guard გვერდზე "Deauthorize all other devices" გამოაქვს ყველა მანქანა, რომელსაც შენახული ლოგინი აქვს, SteamCMD-ის ჩათვლით. ეს სწორი ნაბიჯია ისიც, თუ credential-ის მქონე სერვერი შესაძლოა გატეხილია.
  3. token უბრალოდ იწურება. შენახული ლოგინები დიდხანს ცოცხლობს, მაგრამ მუდმივი არ არის. როცა ერთ-ერთი იწურება, შემდეგი ავტომატური განახლება ლოგინის ეტაპზე ვარდება.

სწორედ ეს მესამე შემთხვევა იკბინება production-ში, რადგან ის შემთხვევით დროს ხდება, setup-იდან თვეების შემდეგ. ამიტომ ავტომატურმა განახლებამ უსაფრთხოდ უნდა შეძლოს ჩავარდნა: შეამოწმე ხაზი Success! App 'X' fully installed. და არა exit code, და თუ განახლება არ მოხდა, სერვერი არსებულ ფაილებზე გაუშვი. Automating game server updates აღწერს, როგორ შეფუთო SteamCMD ისე, რომ ჩავარდნილი ლოგინი ნიშნავდეს მოძველებულ და არა მკვდარ სერვერს.

სათადარიგო ანგარიშის მოწყობა#

სათადარიგო ანგარიში აქ არა სასიამოვნო დამატებაა, არამედ აუცილებლობა. პაროლი და ხანგრძლივი ლოგინის token იმ მანქანაზე დევს, რომელსაც, ნაქირავები სერვერის შემთხვევაში, სხვა ადმინისტრირებს და რომელზეც უცნობების დაწერილი მოდები და plugin-ები მუშაობს. თუ ეს ანგარიში იგივეა, რომელზეც შენი ბიბლიოთეკა, საფულის ბალანსი, შენახული საბანკო ბარათები და თხუთმეტი წლის მეგობრები გაქვს, ეს ყველაფერი ერთი გაჟონვის დაშორებითაა.

როგორ მოვაწყოთ სწორად:

  1. შექმენი ახალი Steam ანგარიში საკუთარი ელფოსტის მისამართით - საფოსტო ყუთით, რომელსაც სხვა არაფრისთვის იყენებ. თუ ელფოსტა შენს მთავარ ანგარიშს ემთხვევა, ყუთის გატეხვა ორივეს გატეხვაა.
  2. იყიდე ან უჩუქე მას თამაში, თუ სერვერს მფლობელი ანგარიში სჭირდება (DayZ და Arma 3 Workshop-ისთვის). ეს თამაშის ერთი ასლი ჯდება და ეს არის ფასი იმისა, რომ შენი მთავარი ანგარიში სერვერზე არ იყოს.
  3. გადახდის მეთოდი არ დაამატო და საფულე არ შეავსო. ამ ანგარიშზე არაფერი უნდა იყოს დასახარჯი.
  4. ჩართე Steam Guard. ცალკე საფოსტო ყუთზე ელფოსტის Steam Guard კარგია; მობილური authenticator უფრო ძლიერია. Steam Mobile აპს ერთზე მეტი ანგარიშის შენახვა შეუძლია, ამიტომ სათადარიგო ანგარიში შეიძლება შენი მთავარის გვერდით იმავე ტელეფონზე ცხოვრობდეს.
  5. მიეცი უნიკალური, გენერირებული პაროლი პაროლის მენეჯერიდან. ის სერვერზე ჩაიწერება, ამიტომ ჩათვალე, რომ შეიძლება დაინახონ, და დარწმუნდი, რომ ის სხვა არაფერს ხსნის.
  6. ამ ანგარიშით ნუ ითამაშებ. ანგარიში მხოლოდ ფაილების ჩამოსატვირთად არსებობს. თამაშიდან მისი მოშორება მას ვაჭრობებს, მეგობრობის თხოვნებსა და მათ მომდევნო phishing-ს აშორებს.

სათადარიგო ანგარიში ასევე გეხმარება ძლიერ მოდიფიცირებული სერვერების Workshop ჩამოტვირთვებში, რადგან Workshop გამოწერები და ჩამოტვირთვები ამ ანგარიშს უკავშირდება და არა შენს პირადს. ჩამოტვირთვის მექანიკა, იმის ჩათვლით, რა ხდება, როცა ელემენტი Workshop-იდან იშლება, აღწერილია პოსტში Steam Workshop mods on dedicated servers.

უსაფრთხოების რისკები პირდაპირ#

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

ვინრას წვდება
Anyone on the same machinePasswords in ps output, shell history, logs
Anyone with file access to SteamCMD's folderThe cached token in config.vdf
The hostWhatever it stores to run SteamCMD for you
A malicious mod or pluginAny file the server process can read
Anyone you send a screenshot toWhatever was on the screen

ჰოსტის ხაზი ყველაზე გულწრფელ საუბარს იმსახურებს. ნებისმიერმა ჰოსტმა, რომელიც შენ მაგივრად SteamCMD-ს უშვებს თამაშისთვის, რომელსაც ლოგინი სჭირდება, შენი credentials-ი გამოსაყენებელი ფორმით უნდა ინახავდეს, ანუ მას მათი წაკითხვა შეუძლია. ამის თავიდან ასაცილებელი ჭკვიანური მოწყობა არ არსებობს. ჰოსტებს შორის განსხვავება იმაშია, ამბობენ თუ არა ამას. RE:NODE-ზე თამაშები, რომლებსაც შენი საკუთარი Steam ლოგინი სჭირდება - Arma 3, DayZ, Project Zomboid და 7 Days to Die - იქმნება გადახდის დადასტურებისთანავე და ინსტალაცია Setup tab-ზე ელოდება, სანამ credentials-ს იქ შეიყვან. ისინი ისე ინახება, როგორც ჩაწერე, და სწორედ ამიტომ ბრუნდება ეს მთელი პოსტი სათადარიგო ანგარიშზე.

დანარჩენი ხაზები ისაა, რასაც შენ აკონტროლებ:

  • ფაილებზე წვდომა credential-ზე წვდომაა. subuser-ს, რომელსაც სერვერის ფაილების დათვალიერება შეუძლია, შენახული ლოგინის წაკითხვაც შეიძლება შეეძლოს. პერსონალს მიეცი console წვდომა ფაილებზე წვდომის გარეშე, სადაც ფაილები არ სჭირდებათ - როგორ ააგო ასეთი როლები, ნაჩვენებია პოსტში subusers and least privilege.
  • მოდები სერვერის უფლებებით მუშაობს. plugin-ს შეუძლია წაიკითხოს ყველაფერი, რასაც სერვერის პროცესი კითხულობს. როგორ გამოიყურება ეს პრაქტიკაში, ნახე პოსტში Malicious plugins and mods.
  • მხარდაჭერის საუბრები ჟონავს. დახმარების თხოვნისას პაროლი ან Steam Guard კოდი არასდროს ჩააგდო Discord-ზე, ფორუმზე ან საჯარო არხზე. RE:NODE-ზე support ticket კერძო დანართებს იღებს, რაც ნებისმიერი მგრძნობიარე რამისთვის სწორი ადგილია.
  • შენი პანელის ანგარიში მთავარი კარია. ვისაც პანელში შესვლა შეუძლია, Setup tab-ს ხედავს. ჩართე two-factor შენს პანელის ანგარიშზე, რომ Steam ლოგინი პანელის ერთი გაჟონილი პაროლის დაშორებით არ იყოს.

თუ ფიქრობ, რომ სათადარიგო ანგარიშის credentials-ი გამჟღავნდა, რეაგირებას ხუთი წუთი სჭირდება: შეცვალე პაროლი, გამოიყენე "Deauthorize all other devices" და ხელით შედი ერთხელ იმ სერვერებზე, რომლებსაც წვდომა კვლავ უნდა ჰქონდეთ. რადგან ანგარიშს თამაშის ლიცენზიის გარდა არაფერი აქვს, ზარალი სწორედ ამით ამოიწურება.

ლოგინის შეცდომები და რას ნიშნავს ისინი#

SteamCMD ლოგინის ჩავარდნებს ხაზზე აცნობებს, რომელიც Logging in user-ით იწყება, მიზეზი კი ბოლოს ფრჩხილებშია.

შეტყობინება შეიცავსრას ნიშნავს
Invalid Passwordარასწორი პაროლი ან მომხმარებლის სახელის შეცდომა
Two-factor code mismatchმობილური კოდი ამოიწურა ან არასწორად აკრიფე; გამოიყენე მიმდინარე
Invalid Login Auth Codeელფოსტის Steam Guard კოდი არასწორია ან წინა მცდელობისაა
Account Logon DeniedSteam Guard-ს გაგრძელებამდე ელფოსტის კოდი სჭირდება
Rate Limit Exceededძალიან ბევრი მცდელობა; გაჩერდი და დაელოდე
No subscriptionლოგინი მოხერხდა, მაგრამ ამ იდენტობას აპი არ აქვს

Rate Limit Exceeded ის შეცდომაა, რომელსაც პატივი უნდა სცე. მას იწვევს განმეორებითი წარუმატებელი ლოგინები, ჩვეულებრივ სკრიპტი, რომელიც მოძველებული პაროლით ციკლში იმეორებს ცდას, და ყოველი შემდეგი მცდელობა დაბლოკვას აგრძელებს. შეაჩერე ყველაფერი, რაც ცდას იმეორებს, დაელოდე - ხშირად ერთ საათს ან მეტს - და მერე ერთხელ, ხელით, სწორად შედი.

No subscription წარმატებული ლოგინის შემდეგ არასდროს არის პაროლის პრობლემა. ან ანგარიშს თამაში არ აქვს, ან სხვა რამის app id გადასცემ. DayZ-ისთვის დარწმუნდი, რომ ანგარიშს თვით DayZ აქვს; Arma 3 Workshop ჩამოტვირთვისთვის დარწმუნდი, რომ მას Arma 3 აქვს და გამოიყენე 107410 და არა სერვერის 233780.

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

FAQ#

შემიძლია DayZ სერვერის დაინსტალება, თუ DayZ არ მაქვს?

არა. DayZ სერვერის ხელსაწყო anonymous ლოგინებს და ანგარიშებს, რომლებსაც თამაში არ აქვთ, უარყოფს, ხოლო მისი Workshop მოდებისთვის იგივე მფლობელი ანგარიში სჭირდება. იყიდე ასლი სათადარიგო ანგარიშზე და არა შენი მთავარი ანგარიში სერვერზე.

განახლებისას ყოველ ჯერზე Steam Guard კოდი უნდა შევიყვანო?

არა. Steam Guard-ს თითო მანქანაზე ერთხელ პასუხობ. შემდეგ SteamCMD ლოგინის token-ს ინახავს და შემდგომი გაშვებები მხოლოდ მომხმარებლის სახელით შედის. ისევ გკითხავს მხოლოდ პაროლის შეცვლის, მოწყობილობის გაუქმების შემდეგ ან როცა შენახული ლოგინი საბოლოოდ ამოიწურება.

უსაფრთხოა ჰოსტისთვის ჩემი Steam ლოგინის მიცემა?

ის იმდენად უსაფრთხოა, რამდენადაც ჰოსტია, ამიტომ ჰოსტს მხოლოდ სათადარიგო ანგარიში უნდა მისცე. ნებისმიერმა ჰოსტმა, რომელიც შენ მაგივრად DayZ-ს ან Arma 3-ს აინსტალდებს, გამოსაყენებელი credential უნდა შეინახოს. აირჩიე ჰოსტი, რომელიც ამას ღიად ამბობს, და დარწმუნდი, რომ მის უკან მდგარ ანგარიშს არაფერი აქვს, რისი დაკარგვაც გეწყინება.

გავთიშო Steam Guard სათადარიგო ანგარიშზე, რომ prompt-ები აღარ იყოს?

არა. prompt მხოლოდ თითოეული მანქანიდან პირველ ლოგინზე ჩნდება, ამიტომ Steam Guard-ის გამორთვა ერთ კოდს გიზოგავს და ერთადერთ დაცვას აშორებს, რომელიც მას შემდეგ რჩება, რაც პაროლი სერვერზე ჩაიწერა. დატოვე ჩართული, სასურველია მობილური authenticator-ით.

იყენებს გაშვებული სერვერი ჩემს Steam ანგარიშს?

არა. ანგარიშს SteamCMD იყენებს ფაილების ჩამოსატვირთად და გასაახლებლად. გაშვებული სერვერი მისით არ შედის. თუ თამაშს სერვერის სიაში გამოჩენის token-იც სჭირდება, ეს ცალკე credential-ია, რომელიც Steam-ის game server ანგარიშის გვერდზე იქმნება.

როგორ დავავიწყო მანქანას ლოგინი?

წაშალე შენახული credential SteamCMD-ის config/config.vdf-დან, ან, თუ მანქანას აღარ აკონტროლებ, ანგარიშის Steam Guard პარამეტრებში გამოიყენე "Deauthorize all other devices" და შეცვალე პაროლი. ორივე შემთხვევაში იმ მანქანაზე შემდეგ ლოგინს პაროლი და Steam Guard ისევ დასჭირდება.