zoffline memungkinkan penggunaan Zwift offline dengan bertindak sebagai implementasi parsial dari server Zwift. Secara default zoffline hanya untuk satu pemain. Lihat Langkah 6: Aktifkan Multiplayer untuk mengetahui cara mengaktifkan dukungan untuk banyak pengguna/profil.
zoffline juga menawarkan berkendara melawan hantu (perjalanan Anda sebelumnya). Aktifkan fitur ini dengan mencentang "Aktifkan hantu" di peluncur zoffline. Lihat Hantu dan bot untuk detail lebih lanjut.
Selain itu, peluncur zoffline memungkinkan pemilihan peta tertentu untuk dilalui tanpa menyia-nyiakan file konfigurasi.
Menyiapkan zoffline memerlukan dua langkah utama. Pertama, zoffline harus diinstal dan dijalankan pada sistem sebelum menjalankan Zwift (baik pada sistem yang menjalankan Zwift atau pada sistem jaringan lokal lainnya). Kedua, Zwift harus dikonfigurasi untuk menggunakan zoffline, bukan server resmi Zwift.
Ada tiga cara untuk menginstal dan menjalankan zoffline tergantung pada platform Anda:
pace_partners
ke folder yang sama dengan tempat zoffline berada.server-ip.txt
di direktori storage
yang berisi alamat IP PC yang menjalankan zoffline.storage
di folder yang sama untuk menyimpan kemajuan Zwift Anda.pip3 install -r requirements.txt
pip install -r requirements.txt
C:Users<username>AppDataLocalProgramsPythonPython<version>Scriptspip.exe
bukan hanya pip
server-ip.txt
di direktori storage
yang berisi alamat IP PC yang menjalankan zoffline.sudo ./standalone.py
sudo python3 standalone.py
python standalone.py
C:Users<username>AppDataLocalProgramsPythonPython<version>python.exe
bukan hanya python
storage
. Ini berisi status kemajuan Zwift Anda.zoffline dapat diinstal pada mesin yang sama dengan Zwift atau mesin lokal lainnya.
docker create --name zwift-offline -p 443:443 -p 80:80 -p 3024:3024/udp -p 3025:3025 -p 53:53/udp -v </path/to/host/storage>:/usr/src/app/zwift-offline/storage -e TZ=<timezone> zoffline/zoffline
-v </path/to/host/storage>:/usr/src/app/zwift-offline/storage
jika Anda tidak peduli apakah status kemajuan Zwift Anda dipertahankan di seluruh pembaruan zoffline (tidak mungkin).-v
kemungkinan besar harus dapat dibaca dan ditulis oleh dunia.<timezone>
yang valid (misalnya Amerika/New_York) dapat ditemukan di sini.--restart unless-stopped
akan membuat zoffline mulai saat boot jika Anda memiliki Docker v1.9.0 atau lebih tinggi.server-ip.txt
di direktori </path/to/host/storage>
yang berisi alamat IP PC yang menjalankan zoffline.docker start zwift-offline
docker-compose.yml
di repo ini yang akan dibuat dari Dockerfile, atau gunakan contoh file penulisan ini: 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
server-ip.txt
di direktori storage
yang berisi alamat IP PC yang menjalankan zoffline.docker-compose up -d
C:Program Files (x86)ZwiftZwift_ver_cur.xml
ke cdn/gameassets/Zwift_Updates_Root/
timpa file yang ada.certutil.exe -importpfx Root cert-zwift-com.p12
C:Program Files (x86)Zwiftdatacacert.pem
ssl/cert-zwift-com.pem
ke cacert.pemC:WindowsSystem32Driversetchosts
<zoffline ip> us-or-rly101.zwift.com secure.zwift.com cdn.zwift.com launcher.zwift.com
<zoffline ip>
adalah alamat ip mesin yang menjalankan zoffline. Jika berjalan di mesin yang sama dengan Zwift, gunakan 127.0.0.1
sebagai ip.)hosts
tidak berubah kecuali saat menggunakan zoffline secara khusus, Anda dapat menggunakan skrip launch.bat secara opsional di dalam direktori scripts
untuk meluncurkan zoffline daripada menggunakan Zwift Launcher biasa. Lihat #121 untuk detailnya.Mengapa: Kita perlu mengalihkan Zwift untuk menggunakan zoffline dan meyakinkan Windows dan Zwift untuk menerima sertifikat yang ditandatangani sendiri zoffline untuk nama domain Zwift. Jangan ragu untuk membuat sertifikat Anda sendiri dan melakukan hal yang sama.
~/Library/Application Support/Zwift/ZwiftMac_ver_cur.xml
ke cdn/gameassets/Zwift_Updates_Root/
zoffline dengan menimpa file yang ada.sed -n '29,53p' cert-zwift-com.pem >> ~/Library/Application Support/Zwift/data/cacert.pem
/etc/hosts
<zoffline ip> us-or-rly101.zwift.com secure.zwift.com cdn.zwift.com launcher.zwift.com
<zoffline ip>
adalah alamat ip mesin yang menjalankan zoffline. Jika berjalan di mesin yang sama dengan Zwift, gunakan 127.0.0.1
sebagai ip.)Mengapa: Kita perlu mengalihkan Zwift untuk menggunakan zoffline dan meyakinkan macOS dan Zwift untuk menerima sertifikat yang ditandatangani sendiri zoffline untuk nama domain Zwift. Jangan ragu untuk membuat sertifikat Anda sendiri dan melakukan hal yang sama.
ZofflineObb.apk
dari siniapp-Github-release.apk
dari sinihosts.txt
untuk digunakan dengan aplikasi (Anda dapat menggunakan aplikasi editor teks atau membuatnya online dengan alat online seperti ini). Filenya akan terlihat seperti ini (ganti <zoffline ip>
dengan alamat IP mesin yang menjalankan zoffline): <zoffline ip> us-or-rly101.zwift.com
<zoffline ip> secure.zwift.com
<zoffline ip> cdn.zwift.com
hosts.txt
yang dibuatfake-dns.txt
di direktori storage
dan mengatur "DNS 1" koneksi Wi-Fi ponsel Anda ke alamat IP PC yang menjalankan zofflineAndroid Settings > Applications > Zwift
dan hapus data atau hapus instalan dan instal ulang aplikasi.ZofflineObb
dan jalankan (izinkan akses ke penyimpanan)Mengapa: Kita perlu mengalihkan Zwift untuk menggunakan zoffline (hal ini dilakukan oleh aplikasi Virtual Hosts) dan meyakinkan Zwift untuk menerima sertifikat yang ditandatangani sendiri oleh zoffline untuk nama domain Zwift (hal ini dilakukan dengan alat patch ZofflineObb).
ssl/cert-zwift-com.pem
ke /data/data/com.zwift.zwiftgame/dataES/cacert.pem
di perangkatadb 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
perangkat<zoffline ip> us-or-rly101.zwift.com secure.zwift.com cdn.zwift.com
<zoffline ip>
adalah alamat IP mesin yang menjalankan zoffline.)adb pull /etc/hosts
adb push hosts /etc/hosts
hosts
Anda.Mengapa: Kita perlu mengalihkan Zwift untuk menggunakan zoffline dan meyakinkan Zwift untuk menerima sertifikat yang ditandatangani sendiri zoffline untuk nama domain Zwift. Jangan ragu untuk membuat sertifikat Anda sendiri dan melakukan hal yang sama.
Untuk menggunakan Zwift online seperti biasa, beri komentar atau hapus baris yang ditambahkan ke file hosts
sebelum memulai Zwift. Kemudian pastikan Zwift tertutup sepenuhnya (klik kanan ikon baki sistem Zwift dan keluar) dan mulai ulang Zwift.
Jika Anda tidak mendapatkan profil Zwift Anda saat ini sebelum memulai Zwift dengan zoffline diaktifkan, Anda akan diminta untuk membuat profil baru (tinggi, berat, jenis kelamin). Profil Anda dapat disesuaikan dan diubah lebih lanjut melalui menu dalam permainan (misalnya nama, kebangsaan, perubahan berat badan, dll).
Untuk mendapatkan profil Anda saat ini:
scripts/get_profile.py -u <your_zwift_username>
get_profile.exe
yang diperoleh dari https://github.com/oldnapalm/zoffline-helper/releases/latest sebagai pengganti scripts/get_profile.py
profile.bin
, achievements.bin
dan economy_config.txt
(disimpan di direktori apa pun tempat Anda menjalankan get_profile.py) ke dalam direktori storage/1
.storage/1
dalam folder yang sama dengan zoffline.exe jika belum ada.1
harus berada di jalur yang Anda teruskan ke -v
launcher.zwift.com
dan menggunakan tombol "Pengaturan - Strava" di jendela peluncur (khusus Windows dan macOS).scripts/strava_auth.py --client-id CLIENT_ID --client-secret CLIENT_SECRET
strava_auth.exe
yang diperoleh dari https://github.com/oldnapalm/zoffline-helper/releases/latest sebagai pengganti scripts/strava_auth.py
strava_token.txt
yang dihasilkan (disimpan di direktori mana pun tempat Anda menjalankan strava_auth.py
) ke direktori storage/1
.pip install garth
garmin_domain.txt
di direktori storage
yang berisi domain tersebutgarmin.cn
garmin_credentials.txt
di direktori storage/1
yang berisi kredensial login Anda <username>
<password>
Untuk mengaktifkan dukungan bagi banyak pengguna, lakukan langkah-langkah di bawah ini:
multiplayer.txt
di direktori storage
.server-ip.txt
di direktori storage
yang berisi alamat IP PC yang menjalankan zoffline.apk-mitm/dist/tools/apktool.js
(jalankan npm root -g
untuk menemukan lokasinya) dan edit seperti ini: decode ( inputPath , outputPath ) {
return this . run ( [
'decode' ,
'-resm' , // add this
'dummy' , // add this
inputPath ,
'--output' ,
outputPath ,
'--frame-path' ,
this . options . frameworkPath ,
] , 'decoding' ) ;
}
zca.apk
) ke lokasi yang diketahuiapk-mitm --certificate cert-zwift-com.pem zca.apk
zca-patched.apk
ke ponsel Anda dan instalapp-Github-release.apk
dari sinihosts.txt
untuk digunakan dengan aplikasi (Anda dapat menggunakan aplikasi editor teks atau membuatnya online dengan alat online seperti ini). Filenya akan terlihat seperti ini (ganti <zoffline ip>
dengan alamat IP mesin yang menjalankan zoffline): <zoffline ip> us-or-rly101.zwift.com
<zoffline ip> secure.zwift.com
cdn.zwift.com
ke hosts.txt
, Pendamping perlu mengunduh gambar dari server resmihosts.txt
yang dibuatfake-dns.txt
di direktori storage
dan mengatur "DNS 1" koneksi Wi-Fi ponsel Anda ke alamat IP PC yang menjalankan zofflinecdn-proxy.txt
di direktori storage
. Ini hanya dapat berfungsi jika Anda menjalankan zoffline di mesin yang berbeda dari klien Zwift.disable_proxy.txt
di direktori storage
.gmail_credentials.txt
di direktori storage
yang berisi kredensial login akun Gmail. Anda perlu mengakses https://security.google.com/settings/security/apppasswords dan membuat kata sandi aplikasi untuk mengizinkan login dari server.pip3 install discord.py
dan buat file discord.cfg
di direktori storage
yang berisi [discord]
token =
webhook =
channel =
welcome_message =
help_message =
[system_default_sect]
MinProtocol = TLSv1.0
CipherString = DEFAULT@SECLEVEL=1
enable_ghosts.txt
di dalam folder storage
.https://<zoffline_ip>/login/
, centang "Aktifkan hantu" dan klik "Mulai Zwift" untuk menyimpan opsi.storage/<player_id>/ghosts/<world>/<route>
. Lain kali Anda melewati rute yang sama, hantu itu akan dimuat..regroup
di obrolan untuk mengelompokkan kembali hantu.ghost_profile.txt
di dalam folder storage
. Skrip find_equip.py
dapat digunakan untuk mengisi file ini. enable_bots.txt
di dalam folder storage
untuk memuat hantu sebagai bot, mereka akan terus berkeliling terlepas dari rute yang Anda lalui.enable_bots.txt
dapat berisi nilai pengganda (hati-hati, jika jumlah bot yang dihasilkan terlalu tinggi, hal ini dapat menyebabkan masalah kinerja atau tidak berfungsi sama sekali).bot.txt
di dalam folder storage
. Skrip get_pro_names.py
dan get_strava_names.py
dapat digunakan untuk mengisi file ini.bot_editor.py
dapat digunakan untuk mengubah profile.bin
(nama set, ID pemain, dan ID rute) dan route.bin
(memotong titik yang terlampaui untuk membuat putaran sempurna)..bookmark <name>
di chat.all_time_leaderboards.txt
di direktori storage
.unlock_entitlements.txt
di direktori storage
.unlock_all_equipment.txt
sebagai gantinya. Silakan bergabung dengan server Discord dan klub Strava yang didukung komunitas.
Buruh pelabuhan
-atau-
Pembaruan Zwift di masa depan mungkin merusak zoffline hingga diperbarui. Saat zoffline diaktifkan, pembaruan Zwift tidak akan diinstal. Jika pembaruan zoffline merusak sesuatu, periksa CHANGELOG
untuk kemungkinan perubahan yang perlu dilakukan.
Jangan memaparkan zoffline ke internet, ini tidak dirancang dengan pemikiran tersebut.
Catatan: tidak ada jaminan bahwa pembaruan Zwift yang belum teruji akan berfungsi dengan zoffline. Namun, secara historis, pembaruan Zwift jarang merusak zoffline.
Zwift adalah merek dagang dari Zwift, Inc., yang tidak berafiliasi dengan pembuat proyek ini dan tidak mendukung proyek ini.
Semua produk dan nama perusahaan adalah merek dagang dari pemiliknya masing-masing. Penggunaannya tidak berarti afiliasi atau dukungan apa pun dari mereka.