Cascadia Merge
เวิร์กโฟลว์

ม็อดเซิร์ฟเวอร์ Vintage Story ทดสอบบนสำเนาโลกก่อน

03
วันอัปเดต

อัปเดตม็อดและการตั้งค่าโดยไม่สูญเสียโลก

มีการอัปเดตเกมออกมา และคุณต้องการนำม็อดและโลกของคุณอัปเดตโดยไม่สูญเสียโลก การเปลี่ยนการตั้งค่าเซิร์ฟเวอร์ Vintage Story และการเพิ่มม็อดเป็นการเปลี่ยนแปลงสองอย่างที่สามารถทำให้โลกไม่สามารถโหลดได้ ดังนั้นเวิร์กโฟลว์นี้จะดำเนินการตามลำดับคงที่: คัดลอกเซฟ เปลี่ยนอย่างหนึ่ง เริ่มเซิร์ฟเวอร์และอ่านล็อก จากนั้นเปลี่ยนอีกอย่างหนึ่ง Cascadia Merge จัดการไฟล์และแสดงผลลัพธ์ให้คุณเป็นการ์ด คุณตัดสินใจทุกขั้นตอน และคุณหยุดเซิร์ฟเวอร์ไว้ขณะที่ไฟล์เปลี่ยนแปลง วางแผนที่จะใช้เวลาของคุณในการอ่านดิฟและล็อก ไม่ใช่ในการพิมพ์พาธ และบันทึกเวอร์ชันของม็อดแต่ละตัวก่อนที่คุณจะเปลี่ยนมัน เพื่อให้รายการนั้นทำหน้าที่เป็นบันทึกของคุณในวันอัปเดต

01

เปิดโฟลเดอร์ข้อมูล

เลือกโฟลเดอร์ข้อมูลของเซิร์ฟเวอร์เป็นโฟลเดอร์ทำงานของแชทใหม่ ตัวเอเจนต์จะแสดงรายการโฟลเดอร์ด้วย list_dir ดังนั้นคุณสามารถเห็น Saves, Backups และ Mods ก่อนที่จะมีการแตะต้องอะไร บนพีซี Windows ตำแหน่งเริ่มต้นคือโฟลเดอร์ VintagestoryData ภายใต้โฟลเดอร์ AppData\Roaming ของผู้ใช้ เว้นแต่คุณเริ่มเซิร์ฟเวอร์ด้วยพาธข้อมูลอื่น

02

คัดลอกเซฟ

เมื่อเซิร์ฟเวอร์หยุดทำงาน ตัวเอเจนต์จะคัดลอกโฟลเดอร์ Saves เข้าไปใน Backups ด้วยสคริปต์สำรองข้อมูลของคุณเอง คุณตรวจสอบโค้ดเอ็กซ์ิตในการ์ด ขอ list_dir ครั้งที่สองของโฟลเดอร์ Backups และยืนยันว่าสำเนาใหม่มีอยู่จริงก่อนที่จะดำเนินการต่อ

03

เปลี่ยนอย่างหนึ่ง

แก้ไข serverconfig.json หรือแทนที่ม็อดหนึ่งตัว ไม่ทำทั้งสองอย่างพร้อมกัน ตัวเอเจนต์แสดงดิฟสำหรับการเปลี่ยนแปลงการตั้งค่า และคุณยอมรับหรือปฏิเสธมันในโหมด Ask first ม็อดที่คุณแทนที่ด้วยตนเองจะอยู่ในโฟลเดอร์ Mods เป็นไฟล์ .zip และมียังมีเพียงไฟล์เดียวที่เปลี่ยนแปลงในแต่ละรอบ

04

เริ่มและทดสอบ

เริ่มเซิร์ฟเวอร์ด้วยสคริปต์ของคุณเอง ให้ตัวเอเจนต์ค้นหาในล็อกสำหรับม็อดที่ล้มเหลว และเข้าร่วมจากเกม หากมีบางอย่างพัง คุณรู้ว่าการเปลี่ยนแปลงใดที่ทำให้เกิดปัญหา และคุณสามารถย้ายไฟล์นั้นหรือกู้คืนบรรทัดนั้นจากสำเนาที่คุณทำไว้ตั้งแต่ต้น

ตัวอย่าง serverconfig.json

serverconfig.json
{
  "ServerName": "Friends World",
  "Port": 42420,
  "MaxClients": 10,
  "Password": null,
  "AllowPvP": false,
  "AdvertiseServer": false
}

นี่คือตัวอย่างของ serverconfig.json ไม่ใช่ไฟล์ที่สมบูรณ์ มีเฉพาะค่าตัวแปรเท่านั้น พอร์ตเกมคือ 42420 (TCP) และการตั้งค่ารหัสผ่านเป็น null หมายถึงไม่ได้ตั้งรหัสผ่าน ดังนั้นให้เพิ่มรหัสผ่านก่อนที่คุณจะเปิดโลกให้กับอินเทอร์เน็ต แก้ไขไฟล์จริงเฉพาะเมื่อเซิร์ฟเวอร์หยุดทำงาน และเก็บสำเนาของคุณไว้ข้างๆ โฟลเดอร์ Saves

จัดการม็อดเซิร์ฟเวอร์ Vintage Story ในสี่ขั้นตอน

ตรวจสอบสิ่งที่ติดตั้ง

เริ่มต้นด้วยการดูก่อนที่คุณจะเปลี่ยนอะไร ตัวเอเจนต์ใช้ list_dir และ glob เพื่อค้นหาโฟลเดอร์ Mods ภายในโฟลเดอร์ข้อมูล, read_file เพื่อเปิด modinfo.json ของแต่ละม็อดที่อยู่ภายในโฟลเดอร์ และ write_file เพื่อบันทึกรายการธรรมดาของชื่อและเวอร์ชันในโฟลเดอร์ทำงานของคุณ หากคุณต้องการความช่วยเหลือเกี่ยวกับม็อดบนเซิร์ฟเวอร์ที่โฮสต์ ให้ตรวจสอบก่อนว่าคุณสามารถเข้าถึงโฟลเดอร์ข้อมูลของมันได้ เพราะตัวเอเจนต์สามารถทำงานเฉพาะไฟล์ที่คุณสามารถเปิดได้ พิมพ์รายการ คุณเปรียบเทียบกับม็อดที่ผู้เล่นของคุณมี เนื่องจากเซิร์ฟเวอร์และผู้เล่นต้องการม็อดและเวอร์ชันเดียวกัน และคุณตัดสินใจว่าจะอัปเดตอะไร ยังไม่มีการเปลี่ยนแปลงใดๆ และคุณมีบันทึกของสิ่งที่ติดตั้งก่อนการอัปเดต ซึ่งช่วยหากคุณต้องยกเลิกขั้นตอนในภายหลัง

คัดลอกเซฟก่อน

โลกของคุณคือไฟล์ .vcdbs ไฟล์เดียวในโฟลเดอร์ Saves ดังนั้นให้คัดลอกโฟลเดอร์นั้นก่อนการอัปเดตเกม การเปลี่ยนแปลงม็อดและการเปลี่ยนแปลงการตั้งค่าทุกครั้ง หยุดเซิร์ฟเวอร์ก่อน ตัวเอเจนต์ใช้ copy_file เพื่อวางไฟล์โลกในโฟลเดอร์ Backups และ Shell รันสคริปต์สำรองข้อมูลของคุณเองและรายงานโค้ดเอ็กซ์ิตจริงในการ์ด สำเนาที่ไม่เคยกู้คืนเป็นเพียงการคาดเดา ดังนั้นให้กู้คืนมันหนึ่งครั้งในโฟลเดอร์สำรอง เปิดมันและตรวจสอบว่าโลกมีอยู่ จากนั้นคุณจึงดำเนินการต่อสู่ส่วนของการทำงานที่เปลี่ยนแปลงไฟล์ โดยมีวิธีกลับที่ปลอดภัยหากการเปลี่ยนแปลงผิดพลาด คุณไม่ลบอะไร และเซฟจะไม่ถูกลบโดยไม่มีการคัดลอก หากโฟลเดอร์มีหลายโลก ให้คัดลอกทั้งโฟลเดอร์ Saves เพื่อให้ไม่พลาดโลกใดเลย

เปลี่ยนการตั้งค่าหรือม็อดหนึ่งอย่าง

ตอนนี้เปลี่ยนสิ่งเดียว เพื่อปรับการตั้งค่าเซิร์ฟเวอร์ Vintage Story ตัวเอเจนต์ใช้ edit_file บน serverconfig.json และแสดงดิฟในโหมด Ask first; เพื่ออัปเดตม็อด คุณวางไฟล์ .zip ใหม่ในโฟลเดอร์ Mods ด้วยตนเอง จากฐานข้อมูลม็อดทางการเท่านั้น หากโลกไม่สามารถโหลดได้หลังจากติดตั้งม็อด การเปลี่ยนแปลงล่าสุดคือผู้ต้องสงสัย และคุณสามารถยกเลิกมันโดยการย้ายไฟล์นั้นออก หยุดที่นี่ คุณไม่เพิ่มม็อดที่สองก่อนที่ม็อดแรกจะถูกทดสอบ เพราะการเปลี่ยนแปลงสองอย่างพร้อมกันซ่อนสาเหตุ Plan only สามารถเขียนขั้นตอนลงไปได้ก่อนโดยไม่รันมัน ซึ่งมีประโยชน์เมื่อคุณต้องการรายการตรวจสอบสำหรับวันอัปเดตที่ผู้ดูแลระบบคนที่สองสามารถอ่านได้

เริ่มเซิร์ฟเวอร์และอ่านล็อก

เริ่มเซิร์ฟเวอร์ด้วยสคริปต์เริ่มของคุณเอง Shell รันมันและแสดงโค้ดเอ็กซ์ิตจริง จากนั้น grep ค้นหาในล็อกเซิร์ฟเวอร์สำหรับคำว่า failed และ error การแก้ปัญหาเซิร์ฟเวอร์เฉพาะเริ่มด้วยล็อกนั้น และการ์ดจะแสดงบรรทัดที่จับคู่ทุกบรรทัดเพื่อให้คุณสามารถอ่านตามลำดับ glob ค้นหาไฟล์ล็อกหากคุณไม่แน่ใจว่าไฟล์ใดเป็นไฟล์ล่าสุด จากนั้นคุณเข้าร่วมจากเกมและเดินไปรอบๆ โลก คุณยอมรับการเปลี่ยนแปลงว่าเป็นเสร็จสิ้นเฉพาะหลังจากที่ล็อกสะอาดและผู้เล่นอีกคนเข้าร่วมแล้ว หากไม่สะอาด คุณย้อนกลับหนึ่งขั้นตอน อ่านข้อผิดพลาดแรกแทนที่จะเป็นข้อผิดพลาดสุดท้าย และกู้คืนสำเนาของเซฟหากโลกเองเสียหาย

Cascadia Merge สำหรับ Windows

เริ่มต้นด้วยสำเนาเซฟของคุณ

ดาวน์โหลด Cascadia Merge ↗