2017-01-23 2 views
1

Я сейчас работаю над игрой в Unity, и мне интересно, как я подхожу к созданию патчера для своей игры. Я ищу систему, похожую на то, как работает Steam, где пользователь установил игру в своей системе и запускает? проверяет локальные файлы игры на обновленные файлы на сервере и просматривает их контрольные суммы? чтобы узнать, какие файлы были изменены, а затем загружает только эти файлы и заменяет их в локальный каталог игр. Кто-нибудь знает, можно ли это сделать?Патчер игры, который проверяет разницу файлов между локальными файлами и новыми файлами, хранящимися на сервере

ответ

0

Что относительно версии с номерами? Кажется, гораздо меньше хлопот, чтобы определить

ver 1.0 = 10 files 

ver 1.1 = 2 new files, 0 changes 

ver 1.2 = 4 new files, 4 changes in 2 files, file 1, line 2:32, file 4, line 5:21 

редактирование:

Контрольной суммы

//Getting the md5 hash 
using (var md5 = MD5.Create()) 
{ 
    using (var stream = File.OpenRead(filename)) 
    { 
     return md5.ComputeHash(stream); 
    } 
} 

//Comparing 
if(thisHash == newVersionHash) 
{ 
    ; 
} 

Надеется, что это помогает :)

+0

это правильный ответ, почему занижать ... Thats просто грубо. – Seabizkit

+0

Проблема заключается в том, что я ищу способ определить, какие файлы были изменены между новыми файлами и старыми файлами. Скажем, у вас есть игра, в которой есть более 200 файлов и занимает около 2 ГБ пространства, у вас могут быть номера версий, например. v1, v1.1 и т. д., и вы можете загружать новые файлы, но для этого вам потребуется загрузить 2gb. Я ищу конкретный способ обнаружения только файлов, которые были изменены (поскольку некоторые файлы остаются неизменными), и загружать только эти файлы в каталог игр, которые могут сократить загрузку, требуемую пополам, если вы понимаете, что я имею в виду – vortexdev

+0

@Seabizkit Вероятно, у кого-то был этот ответ, но он избил его. :) – Everts

Смежные вопросы