Vortex เป็นตัวจัดการ mod ปัจจุบันจาก Nexus Mods ได้รับการออกแบบมาเพื่อให้การม็อดเกมของคุณง่ายที่สุดเท่าที่จะเป็นไปได้สำหรับผู้ใช้ใหม่ ในขณะที่ยังคงให้การควบคุมที่เพียงพอสำหรับผู้คร่ำหวอดในวงการการม็อดที่มีประสบการณ์มากกว่า
แนวทางของเรากับ Vortex มุ่งเป้าไปที่งานที่ซับซ้อน เช่น การจัดเรียงลำดับการโหลดหรือการจัดการไฟล์ม็อดของคุณ และดำเนินกระบวนการอัตโนมัติให้มากที่สุดเท่าที่จะเป็นไปได้ โดยมีเป้าหมายเพื่อให้คุณบรรลุเกมม็อดที่มีความเสถียรโดยใช้ความพยายามเพียงเล็กน้อย เราต้องการช่วยให้คุณใช้เวลาน้อยลงในการดัดแปลงและมีเวลาเล่นเกมของคุณมากขึ้น
รองรับหลายเกม - ด้วยการสนับสนุน mod สำหรับเกมที่แตกต่างกันมากกว่า 250 เกมและเพิ่มขึ้นเรื่อยๆ Vortex จึงเป็นตัวจัดการ mod ที่หลากหลายที่สุดที่มีอยู่ ซึ่งรวมถึงเกมต่างๆ เช่น Skyrim, Fallout 3, Fallout 4, Fallout: New Vegas, Cyberpunk 2077, Baldur's Gate 3, Starfield, Stardew Valley, Bannerlord, Witcher 3, Elden Ring, The Sims 4, Monster Hunter: World, Oblivion, Palworld , Blade & Sorcery, วาลไฮม์, มรดกฮอกวอตส์, 7 วันแห่งความตาย
บูรณาการอย่างใกล้ชิดกับ Nexus Mods - Vortex ได้รับการออกแบบมาเพื่อโต้ตอบกับ Nexus Mods ได้อย่างราบรื่น ทำให้คุณสามารถค้นหา ติดตั้ง และเล่น Mods จากเว็บไซต์ของเรา เรียนรู้เกี่ยวกับไฟล์ใหม่ และรับข่าวสารล่าสุด
การดัดแปลงทำได้ง่าย - ระบบเรียงลำดับอัตโนมัติในตัวจัดการลำดับการโหลดของคุณและช่วยคุณแก้ไขข้อขัดแย้งของ mod ด้วยคุณสมบัติการจัดการปลั๊กอินที่ทรงพลังและใช้งานง่าย
โปรไฟล์ Mod - ตั้งค่า สลับระหว่าง และจัดการโปรไฟล์ Mod อิสระได้อย่างง่ายดาย ทำให้คุณสามารถใช้การผสมผสาน Mods ที่คุณต้องการสำหรับการเล่นแต่ละรอบได้
UI ที่ทันสมัยและใช้งานง่าย - มีอินเทอร์เฟซที่ปรับแต่งได้อย่างเต็มที่ Vortex ช่วยให้คุณเข้าถึงเครื่องมือและจัดการเกม ปลั๊กอิน ดาวน์โหลด และบันทึกเกมได้อย่างรวดเร็วและง่ายดาย
ส่วนขยายและปลั๊กอิน - Vortex ได้รับการเผยแพร่ภายใต้ใบอนุญาต GPL-3 ซึ่งทำให้ชุมชนของเราสามารถเขียนส่วนขยายและเฟรมเวิร์กซึ่งสามารถโต้ตอบกับ Vortex ได้ โดยเพิ่มฟังก์ชันการทำงานอย่างต่อเนื่อง
ในการเริ่มต้น สามารถดาวน์โหลด Vortex ได้จาก Nexus Mods หรือจาก GitHub หลังจากดาวน์โหลดตัวติดตั้งแล้ว ให้เรียกใช้แล้วทำตามคำแนะนำ
ข้อมูลเพิ่มเติมเกี่ยวกับ Vortex และคำแนะนำสามารถพบได้ใน Vortex Wiki
หากต้องการเริ่มต้นการพัฒนาบน Vortex โปรดใช้วิธีการอัตโนมัติส่วนใหญ่นี้เพื่อดาวน์โหลดและติดตั้งการขึ้นต่อกันทั้งหมด โคลน repo Vortex จาก GitHub จากนั้นสร้างเพื่อให้สามารถเรียกใช้จากแหล่งที่มาได้ การขึ้นต่อกันส่วนใหญ่ถูกติดตั้งโดยใช้ Scoop
เริ่ม PowerShell โดยคลิกปุ่ม Start แล้วพิมพ์ powershell
เรียกใช้ Invoke-WebRequest "https://raw.githubusercontent.com/Nexus-Mods/Vortex/master/bootstrap.ps1" -OutFile bootstrap.ps1
เพื่อดึงสคริปต์บูตสแตรป
ตามค่าเริ่มต้น สคริปต์นี้จะสร้าง Vortex ใน C:buildvortex
หากคุณต้องการให้มันอยู่ที่อื่น ให้แก้ไขสคริปต์เพื่อเปลี่ยนไดเร็กทอรี build ก่อนที่จะรัน
คุณจะต้องอนุญาตให้เรียกใช้สคริปต์มากกว่า สามารถตั้งค่านี้ได้โดยใช้ Set-ExecutionPolicy Unrestricted
แต่จำเป็นต้องมี PowerShell ที่มีสิทธิ์การเข้าถึงของผู้ดูแลระบบ
เรียกใช้สคริปต์ ( .bootstrap.ps1
)
ส่วนต่อไปนี้มีจุดมุ่งหมายเพื่อชี้แจงและอธิบายการตัดสินใจในการพัฒนาบางประการ
ห่วงโซ่เครื่องมือสำหรับการพัฒนาบิวด์และรีลีสบิลด์ค่อนข้างแตกต่างกัน
ใน dev builds คอมไพลเลอร์ typescript (tsc) ถูกใช้โดยตรงเพื่อแปลไฟล์ .ts
แต่ละไฟล์เป็น .js
แยกกัน แต่ละไฟล์อิเล็กตรอนจะรันไฟล์เหล่านั้นโดยตรง การพึ่งพาจะถูกโหลดจาก node_modules
ในเวอร์ชันรีลีส เราใช้ webpack และ ts-loader เพื่ออบไฟล์ .ts
ทั้งหมดและการขึ้นต่อกันเป็นไฟล์ javascript สองไฟล์ (ไฟล์หนึ่งสำหรับกระบวนการหลัก/เบราว์เซอร์ และอีกไฟล์หนึ่งสำหรับตัวเรนเดอร์) electron-builder
ใช้เพื่อรวมโค้ดและสินทรัพย์ สร้างตัวติดตั้ง nsis สร้างลงในตัวติดตั้ง exe และลงนาม (รวมถึงไฟล์ปฏิบัติการและ dll ทั้งหมดที่เราจัดส่ง) มีไฟล์การกำหนดค่าตัวสร้างอิเล็กตรอนหลายไฟล์สำหรับหลายตัวแปร มีเพียง "oneclick" และ "ขั้นสูง" เท่านั้นที่ใช้สำหรับรุ่น release ส่วนไฟล์อื่นๆ อาจอยู่ในสภาพทรุดโทรมที่แตกต่างกัน (แม้ว่า ci ควรทำงานเช่นกัน)
ผลก็คือ dev builds ทำงานง่ายกว่าและ build เร็วกว่ามาก แต่ runtime ช้ากว่า
นอกจากนี้ เรายังใช้โครงสร้างแบบสองแพ็คเกจ ซึ่งหมายความว่าไฟล์ /package.json
จะถูกใช้สำหรับการพัฒนาทั้งหมดและสภาพแวดล้อมบิลด์สำหรับการรีลีส (เช่น ไฟล์นี้จะควบคุมเวอร์ชันอิเล็กตรอนที่ใช้งาน/รวมกลุ่มเสมอ) ในขณะที่ /app/package.json
ตัดสินใจ การตั้งค่า (ชื่อ เวอร์ชัน การขึ้นต่อกัน) สำหรับรุ่นรีลีสเท่านั้น เราใช้สคริปต์ที่กำหนดเอง ( checkPackages.js
) เพื่อให้แน่ใจว่าการขึ้นต่อกันสำหรับรีลีสเป็นส่วนย่อยของการขึ้นต่อกันของ build env
และใช้เวอร์ชันเดียวกันเพื่อหลีกเลี่ยงปัญหาที่ไม่ได้เกิดขึ้นระหว่างการทดสอบเนื่องจากการขึ้นต่อกันที่แตกต่างกัน
ในทางกลับกัน ส่วนขยายที่รวมมานั้นถูกสร้างขึ้นเหมือนกันระหว่าง dev และ release: พวกมันถูกสร้างขึ้นด้วย webpack เสมอ และแต่ละส่วนขยายก็มีการตั้งค่าบิลด์ของตัวเอง ยกเว้นส่วนขยายเกมธรรมดาที่เป็นไฟล์ js ไฟล์เดียวอยู่แล้ว ซึ่งพวกมันก็จะถูกคัดลอกไป
รหัสฐานนี้ยังคงใช้เส้นด้าย 1 (คลาสสิก) ความพยายามใดๆ ในการใช้เส้นด้าย 2 หรือ 3 จบลงด้วยข้อผิดพลาดที่ไม่สมเหตุสมผล (การพึ่งพาที่หายไปซึ่งระบุไว้อย่างชัดเจน การติดตั้งต่อเนื่องที่นำไปสู่แพ็คเกจที่หายไป) โดยไม่มีวิธีที่สมเหตุสมผลในการตรวจสอบว่าเหตุใด npm และ pnpm ค่อนข้างช้าเมื่อเปรียบเทียบ เราไม่ได้ใช้คุณสมบัติเฉพาะเส้นด้ายใดๆ (พื้นที่ทำงาน?) ดังนั้นการเปลี่ยนไม่ควรยากเกินไป แต่สำหรับตอนนี้เส้นด้าย "คลาสสิก" ใช้งานได้
ในขณะที่เขียนนี้ อิเล็กตรอนไม่รองรับโมดูล ES ดังนั้นทุกอย่างจึงถูกแปลงเป็น commonjs สิ่งนี้ส่งผลให้ไลบรารี่ที่อัพเดตบางตัวรองรับ esm เท่านั้นไม่สามารถใช้งานได้ (เช่น d3 เวอร์ชันใหม่) นอกจากนี้ยังหมายความว่าการนำเข้าแบบอะซิงโครนัส ( const foo = await import('bar')
) จริง ๆ แล้วเป็นแบบซิงโครนัสที่รันไทม์ ไม่สำคัญเลยเนื่องจากทุกอย่างถูกรวมไว้ในไฟล์เดียวใน release builds อยู่แล้ว และการแยกโค้ดก็ไม่จำเป็นจริงๆ
โปรดรายงานปัญหาบน GitHub และระบุข้อมูลต่อไปนี้เป็นอย่างน้อย:
เวอร์ชันที่แน่นอนของ Vortex ที่คุณใช้
ระบบปฏิบัติการของคุณ
สิ่งที่คุณทำเมื่อเกิดข้อผิดพลาด
ข้อบกพร่องที่แท้จริงคืออะไร (ข้อขัดข้อง ข้อความแสดงข้อผิดพลาด พฤติกรรมที่ไม่คาดคิด)
หากคุณได้รับข้อความแสดงข้อผิดพลาดใดๆ ให้ระบุข้อความแสดงข้อผิดพลาดแบบเต็มและทุกประการด้วย อย่าถอดความ อย่าละทิ้งข้อมูลที่ดูคลุมเครือหรือไม่สำคัญสำหรับคุณ
ไฟล์บันทึก (ดูด้านล่าง)
ตามหลักการแล้วสถานะแอปพลิเคชันด้วย (ดูด้านล่าง)
ข้อมูลทั้งหมดที่ไคลเอนต์สร้าง (รวมถึงการตั้งค่าและบันทึก) จะถูกเก็บไว้ที่:
ประเภทการสร้าง | ที่ตั้ง | เส้นทางทั่วไป |
---|---|---|
ปล่อย | %AppData%Vortex | C:Users |
นักพัฒนา | %AppData%vortex_devel | C:Users |
หากคุณต้องการรายงานจุดบกพร่อง เส้นทางต่อไปนี้ภายในไดเร็กทอรีนั้นอาจมีประโยชน์ นอกเหนือจากข้อความแสดงข้อผิดพลาดที่แสดงบนหน้าจอ:
vortex.log
(บันทึกจะถูกหมุนในขนาดที่กำหนด ซึ่งเป็นขนาดล่าสุด)
state
ยกเว้น global_account (อันนั้นมีคีย์และรหัสผ่านดังนั้นข้อมูลที่ละเอียดอ่อน)
(หากจุดบกพร่องเกี่ยวข้องกับเกมใดเกมหนึ่ง)
สิ่งที่ต้องทำ: ขั้นตอนแบบแมนนวลพร้อมการขึ้นต่อกันและเวอร์ชัน
ดาวน์โหลด Vortex จาก Nexus Mods
GitHub สำหรับซอร์สโค้ด ปัญหา และคำขอดึง
Vortex Forum หรือ Discord สำหรับการสนับสนุนและการหารือกับชุมชนและทีมงาน
Vortex Wiki สำหรับฐานความรู้ บทความ และการแก้ไขปัญหา
โครงสร้างโครงการสำหรับภาพรวมของการจัดระเบียบโค้ดเบส
รหัส Vortex ส่วนใหญ่เป็นโอเพ่นซอร์ส เรามุ่งมั่นที่จะกระบวนการพัฒนาที่โปร่งใสและขอขอบคุณอย่างยิ่งสำหรับการมีส่วนร่วมใดๆ ไม่ว่าคุณจะช่วยเราแก้ไขข้อบกพร่อง เสนอคุณสมบัติใหม่ ปรับปรุงเอกสารของเรา หรือกระจายข่าว เรายินดีอย่างยิ่งที่จะให้คุณเป็นส่วนหนึ่งของชุมชน Vortex
รายงานข้อผิดพลาด: หากคุณเห็นข้อความแสดงข้อผิดพลาดหรือประสบปัญหาขณะใช้ Amplication โปรดสร้างรายงานข้อบกพร่อง
คำขอคุณสมบัติ: หากคุณมีความคิดหรือความสามารถที่ขาดหายไปและจะทำให้การพัฒนาง่ายขึ้นและมีประสิทธิภาพมากขึ้น โปรดส่งคำขอคุณสมบัติ
ส่วนเสริมบทวิจารณ์: หากคุณกำลังสร้างส่วนเสริมบทวิจารณ์และต้องการให้เราตรวจสอบ โปรดส่งคำขอส่วนเสริมบทวิจารณ์
โครงการนี้ได้รับอนุญาตภายใต้ใบอนุญาต GPL-3.0