Una aplicación web completa para la gestión de modpacks de CurseForge, enfocada en la creación, gestión, importación y exportación de configuraciones de Minecraft.
- ✅ Autenticación de Usuarios: Sistema de registro e inicio de sesión seguro
- ✅ Búsqueda de Mods: Búsqueda integrada con la API de CurseForge
- ✅ Gestión de Modpacks: CRUD completo (Crear, Leer, Actualizar, Eliminar)
- ✅ Detalles Enriquecidos: Visualización de información detallada de mods (autor, descargas, versión, imágenes)
- ✅ Importación: Importar modpacks desde archivos ZIP con manifest.json
- ✅ Exportación: Exportar modpacks a formato ZIP compatible con CurseForge
- ✅ Interfaz Intuitiva: Diseño moderno y responsivo con tema oscuro
- PHP 8.0 o superior
- Extensiones PHP requeridas:
curlmysqlizipjson
- MySQL 5.7+ o MariaDB 10.3+
- Apache 2.4+ (con mod_rewrite) o
- Nginx 1.18+
- Navegador web moderno con soporte para ES6+
curseforge-web/
├── index.html # Interfaz principal de la aplicación
├── style.css # Estilos visuales
├── script.js # Lógica del frontend
├── api_handler.php # Controlador del backend
├── config.php # Configuración (credenciales)
├── database.sql # Script de creación de BD
├── .htaccess # Configuración para Apache
├── nginx.conf # Configuración para Nginx
├── LICENSE # Licencia del proyecto
└── README.md # Este archivo
git clone https://github.com/YamiKnigth/curseforge-web.git
cd curseforge-webEjecuta el script SQL para crear la base de datos y las tablas:
mysql -u root -p < database.sqlO importa manualmente el archivo database.sql desde phpMyAdmin.
Edita el archivo config.php y actualiza las siguientes constantes:
// Configuración de la Base de Datos
define('DB_HOST', 'localhost'); // Host de tu BD
define('DB_USER', 'tu_usuario'); // Usuario de MySQL
define('DB_PASS', 'tu_contraseña'); // Contraseña de MySQL
define('DB_NAME', 'curseforge_manager'); // Nombre de la BD
// API Key de CurseForge
define('CURSEFORGE_API_KEY', 'tu_api_key_aqui');Nota: Obtén tu API Key desde CurseForge Console
El archivo .htaccess ya está incluido. Solo asegúrate de que mod_rewrite esté habilitado:
sudo a2enmod rewrite
sudo systemctl restart apache2Copia la configuración de nginx.conf a tu archivo de sitio:
sudo cp nginx.conf /etc/nginx/sites-available/curseforge
sudo ln -s /etc/nginx/sites-available/curseforge /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginxAsegúrate de que el servidor web tenga permisos de escritura en el directorio temporal:
sudo chown -R www-data:www-data /workspaces/curseforge-web
sudo chmod -R 755 /workspaces/curseforge-web- Abre la aplicación en tu navegador:
http://localhostohttp://tu-dominio.com - Registra una nueva cuenta con un usuario y contraseña
- Inicia sesión con tus credenciales
- Haz clic en "➕ Nuevo Modpack"
- Completa el nombre, descripción y selecciona la versión de Minecraft
- Busca mods usando el campo de búsqueda
- Añade mods al modpack haciendo clic en "Añadir"
- Guarda el modpack con el botón "💾 Guardar Modpack"
- Cargar: Haz clic en un modpack de la lista lateral
- Editar: Modifica los campos y guarda los cambios
- Eliminar: Usa el botón "🗑️ Eliminar"
- Haz clic en "📥 Importar ZIP"
- Selecciona un archivo ZIP con un
manifest.jsonválido - El modpack se cargará automáticamente
- Abre el modpack que deseas exportar
- Haz clic en "📤 Exportar ZIP"
- Se descargará un archivo ZIP compatible con CurseForge
id(INT, PK, AI): ID único del usuariousername(VARCHAR(50), UNIQUE): Nombre de usuariopassword_hash(VARCHAR(255)): Hash bcrypt de la contraseñacreated_at(DATETIME): Fecha de registro
id(INT, PK, AI): ID único del modpackuser_id(INT, FK → users.id): Propietario del modpackname(VARCHAR(100)): Nombre del modpackdescription(TEXT): Descripciónminecraft_version(VARCHAR(20)): Versión de Minecraftcreated_at(DATETIME): Fecha de creación
id(INT, PK, AI): ID único de la relaciónmodpack_id(INT, FK → modpacks.id): ID del modpackcurseforge_project_id(INT): ID del proyecto en CurseForgecurseforge_file_id(INT): ID del archivo en CurseForgerequired(BOOLEAN): Indica si es requerido u opcional
POST /api/?action=register- Registrar usuarioPOST /api/?action=login- Iniciar sesiónPOST /api/?action=logout- Cerrar sesiónGET /api/?action=check_session- Verificar sesión
POST /api/?action=create_modpack- Crear modpackGET /api/?action=get_modpacks- Listar modpacks del usuarioGET /api/?action=get_modpack- Obtener modpack específicoPOST /api/?action=update_modpack- Actualizar modpackPOST /api/?action=delete_modpack- Eliminar modpack
GET /api/?action=search_mods- Buscar modsGET /api/?action=get_mod_details- Detalles de un modGET /api/?action=get_mod_files- Archivos de un modGET /api/?action=get_minecraft_versions- Versiones de Minecraft
GET /api/?action=export_modpack- Exportar modpack a ZIPPOST /api/?action=import_modpack- Importar modpack desde ZIP
- Verifica las credenciales en
config.php - Asegúrate de que MySQL esté ejecutándose
- Confirma que la base de datos
curseforge_managerexiste
- Verifica que tu
CURSEFORGE_API_KEYsea válida - Genera una nueva clave en CurseForge Console
- Verifica la extensión PHP
curlesté instalada - Comprueba la conectividad a internet
- Apache: Habilita
mod_rewritey verifica.htaccess - Nginx: Revisa la configuración de
rewriteen tu archivo de sitio
Este proyecto está bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.
Desarrollado por YamiKnigth
Las contribuciones son bienvenidas. Por favor:
- Haz fork del proyecto
- Crea una rama para tu característica (
git checkout -b feature/NuevaCaracteristica) - Commit tus cambios (
git commit -m 'Añadir nueva característica') - Push a la rama (
git push origin feature/NuevaCaracteristica) - Abre un Pull Request
Si encuentras algún problema o tienes preguntas:
- Abre un Issue en GitHub
- Contacta al desarrollador
- CurseForge por proporcionar la API
- La comunidad de Minecraft por su apoyo continuo
⭐ Si este proyecto te fue útil, considera darle una estrella en GitHub