RE:NODE

r2modman Valheim-ის ჯგუფებისთვის: ერთი საერთო მოდების profile

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


მოდიფიცირებული Valheim ჯგუფის ერთსა და იმავე მოდებზე შესანარჩუნებლად უნდა შექმნა ერთი r2modman profile, მოახდინო მისი export და ყველამ ერთი და იგივე import გააკეთოს - შემდეგ კი ამ profile-ის plugin-ები და config-ები სერვერზე დააკოპირო. profile-ის კოდი სწრაფია და პირველი დაყენებისთვის კარგია; export-ირებული .r2z ფაილი კი ის არის, რაც უნდა შეინახო, რადგან მუდმივია და ზუსტ ვერსიებს ატარებს. რაც ფუჭდება, export კი არა, ის არის, რაც მერე ხდება: ერთი "update all"-ს აჭერს, მეორე მოდს ამატებს, რომელიც მოეწონა, და სამი კვირის შემდეგ ჯგუფის ნახევარს დაკავშირებისას kick-ს აძლევს. ეს პოსტი განიხილავს profile-ის შექმნას, გაზიარებას, ვერსიების დაფიქსირებას, რომ ის საერთო დარჩეს, და იმავე ნაკრების dedicated სერვერზე გადატანას, რასაც r2modman შენ მაგივრად არ აკეთებს.

თუ სერვერზე BepInEx ჯერ არ დაგიყენებია, დაიწყე Valheim სერვერის მოდები BepInEx-ით-ით. ეს პოსტი მოდების სიის გავრცელებაზეა და არა თავად loader-ზე.

რას აკეთებენ რეალურად r2modman და Thunderstore#

Thunderstore არის მოდების რეპოზიტორია, რომელსაც Valheim-ის community იყენებს. მასზე ყოველ პაკეტს აქვს სახელი Author-ModName ფორმით, ვერსიის ნომერი და manifest.json, რომელიც მის დამოკიდებულებებს ზუსტი ვერსიით ჩამოთვლის - მაგალითად ValheimModding-Jotunn-2.20.0 ან denikson-BepInExPack_Valheim-5.4.2202. სწორედ ამ სტრიქონებს ხსნის mod manager.

r2modman არის open-source desktop mod manager Thunderstore-ის თამაშებისთვის. Valheim-ისთვის ის ოთხ სასარგებლო რამეს აკეთებს:

  • ინახავს profile-ებს, თითოეული ცალკე საქაღალდეა საკუთარი BepInEx ინსტალაციით, ამიტომ მოდიფიცირებული profile და vanilla თამაში ერთმანეთს არასდროს ერევა.
  • აყენებს მოდებს მათი დამოკიდებულებებით, BepInEx/plugins/<Author>-<ModName>/-ში, ამიტომ ყოველ მოდს საკუთარი საქაღალდე და საკუთარი manifest.json აქვს.
  • უშვებს თამაშს ჩატვირთული profile-ით ("Start modded"), Steam-ის ინსტალაციას ხელშეუხებლად ტოვებს.
  • Export-სა და import-ს უკეთებს profile-ებს, რაც სწორედ ის ფუნქციაა, რომელზეც ეს პოსტია.

Thunderstore Mod Manager იგივე კოდია, Overwolf-თან ერთად შეფუთული, ხოლო Gale უფრო ახალი დამოუკიდებელი manager-ია, რომელიც იმავე პაკეტებს კითხულობს და r2modman-ის profile კოდების import-ს ახერხებს. ქვემოთ მოცემული workflow r2modman-ისთვისაა დაწერილი, მაგრამ იდეები ორივეზე გადადის.

Windows-ზე r2modman თავის მონაცემებს %APPDATA%\r2modmanPlus-local\-ში ინახავს, ხოლო Valheim-ის profile აქ მდებარეობს:

code
%APPDATA%\r2modmanPlus-local\Valheim\profiles\<profile name>\    BepInEx\        config\        mod settings        core\          BepInEx itself        patchers\      e.g. HookGenPatcher        plugins\       one folder per mod

ამ გზის აკრეფა იშვიათად დაგჭირდება. Settings, შემდეგ "Browse profile folder" მას გახსნის.

ჯგუფის profile-ის შექმნა#

სიას ერთი ადამიანი ფლობს. ექვსი მეგობრის ჯგუფისთვის ეს ბიუროკრატიულად ჟღერს, მაგრამ ყოველი ჯგუფი, რომელიც ამის გარეშე ცდილობს, patch-ის შემდეგ სიას screenshot-ებიდან აღადგენს. მფლობელი ქმნის profile-ს; დანარჩენები მას import-ს უკეთებენ და არაფერს ამატებენ.

  1. r2modman-ში აირჩიე Valheim, შექმენი ახალი profile და დაარქვი სახელი, რომელიც თარიღს ან ნომერს შეიცავს - Longship-2026-10 და არა Modded. სახელი export-თან ერთად მოგზაურობს და აშკარას ხდის, როცა ვიღაც ძველზეა.
  2. დააყენე მოდები online ჩანართიდან. დამოკიდებულებები ავტომატურად მოდის: დააყენე ერთი კონტენტის მოდი და ჩვეულებრივ დაინახავ, როგორ ჩნდება მის გვერდით BepInExPack Valheim, Jotunn და HookGenPatcher.
  3. ერთხელ გაუშვი თამაში "Start modded"-ით და მთავარ მენიუში გადი. ეს ყოველი მოდის config ფაილს BepInEx/config-ში აგენერირებს. ამ ნაბიჯის გარეშე export config-ებს არ ატარებს და ყველა default მნიშვნელობებით იწყებს.
  4. ის config-ები, რომლებიც გაინტერესებს, r2modman-ის config editor-ით ან პირდაპირ საქაღალდეში შეცვალე. თუ სერვერთან სინქრონიზებულ მნიშვნელობებს ცვლი, ეს მოგვიანებით სერვერზე გააკეთე - იხილე ქვემოთ.
  5. შედი სატესტო სამყაროში, შეამოწმე, რომ ყოველი მოდი იმას აკეთებს, რასაც ელი, შემდეგ კი export გააკეთე.

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

გაზიარება: profile-ის კოდი თუ ფაილი#

r2modman export-ის ორ ფორმატს გთავაზობს Settings-ში: "Export profile as a code" და "Export profile as a file". ფორმულირება ვერსიებს შორის ოდნავ განსხვავდება; ორივე Settings-ის profile სექციაშია.

profile-ის კოდიprofile-ის ფაილი (.r2z)
რა არისმოკლე კოდი, რომელიც ატვირთვაზე მიუთითებსzip შენს დისკზე
როგორ ზიარდებაჩატში ჩასმითფაილის გაგზავნით
სიცოცხლის ხანგრძლივობადროებითი; კოდებს ვადა გასდისმუდმივი
შეიცავს config-ებსკიკი
ზუსტი ვერსიებიკიკი

.r2z ჩვეულებრივი zip-ია. შიგნით არის export.r2x, პატარა YAML ფაილი, რომელიც ყოველ მოდს სახელით ჩამოთვლის, ვერსიით და იმით, ჩართულია თუ არა, ასევე BepInEx/config საქაღალდის ასლი. ეს მას სასარგებლო ჩანაწერადაც აქცევს და არა მხოლოდ გავრცელების საშუალებად: შეგიძლია გახსნა და სია წაიკითხო.

import-ისთვის დანარჩენები r2modman-ში ირჩევენ Valheim-ს, გადადიან profile-ის არჩევის ეკრანზე, აჭერენ "Import / Update"-ს, შემდეგ ირჩევენ "Import new profile"-ს და ან "From code"-ს, ან "From file"-ს. r2modman ჩამოტვირთავს ჩამოთვლილ მოდებს ჩამოთვლილი ვერსიებით და config-ებს შიგნით აკოპირებს. import ახალ profile-ს ქმნის; ადამიანის არსებულ profile-ებს არ ეხება.

კოდები Thunderstore-ის profile-ების გაზიარების სერვისზე იტვირთება და სამუდამოდ არ ინახება, ამიტომ მარტში Discord-ზე გამოქვეყნებულმა კოდმა ივნისში შეიძლება არაფერი გააკეთოს. კოდი მოხერხებულობისთვის გაგზავნე და მის გვერდით .r2z ფაილი მუდმივ ასლად დაამაგრე. როცა სია იცვლება, ახალი სახელით ახალი ფაილის export გააკეთე და დამაგრებული ჩაანაცვლე.

ვერსიების დაფიქსირება, რომ ყველა თანხვედრაში დარჩეს#

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

  • ნუ გამოიყენებ "Update all"-ს. r2modman დაყენებულ მოდებს, რომლებსაც უფრო ახალი ვერსია აქვთ, ნიშნავს და მათ ერთი დაწკაპუნებით განახლებას გთავაზობს. საერთო profile-ზე ეს ერთი დაწკაპუნება ერთ მოთამაშეს სერვერსა და ყველა დანარჩენზე წინ აყენებს. ჯგუფის წესად აქციე: განახლებას მხოლოდ profile-ის მფლობელი აკეთებს და მხოლოდ ახალი profile-ის export-ით.
  • დააყენე კონკრეტული ვერსია, როცა გჭირდება. r2modman-ში მოდის გვერდზე ჩამოტვირთვის ფანჯარა ვერსიის არჩევის საშუალებას გაძლევს, უახლესის ნაცვლად. გამოიყენე ის ერთი მოდის უკან დასაბრუნებლად, როცა განახლება რაღაცას ტეხავს.
  • Jotunn და BepInExPack სიის ნაწილად ჩათვალე. ისინი დამოკიდებულებებია და არა ფონური ხმაური. ერთ კლიენტზე სერვერზე უფრო ახალმა Jotunn-მა შეიძლება ზუსტად ისეთივე შეუსაბამობა გამოიწვიოს, როგორსაც კონტენტის მოდი - Jotunn-ის ახსნა განმარტავს, რატომ.
  • განაახლე ერთი პარტიით. როცა Valheim-ის patch გამოდის, მფლობელი ელოდება, სანამ მოდები დაეწევა, ქმნის profile-ის ახალ ვერსიას, ტესტავს, ანახლებს სერვერს და მხოლოდ ამის შემდეგ აქვეყნებს ახალ ფაილს. ყველა ახალ profile-ს აკეთებს import-ს; ადგილზე არავინ ანახლებს.

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

იმავე ნაკრების დაყენება სერვერზე#

r2modman თამაშის კლიენტს მართავს. dedicated სერვერზე ის არაფერს აყენებს, ამიტომ სერვერის ასლი ხელით კეთდება - მაგრამ რადგან profile-ის საქაღალდე უბრალოდ BepInEx საქაღალდეა, ეს მარტივია.

ჯერ თავად სერვერზე დააყენე BepInExPack Valheim, როგორც BepInEx სერვერის გზამკვლევშია აღწერილი. ნუ დააკოპირებ BepInEx/core-ს ან Windows-ის injector ფაილებს Windows-ის profile-იდან Linux სერვერზე; პაკეტს საკუთარი Linux start სკრიპტი და ბიბლიოთეკები აქვს და სერვერს სწორედ ისინი სჭირდება. profile-იდან აკოპირებ მოდებს და მათ პარამეტრებს:

საქაღალდე profile-შიდავაკოპირო სერვერზე?შენიშვნები
BepInEx/pluginsკი, მხოლოდ კლიენტის მოდების გარდათითო საქაღალდე თითო მოდზე
BepInEx/patchersკიHookGenPatcher და მსგავსები აქ ცხოვრობენ
BepInEx/configკიშემდეგ შეცვალე მხოლოდ სერვერის მნიშვნელობები
BepInEx/coreარასერვერის საკუთარი პაკეტიდან მოდის

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

თავად ატვირთვა ფაილის გადაცემაა: დაარქივე plugins, patchers და config profile-ის საქაღალდიდან zip-ად, ატვირთე zip სერვერის BepInEx დირექტორიაში file manager-ით ან SFTP-ით და ადგილზე გახსენი. SFTP და file manager დაკავშირების დეტალებს შეიცავს. RE:NODE-ზე file manager არქივებს ადგილზე ხსნის, ამიტომ zip-ის ერთი ატვირთვა საკმარისია; ჰოსტზე, სადაც ეს არ არის, საქაღალდეები SFTP-ით ატვირთე.

შემდეგ გაუშვი სერვერი და წაიკითხე startup log. გინდა თითო მოდზე თითო Loading [ModName version] ხაზი და ვერსიები ის უნდა იყოს, რაც profile-შია. შედარების სწრაფი გზაა სიის ამოღება ორივე მხრიდან:

bash
# სერვერზე, სერვერის root საქაღალდიდან$ grep -o 'Loading \[[^]]*\]' BepInEx/LogOutput.log | sort

Windows კლიენტზე იგივე ფაილი profile-ის BepInEx საქაღალდეშია ერთი მოდიფიცირებული გაშვების შემდეგ. თუ ორივე სია იდენტურია, ჯგუფი თანხვედრაშია.

Config-ები: რომელი მხარე იმარჯვებს#

BepInEx/config-ის სერვერზე დაკოპირება ყველას ერთსა და იმავე საწყის წერტილზე აყენებს. ამის შემდეგ მოდების config-ები ორ ტიპად იყოფა და მნიშვნელოვანია, რომელია რომელი.

  • სერვერთან სინქრონიზებული პარამეტრები. მოდები, რომლებიც Jotunn-ის config sync-ზე ან ServerSync-ზეა აგებული, თავიანთ პარამეტრებს დაკავშირებისას სერვერიდან ყოველ კლიენტს უგზავნიან. მათთვის სერვერის ფაილია ჭეშმარიტება და კლიენტის ცვლილებები გადაიწერება ან იგნორირდება. ბევრ ასეთ მოდს აქვს Lock Configuration პარამეტრი, რომელიც ამას აიძულებს; მისი ჩართვისას მხოლოდ სერვერის მნიშვნელობები ითვლება.
  • ლოკალური პარამეტრები. დანარჩენი ყველაფერი ყოველი კომპიუტერის საკუთარი ფაილიდან იკითხება. თუ ერთი მოთამაშე ცვლის carry-weight-ის მნიშვნელობას მოდში, რომელიც არ სინქრონიზდება, ის სხვა წესებით თამაშობს, ვიდრე დანარჩენები, და მას ამას არაფერი ეუბნება.

პრაქტიკული წესი: სინქრონიზებული პარამეტრები სერვერზე შეცვალე და restart გააკეთე; ლოკალური პარამეტრები profile-ში შეცვალე, ახალი ვერსიის export გააკეთე და ყველამ თავიდან import. ნუ სთხოვ ხალხს config ფაილების ხელით შესწორებას თანხვედრისთვის, რადგან ვიღაც ყოველთვის რომელიმეს გამოტოვებს.

დამაგრებული Discord შეტყობინება, რომელიც საქმეს აკეთებს
Profile: Longship-2026-10b  (file attached, code expires)Valheim (server patch noted here), BepInExPack 5.4.2202, Jotunn 2.x.xServer updated: 2026-10-12Do not press Update all. Ask in #mods first.

საერთო profile-ების პრობლემების მოგვარება#

კოდი არაფერს აკეთებს import-ისას ან ამბობს, რომ არასწორია. მას ვადა გაუვიდა. გამოიყენე .r2z ფაილი.

import მუშაობს, მაგრამ ერთი მოდი არ ჩამოიტვირთება. ჩამოთვლილი ზუსტი ვერსია Thunderstore-ზე წაიშალა ან deprecated გახდა. მფლობელმა მიმდინარე ვერსია უნდა აირჩიოს, თავიდან export გააკეთოს და თავიდან გააზიაროს.

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

თამაში vanilla-დ იწყება. მათ Steam-ში Play დააჭირეს r2modman-ში "Start modded"-ის ნაცვლად. Steam-ის ინსტალაციას BepInEx არ აქვს; profile-ს აქვს.

სერვერს მოდები აქვს, მაგრამ ისინი არაფერს აკეთებენ. სერვერი injector-ის გარეშე ჩაირთო, ამიტომ plugins საქაღალდე არ იკითხება. log-ის თავში BepInEx-ის banner მოძებნე; თუ ის არ არის, start ბრძანება BepInEx-ს არ იყენებს.

სერვერზე config-ები restart-ის შემდეგ ნულდება. მოდი გაშვებისას თავის ფაილს თავიდან წერს და key-ებს, რომლებსაც ვერ ცნობს, აგდებს. ჩვეულებრივ key მოდის სხვა ვერსიიდან იყო დაკოპირებული. ფაილი სერვერის ვერსიით დააგენერირე, შემდეგ შეცვალე.

FAQ#

აყენებს r2modman მოდებს dedicated სერვერზე?

არა. ის თამაშის კლიენტის profile-ს მართავს. დააყენე BepInExPack Valheim სერვერზე, შემდეგ profile-ის plugins, patchers და config საქაღალდეები გადააკოპირე.

რამდენ ხანს ძლებს r2modman-ის profile-ის კოდი?

იმდენ ხანს არა, რომ მას დაეყრდნო. კოდები დროებით ატვირთვაზე მიუთითებს და ვადა გასდის. კოდი მოხერხებულობისთვის გააზიარე, ხოლო export-ირებული .r2z ფაილი მუდმივ ასლად შეინახე.

შეუძლია Thunderstore Mod Manager-ს ან Gale-ს r2modman-ის profile-ის import?

Thunderstore Mod Manager r2modman-ზეა აგებული და იმავე ფორმატს იყენებს. Gale-ს შეუძლია r2modman-ის profile კოდებისა და ფაილების import. ერთ ჯგუფში manager-ების შერევა მუშაობს, მაგრამ profile-ის მფლობელმა იმით უნდა დატესტოს, რომელსაც ხალხის უმეტესობა იყენებს.

უნდა იყოს მხოლოდ კლიენტის მოდები ჯგუფის profile-ში?

არა. ისინი მოხერხებულობაა. მათი გამოტოვება profile-ს პატარას ხდის და ყველასთვის ნათელს ხდის, რომელი მოდები უნდა ემთხვეოდეს რეალურად.

რა ხდება, თუ ვინმე ერთ მოდს დამოუკიდებლად განაახლებს?

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