Bagaimana cara saya memperbarui aset dan executable game pemain saya secara otomatis? Lebih disukai perangkat lunak pembaruan menjadi gratis. Pembaruan harus berukuran kecil dan tidak membuang waktu. Juga harus mudah menjalankan server pembaruan untuk membuat versi baru atau secara logistik.
Kasus penggunaan saya adalah untuk memperbarui versi game pemain seperti di klien online besar atau menjalankan pengujian game terdistribusi atau bahkan game normal.
client-server
Api
sumber
sumber
Jawaban:
Ada pertanyaan tentang Stack Overflow di sini yang mungkin berguna. Ini berkaitan dengan menambal file biner dengan cara yang efisien (pada dasarnya menyimpan perbedaan antara versi daripada seluruh file).
Perlu juga diperhatikan bahwa jika Anda menginstal file game ke "Program Files" pada Windows Vista dan yang lebih baru maka Anda juga perlu mempertimbangkan pengguna yang tidak harus memiliki izin untuk memodifikasi file. Ada sedikit info dari file bantuan DirectX di sini tentang itu juga.
Setelah patch Anda dibuat, Anda mungkin ingin memeriksa versi exe game saat ini dengan sesuatu yang dihosting di web di suatu tempat, kemudian unduh dan luncurkan patcher terpisah dengan konten patch. Exe game utama tidak akan dapat menambal dirinya sendiri saat sedang berjalan. Ada banyak solusi hosting file murah di luar sana Anda dapat menyimpan patch Anda dan data lainnya.
sumber
Saya perhatikan bahwa Anda menandai pertanyaan-server-klien, jadi saya berasumsi Anda juga bertanya bagaimana cara mendistribusikan tambalan secara fisik. Bergantung pada anggaran Anda, cara termudah bagi pengguna adalah menyediakan unduhan HTTP di situs web Anda, tetapi ini membutuhkan bandwidth paling banyak dari server Anda (ukuran tambalan * game yang dibeli), opsi yang sedikit lebih ramah pengguna adalah mengunggah konten Anda sebagai bittorrent dan jalankan beberapa seed dari server Anda. Ini mengurangi bandwidth yang dibutuhkan di server Anda, tetapi akan lebih menyebalkan bagi pengguna Anda kecuali Anda seperti Blizzard dan memiliki resoruces untuk membangun klien bittorrent ke dalam gim Anda.
Intinya adalah bahwa itu tergantung pada seberapa besar (MB / GB) tambalan atau pembaruan Anda dan berapa banyak uang yang harus Anda keluarkan ke server dan bandwidth untuk mendistribusikan tambalan Anda kepada pengguna akhir.
Dari perspektif perangkat lunak, ada banyak cara untuk mendistribusikan dan menginstal pembaruan game, tetapi secara umum Anda harus tetap menggunakan metode yang digunakan oleh perangkat lunak tradisional. Mintalah pengguna mengunduh pemasang pembaruan, yang tahu cara meminta pengguna untuk mendapatkan akses administratif ke mesin mereka dan menyalin / memperbarui file sebagai versi pemeriksaan yang diperlukan (pengguna mungkin telah melewatkan v1.1 dan menginstal v1.2 secara langsung).
sumber