इस प्रोजेक्ट के बारे में
एल्डन रिंग कम्पास एल्डन रिंग के लिए एक वेब साथी है जो आपकी सेव फ़ाइल को पढ़कर उसे प्रगति डैशबोर्ड में बदल देता है। एक बार सेव अपलोड करें, या निरंतर पोलिंग के लिए पेज को उस पर इंगित करें, और साइट इन्वेंट्री, पराजित बॉस, अनलॉक किए गए ग्रेसेस, मानचित्र मार्कर और अन्य पूर्णता डेटा रिपोर्ट करती है। पार्सिंग पूरी तरह से ब्राउज़र में होती है: सेव कभी भी मशीन से बाहर नहीं जाती और साइट में उसमें लिखने की कोई क्षमता नहीं है, इसलिए इसका उपयोग किसी चरित्र को संशोधित करने के लिए नहीं किया जा सकता।
README में वर्णित विशेषताएँ:
- ब्राउज़र में सेव पार्सिंग, सेव सामग्री का कोई सर्वर-साइड अपलोड नहीं।
- निरंतर सेव पोलिंग ताकि खेलते समय दृश्य अपडेट हो, बिना फिर से अपलोड किए।
- मानचित्र स्थिति, पंक्ति चयन और कॉलम फ़िल्टर की स्थानीय दृढ़ता।
- आइटम, बॉस और ग्रेस मार्कर के साथ एक टाइल इंटरैक्टिव मानचित्र (Leaflet / react-leaflet)।
- बड़ी आइटम और प्रगति सूचियों को ब्राउज़ करने के लिए वर्चुअलाइज़्ड डेटा तालिकाएँ।
वास्तुकला और उपकरण:
यह परियोजना एक Bun + Turborepo मोनोरेपो है। वेब ऐप TanStack Start और TanStack Router के साथ React 19 पर बनाया गया है, जिसमें ऐप स्थिति के लिए Effect और @effect/atom-react का उपयोग किया गया है, और TanStack Query या IndexedDB के बजाय एक इन-मेमोरी डेटा परत है। UI घटक shadcn (Base UI वैरिएंट) से Tailwind CSS v4 के साथ आते हैं। तालिकाएँ TanStack Table और TanStack Virtual का उपयोग करती हैं। Vite और Nitro बंडलिंग और उत्पादन सर्वर संभालते हैं, जबकि oxlint/oxfmt और TypeScript 7 (Effect डायग्नोस्टिक्स के लिए @effect/tsgo द्वारा पैच किया गया) लिंटिंग, फ़ॉर्मेटिंग और टाइप जाँच को कवर करते हैं। परीक्षण Vitest और Playwright का उपयोग करते हैं।
पैकेज:
- apps/web — वेबसाइट।
- packages/data — एकमात्र रनटाइम डेटा स्रोत: एक्सट्रैक्टर द्वारा पकाया गया गेम डेटा और आइटम आइकन।
- packages/save-parser (save-parser-ts) — एक शुद्ध-TypeScript एल्डन रिंग सेव पार्सर जो ब्राउज़र या वर्कर में चलता है; README नोट करता है कि पहले का Rust/WASM सेव-एडिटर स्टैक हटा दिया गया था।
- packages/extractor (er-extractor) — एक बिल्ड-टाइम CLI जो गेम की स्थापित प्रति पढ़ता है और नाम, आँकड़े, मार्कर, आइकन, ग्रेसेस और इवेंट स्क्रिप्ट को डेटा पैकेज में पकाता है, bun:ffi के माध्यम से Oodle डीकंप्रेसन, dvdbnd अनपैकिंग और FMG/PARAM/MSB/EMEVD पार्सिंग का उपयोग करके।
- packages/vendored-data — केवल बिल्ड-टाइम रिवर्स-इंजीनियर्ड स्थिरांक जो इंस्टॉल से प्राप्त नहीं किए जा सकते, जैसे इवेंट-फ्लैग तालिकाएँ, AES/RSA कुंजियाँ और पैराम स्कीमा, जो अपस्ट्रीम परियोजनाओं ER-Save-Lib, UXM-Selective-Unpack, soulsmods/Paramdex और soulstruct से अनुकूलित हैं।
- packages/config/* — साझा TypeScript और oxlint कॉन्फ़िगरेशन।
विकास:
वेब ऐप के लिए केवल Bun की आवश्यकता है; एक प्रतिलिपि योग्य टूलचेन के लिए एक Nix फ्लेक भी प्रदान किया गया है। खरोंच से गेम डेटा का पुनर्निर्माण करने के लिए अतिरिक्त रूप से एल्डन रिंग की स्थापित प्रति और Rust टूलचेन की आवश्यकता होती है, लेकिन पूर्व-निर्मित डेटा पैकेज प्रतिबद्ध है, इसलिए साइट को चलाने या विकसित करने के लिए किसी की आवश्यकता नहीं है। विशिष्ट कमांड bun install, bun run dev, bun run lint, bun run typecheck, bun run test और bun run build हैं। README यह भी नोट करता है कि सेव फ़ाइल परोसने के लिए डिफ़ॉल्ट स्निपेट Node.js का उपयोग करता है, हालाँकि कोई भी सरल HTTP फ़ाइल सर्वर काम करता है, और मैन्युअल अपलोड निरंतर पोलिंग का विकल्प है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.