? Si vous trouvez ce projet utile, envisagez de lui donner une étoile! ?

Démo en direct • Installation? • Contribution
Clone ogrome open source
Ogamex est un clone de refonte Ogame open-source. Ce clone est entièrement construit à partir de zéro à l'aide du framework Laravel 11.x et utilise des pratiques PHP modernes. Toutes les fonctionnalités majeures sont couvertes par des tests d'unité et de fonctionnalités qui s'exécutent automatiquement sur chaque version.
Nous accueillons toutes les contributions à ce projet! Si vous souhaitez aider, veuillez lire la section contributive. Si vous avez des questions, vous pouvez rejoindre le Ogamex Discord pour contacter les mainteneurs et autres contributeurs.
Avertissement: Ce projet est purement basé sur les fans et ne contient aucune fonctionnalité commerciale. Tout le code backend est écrit à partir de zéro. Les droits et les concepts des œuvres d'art et du frontend appartiennent aux créateurs originaux: Gameforge GmbH. Soutenez-les en consultant la version officielle: https://ogame.org.





Mon voyage (@LanEDirt) dans le développement de logiciels a commencé en 2007 à l'âge de 14 ans lorsque j'ai découvert le code source d'Ugamela, un clone PHP open source d'Open Open. J'ai vraiment aimé exécuter mon propre serveur de jeu de navigateur et me consacrer à la modification de cette version et à la traduire en néerlandais, conduisant au lancement d'Ogamex.nl. Ce serveur, actif de 2007 à 2009, a nourri une petite communauté mais engagée. Cette expérience a non seulement déclenché ma passion pour le développement de logiciels, mais a également jeté les bases de ma carrière professionnelle. Ogame a toujours occupé une place spéciale dans mon cœur, c'est pourquoi maintenant, 15 ans plus tard, j'ai décidé d'y retourner et de créer ce clone open source à partir de zéro.
L'objectif principal de ce projet basé sur les fans est d'ingérer une interprétation fidèle d'Ogame, reflétant spécifiquement son état avant la mise à jour des formes de vie introduite en 2020. Cette initiative, purement basée sur les fans et non commerciale, est poursuivie strictement à des fins éducatives.
Ogamex est en cours de développement actif avec de nombreuses fonctionnalités de base déjà implémentées et fonctionnelles:
Les prochaines principales fonctionnalités à venir sur lesquelles sont travaillées:
Les contributions sont chaleureusement accueillies, que ce soit en développement, en testant ou en faisant passer le mot. N'hésitez pas à soumettre des demandes de traction ou à me contacter pour toute autre contribution.
Un bon point de départ est les problèmes qualifiés de "bon premier problème".
Lisez le fichier contribution.md pour plus d'informations.
Ce projet est un projet de passe-temps non commercial. Tous les droits et concepts liés à Ogame appartiennent à GameForge GmbH. Nous encourageons les supporters à essayer le Ogame officiel à https://ogame.org pour soutenir ses créateurs.
La façon recommandée d'installer Ogamex consiste à exécuter les conteneurs Docker groupés. Cela s'occupe de toutes les dépendances et est le moyen le plus simple de commencer.
Si vous souhaitez installer Ogamex manuellement Ogamex, consultez la liste des exigences pour Laravel 11.x et comment se déployer manuellement sur un serveur ici: https://laravel.com/docs/11.x/deployment.
Pour le développement local, utilisez le fichier docker-compose par défaut inclus dans ce référentiel. Cette configuration est optimisée pour le développement et comprend plusieurs outils utiles pour le débogage et les tests.
$ git clone https://github.com/lanedirt/OGameX.git
$ cd OGameX
.env.example à .env . $ cp .env.example .env
$ docker compose up -d
Remarque: La configuration par défaut se lie aux ports 80/443. Modifiez
docker-compose.ymlsi nécessaire. PHPMYADMIN est également inclus pour la gestion des bases de données et est lié au port 8080.
Après le début des conteneurs Docker, visitez http: // localhost pour accéder à Ogamex. Notez qu'il pourrait prendre quelques secondes au démarrage de l'application. Créez un nouveau compte et connectez-vous à l'aide de ce compte. Le premier compte créé sera automatiquement attribué le rôle d'administration.
Remarque: Si vous avez besoin d'exécuter des commandes
php artisanmanuelles, vous pouvez Ssh dans le conteneurogamex-appavec la commandedocker compose exec -it ogamex-app bash.
Pour la production, il existe un fichier Docker-Compose séparé appelé docker-compose.prod.yml . Cette configuration contient plusieurs optimisations de performances et paramètres de sécurité qui ne sont pas présents dans la configuration de développement.
ATTENTION: La configuration de production n'est pas encore entièrement optimisée et doit être utilisée avec prudence. Par exemple, l'utilisateur de racine de base de données utilise un mot de passe par défaut qui doit être changé en quelque chose d'unique. Vous devez consulter tous les paramètres avant de déployer ce projet sur un serveur accessible au public.
Remarque: les instructions ci-dessous sont pour Linux. Ogamex devrait également fonctionner sous Docker pour Windows, mais les étapes peuvent être un peu différentes.
$ 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 à .env . $ cp .env.example-prod .env
$ docker compose -f docker-compose.prod.yml up -d --build --force-recreate
Remarque: La configuration par défaut se lie aux ports 80/443, pour le modifier, modifiez
docker-compose.yml. PHPMyAdmin est également inclus pour la gestion des bases de données et est lié au port 8080, mais pour y accéder, vous devez spécifier explicitement vos adresses IP via./docker/phpmyadmin/.htaccessà des fins de sécurité.
Après le début des conteneurs Docker, visitez https: // localhost pour accéder à Ogamex. Notez qu'il pourrait prendre quelques secondes au démarrage de l'application. Créez un nouveau compte et connectez-vous à l'aide de ce compte. Le premier compte créé sera automatiquement attribué le rôle d'administration.
Remarque: La version de production fonctionne en mode forcé-HTTPS (Redirection) par défaut à l'aide d'un certificat SSL auto-signé. Si vous souhaitez accéder à l'application via HTTP, ouvrez
.envet modifiezAPP_ENVdeproductionàlocal.
Si vous souhaitez mettre à niveau une installation existante d'Ogamex vers une nouvelle version, suivez ces étapes:
$ docker compose down
$ git pull origin main
-- ou --
$ git checkout 0.9.1 # replace with the latest release tag
Pour le développement:
$ docker compose up -d --build --force-recreate --remove-orphans
Pour la production:
$ docker compose -f docker-compose.prod.yml up -d --build --force-recreate --remove-orphans
Lorsque les conteneurs Docker sont démarrés, le script d'entrée dans
./docker/entrypoint.shexécutera automatiquement les commandes d'installation Laravel appropriées pour mettre à niveau le schéma de base de données et actualiser le cache. Notez que selon les migrations, cela pourrait prendre un court moment. Une fois les conteneurs démarrés, vous pouvez visiter l'application surhttps://localhost(ou http: // localhost) pour vérifier si la mise à niveau a réussi. Si vous rencontrez des problèmes, veuillez vérifier les journaux pour plus d'informations ou ouvrir un problème sur GitHub.
Par défaut, le premier utilisateur enregistré se voit attribuer le rôle d'administration qui peut voir la barre d'administration et peut modifier les paramètres du serveur. Vous pouvez également affecter le rôle d'administration manuellement via la ligne de commande:
$ php artisan ogamex:assign-admin-role {username}
Pour supprimer le rôle d'administration d'un utilisateur, utilisez la commande suivante:
$ php artisan ogamex:remove-admin-role {username}
Avez-vous rencontré des problèmes dans ce projet? Veuillez ouvrir un billet sur Github et nous essaierons de vous aider dès que possible.
Nous remercions les parties suivantes d'avoir parrainé ce projet:
Brains de jet Fournir des licences open source gratuites pour PHPStorm, WebStorm et DataGrip. |
Vous souhaitez soutenir Ogamex? Nous accueillons des parrainages de toutes tailles! Votre soutien nous aide à maintenir et à améliorer ce projet open-source. Veuillez nous contacter via Github ou Discord pour discuter des opportunités de parrainage.
Le code source Ogamex Laravel est un logiciel open source sous licence MIT. Voir le fichier de licence pour plus de détails. Tous les droits et concepts liés à Ogame appartiennent à GameForge GmbH.