Skip to content

Stivenjs/osu_script

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Script de Descarga de Mapas de osu!

Este script descarga automáticamente todos los mapas que has jugado en osu! desde tu perfil público. Es útil para tener una copia local de tus mapas favoritos.

Características

  • Descarga automática de todos los mapas de tu perfil de osu!
  • Descargas paralelas para mayor velocidad
  • Detección automática de mapas ya descargados
  • Guardado de progreso para poder continuar más tarde
  • Sistema de lotes con pausas para evitar límites de la API
  • Nombres de archivo seguros y organizados

Requisitos

  • Python 3.6 o superior
  • Conexión a internet
  • Cuenta de osu! con mapas jugados

Instalación

  1. Clona o descarga este repositorio
  2. Instala las dependencias necesarias:
    pip install requests

Configuración

1. Obtener tu ID de Usuario

  1. Ve a tu perfil en osu.ppy.sh
  2. Copia el número que aparece en la URL: https://osu.ppy.sh/users/TU_ID_AQUI
  3. Abre script.py y cambia el valor de ID_USUARIO:
ID_USUARIO = 1234567  # Reemplaza con tu ID real

2. Obtener las Cookies de Sesión

IMPORTANTE: Las cookies son necesarias para descargar los mapas. Sigue estos pasos:

  1. Ve a osu.ppy.sh e inicia sesión en tu cuenta
  2. Abre las herramientas de desarrollador (presiona F12)
  3. Ve a la pestaña "Application" o "Aplicación"
  4. En el panel izquierdo, busca "Cookies" y selecciona "https://osu.ppy.sh"
  5. Busca estas dos cookies y copia sus valores:
    • osu_session
    • cf_clearance
  6. Abre script.py y pega los valores en COOKIES_SESION:
COOKIES_SESION = {
    "locale": "es",
    "osu_session": "TU_VALOR_DE_OSU_SESSION_AQUI",
    "cf_clearance": "TU_VALOR_DE_CF_CLEARANCE_AQUI"
}

3. Configuración Opcional

Puedes ajustar estos parámetros en script.py si es necesario:

LIMITE_POR_PAGINA = 50        # Mapas por petición (recomendado: 50)
DIRECTORIO_SALIDA = "maps"    # Carpeta donde se guardarán los mapas
MAX_DESCARGAS_SIMULTANEAS = 4 # Descargas paralelas (recomendado: 3-4)
TAMAÑO_LOTE = 20             # Mapas por lote
PAUSA_ENTRE_LOTES = 90       # Pausa entre lotes en segundos

Uso

  1. Ejecuta el script:

    python script.py
  2. El script mostrará información sobre:

    • Mapas ya descargados
    • Progreso de la descarga
    • Estadísticas finales
  3. Los mapas se guardarán en la carpeta maps/ con el formato:

    ID_Beatmapset Artista - Título.osz
    

Funcionalidades del Script

Detección Automática

  • El script detecta automáticamente mapas ya descargados
  • Puedes ejecutarlo múltiples veces sin duplicar descargas

Guardado de Progreso

  • El progreso se guarda en download_state.json
  • Puedes interrumpir el script (Ctrl+C) y continuar más tarde
  • El script continuará desde donde se quedó

Descargas Paralelas

  • Utiliza múltiples hilos para descargar mapas simultáneamente
  • Optimiza el tiempo de descarga total

Sistema de Lotes

  • Descarga mapas en lotes pequeños
  • Incluye pausas entre lotes para respetar los límites de osu!

Solución de Problemas

Error de Autenticación

Si recibes errores de autenticación:

  1. Verifica que las cookies estén actualizadas
  2. Las cookies expiran, necesitarás obtenerlas nuevamente
  3. Asegúrate de estar logueado en osu.ppy.sh

Error de Conexión

Si tienes problemas de conexión:

  1. Verifica tu conexión a internet
  2. Aumenta el valor de PAUSA_ENTRE_LOTES
  3. Reduce MAX_DESCARGAS_SIMULTANEAS

Archivos No Descargados

Si algunos mapas no se descargan:

  1. Verifica que tengas permisos para descargar esos mapas
  2. Algunos mapas pueden estar restringidos
  3. Revisa los mensajes de error en la consola

Estructura de Archivos

osu_script/
├── script.py              # Script principal
├── download_state.json    # Estado de descarga (generado automáticamente)
├── maps/                  # Carpeta con los mapas descargados
│   ├── 123456 Artista - Título.osz
│   └── 789012 Otro Artista - Otro Título.osz
└── README.md              # Este archivo

Limitaciones

  • Solo descarga mapas que has jugado (según tu perfil público)
  • Requiere cookies de sesión válidas
  • Respeta los límites de la API de osu!
  • No puede descargar mapas privados o restringidos

Seguridad

  • Las cookies contienen información de sesión sensible
  • No compartas tu archivo script.py con las cookies incluidas
  • Las cookies expiran automáticamente después de un tiempo

Soporte

Si encuentras problemas:

  1. Verifica que sigas todos los pasos de configuración
  2. Asegúrate de tener las dependencias instaladas
  3. Revisa que las cookies estén actualizadas
  4. Consulta los mensajes de error en la consola

Licencia

Este script es de uso libre. Úsalo responsablemente y respeta los términos de servicio de osu!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages