Cascadia Merge
Quy trình

Mod máy chủ Vintage Story, kiểm thử trên bản sao trước

03
Ngày cập nhật

Cập nhật mod và cài đặt mà không mất thế giới

Bản cập nhật game đã ra mắt, và bạn muốn nâng cấp mod cùng thế giới của mình mà không mất dữ liệu. Việc thay đổi cài đặt máy chủ Vintage Story và thêm mod là hai thay đổi có thể khiến thế giới không tải được, vì vậy quy trình này thực hiện chúng theo thứ tự cố định: sao lưu save, thay đổi một thứ, khởi động máy chủ và đọc log, rồi thay đổi thứ tiếp theo. Cascadia Merge xử lý công việc file và hiển thị kết quả dưới dạng thẻ. Bạn đưa ra mọi quyết định, và giữ máy chủ dừng khi file thay đổi. Dành thời gian đọc diff và log, không gõ đường dẫn, và ghi lại phiên bản của mỗi mod trước khi thay đổi, để danh sách này làm hồ sơ ghi lại ngày cập nhật.

01

Mở thư mục dữ liệu

Chọn thư mục dữ liệu của máy chủ làm thư mục làm việc cho một cuộc trò chuyện mới. Agent liệt kê thư mục bằng list_dir, để bạn thấy Saves, Backups và Mods trước khi bất cứ thứ gì bị chạm. Trên máy tính Windows, vị trí mặc định là thư mục VintagestoryData trong AppData\Roaming của người dùng, trừ khi bạn khởi động máy chủ với đường dẫn dữ liệu khác.

02

Sao lưu save

Với máy chủ đã dừng, agent sao chép thư mục Saves vào Backups bằng script sao lưu của bạn. Bạn đọc mã thoát trong thẻ, yêu cầu list_dir thứ hai của thư mục Backups, và xác nhận rằng bản sao mới thực sự có mặt trước khi tiếp tục.

03

Thay đổi một thứ

Chỉnh sửa serverconfig.json hoặc thay thế một mod, không bao giờ làm cả hai cùng lúc. Agent hiển thị diff cho thay đổi cài đặt, và bạn chấp nhận hoặc từ chối nó ở chế độ Ask first. Một mod bạn thay thế bằng tay sẽ nằm trong thư mục Mods dưới dạng file .zip, và chỉ một file như vậy thay đổi mỗi vòng.

04

Khởi động và kiểm thử

Khởi động máy chủ bằng script của bạn, để agent tìm log cho mod bị lỗi, và tham gia từ game. Nếu có gì đó hỏng, bạn biết thay đổi nào gây ra nó, và có thể di chuyển file đó hoặc khôi phục dòng đó từ bản sao bạn tạo ở đầu.

Một đoạn trích serverconfig.json

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

Đây là một đoạn trích của serverconfig.json, không phải file đầy đủ, chỉ có giá trị giữ chỗ. Cổng game là 42420 (TCP), và mật khẩu null nghĩa là chưa đặt mật khẩu, nên hãy thêm mật khẩu trước khi mở thế giới ra internet. Chỉnh sửa file thực chỉ khi máy chủ đã dừng, và giữ bản sao của bạn bên cạnh thư mục Saves.

Quản lý mod máy chủ Vintage Story trong bốn bước

Kiểm tra những gì đã cài

Bắt đầu bằng cách nhìn trước khi thay đổi bất cứ thứ gì. Agent dùng list_dir và glob để tìm thư mục Mods bên trong thư mục dữ liệu, read_file để mở modinfo.json của mỗi mod nằm trong một thư mục, và write_file để lưu một danh sách plain tên và phiên bản trong thư mục làm việc của bạn. Nếu bạn cần trợ giúp với mod trên máy chủ được lưu trữ, trước tiên hãy kiểm tra xem bạn có thể truy cập thư mục dữ liệu của nó không, vì agent chỉ có thể làm việc trên các file bạn có thể mở. In danh sách ra. Bạn so sánh nó với các mod mà người chơi của bạn có, vì máy chủ và người chơi cần cùng mod và phiên bản, và bạn quyết định cần cập nhật gì. Chưa có gì thay đổi, và bạn có một bản ghi về những gì đã được cài đặt trước khi cập nhật, điều này hữu ích nếu bạn phải hoàn nguyên bước sau này.

Sao lưu save trước

Thế giới của bạn là một file .vcdbs trong thư mục Saves, vì vậy hãy sao chép thư mục đó trước mọi bản cập nhật game, thay đổi mod và thay đổi cài đặt. Dừng máy chủ trước. Agent dùng copy_file để đặt file thế giới vào thư mục Backups, và Shell chạy script sao lưu của bạn và báo cáo mã thoát thực trong thẻ. Một bản sao chưa từng được khôi phục chỉ là phỏng đoán, vì vậy hãy khôi phục nó một lần vào một thư mục dự phòng, mở nó ra và kiểm tra xem thế giới có ở đó không. Chỉ sau đó bạn mới chuyển sang phần công việc thay đổi file, với cách quay lại an toàn nếu thay đổi sai. Bạn không xóa gì cả, và một save không bao giờ bị xóa mà không có bản sao. Nếu thư mục chứa nhiều thế giới, hãy sao chép toàn bộ thư mục Saves để không bỏ sót thế giới nào.

Thay đổi một cài đặt hoặc mod

Bây giờ hãy thay đổi một thứ đơn lẻ. Để điều chỉnh cài đặt máy chủ Vintage Story, agent dùng edit_file trên serverconfig.json và hiển thị diff ở chế độ Ask first; để cập nhật mod, bạn đặt file .zip mới vào thư mục Mods bằng tay, chỉ từ cơ sở dữ liệu mod chính thức. Nếu thế giới không tải sau khi cài đặt mod, thay đổi cuối cùng là nghi phạm, và bạn có thể hoàn nguyên nó bằng cách di chuyển file đó ra ngoài. Dừng ở đây. Bạn không thêm mod thứ hai trước khi mod đầu tiên đã được kiểm thử, vì hai thay đổi cùng lúc che giấu nguyên nhân. Plan only có thể ghi lại các bước trước khi chạy chúng, điều này hữu ích khi bạn muốn một danh sách kiểm tra cho ngày cập nhật mà một quản trị viên khác cũng có thể đọc.

Khởi động máy chủ và đọc log

Khởi động máy chủ bằng script start của bạn. Shell chạy nó và hiển thị mã thoát thực, sau đó grep tìm kiếm log máy chủ cho các từ failed và error. Khắc phục sự cố máy chủ chuyên dụng bắt đầu với log đó, và thẻ liệt kê mọi dòng khớp để bạn có thể đọc chúng theo thứ tự. glob tìm các file log nếu bạn không chắc file nào mới nhất. Tiếp theo, bạn tham gia từ game và đi xung quanh thế giới. Bạn chấp nhận thay đổi là hoàn tất chỉ sau khi log sạch và một người chơi thứ hai đã tham gia. Nếu log không sạch, bạn quay lại một bước, đọc lỗi đầu tiên thay vì lỗi cuối cùng, và khôi phục bản sao của save nếu chính thế giới đã bị hỏng.

Cascadia Merge cho Windows

Bắt đầu với bản sao lưu save của bạn

Tải xuống Cascadia Merge ↗