My App

版本管理系統

腳本多版本管理與客戶端版本選擇

版本管理系統

ScriptVerify 的版本管理系統允許為同一腳本維護多個版本,客戶可自由選擇使用的版本。

系統概述

版本管理允許為同一腳本儲存多個不同版本:

sun_carry
├── v1.0.0 (穩定版)
├── v1.1.0 (Bug 修復)
├── v2.0.0 (重大更新)
└── v2.1.0 (最新版)

主要優勢

漸進式更新

  • 新版本上傳後不影響現有客戶
  • 客戶自行決定升級時機

向後兼容

  • v1.0 和 v2.0 可並存
  • 保留舊版本供需要的客戶使用

快速回退

  • 發現問題可立即切換至穩定版本
  • 無需等待管理員修復

版本命名規範

語義化版本號

格式:v主版本.次版本.修訂號

v1.2.3
│ │ └─ 修訂號 (Bug fixes)
│ └─── 次版本 (New features, backward compatible)
└───── 主版本 (Breaking changes)

版本更新規則

變更類型版本變化範例
Bug 修復修訂號 +1v1.0.0 → v1.0.1
新功能(兼容)次版本 +1v1.0.1 → v1.1.0
破壞性變更主版本 +1v1.9.0 → v2.0.0

上傳新版本

進入版本管理器

  1. 前往 Protected Scripts 頁面
  2. 找到目標腳本
  3. 點擊時鐘圖標進入版本管理

上傳流程

  1. 點擊「上傳新版本」
  2. 填寫版本資訊:
    • 版本號:如 v2.2.0
    • 版本內容:完整的 server.lua 代碼
    • 版本說明:更新內容描述
    • 破壞性變更:勾選若需要客戶更新配置
  3. 點擊「上傳版本」

填寫注意事項

版本號

  • 必須以 "v" 開頭
  • 使用點號分隔
  • 三段數字格式

版本內容

  • 包含所有功能實現
  • 包含事件處理器
  • 僅 server.lua 內容,不含配置檔

破壞性變更標記

勾選此選項當:

  • 配置檔格式變更
  • 資料庫結構變更
  • API 接口變更
  • 需要客戶修改代碼

設置推薦版本

推薦版本是您認為最穩定、最適合一般客戶使用的版本。

設置方式

  1. 在版本列表中找到目標版本
  2. 點擊「設為推薦」按鈕
  3. 客戶端將看到推薦標記

推薦策略

保守策略

  • 推薦版本 = 經過驗證的穩定版
  • 最新版本用於測試

積極策略

  • 推薦版本 = 最新版本
  • 適合功能穩定、測試充分的更新

客戶端版本選擇

客戶在 sv_config.lua 中設置版本:

sv_config = {
    licenseKey = "ABC123DEF456",
    SCRIPT_NAME = "sun_carry",
    serverLuaVersion = "v2.0.0",  -- 版本選擇
}

版本選項

選項行為適用場景
"latest"總是使用最新版本測試伺服器
"v2.0.0"使用特定版本生產伺服器
"v1.1.0"使用舊版本相容性需求

實際應用

新客戶初次設置

sv_config = {
    licenseKey = "新客戶的金鑰",
    SCRIPT_NAME = "sun_carry",
    serverLuaVersion = "v2.0.0",  -- 使用推薦版本
}

測試新功能

sv_config = {
    licenseKey = "測試金鑰",
    SCRIPT_NAME = "sun_carry",
    serverLuaVersion = "latest",  -- 總是最新
}

回退到舊版本

sv_config = {
    licenseKey = "客戶金鑰",
    SCRIPT_NAME = "sun_carry",
    serverLuaVersion = "v2.0.0",  -- 從 v2.1.0 回退
}

重啟伺服器後立即生效:

restart sun_carry

版本升級策略

發布流程

1. 準備和測試

  • 開發新版本
  • 內部測試
  • 準備更新日誌

2. Beta 測試

  • 標記 beta 版本
  • 邀請活躍客戶測試
  • 收集反饋並修復問題

3. 正式發布

  • 上傳正式版本
  • 更新文檔
  • 通知所有客戶

4. 觀察和調整

  • 監控驗證日誌
  • 收集反饋
  • 決定是否設為推薦

5. 淘汰舊版本

  • 穩定運行 2-3 個月後
  • 通知剩餘客戶升級
  • 刪除使用率低的舊版本

破壞性變更處理

  1. 準備遷移指南
  2. 提供過渡期(建議 6 個月)
  3. 分階段淘汰舊版本

範例:

Month 1-2: v3.0 測試期
Month 3-4: v3.0 推薦,v2.x 標記「舊版」
Month 5-6: 通知即將停止支援 v2.x
Month 7+:  刪除 v2.x,只保留 v3.x

最佳實踐

版本號管理

  • 所有腳本使用相同命名規範
  • 保持一致性
  • 可以跳號但需有文檔說明

版本保留策略

小腳本:保留 3-5 個版本 中等腳本:保留 5-7 個版本 大腳本:保留 3 個關鍵版本

保留原則:

  • 最新版本
  • 推薦版本
  • 每個主版本的最後一個次版本

刪除時機

可以刪除:

  • 使用率低於 5% 的舊版本
  • 有嚴重 Bug 的版本
  • 被新版本完全取代的版本
  • 超過 6 個月無人使用的版本

不要刪除:

  • 正在使用的版本
  • 推薦版本
  • 最新版本
  • 每個主版本的最後版本

故障排除

客戶無法獲取指定版本

檢查項目:

  1. 確認版本是否存在於版本管理器
  2. 檢查版本號拼寫(區分大小寫)
  3. 查看 FiveM 日誌確認請求的版本號
  4. 重啟 FiveM Resource

上傳版本失敗

常見原因:

  • 版本號重複
  • 內容為空
  • 版本號格式錯誤
  • 網絡問題

版本回退不生效

解決步驟:

  1. 確認 sv_config.lua 修改已保存
  2. 完全重啟 FiveM 伺服器
  3. 清除 FiveM 快取
  4. 檢查 FiveM 日誌確認請求版本

更多資訊請參閱: