? Si encuentra útil este proyecto, ¡considere darle una estrella! ?

Demo en vivo • ¿Instalación? • Contribuir
Clon de rediseño de Ogame de código abierto
Ogamex es un clon de rediseño Ogame de código abierto. Este clon se construye completamente desde cero utilizando el marco Laravel 11.x y utiliza prácticas de PHP modernas. Toda la funcionalidad principal está cubierta por pruebas de unidad y características que se ejecutan automáticamente en cada compilación.
¡Agradecemos todas y cada una de las contribuciones a este proyecto! Si desea ayudar, lea la sección contribuyente. Si tiene alguna pregunta, puede unirse a Ogamex Discord para ponerse en contacto con los mantenedores y otros contribuyentes.
Descargo de responsabilidad: este proyecto se basa puramente en los fanáticos y no contiene ninguna característica comercial. Todo el código de backend está escrito desde cero. Los derechos y conceptos para la obra de arte y la interfaz pertenecen a los creadores originales: GameForge GmbH. Apoyarlos revisando la versión oficial: https://ogame.org.





Mi viaje (@Lanedirt) al desarrollo de software comenzó en 2007 a la edad de 14 años cuando descubrí el código fuente de Ugamela, un clon PHP de código abierto temprano de Ogame. Realmente me gustó ejecutar mi propio servidor de juegos de navegador y me dediqué a modificar esta versión y traducirla a holandés, lo que llevó al lanzamiento de Ogamex.nl. Este servidor, activo de 2007 a 2009, fomentó una comunidad pequeña pero comprometida. Esta experiencia no solo provocó mi pasión por el desarrollo de software, sino que también sentó las bases para mi carrera profesional. Ogame siempre ha ocupado un lugar especial en mi corazón, por lo que ahora, 15 años después, he decidido volver a él y crear este clon de código abierto desde cero.
El objetivo principal de este proyecto basado en fanáticos es diseñar una interpretación fiel de Ogame, que refleja específicamente su estado antes de la actualización de LifeForms introducida en 2020. Esta iniciativa, puramente basada en fanáticos y no comerciales, se sigue estrictamente con fines educativos.
Ogamex está en desarrollo activo con muchas características centrales ya implementadas y funcionando:
Las próximas principales características principales en las que se están trabajando:
Las contribuciones son bienvenidas cálidamente, ya sea en desarrollo, pruebas o difundiendo la palabra. No dude en enviar solicitudes de extracción o contácteme para cualquier otra contribución.
Un buen punto de partida son problemas etiquetados como "buen primer problema".
Lea el archivo contribuyente.md para obtener más información.
Este proyecto es un proyecto de pasatiempo no comercial. Todos los derechos y conceptos relacionados con Ogame son propiedad de GameForge GMBH. Alentamos a los seguidores a probar el Ogame oficial en https://ogame.org para apoyar a sus creadores.
La forma recomendada de instalar Ogamex es ejecutar los contenedores Docker engrados. Esto se encarga de todas las dependencias y es la forma más fácil de comenzar.
Si Insteda desea instalar Ogamex manualmente, consulte la lista de requisitos para Laravel 11.x y cómo implementar manualmente en un servidor aquí: https://laravel.com/docs/11.x/deployment.
Para el desarrollo local, use el archivo Docker-Compose predeterminado que se incluye en este repositorio. Esta configuración está optimizada para el desarrollo e incluye varias herramientas que son útiles para la depuración y las pruebas.
$ git clone https://github.com/lanedirt/OGameX.git
$ cd OGameX
.env.example a .env . $ cp .env.example .env
$ docker compose up -d
Nota: La configuración predeterminada se une a los puertos 80/443. Modifique
docker-compose.ymlsi es necesario. PhPMyAdmin también se incluye para la gestión de la base de datos y está vinculado al puerto 8080.
Después de que los contenedores Docker hayan comenzado, visite http: // localhost para acceder a Ogamex. Tenga en cuenta que la aplicación puede tardar unos segundos. Cree una nueva cuenta e inicie sesión utilizando esa cuenta. La primera cuenta creada se asignará automáticamente el rol de administración.
Nota: Si necesita ejecutar comandos manuales
php artisan, puede SSH en el contenedorogamex-appcon el comandodocker compose exec -it ogamex-app bash.
Para la producción hay un archivo Docker-Compose separado llamado docker-compose.prod.yml . Esta configuración contiene varias optimizaciones de rendimiento y configuraciones de seguridad que no están presentes en la configuración de desarrollo.
PRECAUCIÓN: La configuración de producción aún no está completamente optimizada y debe usarse con precaución. Como ejemplo, el usuario de la base de datos utiliza una contraseña predeterminada que debe cambiarse a algo único. Debe revisar todas las configuraciones antes de implementar este proyecto en un servidor de acceso público.
Nota: Las instrucciones a continuación son para Linux. Ogamex también debería trabajar en Docker para Windows, pero los pasos pueden ser un poco diferentes.
$ sudo useradd -m ogamex
$ sudo usermod -aG docker ogamex
$ sudo su ogamex
$ git clone https://github.com/lanedirt/OGameX.git
$ cd OGameX
.env.example-prod a .env . $ cp .env.example-prod .env
$ docker compose -f docker-compose.prod.yml up -d --build --force-recreate
NOTA: La configuración predeterminada se une a los puertos 80/443, para cambiarlo modificar
docker-compose.yml. PhPMyAdmin también se incluye para la gestión de la base de datos y está vinculado al puerto 8080, sin embargo, para acceder a él, debe especificar explícitamente sus direcciones IP a través de./docker/phpmyadmin/.htaccesspara fines de seguridad.
Después de que los contenedores Docker hayan comenzado, visite https: // localhost para acceder a Ogamex. Tenga en cuenta que la aplicación puede tardar unos segundos. Cree una nueva cuenta e inicie sesión utilizando esa cuenta. La primera cuenta creada se asignará automáticamente el rol de administración.
Nota: La versión de producción se ejecuta en modo Forced-HTTPS (redirección) de forma predeterminada utilizando un certificado SSL autofirmado. Si desea acceder a la aplicación a través de HTTP, abra
.envy cambieAPP_ENVdeproductionalocal.
Si desea actualizar una instalación existente de Ogamex a una nueva versión, siga estos pasos:
$ docker compose down
$ git pull origin main
-- o --
$ git checkout 0.9.1 # replace with the latest release tag
Para el desarrollo:
$ docker compose up -d --build --force-recreate --remove-orphans
Para la producción:
$ docker compose -f docker-compose.prod.yml up -d --build --force-recreate --remove-orphans
Cuando se inician los contenedores Docker, el script de EntryPoint en
./docker/entrypoint.shejecutará automáticamente los comandos de instalación de Laravel apropiados para actualizar el esquema de la base de datos y actualizar el caché. Tenga en cuenta que, dependiendo de las migraciones, esto podría llevar un corto tiempo. Una vez que se inician los contenedores, puede visitar la aplicación enhttps://localhost(o http: // localhost) para verificar si la actualización fue exitosa. Si se encuentra con algún problema, consulte los registros para obtener más información o abra un problema en GitHub.
De manera predeterminada, se le asigna al primer usuario registrado el rol de administración que puede ver la barra de administración y puede cambiar la configuración del servidor. También puede asignar el rol de administrador manualmente a través de la línea de comando:
$ php artisan ogamex:assign-admin-role {username}
Para eliminar el rol de administración de un usuario, use el siguiente comando:
$ php artisan ogamex:remove-admin-role {username}
¿Encontraste problemas en este proyecto? Abra un boleto en GitHub e intentaremos ayudarlo lo antes posible.
Agradecemos a las siguientes partes por patrocinar este proyecto:
Rejilla Proporcionar licencias gratuitas de código abierto para phpstorm, webstorm y datagrip. |
¿Interesado en apoyar a Ogamex? ¡Agradecemos los patrocinios de todos los tamaños! Su apoyo nos ayuda a mantener y mejorar este proyecto de código abierto. Póngase en contacto con nosotros a través de Github o Discord para discutir las oportunidades de patrocinio.
El código fuente de Ogamex Laravel es un software de código abierto con licencia bajo la licencia MIT. Consulte el archivo de licencia para obtener más detalles. Todos los derechos y conceptos relacionados con Ogame son propiedad de GameForge GMBH.