Marinara Engine को अपडेट करना

Marinara Engine को नए वर्ज़न पर अपडेट करें, ऐप के अंदर अपडेट जाँचें, और कुछ टूट जाए तो पुराने वर्ज़न पर लौटें। अपडेट करने पर आपकी चैट और सेटिंग्स बनी रहती हैं।

मेरे लिए कौन सा अपडेट तरीका सही है?

आपने कैसे इंस्टॉल कियाकैसे अपडेट करें
Windows इंस्टॉलर या start.batMarinara बंद करके दोबारा खोलें। देखें Windows।
macOS या Linux./start.sh दोबारा चलाएँ। देखें macOS और Linux।
Docker या Podmanनई इमेज पुल करें और रीस्टार्ट करें। देखें Docker या Podman।
Android ऐपAPK अपडेट करें, फिर Install / Start Marinara पर टैप करें। देखें Android (Termux)।
iPhone या iPadसर्वर वाला डिवाइस अपडेट करें। देखें iPhone और iPad।

पहले बैकअप लें

वर्ज़न में किसी भी बड़ी छलाँग से पहले बैकअप बना लें। अगर आगे चलकर पुराने वर्ज़न पर लौटना पड़ सकता है, तो बैकअप हमेशा बनाएँ।

  1. Settings (सेटिंग्स) खोलें।
  2. Advanced (एडवांस्ड) टैब पर जाएँ।
  3. Backup & Export (बैकअप और एक्सपोर्ट) सेक्शन ढूँढें।
  4. Download Backup (बैकअप डाउनलोड) पर क्लिक करें।
  5. .zip फ़ाइल किसी सुरक्षित जगह सेव करें।

काम चलने के दौरान बटन पर Creating backup… दिखता है। पूरा होने पर ब्राउज़र आपके डेटा की एक .zip फ़ाइल सेव कर देता है। रिस्टोर करने के लिए देखें Marinara का बैकअप और रिस्टोर।

प्लैटफ़ॉर्म के हिसाब से अपडेट

वह सेक्शन चुनें जो आपके Marinara इंस्टॉल करने के तरीके से मेल खाता हो। git कॉपी यानी Git टूल से इंस्टॉल की गई कॉपी। Windows इंस्टॉलर और हर git clone इसी में आते हैं।

Windows

Marinara शुरू करते ही लॉन्चर उसे अपडेट कर देता है।

  1. Marinara Engine बंद करें।
  2. इसे डेस्कटॉप या Start Menu शॉर्टकट से दोबारा खोलें, या start.bat चलाएँ।

लॉन्चर सबसे नया कोड लाता है, जो बदला है उसे दोबारा इंस्टॉल करता है, ऐप फिर से बनाता है और नया वर्ज़न शुरू कर देता है। अगर आपने कोड में खुद बदलाव किए हैं, तो वह उन्हें अलग रख देता है और अपडेट के बाद वापस लगा देता है। ऐसा न हो पाए, तो वह आपका मौजूदा वर्ज़न ही रहने देता है और एक नोट दिखाता है। अपडेट से पहले वह आपके डेटा की कॉपी बना लेता है, और ऐसा अपडेट छोड़ देता है जो आपको आपके डेटा से पुराने वर्ज़न पर ले जाए (देखें पुराने वर्ज़न पर वापस जाना)।

एक बार अपडेट छोड़ने के लिए start.bat --skip-update चलाएँ। हर बार शुरू करने पर इंस्टॉल किया हुआ वर्ज़न बनाए रखना हो, तो प्रोजेक्ट के .env में AUTO_UPDATE_ENABLED=false सेट करें। इससे सिर्फ़ अपने आप होने वाले अपडेट बंद होते हैं। मैन्युअल कमांड और Settings → Advanced → Check for Updates (सेटिंग्स → एडवांस्ड → अपडेट जाँचें) फिर भी काम करते हैं।

लॉन्चर कहे कि Node.js बहुत पुराना है, तो Node.js 24 LTS (Long Term Support, यानी सुझाया गया स्थिर रिलीज़) इंस्टॉल करें, फिर Marinara दोबारा शुरू करें। चाहें तो GitHub Releases पेज से सबसे नया इंस्टॉलर डाउनलोड करके भी चला सकते हैं।

macOS और Linux

  1. Marinara Engine बंद करें।
  2. अपने Marinara फ़ोल्डर से लॉन्चर चलाएँ।
./start.sh

लॉन्चर सबसे नया कोड लाता है, बदली हुई डिपेंडेंसी दोबारा इंस्टॉल करता है, ऐप फिर से बनाता है और नया वर्ज़न शुरू कर देता है। एक बार अपडेट छोड़ने के लिए ./start.sh --skip-update इस्तेमाल करें, या अपने आप होने वाले अपडेट बंद करने के लिए .env में AUTO_UPDATE_ENABLED=false सेट करें। Node.js बहुत पुराना हो, तो Node.js 24 LTS इंस्टॉल करें और लॉन्चर दोबारा चलाएँ।

Docker या Podman

कंटेनर नई इमेज पुल करके अपडेट होते हैं, लॉन्चर से नहीं। बैकअप बनाएँ, फिर यह कमांड उस फ़ोल्डर से चलाएँ जिसमें आपकी Compose फ़ाइल है।

docker compose pull && docker compose up -d

Podman के साथ इसकी जगह podman compose इस्तेमाल करें। रिलीज़ इमेज ghcr.io/pasta-devs/marinara-engine:X.Y.Z और :latest हैं, साथ में उनसे मिलते -lite टैग भी। पुल करने से marinara-data वॉल्यूम में रखा आपका डेटा छुआ तक नहीं जाता। देखें कंटेनर इंस्टॉलेशन।

Android (Termux)

Termux वह Android ऐप है जो Marinara के लिए एक छोटा Linux सिस्टम चलाता है। इसका लॉन्चर हर बार चलाने पर Marinara को अपडेट कर देता है।

  1. Termux खोलें।
  2. लॉन्चर चलाएँ।
cd Marinara-Engine
./start-termux.sh

लॉन्चर कोड अपडेट करता है, ज़रूरत पड़ने पर Node.js अपग्रेड करता है, ऐप फिर से बनाता है और सर्वर शुरू कर देता है। कोई अपडेट कुछ बिगाड़ दे और आपको अपनी मौजूदा कॉपी पर ही रहना हो, तो --skip-update जोड़ें। अपने आप होने वाले अपडेट बंद करने के लिए प्रोजेक्ट के .env में AUTO_UPDATE_ENABLED=false सेट करें।

Android ऐप (APK) इस्तेमाल करते हैं, तो नया APK डाउनलोड करें और उसे खोलें, ताकि Android ऐप को अपडेट कर दे। फिर Marinara Engine खोलें और Termux कॉपी को अपडेट करके शुरू करने के लिए Install / Start Marinara पर टैप करें। अपडेट कभी आपसे साइनिंग क्रेडेंशियल या कोई सीक्रेट नहीं माँगता।

iPhone और iPad

इन डिवाइस पर सर्वर नहीं चलता। Home Screen वाला आइकन एक PWA है, यानी Home Screen पर सेव की गई वेबसाइट जो ऐप की तरह खुलती है।

  1. वह कंप्यूटर, कंटेनर होस्ट या Android डिवाइस अपडेट करें जिस पर आपका Marinara सर्वर चलता है। उसका ऊपर वाला सेक्शन देखें।
  2. Home Screen वाला ऐप या Safari टैब दोबारा लोड करें।

Safari पुराना बिल्ड दिखाता रहे, तो PWA दोबारा इंस्टॉल करें। देखें PWA हटाकर दोबारा इंस्टॉल करना।

मैन्युअल अपडेट (git कॉपी, बिना लॉन्चर)

अगर आप लॉन्चर की जगह pnpm start से git कॉपी चलाते हैं, तो यह तरीका अपनाएँ। ये कमांड Marinara फ़ोल्डर से चलाएँ।

  1. सबसे नया स्थिर कोड लाएँ।
git fetch origin +refs/heads/main:refs/remotes/origin/main
  1. उस पर जाएँ।
git merge --ff-only origin/main || git checkout --detach origin/main
  1. डिपेंडेंसी दोबारा इंस्टॉल करें, ऐप फिर से बनाएँ और शुरू करें।
pnpm install --force --frozen-lockfile
pnpm build
pnpm start

staging (टेस्टर) वर्ज़न के लिए स्टेप 1 और 2 की जगह ये दो कमांड चलाएँ:

git fetch origin +refs/heads/staging:refs/remotes/origin/staging
git checkout -B staging origin/staging

Warning: Staging बिल्ड टेस्टर के लिए बने प्री-रिलीज़ बिल्ड हैं। इन्हें इस्तेमाल करने से पहले अपना डेटा बैकअप कर लें।

ऐप के अंदर से अपडेट करना

Marinara, GitHub पर नया वर्ज़न जाँच सकता है। कुछ इंस्टॉल ब्राउज़र से ही अपडेट लागू भी कर सकते हैं।

  1. Settings खोलें।
  2. Advanced टैब पर जाएँ।
  3. Updates (अपडेट) सेक्शन ढूँढें।

रिलीज़ चैनल चुनें

Release Channel (रिलीज़ चैनल) तय करता है कि आप कौन से बिल्ड फ़ॉलो करेंगे।

सर्वर वाले कंप्यूटर के ही ब्राउज़र में कोई दूसरा चैनल चुनने पर अपडेट बटन पर Switch to और उसके आगे चैनल का नाम लिखा आता है। यह तब भी काम करता है जब ऐप के अंदर के सामान्य अपडेट बंद हों, और चलते समय Switching… दिखाता है। रिमोट डिवाइस यह तभी कर सकते हैं जब वे नीचे दी गई Apply Update (अपडेट लागू करें) वाली शर्तें पूरी करें।

Check for Updates

Check for Updates पर क्लिक करें। काम चलने के दौरान बटन Checking… दिखाता है। बटन के नीचे आपका Release वर्ज़न, Build कमिट कोड और, पता हो तो, आपकी Branch दिखती है।

रिलीज़ की जाँच लगभग 15 मिनट तक और कमिट की गिनती लगभग 5 मिनट तक कैश रहती है, इसलिए तुरंत दोबारा क्लिक करने पर वही नंबर दिख सकते हैं।

जाँच फ़ेल हो जाए, तो दिखता है: "Could not check for updates. Try again later." इसकी वजह आम तौर पर नेटवर्क या GitHub की कोई दिक्कत होती है।

Apply Update

Apply Update ब्राउज़र से ही git कॉपी को अपडेट करता है। यह सिर्फ़ तभी दिखता है जब ये सारी बातें सच हों:

सर्वर चलाने वाले कंप्यूटर से अपडेट लागू करने के लिए एडमिन सीक्रेट की ज़रूरत नहीं है। वहाँ Marinara को http://127.0.0.1:7860 या http://localhost:7860 पर खोलें।

दो सेटिंग्स इसे बदल देती हैं:

किसी दूसरे डिवाइस से अपडेट लागू करना डिफ़ॉल्ट रूप से बंद रहता है। इसके लिए ये तीनों बातें ज़रूरी हैं:

Apply Update पर क्लिक करें। जब तक सर्वर कोड लाता है, दोबारा इंस्टॉल करता है, ऐप फिर से बनाता है और बंद होता है, बटन Updating… दिखाता है। फिर यह संदेश दिखता है: "Update applied successfully. Please relaunch the app to use the new version." काम पूरा करने के लिए Marinara दोबारा शुरू करें।

अगर यह काम नहीं किया: Apply Update न दिखे, तो Marinara उसकी वजह बताता है।

ब्राउज़र में ऐप रिफ़्रेश करना

Refresh App (ऐप रिफ़्रेश करें) उसी Updates सेक्शन में है। यह सर्वर को अपडेट नहीं करता। यह सर्विस वर्कर (एक छोटी स्क्रिप्ट, जिससे ब्राउज़र ऐप को तेज़ी से लोड करता है) हटाता है और ब्राउज़र के कैश साफ़ करता है, फिर पेज दोबारा लोड कर देता है। आपकी चैट और सेटिंग्स बनी रहती हैं।

इसे तब इस्तेमाल करें जब सर्वर अपडेट हो जाने के बाद भी ऐप पुराना या खाली दिखे। काम चलने के दौरान बटन Refreshing… दिखाता है।

आपका डेटा और वैकल्पिक डाउनलोड

अपडेट करने से ऐप का कोड बदलता है, आपका डेटा फ़ोल्डर या marinara-data वॉल्यूम नहीं। आपकी चैट, कैरेक्टर, पर्सोना, लोरबुक, प्रीसेट, कनेक्शन और सेटिंग्स अपनी जगह बनी रहती हैं। डेटा कहाँ रहता है, यह जानने के लिए Marinara का बैकअप और रिस्टोर पढ़ें।

2.5.0 से अपडेट करना

ऊपर दिए स्टेप वही रहते हैं। कुछ बदलाव ऐसे सर्वर पर असर डालते हैं जिसे दूसरे डिवाइस या दूसरे लोग इस्तेमाल करते हैं। आपका सर्वर ऐसा है, तो ब्योरा खोलें।

पुराने वर्ज़न पर वापस जाना

पीछे जाना हमेशा संभव नहीं होता। नए वर्ज़न डेटा को नए स्टोरेज फ़ॉर्मैट में सेव करते हैं, और कोई भी बिल्ड ऐसे फ़ॉर्मैट वाला डेटा नहीं लेता जो उसके जाने-पहचाने फ़ॉर्मैट से नया हो। मौजूदा बिल्ड स्टोरेज फ़ॉर्मैट 10 इस्तेमाल करते हैं। फ़ॉर्मैट 8, 9 और 10 ने MMD अवतार, कनेक्शन के अकाउंट लिंक और GLB/FBX अवतार जोड़े। जो बिल्ड सिर्फ़ कोई पुराना फ़ॉर्मैट जानता है, वह इन फ़ॉर्मैट में सेव किया गया डेटा नहीं खोल सकता।

लॉन्चर ऐसा अपने आप होने वाला अपडेट छोड़ देता है जो असंगत वर्ज़न पर ले जाए, और इन-ऐप अपडेटर ऐसा अपडेट लागू करने से मना कर देता है। किसी पुराने बिल्ड पर वापस जाने के लिए Marinara को रोकें और अपडेट से पहले बनाया गया पूरा बैकअप रिस्टोर करें। नीचे बताई गई, चैट फ़ाइलें बदलने वाली कमांड MMD अवतार की सेटिंग्स नहीं बदल सकती। फ़ॉर्मैट का नंबर हाथ से न बदलें।

अगर आपका डेटा स्टोरेज फ़ॉर्मैट 8 से पुराना है, तो एक ही कमांड से चैट फ़ाइलें पुराने लेआउट में वापस बदली जा सकती हैं। देखें पुराने वर्ज़न पर जाने के बाद चैट में संदेश नहीं दिखते।

2.5.0 पर वापस जाना

वर्ज़न 2.5.0 स्टोरेज फ़ॉर्मैट 8 या उससे नए फ़ॉर्मैट में अपग्रेड हुआ डेटा नहीं खोल सकता। अपग्रेड से पहले बना बैकअप इस्तेमाल करें।

जो पुराना डेटा 2.5.0 खोल सकता है, उसमें भी यह नई सुविधाओं का जोड़ा हुआ डेटा नहीं पहचानता: कुछ कनेक्शन सेटिंग्स, चैट इमेज दोबारा बनाने में काम आने वाला ब्योरा, और गेम चेकपॉइंट, रूलसेट क्लॉक और सीन वीडियो के कुछ हिस्से। जब 2.5.0 कोई चैट या कनेक्शन सेव करता है, जैसे संदेश भेजते, गेम का टर्न खेलते, इमेज बनाते या कनेक्शन बदलते समय, तो वह पूरी चैट या पूरे कनेक्शन से यह नया डेटा हटा देता है। दोबारा अपडेट करने से यह वापस नहीं आता।

ठीक उसी जगह लौट पाने के लिए जहाँ आप थे, अपडेट करने से पहले बैकअप बनाएँ। देखें पहले बैकअप लें।

अपडेट फ़ेल हो जाए तो

ज़्यादातर दिक्कतें पुराने Node.js, अधूरे डाउनलोड या ब्राउज़र के पुराने कैश से आती हैं।

एरर संदेशों और उनके हल के लिए देखें Marinara Engine की समस्याएँ सुलझाना।

मिलती-जुलती गाइड