¿Cómo debo actualizar automáticamente los activos y los ejecutables del juego de mi jugador? Es preferible que el software de actualización sea gratuito. Las actualizaciones deben ser pequeñas y no perder el tiempo de CPU. También tiene que ser fácil ejecutar un servidor de actualización para crear nuevas versiones o logísticamente.
Mi caso de uso es para actualizar versiones de juegos de jugadores, como en clientes masivos en línea o ejecutar pruebas de juegos distribuidos o incluso juegos normales.
client-server
Fuego
fuente
fuente
Respuestas:
Hay una pregunta sobre desbordamiento de pila aquí que podrían ser de utilidad. Se relaciona con el parcheo de archivos binarios de una manera eficiente (básicamente almacenando las diferencias entre versiones en lugar de los archivos completos).
También vale la pena tener en cuenta que si instala los archivos del juego en "Archivos de programa" en Windows Vista y posteriores, también deberá tener en cuenta que el usuario no necesariamente tiene el permiso para modificar los archivos. También hay un poco de información de los archivos de ayuda de DirectX aquí .
Una vez que haya generado su parche, probablemente querrá verificar la versión actual del juego exe con algo alojado en la web en algún lugar, luego descargar e iniciar un parche por separado con contenido de parche. El juego principal exe no podrá parchearse mientras se está ejecutando. Hay muchas soluciones de alojamiento de archivos baratas en las que puede almacenar su parche y otros datos.
fuente
Noté que etiquetaste la pregunta cliente-servidor, así que supongo que también estás preguntando cómo distribuir físicamente el parche. Dependiendo de su presupuesto, lo más fácil para los usuarios es simplemente proporcionar una descarga HTTP en su sitio web, pero esto requiere el mayor ancho de banda de su servidor (tamaño de parche * juegos comprados), una opción un poco menos amigable para el usuario es cargar su contenido como un bittorrent y ejecuta algunas semillas desde tus servidores. Esto reduce el ancho de banda requerido en su servidor, pero será más difícil para sus usuarios a menos que sea como Blizzard y tenga los recursos para construir un cliente bittorrent en su juego.
La conclusión es que depende de cuán grande (MB / GB) será su parche o actualización y cuánto dinero tendrá que arrojar a un servidor y ancho de banda para distribuir su parche a los usuarios finales.
Desde la perspectiva del software, hay muchas formas de distribuir e instalar actualizaciones de juegos, pero en general debes seguir los métodos utilizados por el software tradicional. Haga que el usuario descargue un instalador de actualizaciones, que sabe cómo solicitarle al usuario acceso administrativo a su máquina y copiar / actualizar archivos según las versiones de verificación necesarias (el usuario puede haber omitido la v1.1 e instalado la v1.2 directamente).
fuente