zoffline 透過充當 Zwift 伺服器的部分實作來支援離線使用 Zwift。預設情況下,zoffline 僅適用於單一玩家。請參閱步驟 6:啟用多人遊戲,以了解如何啟用對多個使用者/設定檔的支援。
zoffline 還提供對抗幽靈的騎行(您之前的騎行)。透過在 zoffline 啟動器中選取「啟用幽靈」來啟用此功能。有關更多詳細信息,請參閱幽靈和機器人。
此外,zoffline 的啟動器允許選擇要騎乘的特定地圖,而無需修改設定檔。
設定 zoffline 需要兩個主要步驟。首先,必須在執行 Zwift 之前在系統上安裝並執行 zoffline(無論是在運行 Zwift 的系統上還是在另一個本地聯網系統上)。其次,必須將 Zwift 配置為使用 zoffline 而不是官方 Zwift 伺服器。
根據您的平台,可以透過三種方式安裝和運行 zoffline:
pace_partners
目錄解壓縮到zoffline所在的相同資料夾中。storage
目錄中建立一個server-ip.txt
文件,其中包含執行 zoffline 的 PC 的 IP 位址。storage
目錄來儲存您的 Zwift 進度。pip3 install -r requirements.txt
pip install -r requirements.txt
C:UsersAppDataLocalProgramsPythonPythonScriptspip.exe
而不僅僅是pip
storage
目錄中建立一個server-ip.txt
文件,其中包含執行 zoffline 的 PC 的 IP 位址。sudo ./standalone.py
sudo python3 standalone.py
python standalone.py
C:UsersAppDataLocalProgramsPythonPythonpython.exe
而不僅僅是python
storage
目錄。它包含您的 Zwift 進度狀態。zoffline 可以安裝在與 Zwift 相同的電腦上或另一臺本機上。
docker create --name zwift-offline -p 443:443 -p 80:80 -p 3024:3024/udp -p 3025:3025 -p 53:53/udp -v :/usr/src/app/zwift-offline/storage -e TZ= zoffline/zoffline
-v :/usr/src/app/zwift-offline/storage
-v
路徑可能需要是全域可讀和可寫入的。
值(例如 America/New_York)可以在此處找到清單。--restart unless-stopped
將使 zoffline 在啟動時啟動。
目錄中建立一個server-ip.txt
文件,其中包含執行 zoffline 的 PC 的 IP 位址。docker start zwift-offline
docker-compose.yml
檔案(該檔案將從 Dockerfile 建置),也可以使用以下範例撰寫檔案: version: "3.3"
services:
zoffline:
image: zoffline/zoffline:latest
container_name: zoffline
environment:
- TZ=Europe/London
volumes:
- ./storage/:/usr/src/app/zwift-offline/storage
ports:
- 80:80
- 443:443
- 3024:3024/udp
- 3025:3025
restart: unless-stopped
storage
目錄中建立一個server-ip.txt
文件,其中包含執行 zoffline 的 PC 的 IP 位址。docker-compose up -d
C:Program Files (x86)ZwiftZwift_ver_cur.xml
複製到 zoffline 的cdn/gameassets/Zwift_Updates_Root/
複製現有檔案。certutil.exe -importpfx Root cert-zwift-com.p12
C:Program Files (x86)Zwiftdatacacert.pem
ssl/cert-zwift-com.pem
的內容附加到 cacert.pemC:WindowsSystem32Driversetchosts
us-or-rly101.zwift.com secure.zwift.com cdn.zwift.com launcher.zwift.com
是運行 zoffline 的電腦的 IP 位址。如果它與 Zwift 在同一台電腦上運行,請使用127.0.0.1
作為 IP。)hosts
檔案不變,除非專門使用 zoffline,您可以選擇使用scripts
目錄中的launch.bat腳本來啟動 zoffline,而不是使用普通的 Zwift 啟動器。有關詳細信息,請參閱#121。原因:我們需要重新導向 Zwift 以使用 zoffline,並說服 Windows 和 Zwift 接受 zoffline 對 Zwift 網域的自簽名憑證。請隨意產生您自己的憑證並執行相同的操作。
~/Library/Application Support/Zwift/ZwiftMac_ver_cur.xml
複製到 zoffline 的cdn/gameassets/Zwift_Updates_Root/
停用現有檔案。sed -n '29,53p' cert-zwift-com.pem >> ~/Library/Application Support/Zwift/data/cacert.pem
/etc/hosts
us-or-rly101.zwift.com secure.zwift.com cdn.zwift.com launcher.zwift.com
是運行 zoffline 的電腦的 IP 位址。如果它與 Zwift 在同一台電腦上運行,請使用127.0.0.1
作為 IP。)原因:我們需要重新導向 Zwift 以使用 zoffline,並說服 macOS 和 Zwift 接受 Zoffline 對 Zwift 網域的自簽名憑證。請隨意產生您自己的憑證並執行相同的操作。
ZofflineObb.apk
app-Github-release.apk
hosts.txt
檔案(您可以使用文字編輯器應用程式或使用此類線上工具在線上建立它)。該文件必須如下所示(將
替換為運行 zoffline 的電腦的 IP 位址): us-or-rly101.zwift.com
secure.zwift.com
cdn.zwift.com
hosts.txt
文件storage
目錄中建立fake-dns.txt
文件,並將手機 Wi-Fi 連接的「DNS 1」設定為執行 zoffline 的 PC 的 IP 位址,而不是使用「虛擬主機」應用程式Android Settings > Applications > Zwift
並清除資料或解除安裝並重新安裝應用程式。ZofflineObb
應用程式並運行它(允許存取儲存)原因:我們需要重新導向 Zwift 以使用 zoffline(這是由虛擬主機應用程式完成的),並說服 Zwift 接受 zoffline 的 Zwift 網域自簽名憑證(這是由修補程式工具 ZofflineObb 完成的)。
ssl/cert-zwift-com.pem
的內容附加到裝置上的/data/data/com.zwift.zwiftgame/dataES/cacert.pem
adb push ssl/cert-zwift-com.pem /data/data/com.zwift.zwiftgame/dataES/
adb shell
: cd /data/data/com.zwift.zwiftgame/dataES/
adb shell
: cat cert-zwift-com.pem >> cacert.pem
/etc/hosts
文件 us-or-rly101.zwift.com secure.zwift.com cdn.zwift.com
是執行 zoffline 的電腦的 IP 位址。)adb pull /etc/hosts
adb push hosts /etc/hosts
hosts
檔案。原因:我們需要重新導向 Zwift 以使用 zoffline 並說服 Zwift 接受 Zoffline 的 Zwift 網域自簽名憑證。請隨意產生您自己的憑證並執行相同的操作。
若要像平常一樣在線上使用 Zwift,請在啟動 Zwift 之前註解或刪除新增到hosts
檔案中的行。然後確保 Zwift 完全關閉(右鍵單擊 Zwift 系統托盤圖示並退出)並重新啟動 Zwift。
如果您在啟用 zoffline 的情況下首次啟動 Zwift 之前未取得當前的 Zwift 設定文件,系統會提示您建立新的設定檔(身高、體重、性別)。您的個人資料可以透過遊戲選單進一步自訂和更改(例如姓名、國籍、體重變化等)。
若要取得您目前的個人資料:
scripts/get_profile.py -u
get_profile.exe
取代scripts/get_profile.py
profile.bin
、 achievements.bin
和economy_config.txt
(儲存在您執行 get_profile.py 的任何目錄中)移至storage/1
目錄中。storage/1
目錄(如果該目錄尚不存在)。1
應位於您傳遞給-v
路徑中launcher.zwift.com
,然後使用啟動器視窗中的「設定 - Strava」按鈕(僅限 Windows 和 macOS),而不是執行下列步驟。scripts/strava_auth.py --client-id CLIENT_ID --client-secret CLIENT_SECRET
strava_auth.exe
來取代scripts/strava_auth.py
strava_token.txt
(儲存在執行strava_auth.py
的任何目錄中)移至storage/1
目錄中。pip install garth
storage
目錄中建立檔案garmin_domain.txt
garmin.cn
storage/1
目錄中建立包含您的登入憑證的檔案garmin_credentials.txt
若要啟用對多個使用者的支持,請執行下列步驟:
storage
目錄中建立multiplayer.txt
檔案。storage
目錄中建立一個server-ip.txt
文件,其中包含執行 zoffline 的 PC 的 IP 位址。apk-mitm/dist/tools/apktool.js
(執行npm root -g
找到它的位置)並像這樣編輯它: decode ( inputPath , outputPath ) {
return this . run ( [
'decode' ,
'-resm' , // add this
'dummy' , // add this
inputPath ,
'--output' ,
outputPath ,
'--frame-path' ,
this . options . frameworkPath ,
] , 'decoding' ) ;
}
zca.apk
)複製到已知位置apk-mitm --certificate cert-zwift-com.pem zca.apk
zca-patched.apk
複製到您的手機並安裝app-Github-release.apk
hosts.txt
檔案(您可以使用文字編輯器應用程式或使用此類線上工具在線上建立它)。該文件必須如下所示(將
替換為運行 zoffline 的電腦的 IP 位址): us-or-rly101.zwift.com
secure.zwift.com
hosts.txt
中新增cdn.zwift.com
,Companion需要從官方伺服器下載鏡像hosts.txt
文件storage
目錄中建立fake-dns.txt
文件,並將手機 Wi-Fi 連接的「DNS 1」設定為執行 zoffline 的 PC 的 IP 位址,而不是使用「虛擬主機」應用程式storage
目錄中建立cdn-proxy.txt
檔案。只有當您在與 Zwift 用戶端不同的電腦上執行 zoffline 時,這才有效。storage
目錄中建立disable_proxy.txt
檔案。storage
目錄中建立一個gmail_credentials.txt
文件,其中包含 Gmail 帳戶的登入憑證。您需要訪問 https://security.google.com/settings/security/apppasswords 並建立應用程式密碼以允許從伺服器登入。pip3 install discord.py
並在storage
目錄中建立一個包含以下內容的discord.cfg
檔案: [discord]
token =
webhook =
channel =
welcome_message =
help_message =
[system_default_sect]
MinProtocol = TLSv1.0
CipherString = DEFAULT@SECLEVEL=1
storage
資料夾中建立檔案enable_ghosts.txt
。https:///login/
,勾選「啟用幽靈」並點擊「啟動 Zwift」以儲存選項。storage//ghosts//
中。下次你騎同樣的路線時,幽靈就會被載入。.regroup
來重新組合幽靈。storage
資料夾內建立檔案ghost_profile.txt
來自訂裝置。腳本find_equip.py
可用來填入此檔案。 storage
資料夾中建立一個檔案enable_bots.txt
將幽靈載入為機器人,無論您騎乘的路線如何,它們都會繼續騎乘。enable_bots.txt
可以包含一個乘數值(請注意,如果產生的機器人數量過高,可能會導致效能問題或根本無法運作)。storage
資料夾內建立檔案bot.txt
來自訂姓名、國籍和裝置。腳本get_pro_names.py
和get_strava_names.py
可用來填入此檔案。bot_editor.py
可用於修改profile.bin
(設定名稱、玩家ID和路線ID)和route.bin
(剪掉超出的點以形成完美的循環)。.bookmark
儲存書籤。storage
目錄中建立檔案all_time_leaderboards.txt
。storage
目錄中建立檔案unlock_entitlements.txt
。unlock_all_equipment.txt
。 請加入社群支援的 Discord 伺服器和 Strava 俱樂部。
碼頭工人
-或者-
未來的 Zwift 更新可能會中斷 zoffline,直到更新為止。啟用 zoffline 後,將不會安裝 Zwift 更新。如果 zoffline 更新破壞了某些內容,請檢查CHANGELOG
以了解可能需要進行的變更。
不要將 zoffline 暴露在網路上,它的設計並沒有考慮到這一點。
注意:不保證未經測試的 Zwift 更新能夠與 zoffline 搭配使用。然而,從歷史上看,Zwift 更新很少會破壞 zoffline。
Zwift 是 Zwift, Inc. 的商標,該公司與該項目的製造商沒有附屬關係,也不認可該項目。
所有產品和公司名稱均為其各自所有者的商標。使用它們並不意味著與它們有任何隸屬關係或得到它們的認可。