Skip to content

Lostdou/Gamesync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GameSync

Descripcion

GameSync es una utilidad diseñada para sincronizar los juegos instalados localmente desde plataformas como Steam y Epic Games, generando accesos directos unificados en una carpeta especifica de Windows.

Caracteristicas Principales

  • Soporte nativo para multiples bibliotecas de Steam y lectura automatica de manifiestos de Epic Games.
  • GUI hecha con CustomTkinter.
  • Creacion de accesos directos en formato .url apuntando a los protocolos oficiales de cada launcher (steam:// y com.epicgames.launcher://).
  • Extraccion automatica de iconos mediante busqueda heuristica de ejecutables.
  • Capacidad de ejecucion silenciosa en segundo plano para integracion con el inicio de Windows.

Sistema de Puntuacion para la Busqueda de Iconos

Encontrar el ejecutable principal de un juego de Steam para extraer su icono puede ser complejo, ya que las carpetas suelen contener instaladores, dependencias o ejecutables secundarios (como crash_reporter.exe o navegadores integrados como nw.exe).

Para resolver esto sin bases de datos externas, GameSync utiliza un algoritmo de puntuacion heuristica al analizar los archivos .exe en el directorio de cada juego:

  1. Excepciones Fijas: Los juegos con estructuras atipicas documentadas (como Counter-Strike 2 o Game Dev Tycoon) son resueltos inmediatamente a traves de su AppID, apuntando a un ejecutable predefinido.
  2. Limpieza de nombres: Se filtran y descartan ejecutables de librerias comunes (redist, setup, launcher, easyanticheat, etc.).
  3. Puntuacion por Motor Source/Valve (+100 puntos): Se priorizan nombres clasicos del motor Source (hl2.exe, csgo.exe) que suelen quedar relegados por su bajo tamano en disco.
  4. Coincidencia de Nombre (+200 o +50 puntos): Se eliminan los espacios y caracteres especiales. Si el nombre del .exe coincide exactamente con el nombre del juego o su carpeta, recibe la puntuacion maxima. Si es una coincidencia parcial, recibe un bono menor.
  5. Profundidad de Directorio (+10 puntos): Los ejecutables ubicados en la raiz de la carpeta del juego reciben prioridad sobre los que estan anidados en multiples subcarpetas.
  6. Desempate por Tamano (+X puntos): Se suma el tamano del archivo en MB (con un tope de 20 puntos) asumiendo que el ejecutable principal suele ser el mas pesado entre los archivos restantes.

El archivo .exe con mayor puntuacion total es seleccionado para proveer el icono al acceso directo de Windows.

Estructura del Proyecto

  • main.py: Ejecutable principal que lanza la interfaz grafica.
  • startup_sync.py: Script sin interfaz grafica disenado para ejecutarse en el inicio del sistema operativo.
  • back/steam_manager.py: Logica de lectura de archivos .acf y algoritmo heuristico.
  • back/epic_manager.py: Logica de lectura de manifiestos .item de Epic Games.
  • config.json: Archivo autogenerado que almacena las rutas del usuario y preferencias.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Contributors

Languages