? Se você achar esse projeto útil, considere dar -lhe uma estrela! ?

Demoção ao vivo • Instalação? • contribuindo
Clone de redesenho ogame de código aberto
Ogamex é um clone de redesenho de ogame de código aberto. Este clone é construído totalmente a partir do zero usando a estrutura Laravel 11.x e usa práticas modernas de PHP. Todas as principais funcionalidades são cobertas por unidade e testes de recursos que são executados automaticamente em todas as compilações.
Congratulamo -nos com todas e quaisquer contribuições para este projeto! Se você quiser ajudar, leia a seção contribuinte. Se você tiver alguma dúvida, poderá participar da Ogamex Discord para entrar em contato com os mantenedores e outros colaboradores.
Isenção de responsabilidade: Este projeto é puramente baseado em fãs e não contém recursos comerciais. Todo o código de back -end está escrito do zero. Os direitos e conceitos para a obra de arte e frontend pertencem aos criadores originais: GameForge GmbH. Apoie -os verificando a versão oficial: https://ogame.org.





Minha jornada (@lanedirt) para o desenvolvimento de software começou em 2007 aos 14 anos, quando descobri o código-fonte para Ugamela, um clone de Ogame PHP de código aberto inicial. Eu realmente gostei de executar meu próprio servidor de jogos de navegador e me dediquei a modificar esta versão e traduzi -la para holandês, levando ao lançamento do Ogamex.nl. Este servidor, ativo de 2007 a 2009, alimentou uma comunidade pequena, mas engajada. Essa experiência não apenas despertou minha paixão pelo desenvolvimento de software, mas também estabeleceu as bases para minha carreira profissional. Ogame sempre ocupou um lugar especial em meu coração, e é por isso que agora, 15 anos depois, decidi voltar a ele e criar esse clone de código aberto desde o início.
O objetivo principal desse projeto baseado em fãs é projetar uma versão fiel do Ogame, refletindo especificamente seu estado antes da atualização de formas de vida introduzida em 2020. Esta iniciativa, puramente baseada em fãs e não comercial, é buscada estritamente para fins educacionais.
O Ogamex está sob desenvolvimento ativo, com muitos recursos principais já implementados e funcionando:
Os próximos principais recursos que estão sendo trabalhados:
As contribuições são calorosamente bem -vindas, seja em desenvolvimento, teste ou espalhando a palavra. Sinta -se à vontade para enviar solicitações de tração ou entre em contato comigo para outras contribuições.
Um bom ponto de partida são os problemas rotulados como "boa primeira edição".
Leia o arquivo contribuinte.md para obter mais informações.
Este projeto é um projeto de hobby não comercial. Todos os direitos e conceitos relacionados ao Ogame são de propriedade da GameForge GmbH. Incentivamos os apoiadores a experimentar o Ogame oficial em https://ogame.org para apoiar seus criadores.
A maneira recomendada de instalar o Ogamex é executando os contêineres do Docker. Isso cuida de todas as dependências e é a maneira mais fácil de começar.
Se você deseja instalar o Ogamex manualmente, consulte a lista de requisitos para o Laravel 11.x e como implantar manualmente em um servidor aqui: https://laravel.com/docs/11.x/deployment.
Para o desenvolvimento local, use o arquivo padrão do docker-composição incluído neste repositório. Essa configuração é otimizada para desenvolvimento e inclui várias ferramentas úteis para depuração e teste.
$ git clone https://github.com/lanedirt/OGameX.git
$ cd OGameX
.env.example para .env . $ cp .env.example .env
$ docker compose up -d
NOTA: A configuração padrão se liga às portas 80/443. Modifique
docker-compose.ymlse necessário. O PHPMYADMIN também está incluído para o gerenciamento do banco de dados e está vinculado à porta 8080.
Após o início dos contêineres do Docker, visite http: // localhost para acessar o Ogamex. Observe que pode levar alguns segundos para o aplicativo iniciar. Crie uma nova conta e faça login usando essa conta. A primeira conta criada será atribuída automaticamente a função de administrador.
NOTA: Se você precisar executar comandos manuais
php artisan, poderá ssh no contêinerogamex-appcom o comandodocker compose exec -it ogamex-app bash.
Para a produção, existe um arquivo Docker-Compose separado chamado docker-compose.prod.yml . Essa configuração contém várias otimizações de desempenho e configurações de segurança que não estão presentes na configuração de desenvolvimento.
CUIDADO: A configuração de produção ainda não está totalmente otimizada e deve ser usada com cautela. Como exemplo, o usuário root do banco de dados usa uma senha padrão que deve ser alterada para algo exclusivo. Você deve revisar todas as configurações antes de implantar este projeto em um servidor acessível ao público.
Nota: As instruções abaixo são para Linux. O Ogamex também deve funcionar no Docker para o Windows, mas as etapas podem ser um pouco 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 para .env . $ cp .env.example-prod .env
$ docker compose -f docker-compose.prod.yml up -d --build --force-recreate
NOTA: A configuração padrão se liga às portas 80/443, para alterá-lo modificar
docker-compose.yml. O phpmyadmin também está incluído para o gerenciamento do banco de dados e está vinculado à porta 8080, no entanto, para acessá -lo, você precisa especificar explicitamente seus endereços IP via./docker/phpmyadmin/.htaccesspara fins de segurança.
Após o início dos contêineres do Docker, visite https: // localhost para acessar o Ogamex. Observe que pode levar alguns segundos para o aplicativo iniciar. Crie uma nova conta e faça login usando essa conta. A primeira conta criada será atribuída automaticamente a função de administrador.
NOTA: A versão de produção é executada no modo forced-https (redirecion) por padrão usando um certificado SSL autoassinado. Se você deseja acessar o aplicativo via HTTP, abra
.enve altereAPP_ENVdaproductionparalocal.
Se você deseja atualizar uma instalação existente do Ogamex para uma nova versão, siga estas etapas:
$ docker compose down
$ git pull origin main
-- ou --
$ git checkout 0.9.1 # replace with the latest release tag
Para desenvolvimento:
$ docker compose up -d --build --force-recreate --remove-orphans
Para produção:
$ docker compose -f docker-compose.prod.yml up -d --build --force-recreate --remove-orphans
Quando os contêineres do Docker forem iniciados, o script de entrada em
./docker/entrypoint.shexecutará automaticamente os comandos de instalação do Laravel apropriados para atualizar o esquema do banco de dados e atualizar o cache. Observe que, dependendo das migrações, isso pode demorar um pouco. Depois que os contêineres forem iniciados, você pode visitar o aplicativo emhttps://localhost(ou http: // localhost) para verificar se a atualização foi bem -sucedida. Se você tiver algum problema, verifique os logs para obter mais informações ou abra um problema no GitHub.
Por padrão, o primeiro usuário registrado recebe a função de administrador que pode ver a barra de administração e é capaz de alterar as configurações do servidor. Você também pode atribuir a função de administrador manualmente através da linha de comando:
$ php artisan ogamex:assign-admin-role {username}
Para remover a função de administrador de um usuário, use o seguinte comando:
$ php artisan ogamex:remove-admin-role {username}
Você encontrou problemas neste projeto? Por favor, abra um ingresso no Github e tentaremos ajudá -lo o mais rápido possível.
Agradecemos às seguintes partes por patrocinar este projeto:
Jetbrains Fornecendo licenças gratuitas de código aberto para phpstorm, webstorm e datagrip. |
Interessado em apoiar o Ogamex? Congratulamo -nos com patrocínio de todos os tamanhos! Seu apoio nos ajuda a manter e melhorar esse projeto de código aberto. Entre em contato conosco via Github ou Discord para discutir oportunidades de patrocínio.
O código-fonte Ogamex Laravel é o software de código aberto licenciado sob a licença do MIT. Consulte o arquivo de licença para obter mais detalhes. Todos os direitos e conceitos relacionados ao Ogame são de propriedade da GameForge GmbH.