؟ إذا وجدت هذا المشروع مفيدًا ، فيرجى التفكير في إعطائه نجمة! ؟

عرض مباشر • التثبيت؟ • المساهمة
استنساخ إعادة تصميم Ogame مفتوح المصدر
Ogamex هو استنساخ إعادة تصميم Ogame مفتوح المصدر. تم تصميم هذا الاستنساخ بالكامل من نقطة الصفر باستخدام إطار عمل Laravel 11.x ويستخدم ممارسات PHP الحديثة. تتم تغطية جميع الوظائف الرئيسية بواسطة اختبارات الوحدة والميزات التي يتم تشغيلها تلقائيًا على كل بناء.
نرحب بأي وجميع المساهمات في هذا المشروع! إذا كنت ترغب في المساعدة ، يرجى قراءة القسم المساهمة. إذا كان لديك أي أسئلة ، فيمكنك الانضمام إلى Discord Ogamex للتواصل مع المشرفين والمساهمين الآخرين.
إخلاء المسئولية: يعتمد هذا المشروع على مروحة بحتة ولا يحتوي على أي ميزات تجارية. كل رمز الخلفية مكتوبة من الصفر. حقوق ومفاهيم العمل الفني والواجهة الأمامية تنتمي إلى المبدعين الأصليين: Gameforge GmbH. دعمهم عن طريق التحقق من الإصدار الرسمي: https://ogame.org.





بدأت رحلتي (lanedirt) إلى تطوير البرمجيات في عام 2007 في سن الرابعة عشرة عندما اكتشفت الكود المصدري لـ Ugamela ، وهو استنساخ PHP مفتوح المصدر في OGAME. لقد أحببت حقًا تشغيل خادم لعبة المتصفح الخاص بي وكرس نفسي لتعديل هذا الإصدار وترجمته إلى الهولندية ، مما يؤدي إلى إطلاق OGAMEX.NL. هذا الخادم ، النشط من 2007 إلى 2009 ، رعى مجتمعًا صغيرًا لكنه يعمل. هذه التجربة لم تثير شغفي لتطوير البرمجيات فحسب ، بل وضعت أيضًا الأساس لمسيرتي المهنية. لقد احتل Ogame دائمًا مكانًا خاصًا في قلبي ، ولهذا السبب الآن ، بعد 15 عامًا ، قررت العودة إليه وإنشاء استنساخ مفتوح المصدر من الألف إلى الياء.
الهدف الأساسي من هذا المشروع القائم على المعجبين هو هندسة تسليم مخلص لـ OGAME ، مما يعكس على وجه التحديد حالته قبل تحديث LifeForms الذي تم تقديمه في عام 2020. وتتم متابعة هذه المبادرة ، القائمة على المعجبين وغير التجاريين ، بشكل صارم لأغراض تعليمية.
يخضع Ogamex إلى تطوير نشط مع الكثير من الميزات الأساسية التي تم تنفيذها بالفعل والعمل:
الميزات الرئيسية القادمة القادمة التي يتم العمل عليها:
يتم الترحيب بالمساهمات بحرارة ، سواء في التطوير أو الاختبار أو نشر الكلمة. لا تتردد في تقديم طلبات السحب أو الاتصال بي للحصول على أي مساهمات أخرى.
نقطة انطلاق جيدة هي القضايا المسمى "العدد الأول الجيد".
اقرأ ملف المساهمة. md لمزيد من المعلومات.
هذا المشروع هو مشروع هواية غير تجارية. جميع الحقوق والمفاهيم المتعلقة بـ Ogame مملوكة لـ GameForge GmbH. نشجع المؤيدين على تجربة OGAME الرسمية على https://ogame.org لدعم المبدعين.
الطريقة الموصى بها لتثبيت Ogamex هي تشغيل حاويات Docker المجمعة. هذا يعتني بجميع التبعيات وهو أسهل طريقة للبدء.
إذا كنت ترغب في تثبيت Ogamex يدويًا ، راجع قائمة المتطلبات الخاصة بـ Laravel 11.x وكيفية نشرها يدويًا على خادم هنا: https://laravel.com/docs/11.x/deployment.
للتنمية المحلية ، استخدم ملف Docker-Corms الافتراضي المدرج في هذا المستودع. تم تحسين هذا التكوين للتطوير ويتضمن العديد من الأدوات المفيدة لتصحيح الأخطاء والاختبار.
$ git clone https://github.com/lanedirt/OGameX.git
$ cd OGameX
.env.example إلى .env . $ cp .env.example .env
$ docker compose up -d
ملاحظة: يرتبط الإعداد الافتراضي بالمنافذ 80/443. تعديل
docker-compose.ymlإذا لزم الأمر. يتم تضمين PhpmyAdmin أيضًا لإدارة قاعدة البيانات ويرتبط بالمنفذ 8080.
بعد بدء حاويات Docker ، تفضل بزيارة http: // localhost للوصول إلى Ogamex. لاحظ أنه قد يستغرق بدء تشغيل التطبيق بضع ثوانٍ. إنشاء حساب جديد وتسجيل الدخول باستخدام هذا الحساب. سيتم تعيين الحساب الأول الذي تم إنشاؤه تلقائيًا دور المسؤول.
ملاحظة: إذا كنت بحاجة إلى تشغيل أوامر
php artisan، فيمكنك SSH في حاويةogamex-appمعdocker compose exec -it ogamex-app bashالأمر.
بالنسبة للإنتاج ، يوجد ملف منفصل Docker-corm يسمى docker-compose.prod.yml . يحتوي هذا التكوين على العديد من تحسينات الأداء وإعدادات الأمان غير الموجودة في تكوين التطوير.
تحذير: لم يتم تحسين تكوين الإنتاج بالكامل بعد ويجب استخدامه بحذر. على سبيل المثال ، يستخدم مستخدم Root Database كلمة مرور افتراضية يجب تغييرها إلى شيء فريد. يجب عليك مراجعة جميع الإعدادات قبل نشر هذا المشروع على خادم يمكن الوصول إليه للجمهور.
ملاحظة: الإرشادات أدناه مخصصة لـ Linux. يجب أن تعمل Ogamex أيضًا تحت Docker for Windows ، لكن الخطوات قد تكون مختلفة قليلاً.
$ 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
ملاحظة: يرتبط الإعداد الافتراضي بالمنافذ 80/443 ، لتغييره تعديل
docker-compose.yml. تم تضمين PhpmyAdmin أيضًا لإدارة قاعدة البيانات ويلتزم بالمنفذ 8080 ، ولكن للوصول إليه ، تحتاج إلى تحديد عناوين IP الخاصة بك بشكل صريح عبر./docker/phpmyadmin/.htaccessلأغراض السلامة.
بعد بدء حاويات Docker ، تفضل بزيارة https: // localhost للوصول إلى Ogamex. لاحظ أنه قد يستغرق بدء تشغيل التطبيق بضع ثوانٍ. إنشاء حساب جديد وتسجيل الدخول باستخدام هذا الحساب. سيتم تعيين الحساب الأول الذي تم إنشاؤه تلقائيًا دور المسؤول.
ملاحظة: يتم تشغيل إصدار الإنتاج في وضع HTTPS القسري (إعادة التوجيه) افتراضيًا باستخدام شهادة SSL موقعة ذاتيا. إذا كنت ترغب في الوصول إلى التطبيق عبر HTTP ، فتح
.envوقم بتغييرAPP_ENVمنproductionإلىlocal.
إذا كنت ترغب في ترقية تثبيت موجود لـ Ogamex إلى إصدار جديد ، فاتبع هذه الخطوات:
$ docker compose down
$ git pull origin main
-- أو --
$ git checkout 0.9.1 # replace with the latest release tag
للتنمية:
$ docker compose up -d --build --force-recreate --remove-orphans
للإنتاج:
$ docker compose -f docker-compose.prod.yml up -d --build --force-recreate --remove-orphans
عند بدء تشغيل حاويات Docker ، سيقوم برنامج EntryPoint Script في
./docker/entrypoint.shلاحظ أنه بناءً على الهجرات ، قد يستغرق ذلك فترة قصيرة. بعد بدء تشغيل الحاويات ، يمكنك زيارة التطبيق علىhttps://localhost(أو http: // localhost) للتحقق مما إذا كانت الترقية ناجحة. إذا واجهت أي مشكلات ، فيرجى التحقق من السجلات لمزيد من المعلومات أو فتح مشكلة على Github.
بشكل افتراضي ، يتم تعيين أول مستخدم مسجل دور المسؤول الذي يمكن أن يرى شريط المسؤول ويمكنه تغيير إعدادات الخادم. يمكنك أيضًا تعيين دور المسؤول يدويًا عبر سطر الأوامر:
$ php artisan ogamex:assign-admin-role {username}
لإزالة دور المسؤول من المستخدم ، استخدم الأمر التالي:
$ php artisan ogamex:remove-admin-role {username}
هل واجهت مشكلات في هذا المشروع؟ يرجى فتح تذكرة على Github وسنحاول مساعدتك في أقرب وقت ممكن.
نشكر الأطراف التالية على رعايتها هذا المشروع:
Jetbrains توفير تراخيص مجانية مفتوحة المصدر لـ PHPSTORM و WebStorm و DATAGRIP. |
هل أنت مهتم بدعم Ogamex؟ نرحب بالرعاية من جميع الأحجام! يساعدنا دعمك في الحفاظ على هذا المشروع المفتوح المصدر وتحسينه. يرجى الاتصال بنا عبر Github أو Discord لمناقشة فرص الرعاية.
رمز مصدر OGAMEX Laravel هو برنامج مفتوح المصدر مرخص له بموجب ترخيص معهد ماساتشوستس للتكنولوجيا. انظر ملف الترخيص لمزيد من التفاصيل. جميع الحقوق والمفاهيم المتعلقة بـ Ogame مملوكة لـ GameForge GmbH.