RE:NODE

Minecraft12 წუთის საკითხავი

Minecraft სერვერის ვერსიის განახლება სამყაროს დაკარგვის გარეშე

სამყაროები წინ გარდაიქმნება და უკან - არასოდეს. რომელი Java ვერსია სჭირდება თითოეულ რელიზს, განახლების მუშა თანმიმდევრობა, რა ტეხავს plugin-ებს და როგორ დაბრუნდე უკან.

განახლებულია

0 მკითხველი

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

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

სამი რამ ერთდროულად იცვლება#

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

სამყაროს ფორმატი. ყოველი chunk და ყოველი entity ინახება მონაცემთა ვერსიით. როცა უფრო ახალი სერვერი უფრო ძველ chunk-ს ტვირთავს, ის მას გადაყავს გარდამქმნელების ჯაჭვში - DataFixer - და ახალ ფორმატში ხელახლა წერს. ეს ზარმაცად ხდება: chunk გარდაიქმნება, როცა მასში მოთამაშე შედის, ამიტომ სამყარო კვირობით შეიძლება ნახევრად გარდაქმნილი იყოს. level.dat ინახავს ვერსიას, რომლითაც სამყარო ბოლოს გაიხსნა, და სწორედ ამ მნიშვნელობას უარყოფს ან არასწორად ამუშავებს ძველი jar.

სერვერის პროგრამა. Vanilla, Paper, Fabric და დანარჩენები თითოეული რელიზისთვის საკუთარ build-ს გამოუშვებს, და Minecraft-ის რელიზის შემდეგ პირველი build-ები ექსპერიმენტულია მიზეზით. Paper განსაკუთრებით ახალი ვერსიის ადრეულ build-ებს production-ისთვის არასარეკომენდაციოდ ნიშნავს, და ეს ნიშანი გულწრფელია - პირველი კვირის ჩავარდნები რეალურია.

plugin-ისა თუ mod-ის API. აქ არის თითქმის მთელი ტკივილი. plugin, რომელიც მხოლოდ Bukkit API-ზეა დაწერილი, ჩვეულებრივ მცირე ვერსიის ნახტომს ხელუხლებლად გადაურჩება. plugin, რომელიც სერვერის შიგთავსს წვდება - ხოლო ასეთია anti-cheat-ების უმეტესობა, protocol plugin-ების უმეტესობა და ყველაფერი, რაც საკუთარ ნივთებსა და entity-ებს ამატებს - ყოველ ვერსიაზე ტყდება, გამონაკლისის გარეშე, სანამ მისი ავტორი ახალ build-ს არ გამოუშვებს.

ამას ემატება მეოთხე რამ, რომელიც Minecraft-ის ცვლილება საერთოდ არ არის, მაგრამ გაშვებას ისევე მკაცრად ტეხავს: Java-ს ვერსია.

რომელი Java ვერსია სჭირდება თითოეულ რელიზს#

Minecraftსაჭირო Java
1.8 - 1.16.5Java 8 (უმეტეს build-ზე 11-ც მუშაობს)
1.17.xJava 16 მინიმუმ
1.18 - 1.20.4Java 17 მინიმუმ
1.20.5 და შემდეგJava 21 მინიმუმ

ჩავარდნა ხმამაღალია და შეუმჩნეველი არ დარჩება: UnsupportedClassVersionError ... has been compiled by a more recent version of the Java Runtime. თუ გაშვებისას ამ სტრიქონს ნახავ, შენს სამყაროსა და plugin-ებში არაფერია არასწორი; კონტეინერი უფრო ძველ Java-ს უშვებს, ვიდრე jar-ს სჭირდება. პანელზე ეს Startup ჩანართის ცვლადია და არა დასაყენებელი პაკეტი. RE:NODE-ზე Minecraft egg Paper-ს უკვე შესაბამისი Java ვერსიით უშვებს, ამიტომ ჩვეულებრივი შემთხვევა დამუშავებულია, მაგრამ შეამოწმე ეს ცხრილში მოცემული ხაზებიდან ერთ-ერთის გადალახვამდე.

საჭიროზე უფრო ახალი Java-ს გაშვება ზოგადად კარგია და ხშირად უკეთესიც. თქვენი plugin-ების მოლოდინზე უფრო ახალი Java-ს გაშვება ზოგჯერ არა, ამიტომ თუ Java-ს განახლების შემდეგ ერთი plugin ვერ იტვირთება, სანამ სერვერი სხვაგვარად ჯანმრთელია, პირველი შესამოწმებელი ეს არის. Heap-ის ზომა და garbage collection flag-ებიც Java-ს ვერსიასთან ერთად იცვლება - JVM flag-ები და Java ვერსიები განიხილავს, რომელი flag-ები აქვს აზრი 17-სა და 21-ზე.

განახლება, თანმიმდევრობით#

  1. წაიკითხე სერვერის პროგრამის რელიზის შენიშვნები და არა მხოლოდ თამაშისა. Paper-ის შენიშვნები ჩამოთვლის კონფიგურაციის მიგრაციებსა და მოხსნილ API-ებს, სადაც სიურპრიზების უმეტესობა ცხოვრობს.
  2. ჩამოწერე შენი plugin-ები და თითოეული შეამოწმე. version კონსოლში სერვერის build-ს ბეჭდავს; plugins ჩამოთვლის, რა არის ჩატვირთული. გახსენი თითოეული plugin-ის გვერდი და დაადასტურე, რომ შენი სამიზნე ვერსიისთვის build არსებობს. ჩაინიშნე სია - სწორედ ეს ნაბიჯი წყვეტს, მოხდება თუ არა განახლება საერთოდ.
  3. გამოაცხადე ფანჯარა. ათი წუთი ჩვეულებრივ საკმარისია; თქვი ერთი საათი, რომ არ იჩქარო.
  4. გააჩერე სუფთად. save-all flush, დაელოდე დასრულებას, შემდეგ stop. არასოდეს განაახლო სამყარო, რომელიც გაჩერებული კი არა, მოკლული იყო.
  5. გააკეთე backup და ჩამოტვირთე. არა "შექმენი backup" - ჩამოტვირთე ფაილი და დარწმუნდი, რომ არქივი იხსნება. backup, რომელიც არავის აღუდგენია, ჰიპოთეზაა. აღდგენის შემოწმება მისი საჭიროებამდე ოცი წუთია, რომელიც ერთხელ გამართლდება.
  6. განაახლე ჯერ ასლი, თუ საერთოდ შეგიძლია. მეორე პატარა სერვერი, სადაც სამყარო და plugin-ებია გადაკოპირებული, ოცი წუთში გეუბნება იმას, რასაც production მაყურებლის წინ გეტყოდა. Staging და production ერთ ანგარიშზე განიხილავს, როგორ გააკეთო ეს დიდი ხარჯის გარეშე.
  7. შეცვალე ვერსია და გაუშვი plugin-ების გარეშე. გადაარქვი plugins საქაღალდეს plugins.off და გაუშვი. ერთადერთ რამეს ამოწმებ: რომ სამყარო გარდაიქმნება და სერვერი "Done"-მდე აღწევს.
  8. კონსოლი წაიკითხე გარდაქმნისას. დიდ სამყაროს წუთები სჭირდება და chunk-ების გარდაქმნა CPU-ზეა დამოკიდებული. კონსოლის კითხვა უნარია, რომელიც ამ ნაბიჯს სჭირდება.
  9. plugin-ები დააბრუნე პარტიებად. ჯერ ბირთვი - permissions, დაცვა, ეკონომიკა - შემდეგ დანარჩენი სამ-ოთხიან ჯგუფებად, შორის გადატვირთვით. როცა რამე გაფუჭდება, იცი, რომელმა პარტიამ.
  10. შეამოწმე მშვიდი რაღაცეები. permissions ისევ მოქმედებს, სახლები ისევ მუშაობს, block log ისევ პასუხობს, საკუთარი რეცეპტები ისევ იქმნება, მაღაზიები ისევ იღებს ფულს.
  11. განაცხადე შემდეგ, როცა იცი, რომ იმუშავა. არა ადრე.
ვერავინ ინანა, რომ განახლებამდე კიდევ ერთი backup გააკეთა.

მთელი სამყაროს ერთდროულად გარდაქმნა#

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

bash
$ java -Xms4G -Xmx4G -jar server.jar --forceUpgrade --nogui

სერვერი გადის ყველა region ფაილს, გარდაქმნის ყოველ chunk-ს, ბეჭდავს პროცენტს და გამოდის. დაამატე --eraseCache განათებისა და heightmap-ების cache-ის გადასაყრელად, რაც ასწორებს განათების არტეფაქტებს, რომლებიც ზოგჯერ დიდ ნახტომს გადაურჩება, უფრო გრძელი გაშვების ფასად.

ორი გაფრთხილება. ეს მომენტია, როცა სამყარო საზღვრის გარეშე ძვირი ხდება: 40 GB სამყარო chunk-ებით, რომელშიც 2023 წლიდან არავინ ყოფილა, საათობით გარდაიქმნება და არაფერს იგებ. საზღვრის დაყენება და ჯერ გასუფთავება იაფი თანმიმდევრობაა - იხილე სამყაროს საზღვრები და წინასწარი გენერაცია. და Paper-ზე გრძელმა გარდაქმნამ შეიძლება watchdog გაააქტიუროს, რომელიც tick-ს ეძებს, რომელიც არასოდეს დასრულებულა; თუ პანელი გარდაქმნისას გადატვირთვის ციკლს აჩვენებს, გაუშვი ერთხელ flag-ით და დატოვე გასვლამდე და არა ჩვეულებრივი გაშვების ბრძანებით.

რა ტყდება და როგორ გაიგო, სანამ აღმოაჩენ#

შეამოწმე ეს კონკრეტულად სამიზნე ვერსიაზე და არა "ცოტა ხნის წინ განახლებულზე":

  • ყველაფერი protocol-ის დონეზე. protocol ბიბლიოთეკები ყოველი ვერსიისთვის ხელახლა უნდა აიგოს და ხშირად ისინი არიან ფაზლის ბოლო ნაწილი, რომელიც მოდის. plugin-ები, რომლებიც მათზეა დამოკიდებული, გატეხილი რჩება, სანამ ისინი არ მოვლენ.
  • Anti-cheat. ის დიზაინით კითხულობს მოძრაობასა და შიგთავსს, ამიტომ ვერსიაზეა დამაგრებული დიზაინით.
  • საკუთარი ნივთებისა და entity-ების plugin-ები. ისინი მონაცემებს ნივთებსა და ბლოკებში წერენ; შეუსაბამობა არა მხოლოდ ვერ იტვირთება, ის შეიძლება დაარღვიოს იმას, რაც დაწერა.
  • სამყაროს რედაქტირებისა და რუკის plugin-ები. ჩვეულებრივ კარგადაა, მაგრამ ისინი chunk-ის შიგთავსს ეხებიან, ამიტომ გამოსცადე ერთჯერადი region-ით და არა შენი spawn-ით.
  • ყველაფერი მიტოვებული. შეამოწმე ბოლო რელიზის თარიღი ვერსიების სიის შემოწმებამდე.

jar-ში plugin.yml შეიცავს api-version სტრიქონს. plugin, რომელიც არაფერს აცხადებს, 1.13-მდელ ძველ plugin-ად ითვლება, და თანამედროვე Paper build-ები მათზე ხმამაღლა უჩივიან და შეიძლება გაშვებაზე პირდაპირ უარიც თქვან. თუ plugin-ს 2026 წელსაც არ აქვს api-version, ეს მიიჩნიე პასუხად იმაზე, ხელმძღვანელობენ თუ არა მას.

Paper-ის გადასვლამ Mojang mappings-ზე 1.20.5-ში ძველი plugin-ებისთვის ავტომატური remapper დაამატა, რამაც "ეს plugin არასწორი mappings-ისთვის აიგო" ტიპის ჩავარდნების მთელი კლასი ჩუმად გამოასწორა. ეს ჯადოქრობა არ არის - plugin, რომელიც მეთოდს იძახებს, რომელიც აღარ არსებობს, მაინც ვარდება - მაგრამ ნიშნავს, რომ "აგებულია 1.20.4-ისთვის" უფრო იშვიათად არის ფატალური, ვიდრე ადრე.

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

Datapack-ები, resource pack-ები და მშვიდი გაფუჭებები#

Datapack-ები აცხადებენ, რომელი ვერსიისთვის დაიწერა, და რიცხვი თითქმის ყოველ რელიზზე იცვლება:

world/datapacks/tweaks/pack.mcmeta
{  "pack": {    "pack_format": 41,    "description": "Vanilla tweaks"  }}

ზემოთ მოცემული 41 მაგალითია და არა გადასაკოპირებელი მნიშვნელობა - ყოველ რელიზს საკუთარი რიცხვი აქვს, და pack, რომელსაც არასწორი აქვს, ჩაიწერება როგორც შეუთავსებელი. განახლების შემდეგ შეამოწმე datapack list-ით; ყველაფერს, რაც გამორთულთა სიაშია, სჭირდება ახალი ჩამოტვირთვა ან გასწორებული pack.mcmeta. საკუთარი function-ებიც შეიძლება სინტაქსის ცვლილებებზე გატყდეს, რაც ჩატვირთვისას შეცდომებს იძლევა და არა სიჩუმეს. datapack-ების გზამკვლევი რიგითობასა და გამართვას განიხილავს.

Resource pack-ები უფრო მარტივია, მაგრამ ხალხს იმავენაირად ეჭერება. server.properties-ში resource-pack, resource-pack-sha1 და require-resource-pack ფაილზე უთითებს; თუ pack ახალი ვერსიისთვის ხელახლა გაიტანე და hash არ განაახლე, კლიენტები მას უარყოფენ და დაბნეული შეტყობინებების ტალღას იღებ. განაახლე ფაილიც და hash-იც ერთად.

თავად server.properties ვერსიებს შორის ახალ გასაღებებს იძენს - simulation-distance 1.18-ში გამოჩნდა, enforce-secure-profile 1.19-ში - და სერვერი ყოველ დაკარგულ გასაღებს ნაგულისხმევი მნიშვნელობით პირველ გაშვებაზე წერს. შეინახე ძველი ფაილის ასლი და შემდეგ ახალს შეადარე. რაც გამოჩნდა, ახალი ნაგულისხმევია, რომელიც შენ არ აგირჩევია. ყოველი გასაღები განმარტებულია server.properties ახსნილი-ში.

ძველი კლიენტების შემოშვება#

სამი plugin წყვეტს პრობლემას "ჩემი მოთამაშეების ნახევარმა არ განაახლა", და ღირს იცოდე, რომელი რომელია:

Pluginმიმართულება
ViaVersionახალი კლიენტები უფრო ძველ სერვერზე შედიან
ViaBackwardsძველი კლიენტები უფრო ახალ სერვერზე შედიან
ViaRewindძალიან ძველი კლიენტები, 1.8 და 1.7 ეპოქა

ისინი თარგმნის ფენებია და არა დროის მანქანები. 1.8 კლიენტი თანამედროვე სერვერზე ვერ ხედავს ბლოკებს, რომლებიც 1.8-ში არ არსებობდა, და ყველაფერი, რაც ახალ packet ტიპებს ეყრდნობა, მათთვის უცნაურად მოიქცევა. ისინი შესანიშნავია ორკვირიანი გარდამავალი პერიოდისთვის და ცუდია მუდმივ არქიტექტურად. თუ შენი საზოგადოება მუდმივად რამდენიმე ვერსიაზეა გაყოფილი, პატიოსანი პასუხი proxy-ია თითო ვერსიის backend-ების წინ - რას აკეთებს reverse proxy ამის ფორმას განმარტავს.

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

არსებობს ერთი საიმედო უკან დაბრუნება და ეს backup-ია. აღადგინე სამყაროს საქაღალდე და plugins საქაღალდე ერთად ასლიდან, რომელიც მე-5 ნაბიჯზე გააკეთე, დააბრუნე ძველი jar და გაუშვი. ყველაფერს კარგავ, რაც backup-ის შემდეგ ითამაშეს, სწორედ ამიტომ აქვს ფანჯარას მნიშვნელობა და ამიტომ აკეთებ backup-ს განახლებამდე მაშინვე და არა "გუშინდელს".

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

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

შეტყობინებების პრობლემების მოგვარება, რომლებსაც რეალურად ნახავ#

`UnsupportedClassVersionError` - Java-ს ვერსია უფრო ძველია, ვიდრე jar-ს სჭირდება. იხილე ცხრილი ზემოთ.

`NoSuchMethodError` ან `NoClassDefFoundError` plugin-ის stack trace-ში - ეს plugin სხვა სერვერის ვერსიისთვის აიგო. შენ ამას ვერ გამოასწორებ; ჩაანაცვლე ან დაელოდე.

"Could not load 'plugins/Something.jar'", რომელსაც მოსდევს InvalidPluginException - ჩვეულებრივ დაკარგული დამოკიდებულებაა, რადგან plugin-ები არასწორი თანმიმდევრობით დააბრუნე. გადატვირთე დამოკიდებულების არსებობით.

"Outdated server!" ან "Outdated client!" multiplayer სიაში - protocol-ის შეუსაბამობა, და შეტყობინებაში დასახელებული ვერსია არის ის, რომელიც უნდა დაემთხვეს. "Outdated server" ნიშნავს, რომ სერვერი მოთამაშის კლიენტზე ძველია.

"Failed to check session lock for world" - სხვა პროცესს სამყარო ღია აქვს, ან წინა პროცესი გარდაიცვალა მისი გათავისუფლების გარეშე. დარწმუნდი, რომ მხოლოდ ერთი სერვერი უთითებს ამ საქაღალდეზე, შემდეგ გადატვირთე.

chunk-ების საზღვრები თვალსაჩინო კლდით - მოსალოდნელია რელიეფის გენერაციის ცვლილების შემდეგ, როგორიცაა 1.18-ის სიმაღლის ზრდა. ახალი chunk-ები ახალი წესებით გენერირდება ძველების გვერდით. შერევა მას ამსუბუქებს, მაგრამ არ შლის; ერთადერთი წამალია იმ ტერიტორიის წინასწარ გენერაცია, რომელიც გაინტერესებს, ცვლილებამდე, ან მისი პეიზაჟად მიღება.

მობები ძველ chunk-ებში აღარ ჩნდება - ჩვეულებრივ ბიომის ან spawn-ის წესების ცვლილებაა, ზოგჯერ simulation-distance, რომელიც ახალ ნაგულისხმევად მოვიდა და შენს ძველ ეფექტურ დიაპაზონზე დაბალია.

FAQ#

შემიძლია განახლების შემდეგ Minecraft-ის ძველ ვერსიაზე დაბრუნება?

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

უნდა განვაახლო საერთოდ?

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

რამდენ ხანს გრძელდება სამყაროს გარდაქმნა?

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

უნდა განვაახლო რელიზის დღეს?

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

უნდა განვაახლო plugin-ებიც და სერვერიც ერთდროულად?

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

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

დიახ - მოთამაშის მონაცემებიც და სამყაროც წინ გარდაიქმნება, და ეს ნაწილი პრაქტიკაში საიმედოა. რაც არ გადარჩება, არის მონაცემები, რომელიც plugin-მა ჩაწერა და რომელიც შემდეგ წაშალე, რადგან ახალი ვერსიისთვის build არ ჰქონდა; ეს მონაცემები სამყაროს ფაილებში რჩება, წაუკითხავი და უხილავი.


კომენტარები

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

0/2000