Jump to content



  • Patrocinadores

  • Recently Browsing

    • No registered users viewing this page.
  • Similar Content

  • Posts

    • Eu to usando a mariadb que ele postou. Vou baixar o server novamente pra ver. Mas realmente to usando a que foi disponibilizada.
    • ola .. o problema é que você não está usando maria db mude a opção do servidor e login do dono ou coloque o engine apropriado .. os outros erros são devidos. porque faltam arquivos, ele coloca o backup de volta e tem que pegar  
    • veja suas config de banco de dados coloque senha e veja eu deixei padrao nome do banco de dado dev erra so usar da forma que estava apenas usando seu pass iria funcionar java e 11 e mariadb ou mysql 5.5 ou 5.7 tmb funciona  acho sistema de rank em vip muito legal sabe, mais a grande maioria não. ficaria ruim colocar 2 sistemas de vip Oque voces achao acho que esse statico ja e algo normal hoje em dia.
    • Opa, esse server parece ser muito bom eu consegui logar nele e agora tá ficando assim na hora de ligar a gameserver. Achei que fosse a JDK, troquei por todas 11 e não funcionou com nenhuma, a que vc disponibilizou não fica instalada no pc, mesmo dizendo que tá instalada
    • um sistema de farme vip +ou- nessa config tirada um servidor Maximum Vip level are now: Level 10 for non-premium (+10% exp/sp/drop/spoil | Level 20 for premium players (+20% exp/sp/drop/spoil/enchat(W/A)/enchant(skill)) Vip System will be reseted 1 June 00:00:00 (and then every month) exemplo para players não VIP (o farma desse vip seria de acordo com a config que o adm server bota para farma) (EXEMPLO: Mobs normal acada mobs morto ganha um 1 ponto de vip / e acada raid boss ou grand boss 2 pontos) 10000 ou 1000 Pontos para farma VIP 1  (+1% exp/sp/drop/spoil/enchat(W/A)/enchant(skill)) 20000 ou 2000 Pontos para farma VIP 2  (+2% exp/sp/drop/spoil/enchat(W/A)/enchant(skill)) 30000 ou 3000 Pontos para farma VIP 3  (+3% exp/sp/drop/spoil/enchat(W/A)/enchant(skill)) 40000 ou 4000 Pontos para farma VIP 4  (+4% exp/sp/drop/spoil/enchat(W/A)/enchant(skill)) 50000 ou 5000 Pontos para farma VIP 5  (+5% exp/sp/drop/spoil/enchat(W/A)/enchant(skill)) 60000 ou 6000 Pontos para farma VIP 6  (+6% exp/sp/drop/spoil/enchat(W/A)/enchant(skill)) 70000 ou 7000 Pontos para farma VIP 7  (+7% exp/sp/drop/spoil/enchat(W/A)/enchant(skill)) 80000 ou 8000 Pontos para farma VIP 8  (+8% exp/sp/drop/spoil/enchat(W/A)/enchant(skill)) 90000 ou 9000 Pontos para farma VIP 9  (+9% exp/sp/drop/spoil/enchat(W/A)/enchant(skill)) 100000 Pontos para farma VIP 10  (+10% exp/sp/drop/spoil/enchat(W/A)/enchant(skill)) exemplo para players VIP/Premium para ele farma VIP 11 ate 20 ele tira que ter prium ativo e seguira o mesmo principio porem com o ganho em dobro e percentagem almentada matando mobs matando Raid Boss/Grand Boss acho que da para entende eu acho ¬¬'
    • ola ban bom dia .. Estou testando o pack detalhadamente coisa por coisa. Ao testar os jogadores falsos, note que quando um pj o atravessa e faz uma festa ou qualquer tipo de ação, aparece o seguinte erro e trava todo o servidor, é algo importante pois em algum momento alguém vai dar uma festa para um jogador falso REPORT Failed reading [C] RequestJoinParty for [Character: daro - Account: admin - I P: 127.0.0.1]. java.lang.NullPointerException         at net.sf.l2j.gameserver.network.clientpackets.RequestJoinParty.runImpl( RequestJoinParty.java:70)         at net.sf.l2j.gameserver.network.clientpackets.L2GameClientPacket.run(L2 GameClientPacket.java:53)         at net.sf.l2j.gameserver.network.GameClient.run(GameClient.java:163)         at net.sf.l2j.commons.pool.ThreadPool$TaskWrapper.run(ThreadPool.java:22 1)         at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoo lExecutor.java:1128)         at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPo olExecutor.java:628)         at java.base/java.lang.Thread.run(Thread.java:834)  
    • Dungeon Solo e Party de 4 Party Farm Tournament TeamVsTeam ta de bom tamanho
    • link do fórum russo?   A beleza então, com os mages já da pra fazer a festa. sobre o que eu disse, de umas ideia de evento etc, ta afim de tentar fazer algo?
    • Então, tinha bastante comentários lá, muita gente da Rússia deve ter usado
    • PAI TA ESTORADO Kkkk sim aquele pacote erra um pacote pra servidor pvp muito forte ainda fiz ele open sourcer pra galera tira onda mesmo. Sim meu projeto roda o globo no 14 as pessoas adora a forma da l2jdev

Git Workflow - Contribuindo com pull requests


KhayrusS

Recommended Posts

Existem diferentes formas de contribuição em projetos open source, sendo uma das principais a contribuição de implementações através do Pull Request. Nesse guia, vou abordar como criar um Pull Request no projeto L2jOrg, mas que poderá ser usado em qualquer projeto que utilize git.

Eu trabalho com git há alguns anos, e durante esse tempo experimentei diversas formas de utilização. Um dos melhores fluxos de trabalho pra utilizar git, na minha opinião, é o modelo "short lived branches" ou "topic branches",  nesse link você pode encontrar mais detalhes.

 

Requisitos para seguir o guia:

 

Obs.: a IDE é opcional, você pode utilizar apenas o cliente git para realizar os passos desse guia, mas por simplicidade será demonstrado apenas com o uso da IDE.

 

1º Passo - Criando um fork do projeto no github

O projeto L2jOrg utiliza submódulos, é necessário realizar o fork de todos os repositórios que pretende fazer contribuições.

A criação de um fork é bastante simples, apenas é necessário estar logado no github, e utilizar o botão fork na página dos repositórios:

 

Vamos criar o fork para o primeiro repositório: https://github.com/L2jOrg/L2JOrg

 

Clique no botão fork no canto superior direito

796191035_Screenshotfrom2021-04-1015-51-13.thumb.png.cd36bf8700e1c87c9f539a637e1cdfb4.png

 

Caso participe de alguma organização no github, aparecerá uma tela para escolher onde será criado o fork

1718636624_Screenshotfrom2021-04-1015-51-54.thumb.png.6225065a05d2c613c308af002c9ea9d5.png

 

Agora faça o mesmo processo para o repositório do Datapack: https://github.com/L2jOrg/Datapack.

Após feito o fork dos dois repositórios,  você terá uma cópia dos repositórios.

 

254715370_Screenshotfrom2021-04-1015-59-00.thumb.png.307f9fd71968c31a155caa167c6f2038.png

 

2º Passo - Clonando  seu repositório

Antes de seguir esse passo, é necessário ter o git instalado.

Após a criação do fork,  iremos fazer o clone dos seus repositório. Esse clone nada mais é do que fazer uma cópia do seu repositório remoto, que está no github, para sua máquina. Assim, podemos modificar os arquivos com mais facilidade.

 

Para realizar o clone, precisamos saber qual o endereço dos nossos repositórios. Podemos encontrar essa informação no github:

Aqui teremos duas opções de url. Utilizando ssh ou https. Eu particulamente utilizo a com ssh por achar mais simples, já que utilizando https é necessário fornecer o usuário e senha do github para se comunicar com o repositório remoto. Caso queira utilizar ssh, mas não sabe como configurar, segue a documentação.

 

No botão "code" do github é onde podemos encontrar as urls necessárias para fazer o clone do repositório. Copie a url que iremos utilizar na IDE, no nosso caso no IntelliJ IDEA.

118425190_Screenshotfrom2021-04-1016-18-31.thumb.png.3e6283a1ea89a1ef52d1eb201316b75e.png

 

A primeira vez que o IntelliJ é aberto, é apresentada uma tela de "Bem Vindo". Apartir dessa tela já podemos realizar o clone do repositório, utilizando o botão "Get from VCS".

1452838153_Screenshotfrom2021-04-1016-24-02.png.938d6562b8d4cf21f25132bfcc68e494.png

 

Se no seu caso, ele já abriu algum projeto que você não queira fechar, é só utlizar o menu "File" -> "New" -> "Project from Version Control"

1609200508_Screenshotfrom2021-04-1016-28-46.thumb.png.2af4e4cb90f0cb87d4246d8138285fe9.png

 

Irá aparecer uma janela para colocar a url do projeto, após adicionar a url e escolher onde seu projeto vai ficar é só clicar em "clone".

71388547_Screenshotfrom2021-04-1016-31-57.png.544efb7b9fa3bdcb2adb37340f30f1a5.png

 

Ao finalizar o clone, o IntelliJ abre a janela com o arquivos do projeto:

Algo que vale à pena mencionar é que mesmo sem ter feito o clone do Datapack, o Intellij realizou o clone automaticamente. Isso ocorre devido ao projeto utlizar submodules. Para mais detalhes veja esse artigo!

263227896_Screenshotfrom2021-04-1016-42-56.thumb.png.452dd59d9d46f483e02190fea5fd179f.png

 

Vemos verificar o conteúdo dos repositório, para isso clique no nome da branch "development" no canto inferior direito.  Aqui é mostrado as branches existentes no repositório.

Nesse caso, o Datapack está em um estado que chamamos de "detached head". Rudemente falando, esse estado indica que fizemos o checkout de um commit específico ao ínves de uma branch. Aqui você encontra mais detalhes!

1439534362_Screenshotfrom2021-04-1017-31-19.thumb.png.cdd1b67e291d498efed189026682b766.png

 

Vamos "corrigir" esse estado fazendo o checkout da branch development. Clique em origin/development e checkout:

1824912423_Screenshotfrom2021-04-1017-34-41.thumb.png.79d85a9ac657fd8779a5644c162384ac.png

 

3º Passo - Configurando Remotes

Agora vamos para uma das mais importantes partes desse guia. Uma das maiores dificuldades que algumas pessoas têm ao se trabalhar com o modelo colaborativo do git, é manter seu repositório atualizado com o repositório oficial.

Quando realizamos um clone de um repositório fork, para o git aquele repositório é o principal. Mas no modelo colaborativo, é necessário configurar o git para reconhecer o repositório oficial também. Isso nos ajudará a manter o repositório atualizado com o oficial.

Para isso vamos configurar "os  Remotes" do git.

 

Vá no menu "Git" -> "Manage Remotes"

1557915069_Screenshotfrom2021-04-1017-00-32.thumb.png.72e35bfae5cd92294a7690c1b6b05648.png

 

Irá aparecer uma janela para configurar os remotes. Note que já temos dois remotes configurados, um para o Core e outro para o Datapack. O remote do core está correto, mas o Datapack está configurado para o repositório oficial. Isso ocorre devido ao arquivo de configuração responsável pelo submodule.

590154545_Screenshotfrom2021-04-1017-02-53.png.95b16b58ad4ebcedf1df06a54c457a10.png

 

Vamos corrigir o Datapack e adicionar mais dois remotes. Para isso vamos pegar a url dos repositórios oficiais. Após a configuração os remotes ficaram assim:

993996063_Screenshotfrom2021-04-1017-18-46.png.145ddd695acc0fee8d79811081a24e8b.png

 

Após a configuração, vamos atualizar o repositório com o conteúdo dos novos remotes, para isso vá no menu  "Git" -> Fetch.

Vamos acessar a tab git do IntelliJ, por padrão fica no canto inferior esquerdo, para vermos com mais detalhes o conteúdo do repositório. Aqui podemos ver os conteúdo tanto do repositório fork quanto do oficial.

1879961155_Screenshotfrom2021-04-1017-42-18.thumb.png.5c9b0cebce7b4647a8224c22e72f2293.png

 

4º Passo - Realizando mudanças

Vamos realizar um mudança simples, apenas para demonstrar como o workflow funciona.

A primeira coisa a fazer antes de realizar a mudança é criar uma nova branch.

Clique na branch development, canto inferior direito, depois "New Branch".

256859805_Screenshotfrom2021-04-1018-27-15.thumb.png.8a593db2a0b51d72597a2fc6ff92eca8.png

 

Der um nome sugestivo para a branch, de forma a dar uma ideia o que aquela branch vai corrigir ou modificar.

1800874391_Screenshotfrom2021-04-1018-28-11.png.5c6cfd7807c6a5b8eacfb4d330688943.png

 

Agora podemos realizar a mudança desejada. Após realizar a mudança, vamos abrir a aba "commit" que fica do lado esquerdo. Nessa janela  podemos selecionar quais os arquivos que fazem parte da mudança, para enviar a modificação para o repositório.

Após selecionar os arquivos necessários, preenchemos a mensagem do commit com uma algo que descreva o que está sendo mudado. O ideal é que se utilize poucas palavras para descrever a mudança.

Em casos em que é necessário algo mais detalhado, escreva na primeira uma descrição breve, e após uma linha escreva a descrição completa.

Agora podemos fazer o commit e o push das mudanças.

Commit -> realiza a mudança no seu repositório local

Push -> envia a mudança para o respositório remoto ( github)

2053807983_Screenshotfrom2021-04-1018-32-30.thumb.png.81ada6149a33e4bf577e4a8049ed9a04.png

 

Abrirar uma tela para alterar alguma opção do push, se necessário. Aqui podemos ver que será criada uma nova branch no repositório remoto, sinalizado pelo label "new" após o nome da branch. Após verificar que está tudo correto, clique no "push".

*Lembrando que o remote origin é o repositório fork, então a mudança vai para esse repositório e não para o oficial.

585174907_Screenshotfrom2021-04-1018-33-33.thumb.png.9e4cf240e73423c19670d7fac3d636c5.png

 

Após o push, vamos olhar como ficou o repositório no github. 

Podemos ver que ao entrar no github ele já nos mostra que foi realizado um push recentemente no repositório. E finalmente fornece um botão para realizarmos o pull request.

1454279744_Screenshotfrom2021-04-1018-38-03.thumb.png.967fcd0a2b63b0c2e1c30eaa7b2b0de0.png

 

Clique no botão "compare & pull request".

O github abrirá a página de pull request do repositório oficial, automaticamente preencherar algumas informações com a mensagem que colocamos no commit.

Nessa página, podemos configurar para qual branch o pull request será feito. Por padrão ele fará o pull request na branch "development", caso o pull request seja para outra branch você pode alterá-la.

2139080951_Screenshotfrom2021-04-1018-42-33.thumb.png.5a0996e4d61f7d4fbaafe7c458b0ed4c.png

 

 

Clique no botão "Create pull request". Ao criar o pull request a mudança vai passar por algumas checagens automáticas, e ficará aberto para alguém da equipe analisar o que foi mudado.

Essa é fase que chamamos de code review, aqui fazemos uma verificação geral da mudança.

Algumas das coisas que verificamos aqui:

  • A qualidade do código;
  • Se a mudança faz sentido;
  • Se a mudança é necessária;
  • Se o código faz o que supostamente deveria fazer;
  • Se não existe código malicioso;
  • entre outras coisas;

2083348948_Screenshotfrom2021-04-1018-47-11.thumb.png.7ee5bc2e2a04d11d73eafd477830da77.png

 

Alguma pessoa do time irá realizar o review do código, podendo aprovar, pedir mudanças ou apenas não aceitar o pull request

1923958431_Screenshotfrom2021-04-1018-54-07.thumb.png.c7772544ab0c7dd5fa74e420322a06df.png

 

5º Passo - Atualizando o repositório com o conteúdo do repositório oficial

Após o pull request ser aceito, ele é incorporado ao repositório oficial. Então é necessário que o repositório fork e o local seja sempre atualizado também. 

Para isso, vamos voltar ao IntelliJ. A primeira coisa a fazer é retornar para nossa branch padrão "development". Vamos fazer o checkout dela.

1060789626_Screenshotfrom2021-04-1019-01-15.thumb.png.c7c1d852b12eabf7a5863a0d9b7300db.png

 

Agora vamos fazer o pull (copiar) das alterações realizados no repositório oficial. Você pode clicar com o botão direito em algum arquivo do projeto -> Git -> Pull...

 

1140346783_Screenshotfrom2021-04-1019-02-33.thumb.png.9b16e174d00a85d8fdf3dc1ec36b7e5b.png

 

Vamos configurar de onde queremos receber as atualizações, nesse caso queremos atualizar a nossa branch com o repositório oficial e branch development, que foi a que submetemos o pull request.

1953352083_Screenshotfrom2021-04-1019-02-59.thumb.png.64139b83b645c56253d8cd26d8ab238a.png

 

Podemos ver que nossa branch local está atualizada com a mudança que fizemos no pull request:

1902614028_Screenshotfrom2021-04-1019-07-02.thumb.png.d97b6ab43d05170e9b62822fba841035.png

 

Após realizar o pull dessas alterações, você pode fazer push para o seu repositório fork, para mantê-lo sempre atualizado.

 

Esse processo pode parecer um pouco complicado, ou até mesmo com vários passos. Mas é uma forma de coloboração bastante eficaz que permite a fácil utilização de múltiplos repositórios, sem muitas complicações de merge. Mas isso já é uma outra história.

O importante é sempre lembrar:

  • Antes de fazer qualquer mudança crie uma nova branch sempre a partir da branch padrão, nesse caso "development"
  • Se seu pull request não foi aprovado ainda, e você precisa fazer uma alteração diferente, volte para branch padrão, crie uma nova branch apartir dela e só então comece a realizar a próxima mudança
  • Lembre-se de manter seu repositório sempre atualizado com o oficial
  • De vez em quando faça uma limpeza, delete as branchs que foram criadas e as mudanças já foram aprovadas. Lembre-se o modelo é "short lived branch" então elas tem vida curta mesmo.

[]'s

 

 

 

Link to comment
Share on other sites

Irmão do ceu eu curto de mais seus trampo. seus topicos então e inpecavel.

cara tudo que voce souber sobre essa engine ai IDE pode postar por favor eu amo comer conhecimento. Tou preso la traz no Eclipes mais uso o mais atual e essa Engine deixa as coisa escritas muito mais simples e besta qual quer bobo consegue. pelo fato de linguagem de maquina fico facil de mais ai Nessa IDE. 

solta um Spoler dos Atalhos mais usados. pelo Veterano....
 

3rQnuhn.gif

Mensagens Pedindo Ajuda serão ignoradas
Caixa de PM não e central de Duvidas ou Pedidos

Meu Pastebin

Link to comment
Share on other sites

7 horas atrás, BAN - L2JDev disse:

Irmão do ceu eu curto de mais seus trampo. seus topicos então e inpecavel.

cara tudo que voce souber sobre essa engine ai IDE pode postar por favor eu amo comer conhecimento. Tou preso la traz no Eclipes mais uso o mais atual e essa Engine deixa as coisa escritas muito mais simples e besta qual quer bobo consegue. pelo fato de linguagem de maquina fico facil de mais ai Nessa IDE. 

solta um Spoler dos Atalhos mais usados. pelo Veterano....
 

Quando sair do Eclipse para um intellij da vida, nunca mais tu volta para o eclipse xD

600-150RETURN.png

Link to comment
Share on other sites

  • 3 weeks later...
Em 11/04/2021 at 07:27, BAN - L2JDev disse:

Irmão do ceu eu curto de mais seus trampo. seus topicos então e inpecavel.

cara tudo que voce souber sobre essa engine ai IDE pode postar por favor eu amo comer conhecimento. Tou preso la traz no Eclipes mais uso o mais atual e essa Engine deixa as coisa escritas muito mais simples e besta qual quer bobo consegue. pelo fato de linguagem de maquina fico facil de mais ai Nessa IDE. 

solta um Spoler dos Atalhos mais usados. pelo Veterano....
 

Ultimamente meu tempo é tão curto que é difícil produzir algum tipo de conteúdo. Vou ver se consigo algum tempo pra fazer algo desse tipo.

Uma dica que posso dar, para facilitar a migração do eclipse para IDEA, é que você pode configurá-lo para utilizar os mesmo atalhos do eclipse. Ainda vai ter algumas dificuldades, mas já é uma ajuda para ir se acostumando.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Join now

    Be part of the largest and oldest communities about Lineage2 in Latin America.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.