Programando Launcher con Actualización de MU Online [PARTE 1]

Historia

Desde hace un tiempo estoy trabajando en la idea de montar en un servidor de MU Online. Hace muchos años (aproximadamente en el año 2010) conseguí realizar uno el cual tuvo bastantes jugadores, pero por un tema de estudios no tenia el tiempo suficiente ni el dinero para mantenerlo.

Imagen referencial random encontrada en google de algún servidor MU

Por lo general estos servidores privados están trabajados con C++ y con SQL SERVER como motor de base de datos. A mi en lo personal no me gustaba que utilizara este motor para guardar la información, por lo que busque la manera de remplazarlo por MYSQL y investigando en internet encontré un proyecto en github llamado OPENMU, el cual son los archivos de servidor portados a C# (increíble ya que así me es mas cómodo trabajarlo) utilizando .NET 6 (lo que es mejor aun ya que antes para tener un servidor necesitabas si o si Windows Server y ahora podre usar Ubuntu :D) y usando POSTGRESQL (no me gusta, pero veré como cambiarlo por MYSQL).

En que estoy trabajando ahora

Como aun no me doy el tiempo de analizar bien los fuentes de OPENMU, me puse a trabajar en el Launcher del cliente. En lo personal siempre me gusto el original usado en el MU Online de América del Norte ya que contenía noticias, imágenes (con información), opciones, y lo mas importante, actualizador.

La idea mía es replicar en lo máximo posible este Launcher, que todas las funcionalidades mencionadas pueda tenerlas y así tener un resultado similar.

Actualmente mi desarrollo esta hecho en C# con .NET Framework 4.x (aun no defino la versión final). Se decidió usar .NET Framework sobre .NET 6, porque Windows ya lo tiene instalado, y no se si .NET 6 viene preinstalado, y como este juego es solo para Windows preferí usar esta versión asegurando mayor compatibilidad.

El porque estoy desarrollando este Launcher es para poder lanzar actualizaciones del cliente sin tener que pedir a los usuarios que descarguen un nuevo cliente cada vez que se hagan cambios. Y puedo remplazar solo los ficheros que tienen actualización, de esta manera solo se remplaza lo justo y necesario.

En este instante funciona todo menos el actualizador. Estoy diseñando a nivel de arquitectura como será la parte que descargue los ficheros. Eso lo contare con mas detalle en la próxima parte 2.

Evidencias

Por ahora comparto las siguientes imágenes mostrando el avance:

Inicio del Launcher
Menú con las opciones de configuración

Conclusión

En la próxima parte 2, mostrare todo el desarrollo del launcher completo. Y quizás lo suba gratuitamente a github, dependiendo del resultado.

Recuerda que si te gusta este contenido, puedes hacer una donación para seguir manteniendo y aportando contenido aquí

https://www.flow.cl/app/web/pagarBtnPago.php?token=g8mo5yo