日前,Perforce攜手合作伙伴龍智一同亮相Unreal Fest 2024上海站,分享Helix Core版本控制系統及其協作套件的強大功能與最新動態,助力游戲創意產業加速前行。
Perforce解決方案工程師Kory Luo在活動主會場帶來《Helix Core+Unreal Engine工作流程與使用實踐》的主題演講,分享Helix Core在Project Titan項目中的關鍵角色、與Unreal Engine的配置技巧、常見的使用誤區及解決辦法,以及Helix Core的最新功能與應用等重磅干貨。
此次演講回顧分為上下兩期為您呈現(內容有精簡優化);本期為(下)期。
如何避免、解決常見問題
那些發生在Project Titan中,你也可能會遇到的問題
本節,我們將了解一些在管理Project Titan中遇到的問題和解決方法,看看大家是否遇到過同樣的問題,以便下次再遇到時能夠從容應對。
問題1:使用非流工作區在流版本倉中工作。
我們版本倉的常用類型有classicdepot和streamdepot。當用戶第一次與服務器交互時,會創建一個工作區,用來存儲從服務器下載到本地的文件。初始狀態下,默認的工作區是classicdepot,stream的選項是空白的。當我們需要在stream depot下操作時,若新手用戶沒有將工作區與stream depot相對應,這導致會出現的問題是:用戶雖然可以進行下載和更改,但無法提交,因為工作區的屬性與版本倉的屬性不匹配。
解決的方法也很簡單:編輯工作區規范(workspace spec),將其附加到相對應的流版本倉即可。但是對于4000多人的ProjectTitan項目,我們無法逐個告知用戶,所以我們創建了p4python腳本,通過設置預定任務每小時對workspace spec進行修正,以便在用戶發現之前解決問題,從而大大減少用戶遇到此問題的幾率。
問題2:在OSX系統中,將工作區路徑設置到exFat存儲。
如此設置的OSX系統用戶,可以正常創建工作區、下載或更改文件,但是當服務器的文件有新版本需再次下載的時候,就會出現“Can’t clobber writable file”的報錯。
什么原因呢?正常操作下,我們初期下載到本地的文件是read-only只讀模式,需要用P4V或UE執行checkout(簽出),將文件權限從read-only改成read-write,才能正常進行更改。一旦用戶不通過服務器,而在本地直接更改文件的讀寫權限,這看似沒有問題,但在后續的提交或下載時,服務器會將其判斷為“離線更改”,而出現無法與服務器最新版本同步的情況。因為服務器擔心覆蓋掉您的本地內容,導致數據丟失,所以呢會發出“Can’t clobber writable file”的警告。
對于不兼容的文件系統,我們的解決方案也只能是——將其格式化,然后使用相匹配的文件系統。在Project Titan中,用戶備份數據后,重新格式化硬盤為APFS,然后就可以繼續工作了。
問題3:服務器的儲存安全限制。
Helix Core對服務器數據的主要儲存空間有一些硬性限制,比如對于儲存metadata、日志、temp表的磁盤空間,默認值是250MB。即:當磁盤空間不足250MB時,服務器會停止接收任何命令。畢竟,版本控制軟件是用來記錄所有版本的相關信息的,如果磁盤空間不足,已經無法正常讀寫還繼續接收版本的話,也就喪失版本控制的意義了。
為了避免這一情況,我們需要定時清理舊的磁盤和日志,例如可以保留最近7天的日志,同時可確保在遇到問題時,有足夠的日志信息以便追溯問題源頭。另外,也可以將舊版本的文件存檔到外部硬盤或云端,以確保服務器中的磁盤空間充足,能夠滿足實際的需求。
當然,最重要的還是要做到密切監控。若問題發生后再著手解決,很可能會影響服務器的運行時間甚至導致停機。這時候,P4Prometheus的重要性就不言而喻了。它可以設置自定義郵件警報,比如設置當磁盤空間不足70%時,向管理員發送郵件警報,以便我們提前采取措施,避免服務器停機。
問題4:服務器大小寫問題。
我們知道,Linux服務器區分大小寫,而Windows不區分。有些團隊使用的是Linux服務器,但既有Windows用戶又有Linux用戶,有大小寫就會顯得非常混亂。如果兩個文件的路徑、文件名都相同僅僅是大小寫不同,Linux服務器會將其視為兩個文件,而上傳這樣的文件是沒有意義的。不過呢,對于涉及多個部門協同工作的項目來說,保留服務器中的大小寫屬性也很有必要,它能夠幫助促進不同部門間的協作和兼容。
那如何控制這一問題呢?——可以通過安裝CheckCase Trigger,將那些待提交的僅大小寫不同、但文件內容完全相同的兩個文件名或目錄名進行攔截,以避免產生沖突。
那些我們創建的實用工具和腳本
分享和構建一些免費的社區支持工具
接下來,為大家介紹一些我們創建的實用腳本和工具。
工具1:簡易密碼重置工具
我們常常會遇到忘記密碼的情況。 如果某個用戶忘記了,管理員可在P4Admin上操作重置。規模比較小的項目中,管理員一一手動重置是沒有問題的,但對于4000人以上的大規模項目,管理員可能每天都收到大量的重置請求,再手動重置的話,無疑會令人崩潰。
對此,我們創建了一個實用腳本,即簡易密碼重置工具,來幫助管理員自動生成臨時密碼。在Project Titan中,我們通過Discord聊天軟件將密碼發送給用戶進行重置。國內使用微信的用戶更多,那我們也可以根據需求,改為通過微信或郵件來與用戶交流。
工具2:強制解鎖工具
由于二進制文件不可合并,一旦某個用戶檢出后未及時上傳,其他任何成員都不能對該文件進行修改。對于小型團隊,或許可以和用戶溝通,由管理員逐個強制解鎖,但對于數百甚至上千人的大體量項目,溝通的成本就會顯著增加。所以我們必須使用工具。
通過將我們的強制解鎖工具加載到P4V的CustomTools中,右鍵單擊選擇“強制解鎖”,即可解鎖該文件,以確保工作的流通和順利推進。這對大體量的工作室來說,非常有幫助。
工具3:超時自動復原工具
這一工具與前面的強制解鎖工具有異曲同工之妙,但是更為強硬一些。它會設定一個時間期限,若用戶在期限內未對檢出的文件進行上傳或提交,系統就會自動復原該文件至檢出前的狀態。復原后,用戶的本地更改會全部消失。當然,這很可能會引起用戶的不滿,但某些情況下,特別是在Project Titan這樣的大型項目中,由于人數眾多,存在很多遲遲不上傳的情況,我們又無法與各個用戶高效溝通,這時候,超時自動復原就成為一項必要的手段。
不過在實施此功能時,可以進行一些柔化處理。我們可以設置預警機制,比如提前3天發送郵件提醒用戶上傳,以減少不必要的工作損失。
工具4:P4項目模版工具
這是一款面向管理員的模板化服務器部署工具。對于經常需要為項目組部署服務器的管理員來說,這一工具可幫助大大簡化部署流程。通過模板工具,管理員可以快速搭建出具有基本功能的服務器環境,后續再根據具體的需求進行微調。
那些您需要了解的新功能
了解如何將其應用到您的工作室中
最后,我們再來看看Helix Core近年來推出的幾項矚目的新功能。
1、虛擬文件同步-Helix Core 2023.1
這項功能在23.1版本中首次推出。什么是“虛擬文件同步”呢?就是工作區同步時,只會下載元數據(包括誰、在什么時間、執行了什么操作以及文件名、文件歷史記錄等),但不會立即將實體文件下載到本地。只有當用戶對文件進行更改時,系統才會將實體文件從服務器端同步到本地。通過這一功能,我們可以大大節省磁盤空間,并提升初期的下載速度。
2、系統資源監控- Helix Core 2023.1
當服務器資源緊張時,我們Helix Core的服務器會將用戶的命令行排隊,待資源充足后再進行逐個處理,以確保服務器的正常工作,改善系統在高壓下的運行時間。
3、Sparse Streams-Helix Core 2024.1
Sparse Streams可以理解為輕量級的分支流,和剛才提到的“虛擬文件同步”類似,Sparse Streams在創建初期,只生成少量的元數據,并允許用戶選擇需要包含的文件。它不會立即下載大量的實體文件到本地,從而幫助節省磁盤空間,創建流的體驗也會非常流暢。
Sparse Streams與其Parent Stream相關聯,只有在用戶對實體文件進行實際更改時,才會從parent stream中抓取相應的文件到Sparse Streams,并傳送給用戶。這對于修復小bug或開發一些簡易功能非常有用,后續也可以輕松升級為其他類型的流,比如開發流或發布流。
4、支持S3(及兼容S3)對象存儲 - Helix Core 2024.1
這一功能擴展了對更具有成本效益的云存儲的支持。24.1之前只支持存檔(archive depot)版本倉。24.1版本后,支持除remotedepot外的所有版本倉類型。(*remotedepot適用于與其他公司或第三方合作時分享文件、數據、代碼或數字資產。)
5、Delta Submits - Helix Core 2024.1
Delta Submits是今年新推出的一項非常強大的功能,可減少未壓縮的二進制文件在提交時的網絡負載。簡單來說,它將大文件分割成多個小塊,并通過算法比較,僅提交相對于上一版本有更改的一些小塊,從而減少上傳的負載和時間。在服務器端,這些小塊會與之前的版本內容合并重構,生成最新的版本存儲在服務器上。對于網絡延遲較高的環境,這項功能尤為有用,我們的內部測試顯示,上傳速度可提升至少3到4倍。
以上是我們Helix Core的一些功能介紹,以及在Project Titan項目中的一些應用分享。如需進一步體驗Helix Core的強大功能,歡迎聯系Perforce中國授權合作伙伴龍智,獲得下載安裝支持。
5人及以下的小團隊,可以免費使用Helix Core,所有功能與付費版相同。對于沒有技術人員專管服務器的團隊,我們也提供HelixRemoteAdmin(HRA)服務,涵蓋了Helix Core所有產品、Swarm版本審查工具等,由Perforce專業團隊幫您部署和持續管理。此外,我們還推出了Helix Core Cloud服務,適用于50人及以下的團隊。通過云托管,您可以獲得專屬的VM,用于部署和運行服務器。這種部署方式更為經濟,也非常安全,只有本公司的人員才能訪問。同時,我們也提供全面的備份服務,可根據您的需求定制不同的云容量。
以上就是本次演講的全部內容,謝謝大家!
-
控制系統
+關注
關注
41文章
6605瀏覽量
110578 -
版本管理
+關注
關注
0文章
7瀏覽量
160 -
版本控制
+關注
關注
0文章
13瀏覽量
54
發布評論請先 登錄
相關推薦
評論