RE:NODE

სახელმძღვანელოები10 წუთის საკითხავი

სათამაშო სერვერის განახლების დღის ჩამონათვალი

ჩამონათვალი იმ დღისთვის, როცა თამაში პაჩს იღებს: ჯერ backup, შეამოწმე მოდები და plugin-ები, განაახლე SteamCMD-ით, გამოცადე, აცნობე მოთამაშეებს და სუფთად დააბრუნე, თუ გაფუჭდა.

0 მკითხველი

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

რატომ ფუჭდება სერვერები პაჩის დღეს#

თითქმის ყველა მულტიპლეერ თამაში მოითხოვს, რომ კლიენტი და სერვერი ერთსა და იმავე build-ზე მუშაობდნენ. როცა Steam მოთამაშეების კლიენტებს ანახლებს, ისინი ვეღარ შემოდიან სერვერზე, რომელიც ჯერ ისევ ძველზეა - ხედავენ "version mismatch"-ს, "server is outdated"-ს ან უბრალოდ ვერ უკავშირდებიან. ასე რომ, სერვერის განახლების წნეხი პაჩის გამოსვლისთანავე იწყება.

თუმცა სერვერის განახლებას შეუძლია გააფუჭოს სამი რამ, რასაც კლიენტის განახლება ვერ აფუჭებს:

  • მოდები და plugin-ები, რომლებიც თამაშის კოდს ებმება. ფრეიმვორკები, როგორიცაა BepInEx, Oxide და Carbon, SourceMod და Metamod, CounterStrikeSharp, RocketMod და Paper-ის plugin-ები, დამოკიდებულია თამაშის შიდა კოდზე, რომელსაც პაჩები ცვლის. სანამ მათი ავტორები არ დაეწევიან, ისინი სერვერს აგდებენ, ვერ იტვირთება, ან - ყველაზე უარესი - იტვირთება და მონაცემებს ჩუმად აზიანებს.
  • Save. ზოგი პაჩი სამყაროს ფორმატს პირველი ჩატვირთვისას გარდაქმნის. როგორც კი ახალი სერვერი save-ში ჩაწერს, ძველმა სერვერმა შეიძლება მისი წაკითხვა აღარ შეძლოს, რაც ჩავარდნილ განახლებას დაკარგულ სამყაროდ აქცევს, თუ ჯერ backup არ გააკეთე.
  • კონფიგ-ფაილები. ახალი ვერსიები პარამეტრებს ამატებს, არქმევს ან შლის. სერვერს შეუძლია გადარქმეული გასაღებისთვის ნაგულისხმევი მნიშვნელობით გაეშვას და პარამეტრებით იმუშაოს, რომლებიც შენ არ აგირჩევია, ყოველგვარი შეცდომის გარეშე.

ამ სტატიის დანარჩენი ნაწილი ამ სამის კონტროლს ეხება.

სანამ პაჩი გამოვა#

საუკეთესო განახლების დღეები მზადდება მანამ, სანამ პაჩი არსებობს.

იცოდე, როგორ აცხადებს შენი თამაში განახლებებს. Rust ყოველი თვის პირველ ხუთშაბათს იძულებით wipe-ს და განახლებას აკეთებს; თამაშების უმეტესობა patch notes-ს Steam-ის სიახლეებში აქვეყნებს ცოტა ხნით ადრე ან შემდეგ; Minecraft-ის რელიზებს კვირებით ადრე snapshot-ები და pre-release-ები მოჰყვება. გამოიწერე თამაშის განცხადებების არხი და შენი კრიტიკული მოდების არხები.

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

შეინახე დაყენებულის სია. მოდების სახელები, ვერსიები და საიდან მოვიდნენ. როცა პაჩი გამოვა, თითოეული უნდა შეამოწმო, ხოლო მეხსიერებით შემოწმებისას სწორედ ის გამოგრჩება, რომელიც ფუჭდება.

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

ჩამონათვალი#

იმ დღეს, ამ რიგით:

  1. წაიკითხე patch notes. მოძებნე სიტყვები, როგორიცაა "save", "world", "format", "server", "config" და "breaking". ბალანსის პაჩი და save-ის მიგრაცია სხვადასხვა დღეებია.
  2. შეამოწმე შენი მოდები და plugin-ები. ნახე თითოეული კრიტიკულის გვერდი, GitHub-ის რელიზები ან Discord. თქვა ავტორმა, რომ ახალ ვერსიაზე მუშაობს, ან გამოუშვა განახლება? თუ კრიტიკული მოდი განახლებული არ არის, აქ გაჩერდი და აცნობე მოთამაშეებს.
  3. აცნობე მოთამაშეებს, რა ხდება. მოკლე შეტყობინება: პაჩი გამოვიდა, სერვერი გარკვეულ დროს განახლდება, ან მოდებს დაელოდება. მოთამაშეები ახსნილ შეფერხებას გაცილებით უკეთ იღებენ, ვიდრე დუმილს. ტექნიკური სამუშაოებისა და გათიშვის გამოცხადებაში მომუშავე ფორმულირებებია.
  4. სუფთად გააჩერე სერვერი. სუფთა გაჩერება სამყაროს ინახავს. Kill - არა.
  5. ახლა გააკეთე backup. არა წუხანდელი - სუფთა გაჩერების შემდეგ გაკეთებული, რომ ბოლო მდგომარეობას შეიცავდეს. თუ ჰოსტინგი ამის საშუალებას იძლევა, ჩაკეტე როტაციისგან, რომ ერთი კვირის დაგეგმილმა backup-ებმა ის არ გამოაგდოს.
  6. ჩაინიშნე მიმდინარე build. Build id სერვერის ლოგიდან ან SteamCMD-დან (app_status <appid> აჩვენებს). უკან დასაბრუნებლად ეს დაგჭირდება.
  7. განაახლე სერვერის ფაილები. პანელის განახლების ან ხელახალი დაყენების ოფციით, ან SteamCMD-ით app_update <appid> validate-ით.
  8. განაახლე მოდები და plugin-ები ვერსიებამდე, რომლებიც ახალ build-ს უჭერენ მხარს.
  9. შეადარე კონფიგ-ფაილები. თუ განახლებას ახალი ნაგულისხმევი კონფიგები მოჰყვა, შეადარე ისინი შენსას ახალი ან გადარქმეული გასაღებების საპოვნელად.
  10. გაუშვი და წაიკითხე ლოგი. უყურე "ready" ხაზამდე. მოძებნე მოდების ჩამტვირთავების შეცდომები, "creating new world" (რაც ნიშნავს, რომ შენი ვერ იპოვა) და გაფრთხილებები უცნობ პარამეტრებზე.
  11. შემოდი და შეამოწმე. შედი, შეხედე ცნობილ ბაზას ან ნაგებობას, შეამოწმე ინვენტარი, გაუშვი ადმინის ბრძანება. ხუთწუთიანი შემოწმება საჩივრებით სავსე საღამოს სჯობს.
  12. აცნობე მოთამაშეებს, რომ სერვერი ჩართულია.

კონფიგის ცვლილებების შემჩნევა

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

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

bash
$ diff -u serverconfig.xml.before serverconfig.xml

გამოსავალში სამ რამეს ეძებ: გასაღებებს, რომლებიც გაქრა, გასაღებებს, რომლებიც გამოჩნდა ნაგულისხმევი მნიშვნელობებით, რომლებსაც შენ არ აირჩევდი, და მნიშვნელობების ფორმატებს, რომლებიც შეიცვალა (რიცხვი, რომელიც სიტყვად იქცა, სია, რომელიც ბლოკად იქცა). მერე patch notes-ში ან თამაშის ნაგულისხმევ კონფიგში შეამოწმე, რას აკეთებს ახალი გასაღებები. ყოველი დიდი პაჩის შემდეგ ამაზე დახარჯული ხუთი წუთი იჭერს "რატომ არის loot სამშაბათიდან არასწორი" საჩივარს, სანამ ვინმე დაწერს.

განახლება SteamCMD-ით#

Steam-ით გავრცელებული სერვერებისთვის თავად განახლება ერთი ბრძანებაა. საკუთარ მანქანაზე:

bash
$ steamcmd +force_install_dir /home/game/server +login anonymous \    +app_update 896660 validate +quit

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

შემდეგ დაადასტურე, რომ build შეიცვალა:

bash
$ steamcmd +force_install_dir /home/game/server +login anonymous \    +app_status 896660 +quit

თამაშებს, რომლებსაც ანონიმურის ნაცვლად ნამდვილი Steam-ის ანგარიში სჭირდება (Arma 3, DayZ და ზოგი სხვა), ის ანგარიში სჭირდება, რომელზეც თამაში აქვს. პანელზე განახლება, როგორც წესი, ხელახალი დაყენება ან რესტარტია ჩართული განახლების გადამრთველით; პანელი ქვემოთ იმავე SteamCMD ბრძანებას უშვებს. SteamCMD-ის ახსნა ფლაგებს და შეცდომებს განიხილავს.

არა-Steam თამაშები

ყველაფერი Steam-ით არ ახლდება:

თამაშიროგორ ახლდება სერვერი
Minecraft (Paper)ჩამოტვირთე ახალი Paper build სამიზნე ვერსიისთვის
FiveMშეცვალე სერვერის artifact-ები უფრო ახალი build-ით
Terrariaჩამოტვირთე ახალი dedicated server zip
Factorioახალი headless build factorio.com-იდან
BeamMPახალი სერვერის რელიზი BeamMP-ის პროექტიდან

თითოეულს საკუთარი რიტმი აქვს. Minecraft უკიდურესი შემთხვევაა: ახალი ვერსია შეიძლება ნიშნავდეს Paper-ის და plugin-ების კვირობით ლოდინს, და ბევრი სერვერი შეგნებულად ერთი ვერსიით უკან რჩება და ViaVersion-ს იყენებს, რომ ახალმა კლიენტებმა შეძლონ დაკავშირება. Minecraft-ის ვერსიის განახლებები ამ გზას განიხილავს, ხოლო FiveM-ის სერვერის განახლებები და artifact-ები - FiveM-ის რეკომენდებულ build-ებს.

როცა მოდები მზად არ არის#

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

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

დარჩი ძველ ვერსიაზე beta branch-ით. ზოგი თამაში წინა build-ებს Steam-ის beta branch-ებად აქვეყნებს - 7 Days to Die ძველ დიდ ვერსიებს ასე ინახავს ხელმისაწვდომს, Valheim-ს კი საჯარო სატესტო branch ჰქონდა. მოთამაშეებს შეუძლიათ კლიენტი იმავე branch-ზე გადართონ და ყველა აგრძელებს. ეს მხოლოდ იქ მუშაობს, სადაც დეველოპერი ამას გთავაზობს, და branch-ების სახელები იცვლება; თამაშის საკუთარი განცხადებები მათ ჩამოთვლის. SteamCMD-ის app id-ები და beta branch-ები აღწერს, როგორ აირჩიო ერთ-ერთი, ხოლო სათამაშო სერვერის ვერსიის დაფიქსირება და rollback-ები - რისი დაფიქსირება შეიძლება და რისი არა.

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

მაინც განაახლე. ზოგჯერ მოდი მუშაობს, მიუხედავად იმისა, რომ განახლებულად არ არის მონიშნული. გამოცადე ასლზე და არასდროს ერთადერთ სამყაროზე, რაც გაქვს.

არასწორი პასუხი ყველაზე გავრცელებულია: ყველაფრის ერთბაშად განახლება, რადგან მოთამაშეები მოუთმენლები არიან, აღმოჩენა, რომ სერვერი გაშვებისას ვარდება, და მერე მისი წნეხის ქვეშ გასწორების მცდელობა. რა ვქნა, როცა მოდის განახლებამ სერვერი გააფუჭა იმ შემთხვევის გზამკვლევია, როცა ეს უკვე მოხდა.

უკან დაბრუნება#

თუ განახლება ცუდად წავიდა, ორი რამ გჭირდება: თამაშის ძველი build და განახლებამდელი save. Backup, რომელიც მე-5 ნაბიჯში გააკეთე, save-ს შეიცავს. ძველი build უფრო რთულია:

  • Steam-ზე ძველი build-ები ხელმისაწვდომია მხოლოდ beta branch-ებით, რომლებსაც დეველოპერი აქვეყნებს, ან კონკრეტული depot manifest-ის ჩამოტვირთვით download_depot ბრძანებით - შესაძლებელია, წვალებიანია და ყველა პანელი ამას არ აჩენს.
  • ზოგი პანელი და backup მთელ სერვერის საქაღალდეს მოიცავს, თამაშის ფაილებით და ყველაფრით. ასეთი backup-ის აღდგენა save-თან ერთად ძველ build-საც აბრუნებს, რაც ყველაზე მარტივი rollback-ია.
  • არა-Steam თამაშებისთვის წინა build-ის არქივი შეინახე, სანამ ახალი ერთი კვირა სუფთად არ იმუშავებს.

რა გზითაც არ უნდა იყოს, ორივე ერთად აღადგინე. ძველმა სერვერმა save-ით, რომელიც ახალმა ვერსიამ უკვე გარდაქმნა, შეიძლება მისი ჩატვირთვა უარყოს, ხოლო ახალმა სერვერმა ძველი save-ით შეიძლება ის ხელახლა გარდაქმნას. Backup-ები, რომლებიც მართლა აღდგება და აღდგენის გამოცდა, სანამ დაგჭირდება არის მიზეზი, რის გამოც მე-5 ნაბიჯი არჩევითი არ არის.

არაკიგაფუჭდაპაჩი გამოვიდამოდები მზადაა?notes, ავტორების შემოწმებადაელოდე ან დააფიქსირეაცნობე მოთამაშეებსსუფთა გაჩერებასამყარო შენახულიაBackupჩაკეტილიგანახლება და გაშვებაწაიკითხე ლოგიBackup-ის აღდგენათუ ჩავარდა
პაჩის დღე სამყაროს დაკარგვის გარეშე

განახლების შემდეგ#

მომდევნო დღესაც აქვს მნიშვნელობა.

  • დააკვირდი ნელ ჩავარდნებს. ზოგი გაფუჭება მხოლოდ დატვირთვისას ან რამდენიმე საათის შემდეგ ჩანს: მეხსიერება, რომელიც ადრინდელზე სწრაფად იზრდება, ავარია კონკრეტული ადგილის ჩატვირთვისას, ნივთი, რომელიც ხელახლა შესვლისას ქრება. მეორე დილით ლოგები წაიკითხე.
  • განახლებამდელი backup ჩაკეტილი დატოვე მინიმუმ ერთი კვირით, სანამ დარწმუნებული არ იქნები, რომ არაფერი გაფუჭებულა.
  • განაახლე მოდების სია ახალი ვერსიებით, რომ შემდეგ ჯერზე ზუსტი ჩანაწერიდან დაიწყო.
  • აღადგინე განრიგი. თუ მუშაობისას დაგეგმილი რესტარტები ან backup-ები გამორთე, ისევ ჩართე. დაგეგმილი ამოცანები, რომელთა ქონაც ღირს ჩამოთვლის, რომლები უნდა აღადგინო.
  • ჩაინიშნე, რა წავიდა ცუდად. თუ მოდის განახლებას ერთი კვირა დასჭირდა, დაფიქრდი, გინდა თუ არა მასზე დამოკიდებულება. თუ განახლების პროცესი მტკივნეული იყო, ჩაიწერე ნაბიჯები, რომლებმაც იმუშავა, მომავალი თვისთვის.

FAQ#

რატომ ვერავინ შემოდის ჩემს სერვერზე თამაშის განახლების შემდეგ?

იმიტომ, რომ კლიენტები განახლდა, სერვერი კი არა, და ვერსიები აღარ ემთხვევა. გააჩერე სერვერი, გააკეთე backup, განაახლე სერვერის ფაილები და ისევ გაუშვი. თუ მოდებს იყენებ, ჯერ შეამოწმე, უჭერენ თუ არა მხარს ახალ ვერსიას.

ჩავრთო ავტომატური განახლებები ჩემს სათამაშო სერვერზე?

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

რამდენ ხანს დაველოდო მოდების განახლებას?

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

შემიძლია თამაშის ძველ ვერსიაზე დავრჩე?

მხოლოდ იმ შემთხვევაში, თუ დეველოპერი ძველ build-ებს Steam-ის beta branch-ებად აქვეყნებს ან ძველი ფაილები შეინახე. მოთამაშეებმაც თავიანთ კლიენტებზე იმავე branch-ზე უნდა გადაერთონ. ბევრი თამაში უკან დასაბრუნებელ გზას საერთოდ არ გთავაზობს.

მჭირდება განახლების შემდეგ სამყაროს wipe?

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


კომენტარები

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

0/2000