- หากคุณพบว่าโครงการนี้มีประโยชน์โปรดพิจารณาให้เป็นดารา! -

การสาธิตสด•การติดตั้ง? •มีส่วนร่วม
โคลนออกแบบโอเพ่นซอร์สโอเพ่นซอร์ส
Ogamex เป็นโคลนโอเพนซอร์สโอเพ่นซอร์ส โคลนนี้ถูกสร้างขึ้นอย่างเต็มที่ตั้งแต่เริ่มต้นโดยใช้เฟรมเวิร์ก Laravel 11.x และใช้การปฏิบัติ PHP ที่ทันสมัย ฟังก์ชั่นหลักทั้งหมดได้รับการคุ้มครองโดยการทดสอบหน่วยและคุณสมบัติซึ่งทำงานโดยอัตโนมัติในการสร้างทุกครั้ง
เรายินดีต้อนรับการมีส่วนร่วมใด ๆ และทั้งหมดในโครงการนี้! หากคุณต้องการความช่วยเหลือโปรดอ่านส่วนที่มีส่วนร่วม หากคุณมีคำถามใด ๆ คุณสามารถเข้าร่วม Ogamex Discord เพื่อติดต่อกับผู้ดูแลและผู้มีส่วนร่วมอื่น ๆ
ข้อจำกัดความรับผิดชอบ: โครงการนี้เป็นพื้นฐานของแฟน ๆ และไม่มีคุณสมบัติเชิงพาณิชย์ใด ๆ รหัสแบ็กเอนด์ทั้งหมดเขียนตั้งแต่เริ่มต้น สิทธิและแนวคิดสำหรับงานศิลปะและส่วนหน้าเป็นของผู้สร้างดั้งเดิม: GameForge GmbH สนับสนุนพวกเขาโดยการตรวจสอบเวอร์ชันอย่างเป็นทางการ: https://ogame.org





การเดินทางของฉัน (@lanedirt) เข้าสู่การพัฒนาซอฟต์แวร์เริ่มขึ้นในปี 2550 เมื่ออายุ 14 เมื่อฉันค้นพบซอร์สโค้ดสำหรับ Ugamela ซึ่งเป็นโคลน PHP โอเพนซอร์สแห่งต้นโอกาเมะ ฉันชอบเรียกใช้เซิร์ฟเวอร์เกมเบราว์เซอร์ของตัวเองและทุ่มเทตัวเองเพื่อแก้ไขเวอร์ชันนี้และแปลเป็นภาษาดัตช์ซึ่งนำไปสู่การเปิดตัว ogamex.nl เซิร์ฟเวอร์นี้ใช้งานตั้งแต่ปี 2550 ถึง 2552 เลี้ยงดูชุมชนเล็ก ๆ แต่มีส่วนร่วม ประสบการณ์นี้ไม่เพียง แต่จุดประกายความหลงใหลในการพัฒนาซอฟต์แวร์ของฉัน แต่ยังวางรากฐานสำหรับอาชีพการงานของฉันด้วย 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
สำหรับการพัฒนาในท้องถิ่นให้ใช้ไฟล์ compose docker เริ่มต้นที่รวมอยู่ในที่เก็บนี้ การกำหนดค่านี้ได้รับการปรับให้เหมาะสมสำหรับการพัฒนาและมีเครื่องมือหลายอย่างที่มีประโยชน์สำหรับการดีบักและการทดสอบ
$ 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
สำหรับการผลิตมีไฟล์ compose docker แยกต่างหากที่เรียกว่า docker-compose.prod.yml การกำหนดค่านี้มีการเพิ่มประสิทธิภาพประสิทธิภาพหลายอย่างและการตั้งค่าความปลอดภัยที่ไม่ได้อยู่ในการกำหนดค่าการพัฒนา
ข้อควรระวัง: การกำหนดค่าการผลิตยังไม่ได้รับการปรับให้เหมาะสมอย่างเต็มที่และควรใช้ด้วยความระมัดระวัง ตัวอย่างเช่นผู้ใช้รูทฐานข้อมูลใช้รหัสผ่านเริ่มต้นซึ่งควรเปลี่ยนเป็นสิ่งที่ไม่ซ้ำกัน คุณควรตรวจสอบการตั้งค่าทั้งหมดก่อนที่จะปรับใช้โครงการนี้กับเซิร์ฟเวอร์ที่เข้าถึงได้สาธารณะ
หมายเหตุ: คำแนะนำด้านล่างนี้สำหรับ Linux Ogamex ควรทำงานภายใต้ Docker สำหรับ 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.ymlPHPMYADMIN ยังรวมอยู่ในการจัดการฐานข้อมูลและถูกผูกไว้กับพอร์ต 8080 อย่างไรก็ตามในการเข้าถึงคุณต้องระบุที่อยู่ IP ของคุณอย่างชัดเจนผ่าน./docker/phpmyadmin/.htaccessเพื่อความปลอดภัย
หลังจากที่คอนเทนเนอร์ Docker เริ่มต้นแล้วให้ไปที่ https: // localhost เพื่อเข้าถึง ogamex โปรดทราบว่าอาจใช้เวลาสองสามวินาทีในการเริ่มต้นแอปพลิเคชัน สร้างบัญชีใหม่และเข้าสู่ระบบโดยใช้บัญชีนั้น บัญชีแรกที่สร้างขึ้นจะได้รับการกำหนดบทบาทผู้ดูแลระบบโดยอัตโนมัติ
หมายเหตุ: เวอร์ชันการผลิตทำงานในโหมด Forced-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 ใน
./docker/entrypoint.shจะเรียกใช้คำสั่ง laravel ติดตั้งที่เหมาะสมโดยอัตโนมัติเพื่ออัพเกรดสคีมาฐานข้อมูลและรีเฟรชแคช โปรดทราบว่าขึ้นอยู่กับการอพยพอาจใช้เวลาสักครู่ หลังจากเริ่มต้นภาชนะแล้วคุณสามารถเยี่ยมชมแอปพลิเคชันได้ที่https://localhost(หรือ http: // localhost) เพื่อตรวจสอบว่าการอัพเกรดสำเร็จหรือไม่ หากคุณพบปัญหาใด ๆ โปรดตรวจสอบบันทึกสำหรับข้อมูลเพิ่มเติมหรือเปิดปัญหาเกี่ยวกับ GitHub
โดยค่าเริ่มต้นผู้ใช้ที่ลงทะเบียนคนแรกจะถูกกำหนดบทบาทผู้ดูแลระบบซึ่งสามารถดูแถบผู้ดูแลระบบและสามารถเปลี่ยนการตั้งค่าเซิร์ฟเวอร์ได้ นอกจากนี้คุณยังสามารถกำหนดบทบาทผู้ดูแลระบบด้วยตนเองผ่านบรรทัดคำสั่ง:
$ php artisan ogamex:assign-admin-role {username}
ในการลบบทบาทผู้ดูแลระบบจากผู้ใช้ให้ใช้คำสั่งต่อไปนี้:
$ php artisan ogamex:remove-admin-role {username}
คุณพบปัญหาในโครงการนี้หรือไม่? กรุณาเปิดตั๋วบน GitHub แล้วเราจะพยายามช่วยคุณโดยเร็วที่สุด
เราขอขอบคุณฝ่ายต่อไปนี้สำหรับการสนับสนุนโครงการนี้:
เจ็ทครีนส์ ให้ใบอนุญาตโอเพนซอร์ซฟรีสำหรับ phpstorm, webstorm และ dataGrip |
สนใจสนับสนุน Ogamex หรือไม่? เรายินดีต้อนรับผู้สนับสนุนทุกขนาด! การสนับสนุนของคุณช่วยให้เรารักษาและปรับปรุงโครงการโอเพนซอร์ซนี้ โปรดติดต่อเราผ่านทาง GitHub หรือ Discord เพื่อหารือเกี่ยวกับโอกาสในการสนับสนุน
ซอร์สโค้ด Ogamex Laravel เป็นซอฟต์แวร์โอเพ่นซอร์สที่ได้รับอนุญาตภายใต้ใบอนุญาต MIT ดูไฟล์ใบอนุญาตสำหรับรายละเอียดเพิ่มเติม สิทธิและแนวคิดทั้งหมดที่เกี่ยวข้องกับ Ogame เป็นเจ้าของโดย GameForge GmbH