DLL Manager
More actions
Modloader में Compatibility → DLL Manager खोलें। इस पैनल के ऊपर यह मार्गदर्शिका दिखाई देती है। इसमें ShroudForge द्वारा मिले मॉड DLL और उनके लोड होने की स्थिति दी जाती है। ज्ञात मॉड के लिए प्रोफ़ाइल पहले से तैयार होती हैं। अन्य DLL के लिए वहीं चुनकर पुष्टि करें।
क्या मैं एक से अधिक नेटिव DLL मॉड उपयोग कर सकता हूँ?
हाँ। हर मॉड को mods/ के ठीक नीचे अपने फ़ोल्डर में इंस्टॉल करें और लेखक द्वारा दी गई फ़ाइलें तथा सबफ़ोल्डर वैसे ही रखें। मेल खाती प्रोफ़ाइल पहले से सही DLL चुन सकती है। बिना मेल खाती प्रोफ़ाइल वाले मॉड के लिए DLL Manager में Adjust DLL selection खोलें। केवल लेखक द्वारा बताई गई एंट्री DLL चुनें। लोड लक्ष्य चुनें और पुष्टि करें कि आप DLL पर भरोसा करते हैं। सामान्य नेटिव लाइब्रेरी के लिए Normal DLL रखें। DirectInput proxy केवल उस DLL के लिए चुनें जिसे DirectInput उपलब्ध कराना है और जो DirectInput8Create एक्सपोर्ट करती है। Apply selection पर क्लिक करें और गेम फिर शुरू करें। केवल पहचान होने से बिना प्रोफ़ाइल वाली DLL लोड नहीं होती। इसके लिए DLL Manager में पुष्टि किया गया चयन, native-plugin.ini या dinput8-chain.ini में घोषणा, या उसके Lua मॉड से पंजीकरण आवश्यक है।
डाउनलोड किए गए मॉड के साथ क्या करें?
- No DLL included: मॉड को सामान्य तरीके से इंस्टॉल करें। ShroudForge या EML के लिए बने मॉड को अतिरिक्त नेटिव DLL की आवश्यकता नहीं होती।
- DLL included: नीचे बताए अनुसार मॉड DLL को उसके मॉड फ़ोल्डर में रखें। फिर वह DLL Manager में दिखाई देगा। ज्ञात प्रोफ़ाइल में उसका चयन पहले से तैयार होता है। अन्यथा वहाँ DLL चुनकर पुष्टि करें।
- Other mod files included: पूरा मॉड फ़ोल्डर रखें।
mod.json,native-plugin.iniया कॉन्फ़िगरेशन फ़ाइलें न हटाएँ।
यदि एक मॉड में कई DLL फ़ाइलें हों
कई मॉड फ़ोल्डरों में DLL ऐसी सहायक फ़ाइलें होती हैं जिन्हें लोड नहीं करना चाहिए। केवल वे DLL चुनें जिन्हें मॉड प्रोफ़ाइल या मॉड लेखक के निर्देश लोड करने के लिए कहते हैं। ऊपर और नीचे के नियंत्रण उस मॉड फ़ोल्डर के भीतर चुनी गई DLL का क्रम तय करते हैं। वे अलग-अलग मॉड फ़ोल्डरों की सामान्य DLL के लिए वैश्विक मैन्युअल क्रम निर्धारित नहीं करते।
मॉड DLL इंस्टॉल करना
यदि ShroudForge इंस्टॉलर डाउनलोड किए गए मॉड पैकेज को पहचानता है, तो उसे वहीं इंस्टॉल करें। मैन्युअल इंस्टॉल के लिए हर मॉड को mods/ के ठीक नीचे अपने फ़ोल्डर में रखें और मॉड की DLL उसी फ़ोल्डर में डालें। यदि आर्काइव में DLL मॉड फ़ोल्डर के बगल में है, तो उसे मॉड के साथ रखें। मूल फ़ाइल नाम और पैकेज के सबफ़ोल्डर बनाए रखें।
mods/
my-mod/
mod.json (if included)
dinput8.dll (or the mod's DLL)
config.ini (if included)
केवल फ़ोल्डर में मौजूद होने से DLL लोड नहीं होती। ऊपर बताए अनुसार उसे DLL Manager में चुनें।
मॉड फ़ाइल का नाम dinput8.dll भी क्यों हो सकता है?
ShroudForge की अपनी स्टार्टअप फ़ाइल गेम फ़ोल्डर में dinput8.dll है। मॉड फ़ाइल अलग से mods/<mod-folder>/dinput8.dll में होती है। ShroudForge उसे इसी पूरे पथ से लोड करता है। मेल खाती प्रोफ़ाइल या DLL Manager चयन होने पर ShroudForge DirectInput कॉल आगे भेजता है। दोनों फ़ाइलों का नाम समान हो सकता है। मॉड फ़ाइल का नाम न बदलें और उसे गेम फ़ोल्डर में न रखें। वहाँ ShroudForge की स्टार्टअप फ़ाइल को प्रतिस्थापित न करें।
प्रोफ़ाइल समझना
प्रोफ़ाइल किसी ज्ञात मॉड के लिए तैयार की गई सेटिंग है। यह ShroudForge को बताती है कि कौन-सी फ़ाइलें और किस तरह लोड करनी हैं। ShroudForge इसे mod.json में मॉड ID से, या ID न होने पर फ़ोल्डर नाम से मिलाता है। आप DLL Manager में भी प्रोफ़ाइल चुन सकते हैं। प्रोफ़ाइल मॉड फ़ाइलें नहीं बदलतीं। सहेजा गया कस्टम DLL चयन प्रोफ़ाइल का फ़ाइल चयन बदल देता है।
मौजूदा DirectInput चेन
गेम फ़ोल्डर में मौजूद dinput8-chain.ini स्थापित प्रारूप उपयोग करती है:
[Chain] mods\my-mod\dinput8.dll mods\another-mod\native.dll
प्रविष्टियों का पथ सीधे मॉड पैकेज के भीतर की फ़ाइलों तक जाना चाहिए, जैसे mods/<mod-folder>/। गेम रूट की DLL और उन पैकेजों के बाहर के पथ अस्वीकार होते हैं। उनका क्रम अपने आप निकाली गई घोषणाओं को प्राथमिकता देता है। यह फ़ाइल DirectInput प्रोवाइडर चेन का क्रम तय करती है, अलग-अलग मॉड फ़ोल्डरों की सामान्य DLL का नहीं। एक ही हल किया गया फ़ाइल पथ केवल एक बार लोड होता है। अपनी DirectInput8Create एक्सपोर्ट करने वाली पहली मान्य DLL को आगे भेजी गई कॉल मिलती हैं। बाद की DirectInput प्रॉक्सी DLL लोड हो सकती हैं, लेकिन उनके DirectInput एक्सपोर्ट चेन में सक्रिय नहीं होते। यह न मानें कि कई प्रॉक्सी साथ काम करेंगी। ShroudForge की अपनी स्टार्टअप फ़ाइलें छोड़ दी जाती हैं और दोबारा आगे भेजने की स्थिति में मूल Windows लाइब्रेरी उपयोग होती है।
स्विच, प्रक्रिया लक्ष्य और पुनः आरंभ
मुख्य स्विच ShroudForge द्वारा की जाने वाली सभी नेटिव लोडिंग नियंत्रित करता है, जिसमें INI, प्रोफ़ाइल, चेन और Lua पंजीकरण शामिल हैं। अक्षम चयन उस फ़ोल्डर के लिए स्वचालित लोडिंग रोकता है। Client, server या both लक्ष्य प्रक्रिया तय करते हैं। फ़ाइल नाम बहिष्करण लोड करने से ठीक पहले लागू होते हैं। वे नाम के आधार पर मॉड की कार्यक्षमता नहीं पहचानते।
लोड की गई DLL प्रक्रिया समाप्त होने तक मेमोरी में रहती हैं। इसलिए उन्हें अक्षम करने, क्रम बदलने या दूसरी प्रोफ़ाइल चुनने के लिए गेम को फिर शुरू करना पड़ता है। एक ही फ़ाइल की दोहरी घोषणाएँ दूसरी प्रतिलिपि नहीं बनातीं।
लोडिंग त्रुटि दिखाई देती है
मॉड का नाम, फ़ाइल पथ और बताई गई वजह जाँचें। Windows त्रुटि 126 का अर्थ मुख्य फ़ाइल या उसकी किसी आवश्यक लाइब्रेरी का गायब होना हो सकता है। यदि DirectInput एक्सपोर्ट गायब है, तो चुनी गई फ़ाइल और उसका लोडिंग मोड जाँचें। “Loaded” लोडिंग की पुष्टि करता है, मॉड की हर सुविधा की नहीं।
अज्ञात नेटिव प्लगइन प्रारूप, Vulkan लेयर, अतिरिक्त पूरा लोडर या बाहरी प्रोग्राम को उसके अभिप्रेत एकीकरण की आवश्यकता होती है। केवल लाइब्रेरी लोड करने से वह इंटरफ़ेस उपलब्ध नहीं होता।
पैकेज इंस्टॉल करना
इंस्टॉलर नेस्टेड आर्काइव फ़ोल्डरों में एक अकेला मॉड पैकेज भी ढूँढ़ता है। ज्ञात प्रोफ़ाइल स्पष्ट रूप से नामित साथी फ़ाइलें आयात करती हैं। कई मॉड पैकेज वाला नया आर्काइव समूह के रूप में अपने आप इंस्टॉल नहीं होता। उसे निकालें और एक बार में एक मॉड फ़ोल्डर इंस्टॉल करें। सामान्य रनटाइम संचालन आर्काइव नहीं खोलता और बाहरी प्रोग्राम शुरू नहीं करता।