? 이 프로젝트가 유용하다고 생각되면 별을주는 것을 고려하십시오! ?

라이브 데모 • 설치? • 기여
오픈 소스 Ogame 재 설계 클론
Ogamex는 오픈 소스 Ogame 재 설계 클론입니다. 이 클론은 Laravel 11.x 프레임 워크를 사용하여 처음부터 완전히 만들어졌으며 최신 PHP 관행을 사용합니다. 모든 주요 기능은 모든 빌드에서 자동으로 실행되는 단위 및 기능 테스트로 덮여 있습니다.
우리는이 프로젝트에 대한 모든 공헌을 환영합니다! 도와주고 싶다면 기여 섹션을 읽으십시오. 궁금한 점이 있으면 Ogamex Discord에 가입하여 관리자 및 기타 기여자와 연락 할 수 있습니다.
면책 조항 :이 프로젝트는 순전히 팬 기반이며 상용 기능이 포함되어 있지 않습니다. 모든 백엔드 코드는 처음부터 작성됩니다. 아트 워크와 프론트 엔드의 권리와 개념은 원래 제작자 인 Gameforge Gmbh에 속합니다. 공식 버전 인 https://ogame.org를 확인하여 지원하십시오.





소프트웨어 개발로의 (@lanedirt) 여행은 2007 년 14 세의 나이에 Ogame의 초기 오픈 소스 PHP 클론 인 Ugamela의 소스 코드를 발견했을 때 시작되었습니다. 나는 내 자신의 브라우저 게임 서버를 실행하는 것을 정말로 좋아 하고이 버전을 수정하고 네덜란드어로 번역하여 Ogamex.nl을 시작하는 데 전념했습니다. 2007 년부터 2009 년까지 활성화 된이 서버는 작지만 참여하는 커뮤니티를 육성했습니다. 이 경험은 소프트웨어 개발에 대한 열정을 불러 일으킬뿐만 아니라 전문 경력을위한 토대를 마련했습니다. Ogame은 항상 내 마음 속에 특별한 자리를 차지해 왔는데, 15 년 후, 나는 그것을 다시 돌아와서이 오픈 소스 클론을 처음부터 만들기로 결정했습니다.
이 팬 기반 프로젝트의 주요 목표는 2020 년에 도입 된 LifeForms 업데이트 이전에 주를 반영하는 Ogame의 충실한 표현을 엔지니어링하는 것입니다.이 이니셔티브, 순수하게 팬 기반 및 비수기는 교육 목적으로 엄격하게 추구됩니다.
Ogamex는 이미 구현되고 작동하는 많은 핵심 기능을 통해 활발한 개발 중입니다.
다음으로 진행되는 다음 주요 기능은 다음과 같습니다.
발달, 테스트 또는 단어 확산에 관계없이 기부금은 따뜻하게 환영됩니다. 풀 요청을 제출하거나 다른 기부금에 대해 저에게 연락하십시오.
좋은 출발점은 "좋은 첫 번째 문제"라고 표시된 문제입니다.
자세한 내용은 Contributing.md 파일을 읽으십시오.
이 프로젝트는 비상업적 취미 프로젝트입니다. Ogame과 관련된 모든 권리 및 개념은 Gameforge Gmbh가 소유합니다. 우리는 지지자들이 제작자를 지원하기 위해 https://ogame.org에서 공식 Ogame을 시험해 볼 것을 권장합니다.
OGAMEX를 설치하는 권장 방법은 번들이 달린 도커 컨테이너를 실행하는 것입니다. 이것은 모든 종속성을 처리하고 시작하는 가장 쉬운 방법입니다.
Ogamex를 수동으로 설치하려면 Laravel 11.x의 요구 사항 목록과 서버에 수동으로 배포하는 방법을 참조하십시오 : https://laravel.com/docs/11.x/deployment.
로컬 개발의 경우이 저장소에 포함 된 기본 Docker-Compose 파일을 사용하십시오. 이 구성은 개발에 최적화되어 있으며 디버깅 및 테스트에 유용한 몇 가지 도구가 포함되어 있습니다.
$ 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은 데이터베이스 관리에도 포함되어 있으며 PORT 8080에 구속됩니다.
Docker 컨테이너가 시작된 후 http : // localhost를 방문하여 Ogamex에 액세스하십시오. 응용 프로그램이 시작되는 데 몇 초가 걸릴 수 있습니다. 해당 계정을 사용하여 새 계정을 작성하고 로그인하십시오. 생성 된 첫 번째 계정은 관리 역할을 자동으로 할당합니다.
참고 : 수동
php artisan명령을 실행 해야하는 경우docker compose exec -it ogamex-app bash명령으로ogamex-app컨테이너로 SSH를 SSH 할 수 있습니다.
제작의 경우 docker-compose.prod.yml 이라는 별도의 Docker-Compose 파일이 있습니다. 이 구성에는 개발 구성에 존재하지 않는 여러 성능 최적화 및 보안 설정이 포함되어 있습니다.
주의 : 생산 구성은 아직 완전히 최적화되지 않았으며주의해서 사용해야합니다. 예를 들어, 데이터베이스 루트 사용자는 기본 비밀번호를 사용하여 고유 한 것으로 변경해야합니다. 이 프로젝트를 공개적으로 액세스 할 수있는 서버에 배포하기 전에 모든 설정을 검토해야합니다.
참고 : 아래 지침은 Linux 용입니다. Ogamex는 또한 Windows의 Docker에서 작동해야하지만 단계는 약간 다를 수 있습니다.
$ 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은 데이터베이스 관리에도 포함되어 있으며 PORT 8080에 바인딩되지만 액세스하려면 안전 목적으로./docker/phpmyadmin/.htaccess통해 IP 주소를 명시 적으로 지정해야합니다.
Docker 컨테이너가 시작된 후 https : // localhost를 방문하여 Ogamex에 액세스하십시오. 응용 프로그램이 시작되는 데 몇 초가 걸릴 수 있습니다. 해당 계정을 사용하여 새 계정을 작성하고 로그인하십시오. 생성 된 첫 번째 계정은 관리 역할을 자동으로 할당합니다.
참고 : 프로덕션 버전은 자체 서명 된 SSL 인증서를 사용하여 기본적으로 강제 HTTPS (리디렉션) 모드로 실행됩니다. http를 통해 응용 프로그램에 액세스하려면
.env열고APP_ENVproduction에서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 컨테이너가 시작되면
./docker/entrypoint.sh의 EntryPoint 스크립트는 데이터베이스 스키마를 업그레이드하고 캐시를 새로 고침하기 위해 적절한 Laravel 설치 명령을 자동으로 실행합니다. 마이그레이션에 따라 시간이 짧을 수 있습니다. 컨테이너가 시작되면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 소스 코드는 MIT 라이센스에 따라 오픈 소스 소프트웨어입니다. 자세한 내용은 라이센스 파일을 참조하십시오. Ogame과 관련된 모든 권리 및 개념은 Gameforge Gmbh가 소유합니다.