RE:NODE

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

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

როგორ მუშაობს მოდების ჩატვირთვის რიგი, დამოკიდებულებები და კონფლიქტები თამაშის სერვერებზე - Minecraft, Arma და DayZ, 7 Days to Die, Factorio, RimWorld, Zomboid, ARK და FiveM.

0 მკითხველი

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

სამი რამ, რომელიც ერთმანეთში ერევათ#

ხალხი "ჩატვირთვის რიგს" სამ სხვადასხვა პრობლემას ეძახის, და მათ სხვადასხვა გამოსავალი აქვს.

  1. დამოკიდებულებების რიგი. მოდი B მოდი A-ს კოდს ან მონაცემებს იყენებს, ამიტომ A პირველი უნდა ჩაიტვირთოს. თუ შეცდები, B ვარდება, ჩვეულებრივ გაშვებისას missing-class, missing-addon ან nil-reference შეცდომით. სწორედ ესაა ის, რაც სერვერს გაშვებას უშლის.
  2. გადაფარვის რიგი. მოდები A და B ორივე ერთსა და იმავე მნიშვნელობას ცვლის - ხის stack-ის ზომას, თოფის მახასიათებლებს, loot-ის ცხრილს. ორივე იტვირთება, და რომელიც ბოლოს (ან პირველად, თამაშზე დამოკიდებით) მოქმედებს, ის მიიღე. არაფერი ვარდება; უბრალოდ პარამეტრი არ აკეთებს იმას, რასაც ელოდი.
  3. კოდის კონფლიქტები. ორი მოდი თამაშის კოდში ერთსა და იმავე ფუნქციას ასწორებს. რიგმა შეიძლება უშველოს, ან შეიძლება მნიშვნელობა არ ჰქონდეს, რადგან patch-ები შეუთავსებელია ნებისმიერი რიგით. ეს იწვევს ყველაზე უცნაურ crash-ებს და ყველაზე გრძელ საღამოებს.

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

ბოლო იმარჯვებს, პირველი იმარჯვებს, ან loader წყვეტს#

მოდელიროგორ მუშაობსთამაშები
ბოლო იმარჯვებსშემდგომი მოდები ადრინდელებს გადააწერენ7 Days to Die-ის XML patch-ები, RimWorld-ის def-ები, Bethesda-ს plugin-ები
პირველი იმარჯვებსპირველი მოდი, რომელიც asset-ს იძლევა, მას ინარჩუნებსARK (Survival Evolved ActiveMods)
loader ალაგებსრიგი გამოცხადებული დამოკიდებულებებით გამოითვლებაMinecraft Forge, NeoForge და Fabric, Factorio
გაშვების რიგიყველაფერი ჩამოთვლილი რიგით ეშვება; გადაფარვა არ ხდებაFiveM-ის resource-ები, Minecraft-ის plugin-ები

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

Minecraft: loader წყვეტს#

Forge-ს, NeoForge-სა და Fabric-ს მომხმარებლის მიერ რედაქტირებადი ჩატვირთვის რიგი არ აქვთ. jar-ებს mods/-ში აგდებ, loader კი თითოეული მოდის მეტამონაცემებს კითხულობს - META-INF/neoforge.mods.toml მიმდინარე NeoForge-ზე, META-INF/mods.toml Forge-სა და ძველ NeoForge-ზე, fabric.mod.json Fabric-ზე - აგებს დამოკიდებულებების გრაფს და ალაგებს მას.

რასაც აკონტროლებ, ის არის, რომელი jar-ებია ადგილზე. ამიტომ შეცდომები, რომლებსაც ხედავ, არსებობასა და ვერსიებს ეხება:

code
Mod create requires flywheel 1.0.0 or aboveCurrently, flywheel is not installed

Fabric-ის მეტამონაცემებს აქვს depends, recommends, breaks და conflicts ველები. breaks ჩანაწერი სერვერს აჩერებს მკაფიო შეტყობინებით, რომელიც ორივე მოდს ასახელებს; conflicts მხოლოდ აფრთხილებს. NeoForge-ის ეკვივალენტია დამოკიდებულების type: required, optional, incompatible ან discouraged. ეს შეტყობინებები სიტყვასიტყვით წაიკითხე - ისინი ყველაზე მკაფიო შეცდომებს შორისაა, რასაც რომელიმე მოდიანი თამაში იძლევა.

Minecraft-ში კოდის კონფლიქტები Mixin-ებიდან მოდის - სისტემიდან, რომლითაც მოდები თამაშის კოდს ასწორებენ. ორ მოდს, რომლებიც ერთსა და იმავე მეთოდში ჩადგმას ცდილობენ, შეუძლია crash გამოიწვიოს MixinApplyError-ით ან InvalidInjectionException-ით, რომელიც სამიზნე მეთოდს ასახელებს. რიგი ამას ვერ გამოასწორებს; ერთი მოდი უნდა წავიდეს, ან ახალმა ვერსიამ უნდა გამოასწოროს. სტატია მოდიანი Minecraft crash-ების გარეშე მათ კითხვაში უფრო ღრმად შედის.

Paper-ის plugin-ები სხვა სისტემაა იმავე იდეით. თითოეული plugin-ის plugin.yml აცხადებს depend-ს (მკაცრი დამოკიდებულება - plugin მის გარეშე არ ჩაიტვირთება), softdepend-ს (ჩაიტვირთება მის შემდეგ, თუ არსებობს) და loadbefore-ს. თუ plugin "Unknown dependency"-ით ვარდება, დასახელებული plugin აკლია და არა რიგშია არეული.

plugin.yml
name: MyShopdepend: [Vault]softdepend: [LuckPerms, PlaceholderAPI]

Arma 3 და DayZ: -mod ხაზი#

Bohemia-ს თამაშები მოდებს -mod= გაშვების პარამეტრიდან ტვირთავენ, წერტილ-მძიმით გამოყოფილს, დაწერილი რიგით:

bash
-mod="@CF;@Dabs Framework;@DayZ-Expansion-Core;@DayZ-Expansion-Vehicles"-serverMod="@ServerOnlyTools"

სინამდვილეში ორი რიგი მოქმედებს. -mod-ის რიგი წყვეტს, რომელი საქაღალდეები იტვირთება პირველად. მოდების შიგნით კი თითოეული addon-ის config.cpp თავის CfgPatches კლასში აცხადებს requiredAddons-ს, და engine ამას თავად კონფიგის კლასების დასალაგებლად იყენებს. მოდი, რომელიც თავის დამოკიდებულებებს სწორად აცხადებს, თითქმის ნებისმიერ -mod პოზიციაზე მუშაობს; ის, რომელიც არ აცხადებს, დამოკიდებულია იმაზე, რომ მის წინაპირობებს პირველად დააყენებ. ზოგადი წესი: ჯერ framework-ები (Community Framework, CBA_A3 Arma 3-ში), შემდეგ დიდი კონტენტის მოდები, შემდეგ მოდები, რომლებიც მათ ასწორებენ, შემდეგ პატარა ცვლილებები.

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

ხელმოწერის გასაღებები მეორე ნახევარია. თითოეულ მოდს თავის keys საქაღალდეში .bikey მოყვება, და სერვერი მხოლოდ იმ კლიენტებს უშვებს, რომელთა მოდებიც ხელმოწერილია სერვერის საკუთარ keys საქაღალდეში არსებული გასაღებით (ჩართული ხელმოწერის შემოწმებით). კლიენტს, რომელიც ხელმოწერის შეუსაბამობის გამო გააგდეს, ჩვეულებრივ მოდის სხვა ვერსია აქვს და არა სხვა რიგი. DayZ-ის მხარე აღწერილია სტატიაში DayZ-ის სერვერი და მოდები, ხოლო Linux-ის სერვერები ამატებს რეგისტრის მგრძნობელობის ხაფანგს, რომელიც აღწერილია სტატიაში Linux თუ Windows თამაშის სერვერებისთვის.

7 Days to Die: ანბანური საქაღალდეები და XPath#

7 Days to Die ტვირთავს Mods/-ის ყველა საქაღალდეს, რომელიც ModInfo.xml-ს შეიცავს, საქაღალდის სახელის ანბანური რიგით. თამაშს თავად მოყვება იქ ერთი, 0_TFP_Harmony, და სწორედ ამიტომ არსებობს რიცხვითი პრეფიქსების კონვენცია: საქაღალდის 1_SomeMod-ად ან zz_MyTweaks-ად გადარქმევა არის გზა, რომლითაც მას რიგში ამოძრავებ.

მოდების უმეტესობა თამაშის XML ფაილებს არ ანაცვლებს; ისინი მათ XPath ოპერაციებით ასწორებენ:

Mods/zz_MyTweaks/Config/items.xml
<configs>  <set xpath="/items/item[@name='resourceWood']/property[@name='Stacknumber']/@value">1000</set></configs>

patch-ები ჩატვირთვის რიგით მოქმედებს, თითოეული წინას შედეგის თავზე, ასე რომ ბოლო მოდი, რომელიც მნიშვნელობას set-ით აყენებს, იმარჯვებს. ამიტომ პირადი ცვლილებების მოდის ადგილი ბოლოშია, zz_-ის მსგავსი სახელით. თუ ადრინდელმა მოდმა წაშალა კვანძი, რომლის გასწორებასაც შემდგომი ცდილობს, შემდგომი patch ვარდება, და ლოგი ამას ამბობს. ყოველი მოდის ცვლილების შემდეგ მასში XPath გაფრთხილებები მოძებნე; ისინი "ჩემმა პარამეტრმა არაფერი შეცვალა"-ს შეუმჩნეველი მიზეზია. ისეთი overhaul მოდები, როგორიცაა Darkness Falls, იმდენს გადაწერს, რომ სხვა მოდების უმეტესობას მათ გვერდით თავსებადობის ვერსია სჭირდება. ამის შესახებ მეტი სტატიაშია 7 Days to Die-ის ადმინის ბრძანებები და მოდები.

Factorio: დამოკიდებულებები info.json-ში#

Factorio მოდებს თითოეული მოდის info.json-ით ალაგებს. dependencies მასივი პრეფიქსებს იყენებს:

პრეფიქსიმნიშვნელობა
არცერთისავალდებულო, და იტვირთება ამ მოდამდე
?არასავალდებულო; იტვირთება ამ მოდამდე, თუ არსებობს
(?)არასავალდებულო და მოდების სიიდან დამალული
!შეუთავსებელი; თამაში ორივეს ერთად არ უშვებს
~სავალდებულო, მაგრამ ჩატვირთვის რიგზე გავლენა არ აქვს
info.json
"dependencies": ["base >= 2.0", "? space-age", "! some-conflicting-mod"]

დამოკიდებულებების გრაფის მიღმა რიგი მოდის სახელით განისაზღვრება, ამიტომ ხელით ვერ გადაალაგებ. Factorio მოდების სიასაც მკაცრად ამოწმებს: კლიენტებს ზუსტად სერვერის მოდები და ვერსიები უნდა ჰქონდეთ, და თამაში შესვლისას გთავაზობს მათ სინქრონიზაციას mod portal-იდან. ხარჯის მხარეს აღწერს Factorio-ს მოდები და UPS-ის წარმადობა.

RimWorld, Zomboid, ARK, FiveM და სხვები#

RimWorld

RimWorld-ის რიგი ModsConfig.xml-ში არსებული activeMods სიაა, და შემდგომი მოდები ადრინდელებს გადაფარავს. კონვენცია ასეთია: ჯერ Harmony, შემდეგ Core (ludeon.rimworld), შემდეგ DLC-ები, შემდეგ framework-ები, შემდეგ კონტენტი, შემდეგ patch-ები. თითოეული მოდის About/About.xml-ს შეუძლია გამოაცხადოს loadAfter, loadBefore და modDependencies, და დამლაგებელი ხელსაწყოები, როგორიცაა RimSort, მათ კითხულობს და სიას შენ მაგივრად ალაგებს. Multiplayer მოდით მრავალმოთამაშიანი თამაშისთვის ყოველ მოთამაშეს ერთი და იგივე მოდები სჭირდება ერთი და იმავე რიგით; მოდი ამოწმებს და შეუსაბამობებს უარყოფს. მათ სინქრონიზაციას აღწერს RimWorld-ის მრავალმოთამაშიანი სერვერის გზამკვლევი.

Project Zomboid

Zomboid-ის სერვერის ini მოდებს ორ ხაზზე ჩამოთვლის, რომლებიც ერთმანეთს უნდა ემთხვეოდეს: WorkshopItems= შეიცავს ჩამოსატვირთ Workshop-ის ID-ებს, Mods= - ჩასართავ მოდების ID-ებს, ორივე წერტილ-მძიმით გამოყოფილი. რუკები მესამე ხაზზე მიდის, Map=, სადაც რიგს მნიშვნელობა აქვს: მორგებული რუკები პირველად მოდის, საბაზისო რუკა, Muldraugh, KY, კი ბოლოს, თორემ მორგებული რუკის უჯრედებს vanilla-ს უჯრედები დაფარავს. Build 42-მა მოდების ID-ების ზოგიერთი კონვენცია შეცვალა, ამიტომ ID-ები თითოეული მოდის მიმდინარე Workshop-ის გვერდიდან დააკოპირე და არა ძველი გზამკვლევიდან. დეტალები მოცემულია სტატიაში Project Zomboid-ის მოდები და Workshop.

ARK

ARK: Survival Evolved-ზე GameUserSettings.ini-ში ActiveMods= Workshop-ის ID-ებს ჩამოთვლიდა, და როცა ორი მოდი ერთსა და იმავე asset-ს იძლეოდა, პირველად ჩამოთვლილი იმარჯვებდა - თამაშების უმეტესობის საპირისპიროდ. ARK: Survival Ascended CurseForge-ის მოდებზე გადავიდა, რომლებიც გაშვების ხაზზე -mods=-ით გადაეცემა. მოდი, რომელსაც უპირატესობა უნდა ჰქონდეს, უფრო ადრე ჩასვი, ხოლო რუკის მოდები მათ დოკუმენტირებულ პოზიციაზე დატოვე.

FiveM

FiveM-ის resource-ები ერთმანეთს არ გადაფარავს; ისინი server.cfg-ში ensure ხაზების რიგით ეშვება, და resource, რომელიც სხვის export-ებს იძახებს, მის შემდეგ უნდა გაეშვას. resource-ებს fxmanifest.lua-ში dependencies-ის გამოცხადებაც შეუძლიათ, და FiveM მათ პირველად გაუშვებს ან მკაფიო შეტყობინებით უარს იტყვის. ჩვეულებრივი რიგია: ბაზის კონექტორი, შემდეგ framework, შემდეგ framework-ის resource-ები, შემდეგ ყველაფერი დანარჩენი:

server.cfg
ensure oxmysqlensure ox_libensure qb-coreensure [qb]ensure [standalone]

კვადრატულ ფრჩხილებში მოცემული სახელები resource-ების საქაღალდეებია, რომლებიც ერთად ეშვება. FiveM-ის framework-ები: ESX, QBCore და Qbox ხსნის, რატომ უნდა იყოს framework ჩართული მასზე დამოკიდებულებამდე.

Valheim და სხვა BepInEx თამაშები

BepInEx-ს მომხმარებლისთვის ხილული რიგი საერთოდ არ აქვს. ის BepInEx/plugins-ში ყოველ plugin-ის DLL-ს ტვირთავს, ხოლო plugin, რომელსაც სხვა სჭირდება, ამას კოდში BepInDependency ატრიბუტით აცხადებს, ან მკაცრად (plugin მის გარეშე არ ჩაიტვირთება), ან რბილად (ჩაიტვირთება მის შემდეგ, თუ არსებობს). დაკარგული მკაცრი დამოკიდებულება BepInEx/LogOutput.log-ში ჩანს და plugin გამოტოვებულია. კონფლიქტები ორი მოდის Harmony patch-ებია თამაშის ერთსა და იმავე მეთოდზე, რაც ჩანს შეცდომებად, რომლებიც მეთოდს ასახელებს. Valheim-ის BepInEx სერვერის გზამკვლევი აღწერს, რომელი მოდები უნდა იყოს კლიენტებზეც.

SourceMod

SourceMod .smx plugin-ებს addons/sourcemod/plugins-იდან ტვირთავს, და ყველაფერი, რაც disabled ქვესაქაღალდეშია გადატანილი, გამოტოვებულია. plugin-ები, რომლებიც სხვა plugin-ის native-ებზე ან extension-ზე არიან დამოკიდებული, ვერ იტვირთება და SourceMod-ის შეცდომების ლოგში შეცდომას წერს, სანამ მიმწოდებელი არ გამოჩნდება; sm plugins list აჩვენებს, რომელი ჩაიტვირთა და რომელი ჩავარდა. ამის მიღმა რიგს იშვიათად აქვს მნიშვნელობა, მაგრამ ორი plugin, რომლებიც ერთსა და იმავე მოვლენაზე hook-ს აკეთებენ და ერთსა და იმავე მნიშვნელობას ცვლიან, შეიძლება ერთმანეთს ეჭიდებოდეს, და შედეგი იმაზეა დამოკიდებული, რომელი hook მუშაობს ბოლოს. წყვილიდან ერთის გათიშვა ამის დადასტურების ყველაზე სწრაფი გზაა.

კლიენტი და სერვერი უნდა ემთხვეოდეს#

მოდიანი სერვერების უმეტესობაზე სერვერის მოდების სია კონტრაქტია, რომელსაც ყოველი კლიენტი უნდა შეესაბამებოდეს:

  • კონტენტის მოდები - ახალი ნივთები, არსებები, ბლოკები, მანქანები, რუკები - ორივე მხარეს უნდა იყოს ერთი და იმავე ვერსიით.
  • მხოლოდ სერვერის მოდები - ადმინის ხელსაწყოები, backup-ები, anti-cheat, Discord-ის ხიდები - მხოლოდ სერვერზე.
  • მხოლოდ კლიენტის მოდები - ინტერფეისი, მინირუკები, shader-ები - მხოლოდ კლიენტებზე, და Minecraft-ზე ზოგიერთი სერვერს crash-ს აძლევს, თუ მასზე დააყენებ.

შეუსაბამობა ჩანს უარყოფილი კავშირით, შესვლიდან რამდენიმე წამში გაგდებით ან ობიექტებით, რომლებიც ზოგი მოთამაშისთვის არსებობს, ზოგისთვის კი არა. Valheim-ის BepInEx მოდები, Minecraft-ის modpack-ები და Factorio ამას ცხადად აიძულებენ; სხვები გიტოვებენ, რომ desync-ებში იპოვო. ზუსტი სიის გამოქვეყნება, ვერსიებით, მოდიანი სერვერის მართვის ნახევარი საქმეა. ჯგუფის სინქრონში შენარჩუნებას აღწერს მოდიანი სერვერი მეგობრებისთვის.

კონფლიქტის პოვნა#

როცა მოდიანი სერვერი ფუჭდება და ეჭვი რიგზე მოდის:

  1. წაიკითხე პირველი შეცდომა და არა ბოლო. პირველი exception ან missing-dependency ხაზი ასახელებს მოდს, რომელიც ვერ ჩაიტვირთა. ყველაფერი მის შემდეგ შედეგია.
  2. რიგამდე დამოკიდებულებები შეამოწმე. "ჩატვირთვის რიგის" პრობლემების უმეტესობა დაკარგული ან არასწორი ვერსიის დამოკიდებულებაა.
  3. მოძებნე გადაფარვის გაფრთხილებები. 7 Days to Die-ის XPath ჩავარდნები, RimWorld-ის წითელი შეცდომები გაშვებისას, Fabric-ის conflicts გაფრთხილებები.
  4. გაყავი შუაზე. გათიშე მოდების ნახევარი, შეამოწმე და განაგრძე იმ ნახევრის განახევრება, რომელშიც ხარვეზია. ოც მოდს ხუთი რაუნდი სჭირდება. სრული პროცედურა მოცემულია სტატიაში რა ქნა, როცა მოდის განახლება ყველაფერს აფუჭებს.
  5. ერთ ჯერზე ერთი რამ შეცვალე, და ყოველი ცვლილების წინ მომუშავე მოდების საქაღალდის backup შეინახე.

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

FAQ#

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

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

რომელი მოდი იმარჯვებს, როცა ორი მოდი ერთსა და იმავე რამეს ცვლის?

თამაშზეა დამოკიდებული. 7 Days to Die-სა და RimWorld-ში ჩვეულებრივ შემდგომი მოდი იმარჯვებს; ARK: Survival Evolved-ში ადრინდელი იმარჯვებდა; Minecraft-სა და Factorio-ში loader დამოკიდებულებებით წყვეტს. გადალაგებამდე შეამოწმე, რომელ მოდელს იყენებს შენი თამაში.

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

თამაშებში, რომლებიც მოდების სიას მკაცრად ამოწმებს - RimWorld Multiplayer, Skyrim Together, Factorio - კი, ან სულ მცირე იგივე სია და ვერსიები. Arma 3-სა და DayZ-ში სერვერის -mod სია მართავს, და კლიენტებს იგივე მოდები და ხელმოწერები სჭირდებათ.

რატომ არ იტვირთება ჩემი მოდი, თუმცა საქაღალდეშია?

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

არსებობს ხელსაწყო, რომელიც მოდებს ავტომატურად ალაგებს?

ზოგი თამაშისთვის. RimSort RimWorld-ისთვის მოდების მეტამონაცემებს კითხულობს და სიას ალაგებს; Minecraft და Factorio თავად ალაგებენ. Arma 3-ის, DayZ-ისა და 7 Days to Die-ისთვის ძირითადად თითოეული მოდის დოკუმენტირებულ პოზიციასა და მის დამოკიდებულებებს მიჰყვები.


კომენტარები

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

0/2000