Ir para conteúdo
  • Cadastre-se

Classificação de Membros

Atualmente, o índice de pesquisa está sendo processado. Os resultados das classificações podem não estar completos.

Popular Content

Showing content with the highest reputation since 25-03-2018 em todas as áreas

  1. 30 points
    É, meus amigos... Não são 10 dias, são 10 anos. E que história, ein?! No dia 25/11/2008 foi fundado o L2JBrasil. Estamos há 10 anos trazendo informação, notícias, dicas, tutoriais, disseminando o conhecimento... Foram mais de 100.000 tópicos, quase 200.000 membros, mais de 700.000 posts! Quantas histórias se cruzaram por aqui... Quantas amizades, quantas parcerias, quantos cresceram através daqui?! Quantas histórias de sucesso a L2JBrasil influenciou?! Grandes servidores, administradores, empreendedores, empresas, projetos, formou intelectuais, transformou pessoas em seres melhores... Cara, sem palavras. 10 anos. Mesmo se um dia isso aqui acabar, tenho certeza que o L2JBrasil permanecerá vivo na memória de muitos. Muitos mesmo. Pode ser que um dia, velhinhos, olharemos para o passado e lembraremos o quão bom foi o tempo que passamos juntos aqui, ou talvez você se lembre apenas dos seus servidores, mas se lembrará de onde eles vieram. Que venham mais 10... 20... 100 anos! #tamojuntogalera! Quer saber mais sobre nós? Clica nesse tópico:
  2. 27 points
    Hey Guys, Welcome to L2JBlueHeart Desenvolvedores: @vert | @TurtleLess | @Azazyel | @Reign | @Yanush Npcs ------------------------------------------------------------------------------------------------------------- Sinto falta de jogar um servidor no tempo livre, comecei a jogar a uns 10 anos atrás, joguei por 8 anos, agora trabalho e estudo então sobra pouco tempo, nas minhas ultimas tentativas de jogar L2, eu entrava em um servidor e ele fechava em menos de 1 semana, então cheguei a conclusão de que só estava perdendo meu tempo. Decidi montar um servidor para os players que se sentem como eu se divertirem, algo bem old school; eu joguei vários PvPs e o BrThunder por 8 anos (ele mudou de nome e de crônica várias vezes) mas manteve a essencia do comércio e da jogabilidade (até nos seus ultimos anos, apesar de que acabou perdendo essa essencia infelizmente). A minha ideia de mexer nessa revisão é montar um 20x o mais próximo de como o BrThunder era, focado no comércio, sem customs, com suporte ativo, etc... Vou postar aqui as correções que já fiz nessa pack da JSunrise postada pelo Hl4p3x. L2JBlueHeart 💙 Changes & Fixes & Details XP em Party - No trecho do código onde é calculado o xp em party, antes o xp em party era a quantia definida no Rates.ini dividida pelos membros na pt, então se a pt tivesse 7 membros e o xp em pt fosse 20x(vezes o xp do mob) (enquando o xp normal é 10x), seria 20 / 7 = 2,85x(vezes o xp do mob), e para contornar esse desfalque, se a rate do xp em party fosse aumentada, uma pt de 2 players receberia bem mais e seria injusto, tornando inviável um servidor low/mid rate ser balanceado. Agora o xp em pt é multiplicado pela quantidade de pessoas na PT; exemplo: servidor é 20x normal, 1.1x xp em party (upar em pt irá render 10% a mais de xp, se fosse 1.6, seria 60%, etc...), pois o calculo ficou assim: (xp mob) * (rate xp * rate xp party * quantidade de players na party). Item-mall (Shop Prime) - Ele estava duplicando items: se a pessoa já tivesse 1 item do que seria comprado, aí o sistema agia como o esperado e só adicionava, caso não tivesse nenhum item, os items eram comprados em várias quantidades, exemplo: não tenho enchant armor S e pretendo comprar 10 no shop prime, ele iria me entregar 10 enchant armor S (10) 10 vezes, ficaria com 100 enchants no total. Era uma verificação escrita sem atenção e acabou gerando o "bug". Transformação AIO - Transformação aio criada, 7 dias e 30 dias (fotos). Voice Command EXP (.exp|.expoff|.expon) - O que veio na revisão só funcionava se a configuração do .ccp estivesse ativa, então criei um voice command separado, o .exp funciona como um switch (se estiver on, destiva, se estiver off, ativa). Nevit System - O buff do vitality estava ativando com muita frequencia, agora ele ativa de 20 em 20 leveis (apróximadamente), o que é ótimo para os players novos e não se torna uma bola de neve para os players avançados. Beginner's Pack - Ao criar um personagem, o mesmo recebe um auxilio do sistema, alguns itens: soulshot, spiritshot, cocktail buff, revita pop, armors shadow até a grade A. Infos & Configs Buffs = 20 min RateXp = 20 RateQuestDrop = 3 // Preciso verificar essa rate, pensei em quests básicas como a de monstone mas não chequei as que dão s84 lá de antharas. RateDropItemsById = 57,7.5 // (adena 7.5x) RateCommonHerbs = 0.5 RateHpHerbs = 0.5 RateMpHerbs = 0.5 RateSpecialHerbs = 0.5 RateVitalityHerbs = 0.3 DecreaseSkillOnDelevel = False // Importante para chars de farm, como upar um titan pra 81, add forgotten nele, delevar pra 76 e farmar elemental stone. MaxLvlDiffCanKeepSkillLvl = 9 AltWeightLimit = 6 AutoLearnSkills = True // Focar no que importa: se divertir AutoLearnForgottenScrollSkills = False // Um mundo precisa ter comércio, até o L2 MaxBuffAmount = 24 MaxTriggeredBuffAmount = 12 MaxDanceAmount = 12 DanceCancelBuff = True // Allow players to cancel dances/songs via Alt+click on buff icon AutoLearnDivineInspiration = False // ;) MagicFailures = True // Está bem tranquilo upar de mago ou de fighter... AltSubClassWithoutQuests = False // Hello boss de sub AltTransformationWithoutQuest = False // Hello quest chata de transformação RestoreServitorOnReconnect = True // Restaura os summons ao reconectar RestorePetOnReconnect = True // Restaura os pets ao reconectar EnableVitality = True MaxSubclass = 3 MaxSubclassLevel = 80 EnchantChanceElementStone = 50 EnchantChanceElementCrystal = 30 EnchantChanceElementJewel = 15 EnchantChanceElementEnergy = 10 AugmentationNGSkillChance = 15 AugmentationMidSkillChance = 30 AugmentationHighSkillChance = 45 AugmentationTopSkillChance = 60 AugmentationNGGlowChance = 0 AugmentationMidGlowChance = 40 AugmentationHighGlowChance = 70 AugmentationTopGlowChance = 100 CraftMasterwork = True AltMaxNumOfClansInAlly = 3 AltClanMembersForWar = 15 AltLeavePartyLeader = True // Quando o lider da party sai, o próximo membro de torna o lider ao invés de desfazer a pt UnstuckInterval = 30 AllowDiscardItem = True AutoDestroyDroppedItemAfter = 600 // 10 min AutoDestroyHerbTime = 15 // 15 secs EnableCommunity = False // Por enquanto o community board está desabilitado HellboundWithoutQuest = False // Hello hellbound Fotos do Projeto Há mais fotos do projeto, todas estão aqui: https://imgur.com/a/jTjinyw Caso encontrem algo que precise de correção ou mudança, é só postar aqui no tópico, vou tentar manter o tópico atualizado com as informações pra vocês. Suportes ativos, tudo balanceado (o máximo possível), ter um server pra sempre se divertir com os amigos, etc... Andei pesquisando e testando, consigo por o servidor online no linux entre 80 a 60 reais ou até menos dependendo da estrutura que eu montar (login, game, banco de dados), a forma do servidor se pagar seria com mana potions, enfeites, etc... Nada que atrapalhasse a jogabilidade, são 200 mana potions por 3 reais, cp potion, etc... Para ganhar dinheiro eu trabalho, o servidor seria pra matar a saudade dos velhos tempos (tanto pra mim quanto pros outros jogadores), gostaria de relembrar a infância em um servidor que não reabrisse todo mês... Para a galera que quer contribuir, testar e se divertir, o servidor de testes está online: download system Para os que vão contribuir e testar, podem utilizar esse tópico pra reportar bugs e melhorias. Para os que vão apenas se divertir, pretendo tratar o servidor como um servidor pronto e real (não irei ficar derrubando a máquina toda hora para atualizar), esse é o Alpha Test, então os que jogarem não estarão perdendo tempo pois as participações no Alpha Test e no Beta Test ficarão registradas e receberão alguns brindes no servidor após os períodos de teste. Como não é um servidor real, não possui site, a criação de conta é in game e estou disponibilizando um Account Panel Manager pra vocês se divertirem. Instruções sobre o ACP: ao deslogar, é preciso vir aqui e clicar no link novamente pra dizer ao painel em qual servidor se conectar, caso queiram deixar o link salvo na barra de favoritos, eis aqui o link completo: http://panel.lineage2.store/login/4EA3-AEB2-F32A-F7A123 Se for feita alguma doação para o servidor através do ACP, uma parte será destinada a pagar a manutenção das máquinas em que o servidor de teste está online e outra parte será convertida em doação aqui para a JBr para auxiliar nos custos de manter o fórum. As moedas serão registradas no banco de dados, e poderão ser transferidas para o game além de serem usadas no shop do ACP. Como teremos os registros delas, elas serão reembolsadas (enviadas sem precisar doar novamente) após o período de testes. Os períodos do Teste Beta e do Teste Alpha não estão definidos, podendo durar várias semanas ou meses... O intuito desse projeto não é ganhar dinheiro, mas sim disponibilizar um servidor legal para todos se divertirem, auxiliar na manutenção da JBr como agradecimento pelo conhecimento que adquirimos aqui e trocar informações sobre bug fixes dos que já foram fixados e os que ainda serão; Qualquer dúvida ou feedback é só postar ;D PS: Irei manter os créditos da JSunrise no core do projeto, não da pra ver na foto que coloquei no tópico, mas mantive todos os créditos, somente adicionei os meus já que estou usando a Sunrise como base. Os releases serão postados no github e aqui no tópico, então fiquem de olho no tópico. PS 2: As correções só serão feitas com base no que vocês reportarem, se não reportarem nada, não haverá novos releases; É um projeto que deve ser mantido pela comunidade, então conto com todos; Vocês terão o que contribuírem, caso não contribuam, não terão nada. Tópico na área de desenvolvimento: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Custom html dressme by @alexfabiano: Em agradecimento pelo dressme estou postando uma html opcional do painel .dressme editado por mim! Substituir a pasta: \game\data\html\sunrise\dressme Também adicionei o botão de back to menu nas abas de cada dressme. Espero que gostem! DOWNLOAD ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Custom shift+click by @Azazyel Ai, ao testar o Shift+Click nos monstros me deparei com uma html horrivel e toda fora do lugar, fui la e fiz umas modificações. Retirei os status do monstro, pois acho que só o que importa mesmo são as informações sobre o drop, spoil e quest. Link para download: http://www.mediafire.com/file/iyr4zn7d6e5087n/Drop+Info.rar Basta substituir o arquivo que se encontra ja no seu caminho! Quem tiver algum receio faça um back apenas compactando o arquivo original "L2NpcActionShift.java". É o unico arquivo modificado! Print: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Cálculo do XP e XP em party; | vert Cálculo dos pontos Nevit's recebidos a cada level | vert Shop Prime (item mall) | vert DressMe | TurtleLess, alexfabiano, Reign Siege | Reign TW | Reign Grácia Área | Reign Hellbound | Reign Flag Zone | Reign Chaotic Zone | Reign Manor Manager | Reign Level Up | Onã Game Play | Onã Skills Transformation AIO ++ | Reign Premium Admin | alexfabiano Queen e Orfen | xRodox Quest Valakas, Baium, Antharas | Reign ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Download Revisão: https://github.com/danielbarion/L2JBlueHeart Source da Revisão: https://github.com/danielbarion/JBlueHeart-Source
  3. 23 points
    Boa noite comunidade. Primeiramente feliz ano novo a todos, muita paz saúde e muitos anos de vida! Hoje venho da um presentão para a nossa comunidade (principalmente aos clans) que é a minha interface toda refeita, desde as janelas do jogo até algumas mudanças que fiz para ter uma melhor/rapidez de resposta sobre a interface. Vou deixar fotos e o link do que fiz na interface e claro use e abuse dela, tem muitas coisas que não postei aqui. Dano na tela igual do classic: HP do inimigo: CC: Mapa: Shop: Opções: General Manufacture: Siege info: Private Store Sell: Private Store Buy: Private Store: Recipe Creation: Party Match: Interface Utility: Hero list: Auto Buff: Skill Enchant: Skills: Trade: Dyes: Map: Inventory: Chat Filter: Macro: Quest: Key Settings: Clan: Status: Actions: Grocer: Warehouse: Vou postar alguns videos da interface para vocês entenderem e verem algumas coisas. Aqui um video de demonstração (antigo): Esse aqui voces vao gostar, o que ele faz? Bom vou tentar explicar, todos sabem do auto assist que ja tem nas interfaces, porem elas sao automaticas, se voce apertar para ficar no assist seu personagem fica querendo atacar o alvo automaticamente, isso na treta fica muito ruim na hora de "QUITAR" ou etc. No video eu mostro que tem 2 opcoes de assist, o automatico e o auto target ao SEU COMANDO. Voce marcará o seu "MA" e usara o ESPACO do seu teclado para trocar o assist sempre que seu "MA" falar: ASSIST ASSIST.. e ele nao sairá seguindo o assist do seu MA, ele apenas trocará. Bom, espero que gostem, usem abusem, muitas pessoas e lideres de clan me pediram e estou postando agora. O por que estou postando isso? Sinto que tudo o que sabemos hoje foi por ajuda de terceiros e por que alguem te ensinou, só te falta dedicação. Obs: para os experts a interface está limpa e sem nenhuma proteção em seus códigos, talves irei atualiza-la quando eu tiver um tempão sobrando =D Claro o download: https://www.4shared.com/rar/OTuM_QFlda/Interface_On.html Créditos: Onã
  4. 19 points
    Projeto no github Github Wiki Maven Central Releases Há um tempo estive me perguntando o porquê do mmocore, um dos principais componentes dos servidores L2J, não estar sendo evoluído. O máximo de melhoria que vi, pelos diversos projetos que tive acesso ao código, foi o uso de mais de um SelectorThread. Depois de um tempo de pesquisa, procurando por alguma modificação significante no mmocore, cheguei a conclusão que essa falta de melhorias só podia ter 3 explicações: A alteração no mmocore é custosa e devido ao tempo de maturidade seria um grande risco; Utilizar outra abordagem não iria apresentar um melhor desempenho, talvez até piorasse. Então quem tentou, provavelmente desistiu; Quem evoluiu o mmocore simplesmente não quis compartilhar. Na minha percepção era improvável que uma tecnologia com mais de 15 anos, ainda continue sendo a melhor opção para esse cenário. Visto que a biblioteca NIO, atualmente utilizada pelo mmocore, foi lançada com o Java 1.4 e uma atualização dessa mesma biblioteca chamada de NIO2 foi lançada com o Java 7, então há uma chance de melhorar o mmocore utilizando a API introduzida pelo Java 7. Uns dias atrás, fiquei um pouco ocioso e resolvi tirar a prova eu mesmo. Resolvi desenvolver um novo mmocore, tentando manter o máximo possível de compatibilidade com o atual, utilizando sockets assíncronos que em teoria iria melhorar o tempo de resposta cliente - servidor, o que acarretaria na diminuição de lag. Mas nem tudo é perfeito, há um preço a se pagar por essa melhoria: utilização de mais recursos (Memória e CPU). Inicialmente estimei que haveria um aumento de 25 a 40 KB no consumo de memória para cada player logado, o que daria 4 MB a cada 100 player, se você fizer a façanha de colocar 10000 players no servidor, esse número subiria para 400 MB, o que não é lá muita coisa, levando em consideração os recursos disponíveis atualmente. Após o desenvolvimento de uma versão utilizável, fiz alguns testes de carga utilizando o jmeter, que são apresentados nas tabelas abaixo: O teste realizado foi bem simples, projetado apenas para saber o tempo de resposta de cada solução. Para não sofrer interferência por causa da latência de rede foi realizado em uma única máquina, o que não é recomendado por causa do compartilhamento de recursos, principalmente CPU, entre o jmeter e o servidor. Mas acredito que para uma versão inicial já é o bastante. O teste consiste em uma variedade de players (conexões) enviarem um pacote de 8 Kb, que é maior que a maioria dos pacotes utilizados pelo cliente do Lineage 2, e esperar uma resposta de também 8 Kb. Assim foi calculado o tempo de conexão mais o Round Trip do envio de pacotes. Segue uma breve explicação sobre os dados que estão nas tabelas: Players - Quantidade de conexões concorrentes fazendo requisições (enviado pacote) para o servidor. Média - O tempo médio de conexão mais o tempo de envio do pacote mais o tempo de recebimento e leitura (Round Trip Time) em milissegundos. Min - O tempo mínimo de conexão mais o tempo de envio do pacote mais o tempo de recebimento e leitura (Round Trip Time) em milissegundos. Max - O tempo máximo de conexão mais o tempo de envio do pacote mais o tempo de recebimento e leitura (Round Trip Time) em milissegundos. D. Padrão - medida de dispersão em torno da média, no geral quanto menor quer dizer que os tempos estão mais próximos uns dos outros. Throughput - Quantidade de requisições por segundo. Erro - Porcentagem de requisições que retornaram com erro. MMOCore utilizando Selector: _________________________________________________________________ |Players | Média | Min | Max | D. Padrão | Throughput |Erro | |----------------------------------------------------------------| |998 | 60ms | 43ms | 101ms | 8.68 | 487.3/s |0.0 | |1999 | 62ms | 44ms | 115ms | 9.01 | 769.73/s |0.0 | |3993 | 100ms | 42ms | 1261ms | 190.44 | 733.60/s |0.0 | |7988 | 411ms | 43ms | 7285ms | 889.66 | 807.27/s |0.0 | |31976 | 804ms | 6ms | 8792ms | 1628.33 | 769.96/s |11,3%| ͞ ͞ ͞ ͞ ͞ ͞ ͞͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞͞ ͞ ͞ ͞ ͞ ͞ ͞͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞͞ ͞ ͞ ͞ ͞ ͞ ͞͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞͞ ͞ ͞ ͞ ͞ ͞ ͞͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞͞ ͞ ͞ ͞ ͞ ͞ ͞͞ ͞ MMOCore Assíncrono (2.0) _________________________________________________________________ |Players | Média | Min | Max | D. Padrão | Throughput |Erro | |-----------------------------------------------------------------| |1000 |1ms |0ms |45ms |4.94 |539.08 |0.0 | |2000 |1ms |0ms |55ms |4.34 |764.81 |0.0 | |4000 |2ms |0ms |64ms |4.62 |804.50 |0.0 | |8000 |1ms |0ms |152ms |6.13 |1106.19 |0.0 | |32000 |726ms |0ms |45,159s |2060.37 |696.06 |11,7% | ͞ ͞ ͞ ͞ ͞ ͞ ͞͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞͞ ͞ ͞ ͞ ͞ ͞ ͞͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞͞ ͞ ͞ ͞ ͞ ͞ ͞͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞͞ ͞ ͞ ͞ ͞ ͞ ͞͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞͞ ͞ ͞ ͞ ͞ ͞ ͞͞ ͞ ͞ No geral, utilizando sockets assíncronos apresentou um melhor desempenho, como pode ser visto. Os arquivos com o resultado dos testes estão disponíveis no github [ ]'s
  5. 16 points
    Fala, galera, beleza? Seguinte, peguei o Sass do Bootstrap 4.3 e o modifiquei para ficar com visual igual ao cliente do L2 Moderno. O objetivo é deixar os componentes o mais parecido possível com L2, mas sem alterar nada o HTML da utilização original do Bootstrap. Demo: https://l2brasil.bitbucket.io/bootstrap-modern/ Projeto open-source: https://bitbucket.org/l2brasil/bootstrap
  6. 16 points
    Hello everyone L2kt is a project based on 379 aCis currently migrating from Java to Kotlin Project goals Migrate from Java to 100% Kotlin. Refactor a lot of the terrible code in aCis (most of it). Create an advanced plugin based API for people to write their customs in without messing up with the source. Migrate from Ant to Gradle. Dockerise the project. Keep it open source. The main engine itself will never be private. Current stage The project has been migrated to 20% Kotlin. It is already 20 thousand lines less code, just by migrating. There is not major refactoring that has taken place yet. Sources If you can do any of those things then feel free to give me a hand. https://github.com/Elfocrash/L2kt It's licensed under GLP-3.0 mainly because that is the L2j license and I don't have any right to sublicense. The project is fully managed on Discord for now: https://discord.gg/K7kyNpv (To be updated soon)
  7. 14 points
    Boa tarde galera. Estou mexendo com interfaces ja faz um tempo, entao algumas coisas/conhecimento eu ja tenho. Entao estou vindo aqui compartilhar com voces algumas coisas que ja editei e tambem saber se alguem que esteja nessa "vibe" querer editar toda a interface do interlude. Bom vou deixar algumas prints do que ja editei. Store do GMSHOP: Warehouse: Symbol Maker: Grocer Store: Mapa: Inventory: Chat Filter: Macro: Quest: Key Bind: Clan: Options: CharInfo: AutoBuff: Actions: Skills: Trade: Skill Enchant: Hero List: Augment: Créditos Interface: Iordanov (versão 3.9) Janelas: Neophron Edições: Onã Interface usada: http://rgho.st/8pBLYW7PW Qualquer coisa Pm Me!
  8. 13 points
    Fala Galerinha faz um bom tempo que não posto nada talvez seja minha ultima contribuição, quero aproveitar e agradecer ao fórum por tudo que aprendi, e fui um verdadeiro Sangue Suga de conteúdo, e desejo a vocês todos uma boa historia no LineAge, como eu mesmo tive, aprendi muito, fiz muitos amigos, sorri, chorei, fui feliz, me entristeci com itens perdidos no PK de servidores difíceis e caros, mas em fim vamos ao que interessa!! -------------------------------------------------- Não é bem um pre configurado já fiquem avisados Usei o ProjectX do Marcos era para uso próprio mas acabei abandonando antes de estar totalmente terminado. testei tudo e não achei erros críticos esta bem estável não dou suporte ao mesmo. e assim me despeço de todos vocês! Servidor NoCustom Tatoo Soul/Avadon com 15% de de castspeed /ataquespeed não pus a venda. Npc's GK Global GM Shopp Buffer e Buffer Pet Banco Symbol Maker Enchant Skill Npc Argumento Class Master Boss Menager Npc Vip Vendor Npc Aio Vendos NPC Ranking NPC Registr Siege Npc Registre Clan Hall NPC Donator Npc S.A (Criação minha a muito tempo) Drops Etc... Areas Drops Area PvP na ilha Obs: Todos com drops configurados Todas as Areas editadas com drop box Box ativa com 2 click's e pode dropar se não me engano 10 tipos de item dela des de Adena ate argumentos e enchantes Eventos TvT CTF DM Town War Races On War Evento monument statuet Trivia Hitman Siege Reward crayze rate Mod's Sistema que substitui o Welcome (Painel Exclusivo Meu) Offline Clan Full Barakiel Nobless Barakiel Nobless Party .menu Abri as porta de serpuchers Wyvern protection'sEvent Restart System Camera effect on die Skill Seller Npc Augment Item Remove All itens Subclass Show Npc Crest Day To Siege Mana Potion MP Res Alt New Char Buffs New Char Title Color New Char Name Color VIP System AIO System rate SKILLS CHANCES .Malaria,Flu,Cholera,Rheumatism PvPs para Montar uma Lojinha Players Normais Usarem Armas de Heros Mod AIO CLAN SELLER Npc Exclusivo Mod AIO SELLER Npc Mod Fast Augment Npc Mod Siege Register Npc Mod NPC Boss Info Advanced PvP / PK Color System Core Npc Buffer Flag Zone Correção Announce PvP/ Pk Time Load Npc Server Universal Enchants AUTO RESPONDER PM EM OFFLINE MODE AIO EFFECT VIP EFFECT VIP Skill Criado por min Não perder os buffs após o restart Proteções Personal Character Password Protection Enchant Protection [Trade Protect] Party, Combate, na Água, no Barco Bots Prevenções{Ant BOT} Armor Equipment Restriction weapons Equipment Restriction Restrição de Login Usar ou não dragões nas cidades. Anti Phx Warehouse Olympiad Skill Protect Proibir AIO em Olympiadas Restriçao de Aiox fora da Cidade Proibir uso de AIO em Eventos TVT/CTF/DM Fotos https://imgur.com/a/C1bvt O que passar disso considerem como Bônus kkkk Download's System Nova Servidor Site o site n ta pronto eu achei ak mesmo no forum e estava modificando Creditos marcos-sayan Pelo Projeto *-*InSaNo*-* Por Configurar e editar
  9. 12 points
    Finalmente! Como alguns já perceberam estamos testando um sistema novo de selos. Esse é um projeto que nasceu em 2011 mas que só se concretizou agora com os novos recursos que a versão mais atualizada do software do fórum. Adiquirimos uma aplicação componente que permite a premiação automática e manual dos usuários do fórum de acordo com alguns critérios. Então teremos 2 tipos de selos: Troféus - Troféus são automaticamente concedidos com base em critérios definidos pelo administrador no ACP. Medalhas - Medalhas são concedidas manualmente por moderadores, administradores. Ainda estamos em fase de construção e testes, pode ser que seus selos sejam removidos sem aviso prévio durante esse período, mas já podem comemorar: Em breve postaremos a lista completa de todas as medalhas e troféus que são possíveis serem conquistados 🙂
  10. 12 points
    Hey Guys, Bom, estou estudando a revisão da JSunrise disponibilizada aqui no fórum; Decidi criar a BlueHeart porque bem, eu precisava nomear o projeto hahaha. O intuito do tópico é mais para dar informações/trocar informações com vocês, fiquei em dúvida se criava no off-topic ou aqui. Sinto falta de jogar um servidor no tempo livre, comecei a jogar a uns 10 anos atrás, joguei por 8 anos, agora trabalho e estudo então sobra pouco tempo, nas minhas ultimas tentativas de jogar L2, eu entrava em um servidor e ele fechava em menos de 1 semana, então cheguei a conclusão de que só estava perdendo meu tempo. Decidi montar um servidor para os players que se sentem como eu se divertirem, algo bem old school; eu joguei vários PvPs e o BrThunder por 8 anos (ele mudou de nome e de crônica várias vezes) mas manteve a essencia do comércio e da jogabilidade (até nos seus ultimos anos, apesar de que acabou perdendo essa essencia infelizmente). A minha ideia de mexer nessa revisão é montar um 20x o mais próximo de como o BrThunder era, focado no comércio, sem customs, com suporte ativo, etc... Vou postar aqui as correções que já fiz nessa pack da JSunrise para caso alguém tenha interesse em usar ela, já tenha uma noção do que precisa arrumar ou melhorar... L2JBlueHeart 💙 Changes & Fixes & Details XP em Party - No trecho do código onde é calculado o xp em party, antes o xp em party era a quantia definida no Rates.ini dividida pelos membros na pt, então se a pt tivesse 7 membros e o xp em pt fosse 20x(vezes o xp do mob) (enquando o xp normal é 10x), seria 20 / 7 = 2,85x(vezes o xp do mob), e para contornar esse desfalque, se a rate do xp em party fosse aumentada, uma pt de 2 players receberia bem mais e seria injusto, tornando inviável um servidor low/mid rate ser balanceado. Agora o xp em pt é multiplicado pela quantidade de pessoas na PT; exemplo: servidor é 20x normal, 1.1x xp em party (upar em pt irá render 10% a mais de xp, se fosse 1.6, seria 60%, etc...), pois o calculo ficou assim: (xp mob) * (rate xp * rate xp party * quantidade de players na party). Item-mall (Shop Prime) - Ele estava duplicando items: se a pessoa já tivesse 1 item do que seria comprado, aí o sistema agia como o esperado e só adicionava, caso não tivesse nenhum item, os items eram comprados em várias quantidades, exemplo: não tenho enchant armor S e pretendo comprar 10 no shop prime, ele iria me entregar 10 enchant armor S (10) 10 vezes, ficaria com 100 enchants no total. Era uma verificação escrita sem atenção e acabou gerando o "bug". Transformação AIO - Transformação aio criada, 7 dias e 30 dias (fotos). Voice Command EXP (.exp|.expoff|.expon) - O que veio na revisão só funcionava se a configuração do .ccp estivesse ativa, então criei um voice command separado, o .exp funciona como um switch (se estiver on, destiva, se estiver off, ativa). Nevit System - O buff do vitality estava ativando com muita frequencia, agora ele ativa de 20 em 20 leveis (apróximadamente), o que é ótimo para os players novos e não se torna uma bola de neve para os players avançados. Beginner's Pack - Ao criar um personagem, o mesmo recebe um auxilio do sistema, alguns itens: soulshot, spiritshot, cocktail buff, revita pop, armors shadow até a grade A. Infos & Configs Buffs = 20 min RateXp = 20 RateQuestDrop = 3 // Preciso verificar essa rate, pensei em quests básicas como a de monstone mas não chequei as que dão s84 lá de antharas. RateDropItemsById = 57,7.5 // (adena 7.5x) RateCommonHerbs = 0.5 RateHpHerbs = 0.5 RateMpHerbs = 0.5 RateSpecialHerbs = 0.5 RateVitalityHerbs = 0.3 DecreaseSkillOnDelevel = False // Importante para chars de farm, como upar um titan pra 81, add forgotten nele, delevar pra 76 e farmar elemental stone. MaxLvlDiffCanKeepSkillLvl = 9 AltWeightLimit = 6 AutoLearnSkills = True // Focar no que importa: se divertir AutoLearnForgottenScrollSkills = False // Um mundo precisa ter comércio, até o L2 MaxBuffAmount = 24 MaxTriggeredBuffAmount = 12 MaxDanceAmount = 12 DanceCancelBuff = True // Allow players to cancel dances/songs via Alt+click on buff icon AutoLearnDivineInspiration = False // ;) MagicFailures = True // Está bem tranquilo upar de mago ou de fighter... AltSubClassWithoutQuests = False // Hello boss de sub AltTransformationWithoutQuest = False // Hello quest chata de transformação RestoreServitorOnReconnect = True // Restaura os summons ao reconectar RestorePetOnReconnect = True // Restaura os pets ao reconectar EnableVitality = True MaxSubclass = 3 MaxSubclassLevel = 80 EnchantChanceElementStone = 50 EnchantChanceElementCrystal = 30 EnchantChanceElementJewel = 15 EnchantChanceElementEnergy = 10 AugmentationNGSkillChance = 15 AugmentationMidSkillChance = 30 AugmentationHighSkillChance = 45 AugmentationTopSkillChance = 60 AugmentationNGGlowChance = 0 AugmentationMidGlowChance = 40 AugmentationHighGlowChance = 70 AugmentationTopGlowChance = 100 CraftMasterwork = True AltMaxNumOfClansInAlly = 3 AltClanMembersForWar = 15 AltLeavePartyLeader = True // Quando o lider da party sai, o próximo membro de torna o lider ao invés de desfazer a pt UnstuckInterval = 30 AllowDiscardItem = True AutoDestroyDroppedItemAfter = 600 // 10 min AutoDestroyHerbTime = 15 // 15 secs EnableCommunity = False // Por enquanto o community board está desabilitado HellboundWithoutQuest = False // Hello hellbound As fotos do projeto estão em um post do Imgur, eis aqui o link: https://imgur.com/a/jTjinyw Bom, ainda não testei tudo na revisão, até mesmo porque é bastante informação pra checar, mas aos que também estiverem mexendo e tiverem encontrado mais algum lugar que precisa de correção ou mudança, é só postar aqui no tópico, vou tentar manter o tópico atualizado com as informações pra vocês. Sobre as idéias que estou colocando no projeto, por mim tudo bem compartilhar com vocês, afinal, foi aqui que aprendi quase tudo, então estou em casa. Suportes ativos, tudo balanceado (o máximo possível), ter um server pra sempre se divertir com os amigos, etc... Andei pesquisando e testando, consigo por o servidor online no linux entre 80 a 60 reais ou até menos dependendo da estrutura que eu montar (login, game, banco de dados), a forma do servidor se pagar seria com mana potions, enfeites, etc... Nada que atrapalhasse a jogabilidade, são 200 mana potions por 3 reais, cp potion, etc... Para ganhar dinheiro eu trabalho, o servidor seria pra matar a saudade dos velhos tempos (tanto pra mim quanto pros outros jogadores), gostaria de relembrar a infância em um servidor que não reabrisse todo mês... Para a galera que quer contribuir, testar e se divertir, o servidor de testes está online: download system Para os que vão contribuir e testar, podem utilizar esse tópico pra reportar bugs e melhorias. Para os que vão apenas se divertir, pretendo tratar o servidor como um servidor pronto e real (não irei ficar derrubando a máquina toda hora para atualizar), esse é o Alpha Test, então os que jogarem não estarão perdendo tempo pois as participações no Alpha Test e no Beta Test ficarão registradas e receberão alguns brindes no servidor após os períodos de teste. Como não é um servidor real, não possui site, a criação de conta é in game e estou disponibilizando um Account Panel Manager pra vocês se divertirem. Instruções sobre o ACP: ao deslogar, é preciso vir aqui e clicar no link novamente pra dizer ao painel em qual servidor se conectar, caso queiram deixar o link salvo na barra de favoritos, eis aqui o link completo: http://panel.lineage2.store/login/4EA3-AEB2-F32A-F7A123 Se for feita alguma doação para o servidor através do ACP, uma parte será destinada a pagar a manutenção das máquinas em que o servidor de teste está online e outra parte será convertida em doação aqui para a JBr para auxiliar nos custos de manter o fórum. As moedas serão registradas no banco de dados, e poderão ser transferidas para o game além de serem usadas no shop do ACP. Como teremos os registros delas, elas serão reembolsadas (enviadas sem precisar doar novamente) após o período de testes. Os períodos do Teste Beta e do Teste Alpha não estão definidos, podendo durar várias semanas ou meses... O intuito desse projeto não é ganhar dinheiro, mas sim disponibilizar um servidor legal para todos se divertirem, auxiliar na manutenção da JBr como agradecimento pelo conhecimento que adquirimos aqui e trocar informações sobre bug fixes dos que já foram fixados e os que ainda serão; Qualquer dúvida ou feedback é só postar ;D PS: Irei manter os créditos da JSunrise no core do projeto, não da pra ver na foto que coloquei no tópico, mas mantive todos os créditos, somente adicionei os meus já que estou usando a Sunrise como base. O que acham da ideia ? Contem um pouco sobre quando vocês jogavam bastante, assim como eu jogava; Caso o tópico se encaixe em um off-topic, os moderadores podem movê-lo, obrigado; https://www.l2jbrasil.com/index.php?/topic/126414-l2jblueheart-💙/
  11. 11 points
    Iae Galera venho aqui postar provavelmente minha ultima contribuição no fórum bem vamos lá: Meu projeto foi baseado na ultima versão da Frozen 1132 pré configurado e copilado por min, Servidor perfeito para no custom já que corrigir todas as falhas da até para enganar chamar de L2OFF, Passei mais de 2 anos configurando L2JFrozen então já sabia todos os bugs que tinha e como resolver, Se botar max enchante +10 ou +16 garanto que vai ver até classe de summoner matando, Passei trez meses Balanceando Classes e skills e resolvendo bug de armas e armaduras, não foi por que configurei mais servidor está beirando a perfeição nesse sentido eu garanto, estou postando a rev por que não pretendo mais mexer nela nem botar online. Demonstração de uma das arenas Olympiadas: Informações Basicas: Rates: XP: 100x SP: 100x Adena: 200x Drop: 200x Economia do Servidor: Equipamentos "C", "B", "A" comercializado por adena, Equipamentos "S" vendidos em shop por drop medal Free Buffs: NPC Basic Buffer Grátis 5 Horas 32 Slots + 7 Debuff Vip Buffs: Heroic Valor, Rhematism, Cholera, Flu, Malaria, Active: Might, Active: Empower Scrolls Enchant's Chance: Normal: 75%. Blessed: 85% Golden 100% Scroll Enchant's Rates: Safe +5 / Maxcimo Weapon, Armor, Jewellerys +20 Golden Scroll Enchant's: 100% até +20, +21:80%, 22:60%, 23:40%, 24:20%, 25:10%. Break Enchant: Blessed Retorna +5 Golden Retorna +20 Novatos: Inicio top No-Grad com SS e Vip Coin 3 dias Party Farm: Dino Sland: Tyrannosaurus Áreas de Drop Medal: Pagan Temple: "Andreas' Royal Guards" Drop: Imperial Warlod Zombie 5% chance, "Ritual Offering" Drop: Dusk Shield 10% Chance Boss Drop Silver Coin: Ketras Hero Hekaton, Ketras Commander Tayr, Ketras Chief Brakki, Varkas Hero Shadith, Varkas Commander Mos, Varkas Chief Horus, Queen Shyeed, Ember, Uruka. Itens customs: Enfeites, TitaniumArmor, IcarusWeapons, Shirts Tattos, Abyssal Armor e Weapons Oly Período: 30 dias Castle Siege Período: 14 dias Max Sub Classe: 9 Bugs Resolvidos: Bug de adena drop dos mobs que dropava muito pouco S.A das armas corrigidos Skills efeitos, hitdamage e delay corrigidos Classes rebalanceadas e corrigidas Atacar players em giran Efeito SS Java Mods Adicionados: .menu Admin startup super haste Restarte Automático Game Server and Login Server Show tutorial Nobless kill barakiel Clan iten: clan full skill, level 8, 10k reputação Vip Itens: vip newbie 3 days, vip Iten 30 days Vip Rates: XP, SP AIo Iten Adicionar Aio dual e remover dual Bloqueios Aio Fora da city e eventos LSstackable / BOGstackable / ENCHANTEstackable ShowNpcCrest ShortCuts Actions Advanced PvP, PK Color System Disable nobless and clan change title Anti-Bot Chaotic Zone Core Buff + Vip Buff Contador de kill no título TVT Sub Class em todos os NPC's Bloquear Trade Modo de Combate PvP e PK Anuncio no Topo Fixes Correções V2 Anti Duplicate Itens Custom Cancel Seconds 20 segundos Modificações: Adicional CP, HP, MP: Wings of Destiny Circlet Bloqueada nas oly Annouce de outra cor sem o nome do ADM Limite de letras no nick ao criar personagem: permitido uma letra ou numero Olympiadas arenas unerground Coliseum Shield Imperial Walord Zombie é Dusk Shield: Renomeados e modificados Para Grade "S" Todos os itens Armor Weapons e Jewellerys já vem enchantados no safe do servidor Crystal Enchante Modificado para Golden Enchante Removido todos os lixos drop dos mob por exemplo: "Suede" Anuncios TVT e CTF modificados para annoucements comun Modificado Status de joias Boss para skills funcionarem e um pouco de status a mais Drop de Adena 100% de chance de dropar Removido Drop Dos EPIC boss se quiser botar como low rates tem que readicionar Removido drop dos Grand Boss listados e adicionado Silver Coin Custom Comandos: /oly: Para ver pontuação e lutas nas olympiadas /escape: inicia unstuck para a cidade mais procima Demostração NPC's Com Efeitos: Gatekeeper Global: Gm Shop: Core Buff Vip: ScreeShot's: Algumas Cores do Pvp Color: https://imgur.com/NlZGzV0 Mesagens ao Logar no Servidor: https://imgur.com/9ib9Hiu Fotos Infeites Customs: https://imgur.com/NBUgJ7g Observação: não renomear system nem trocar l2.exe pois ela tem uma proteção e pode dar erro, o mais comum e não passar da tela de login. Recomendações: programas para rodar servidor sem erros: Java - JDK - 7 ou 8 Mysql - 5.5.28 Navicat Premium Enterprise v11.2.6 Download Servidor Custom: Recomendado Servidor + Backup: 4shared Zippyshare Full Patch L2Brazil: Mediafire 4shared Fix HTML Auction: Mediafire 4shared Zippyshare Download Servidor NO Custom: Não Recomendado Servidor + Backup: Mediafire 4shared Full Patch L2Brazil: 4shared Zippyshare Modificado servidor recomendando e não recomendado , o custom está mais completo e o patch está sem falhas ! Quando tiver com tempo posto mais pré configurados, Feliz natal e prospero ano novo a todos.
  12. 11 points
    Fala galera, venho aqui compartilhar com vcs meu pre-configurado, que fiz com base na l2jnetwork postada aqui. irei citar somente os mods que eu adicionei. o resto dos mods que nao citei, sao os padrao da l2jnetwork (OBS) Nao balanceei as classes e nao coloquei online. Mods News Source postada porque provavelmente irei da um tempo de mexer com l2! E por motivos financeiros irei ficar sem PC! Link da Source Link do Server Link do Patch Link de algumas imagens
  13. 11 points
    Bom pessoal, encontrei a source da lucera2 decompilada, funcional em outro fórum, no caso o cara que fez isso decompilou ela, e deu uma trabalhada em cima para os arquivos serem "funcionais" (é bom testar antes de planejar algo grande em cima disso já que se trata de uma decompilação.) Tradução do post original: Atenção pessoal, utilizem isso para estudos e testes antes de colocar online, pessoas inexperientes, evitem transformar esse tópico em um tópico de dúvidas. Há bastante tutoriais para ajudar. Donwload Source Mediafire - by Penacho Download Source Mega - by Vampir Download Geodata Agradecimentos ao Vampir por ter postado o trabalho dele.
  14. 11 points
    Tópico Refeito e Repostado. • Todos os acessórios estão dando (+100 P.Def and +100 M.Def) • Refined Wizard Hat • Refined Jester Hat • Refined Romantic Chapeau • Refined Dapper Cap • Assassin's Bamboo Hat • Laborer Hat • Noblesse Oblige • Goddess Hair Style 1 • Goddess Hair Style 2 MadebySmallz2013 Tamanho: 1,6 MB Créditos: Systextures e Animations: Criação do Pack, SQL, Stats, Armorgrp, Itemname_e: • Smallz'
  15. 11 points
    Hello! I decided to share with you the decompiled effects from all the chronicles. Lineage C4 LineageEffect_C4 Lineage C5 LineageEffect_C5 Lineage Interlude LineageEffect_Interlude Lineage Kamael LineageEffect_Kamael LineageSkillEffect_Kamael Lineage Hellbound LineageEffect_Hellbound LineageSkillEffect_Hellbound Lineage Gracia LineageEffect_Gracia LineageSkillEffect_Gracia Lineage Final LineageEffect_Final LineageSkillEffect_Final Lineage Epilogue LineageEffect_Epilogue LineageSkillEffect_Epilogue Lineage Freya LineageEffect_Freya LineageSkillEffect_Freya Lineage HighFive LineageEffect_HighFive LineageSkillEffect_HighFive In the future, I will continue, and publish all the chronicles.
  16. 10 points
    Algumas Info: Siege Semanal Olly semanal Tatto Custom Weapons Lindvior Custom Armor Transcedent Custom Donate Shop VIP - Hero - Class, Name e Sex Change 99 Acessórios 2018 Blessed Scroll: 90% +18 - Crystal Scroll 100% até +22 - Golden Scroll 100% até +25 Buff Clan Manager Raid Info Augment NPC Skills Enchant NPC Tournament Event - TvT - Party farm events Chaotic Zone Aiox System Vip System Mod Phantom - Fake Player System Anti-bot com Captcha Alguns Comandos: .menu .info .donate .status .skills .inventory .ranking Algumas Imagens: Vídeo : Downloads Source PROGRAMAS Necessários: Java: 8 JDK : https://www.oracle.com/technetwork/pt/java/javase/downloads/jdk8-downloads-2133151.html MySQL: 5.5 : https://mega.nz/#!0Y0XhI7Z!N512DQLzY7EWORx7kaYcXXgW4xnDHjaxf2j-NOrKAsw Navicat: 10 : https://mega.nz/#!4Vt3BIwC!B_t2Is_lSDqj3iE8TL1dBUAJUljO9QXlFrgj6eeS7hA - Utilitário: L2FileEdit : https://mega.nz/#!ZNhDWaqQ!oTkScr_pR_lJBWrjgga6HJ7BYPLrKUfAFIvcjrS6TyY Créditos da Rev base : @MeGaPacKl Créditos customização : @Kallisto Baixou e curtiu? da o teu gostei na publicação mulek!
  17. 10 points
    Há um tempo venho utilizando uma source antiga L2-Script (26360) para estudo, com o objetivo de utilizar o mmocore assíncrono. Como não vejo projetos Classic open source por aí, resolvi compartilhar. GITHUB Requisitos Java 11 Mysql 8 Atualmente estou em um estágio de melhoria geral do código, otimizações de recursos e atualização de tecnologia. Basicamente o que está sendo feito: Atualização para Java 11 (Será atualizado assim que novas releases forem saindo); Atualização do mmocore; Utilização de sistema de módulos (JPMS - Disponível a partir do Java 9); Atualização de dependências; Melhoria na camada de acesso a Dados (Tanto no Database como nos arquivos) Um exemplo de melhoria na camada de acesso a dados: Antes private void globalRemoveItems(){ int itemToDeleteCount = 0; StringBuilder itemsToDelete = new StringBuilder(); Connection con = null; PreparedStatement statement = null; ResultSet rset = null; try { con = DatabaseFactory.getInstance().getConnection(); statement = con.prepareStatement("SELECT item_id FROM items_to_delete"); rset = statement.executeQuery(); while(rset.next()) { if(itemsToDelete.length() > 0) itemsToDelete.append(","); itemsToDelete.append(rset.getInt("item_id")); itemToDeleteCount++; } DbUtils.closeQuietly(statement, rset); statement = con.prepareStatement("DELETE FROM items_to_delete"); statement.execute(); } catch(SQLException e) { _log.error("Error while select items for global remove:", e); } finally { DbUtils.closeQuietly(con, statement); } if(itemsToDelete.length() > 0) { try { con = DatabaseFactory.getInstance().getConnection(); statement = con.prepareStatement("DELETE FROM items WHERE item_id IN (?)"); statement.setString(1, itemsToDelete.toString()); statement.execute(); DbUtils.closeQuietly(statement); statement = con.prepareStatement("DELETE FROM items_delayed WHERE item_id IN (?)"); statement.setString(1, itemsToDelete.toString()); statement.execute(); } catch(SQLException e) { _log.error("Error while global remove items:", e); } finally { DbUtils.closeQuietly(con, statement); } } } Depois public interface IItemsDAO extends DAO { @Query("WITH ids AS (SELECT item_id FROM items_to_delete) DELETE i, id, ide FROM items i JOIN items_delayed id ON i.item_id = id.item_id JOIN items_to_delete ide ON i.item_id = ide.item_id WHERE i.item_id IN (SELECT item_id FROM ids)") int deleteGlobalItemsToRemove(); } Quanto as correções de bugs, poucos bugs foram corrigidos, apenas os que encontrei enquanto implementava alguns dos pontos citados, pois não tenho tanto tempo disponível para testar e corrigir. Então no primeiro momento estou apenas focando nos pontos citados. Ficou interessado e quer ajudar ? Fiquei Entra em contato comigo pra gente conversar, ou pode fazer um fork do projeto e fazer pull request Fiquei, mas não tenho conhecimento em Java Toda a ajuda é bem vinda, tem muita coisa pra ser testada/corrigida Existem muitos status de items, skills, htmls, xmls para serem corrigidos É tentando que se aprende 🙂 []'s
  18. 10 points
    V Interface Full Functions Cracked Features: Auto Augment Auto Enchant Auto Skill Enchant Auto Macros Usage Fast Items Deletion trought Inventory Auto Farm = Bot Debuffs & Timer Olympiad Damage Calculator e muito mais. Download: MEGA Download V2: MEGA Craqueado por: Iordanov | Nao dou Suporte pro mesmo, então use por conta e risco e boa sorte!
  19. 10 points
    GroundSpeed=120.00 DrawScale=0.38 CollisionRadius=10.00 CollisionHeight=23.00 https://www.mediafire.com/file/fsnm6pfg7r26jz4/L2NPCs_Hera.rar
  20. 10 points
    Tava sem o que fazer fiz esse Shield ai pra vocês Efeito no Crystal do centro dele de Cósmico fico legal. Por estar sem programa pra gravar Hoje venho só com as fotos Se gostou deixa o Like que Posto mais.. copyright V A N P E R & NCsoft
  21. 10 points
    Olá Papangos e Papangas desse meu Brasil baronil! Vos trago não um servidor de L2 baseado em PHP, não um site completo cheio de fruru, mas uma biblioteca que vai revolucionar o desenvolvimento web para L2J. Introdução Muitos projetos paralelos foram desenvolvidos no decorrer dos anos, e o L2J hoje está ramificado em diversas distribuições, cada uma delas com banco de dados diferentes, seja por nome de tabela, campos, etc. Nunca se foi estabelecido um padrão para que todos os bancos respeitassem uma nomeclatura específica, por vezes foram desenvolvidos por desenvolvedores amadores, que apesar de habilitosos , nunca estudaram e não conhecem boas práticas ou seguem algum tipo de padrão. Isso dificulta o desenvolvimento de aplicações comatíveis com tantas revisões(L2jserver, l2jbrasil, dream, sunrise, frozen, etc) e versões do jogo diferentes(Interlude, Gracia, Classic, etc). O Grande desafio disso tudo é, Como criar aplicações web, em php, que sejam compatíveis com o maior número de revisões possível? A resposta para isso é a Harmonização de Dados. E a melhor forma de fazer isso é trabalhar na camada de Model, que passa para os controlers um único formato conhecido de dados. Parece complexo, mas não é tanto assim 🙂 Como funciona? Primeiro temos que definir um conjunto de constantes: <?php //PROJECT DEFAULTS define('L2JBR_DIST', "L2JSERVER"); //Qual a distribuição? define('L2JBR_L2VERSION', "Interlude"); //Qual a versão do jogo? define('L2JBR_SALT', 'change_it_for_something_else'); //Será usado para métodos de segurança no futuro. //DATABASE define('L2JBR_DB_DRIVER', "mysql"); define('L2JBR_DB_HOST', "localhost"); define('L2JBR_DB_PORT', 3306); define('L2JBR_DB_NAME', "l2jdb"); define('L2JBR_DB_USER', "root"); define('L2JBR_DB_PWD', ""); Ao configurar a aplicação será necessário dizer para qual versão os Models derão utilizados. O modelo padrão é o L2JSERVER, por ser o projeto base para 99% dos outros projetos, e Interlude que é a versão mais difundida o que já aumenta a compatibilidade inicial da biblioteca. Mas ai tá, vc deve estar se perguntando "tá, mas como tudo acontece?", veja o exemplo à seguir com o Model "Characters" responsável pela manipulação dos dados de um personagem: <?php $CharactersModel = \L2jBrasil\L2JPHP\ModelFactory::build('Players/Characters'); $CharactersModel->get('ID'); //Retorna o usuário pelo ID $CharactersModel->update('ID', ["name"=> "Grundor"]); //Atualiza o Nome do personagem $CharactersModel->ban('ID'); //Bane o personagem pelo ID $CharactersModel->all(['name','level'],false,10,'level'); //Retorna os 10 personagens com maior level. //Exemplo Avançado: $CharactersModel->select(['character.id','account.name']) ->join(\L2jBrasil\L2JPHP\ModelFactory::build('Players/Account')) ->orderby('level') ->limit(100) ->query() ->FetchAll(); O segredo está nessa classe "ModelFactory". O método build retorna a instância do model requisitado, nesse caso, no namespace Player/Character. Mas como ele faz isso? Ele monta dinâmicamente a instância da classe com base na configuração da DIST e da L2JBR_L2VERSION e irá lançar uma exceção caso não exista, Então no exemplo acima a chamada do "Build" faria o mesmo que: <?php $CharactersModel = \L2jBrasil\L2JPHP\Models\Dist\Interlude\L2JSERVER\Players\Characters(); //... Que pode ser usado diretamente também, sem problemas, já que são todas classes idependentes e instanciáveis. Todo model terá as operações de CRUD(Create, Read, Update e Delete na língua Inglesa) e "listagem(all)". Além disso, os models implementam interfaces, essas interfaces vão garantir que todo model , por exemplo "Characters", de todas as versões, possuam os mesmos métodos mais padrões (ban, move, changeProfession, changeLevel, cleanPK, etc), além disso será permitido de forma dinâmica. Para que seja possível manter a compatibilidade, está sendo desenvolvido uma classe que irá montar as condições "where" (segundo parâmetro do método all (listagem) ) para que a conversão dos nomes das colunas também seja aplicado dinâmicamente. Como posso ajudar? Há diversas revisões, todas elas precisarão e poderão ser implementadas, você poderá escrever models compatíveis com as revisões para que seja utilizado expandindo a compatibilidade das aplicações desenvolvidas utilizando esse framework. Detalhes para contribuição serão atualizados no futuro próximo. Informações técnicas Versão PHP suportada: 5.6+ Método de instalação: composer Padrão do Namespace: "Autoloading Standard" (PSR-0) Status: Work in Progress Repositório e Versionamento: GIT Link do repositório: https://github.com/L2jBrasil/L2JPHP
  22. 10 points
    Olá pessoal estou aqui compartilhando uma nova interface para interlude, vou deixar abaixo o que o membro lordanov comunicou no outro fórum traduzido para PT-BR Olá, pessoal, hoje eu vou compartilhar minha interface que foi roubada de alguns caras brasileiros. A razão pela qual eu compartilho é que eles estão tentando vender para outras pessoas e eles falam demais para pessoas que não têm idéia de que essa interface e recursos são feitos por eles. como todos nós conhecemos as pessoas por dinheiro, então eu gostaria de compartilhar a versão atual com os membros da comunidade. Todos os recursos serão listados abaixo. Espero que você goste. Características: Mini-mapa personalizado do maior criador de crônicas neophron Barras de habilidade iluminadas até 5 Auto Skills Spam Buffs Automáticos Uso Automático de Poções Elixir / CP / MP Uso Automático de Poções Pote Mágico / Pote Haste / Pote de Ataque Barra de habilidade de fundição Dano Crítico / Ressistido na Tela Segure o alvo / ignore a agressão Buff tamanhos x24 para x16 Debuff + time Barra de status HP / CP / MP personalizada copiada do autor Savo Macros do sistema de macro personalizado com spam, com o botão direito do mouse, se você pressioná-lo Barra personalizada Darkdelux HP / CP / MP Auto Augment Auto Encantar Encantamento Automático e muito mais esta é a versão mais antiga da interface DICA: não seja enganado por essas duas pessoas T3ddy / DM Moshpit, essas pessoas brasileiras estavam tentando vender a interface por uma quantia enorme de dinheiro, mas a maioria das pessoas já foi informada Créditos: Neophron Elfen Darkdelux Savo Link para download: http://rgho.st/8pBLYW7PW Façam bom uso :P
  23. 9 points
    Olá, Pessoal da L2jBrasil!!! Quero apresentar a todos vocês o nosso projeto que está em desenvolvimento. A alguns anos tenho notado a ausência de um bom projeto de lineage 2 e visto que os que estão em desenvolvimento a maioria dos desenvolvedores tem vendido seus pacotes por preços exorbitantes e sem suporte digno fazendo assim com que lineage 2 cada vez ficasse mais esquecido pelos players. Desenvolvemos o projeto com compromissos e soluções semanais. Nosso objetivo é fazer o melhor emulador H5 da internet. Não basta aceitar a nossa palavra, você pode testar tudo e descobrir o verdadeiro potencial que está por trás do nosso projeto. Nós fornecemos acesso aos arquivos de origem que permitem aos nossos usuários implementar seus próprios mecanismos e modificar o emulador sem restrições. Quero convocar a todos os fãs de lineage 2 HighFive a participarem desse desafio, e se juntarem a nossa equipe de desenvolvimento reportando os erros e bugs assim teremos um emulador de alto nível sem ter que pagar uma fortuna e mostrar que podemos ter um emulador de muita qualidade sem ter que pagar um alto preço por um emulador cheio de erros. Estamos muito confiantes e contamos com sua ajuda assim poderemos mostrar o nosso potencial como brasileiros e fãs de lineage 2. Fórum : Link para o Fórum: Changelog : Time Line: Link para Clone : Git Clone: Revision Compilada 34 : Download: (Informações) 1. Todas as quests e instâncias funcionando 2. Todo código é feito em java, nada de python 3. Habilidades usando fórmulas oficiais 4. Estamos usando uma fonte que segue todos os métodos oficiais. 5. Simulação do conteúdo oficial 6. Mecanismo de Geodata Melhorado 8. Todos os dados foram optimizados para uma melhor performance do servidor. (Implementações) Serviços personalizados - todos os serviços são configuráveis: 1. Mudança de nick name para pet / char 2. Troca de animais de estimação 3. Mudança de sex 4. Alterar a classe base 5. Separe a subclasse (crie um novo char da sua subclasse) 6. Cor do título 7. Nobless Sell 8. Clean PK's 9. Expandir Inventário 10. Expandir Warehouse 11. Expandir Clan Warehouse 12. Mude o Nome do Clã 13. Level up 14. Delevel Parte de configurações personalizadas: * Observe que todas essas configurações podem ser ativadas e desativadas em suas proprias configurações do servidor. 1. Auto Loot Configurável para Raid, Adena, PK, contas Premium e Normal 2. Mostra mensagem de tempo de reutilização de habilidades 3. Aprendizagem automática de habilidades 4. Título de personagem personalizado 5. Você pode desativar o consumo de Spiritshot e Soulshot 6. Permite curar mais se o jogador estiver usando o Spirit 7. Possibilidade de obter itens do Masterwork é configurável 8. Buff Limits são configuráveis por: Buffs, Song / Dance, Triggers e Debuffs. 9. Tempo de Duração da Habilidade 10. Tempo de configuração Dance / Song 11. Permitir a habilidade de transformação de aprendizado sem quests 12. Você pode reutilizar ações sociais 13. Modificador do tempo do buff ClanHall 14. Kamaloka nightmare apenas para premium 15. Sell tickets para reentrada em instâncias 16. Configurações de subclasse 17. As restrições de entrada de instância são configuráveis 18. Schemebuffer configurável a partir do jogo, você pode desabilitar / habilitar buffs 19. Olimpíada configurável por período, nível de encantamento e outras coisas mais 20. Configurável a quantidade de FAMA de castelo / fortaleza 21. Reinício do servidor automático configurável por hora diária minuto dia do mês etc. 22. Custom Community Board: Scheme Buffer, Full GM Shop, Teleporter, Class Changer, Enchant System. 23. Servidor tem todos os eventos de varejo + Bounty Hunter, item Global Custom Drop, Random boss event 24. Comandos personalizados: .control - abrir o menu do jogador, .away/ .back - modo ausente (AFK) .getreward - use-o a cada 12 horas para reivindicar a recompensa da votação .repair - Reparação de personagem localizado na mesma conta .buffstore - Configurar loja de buffer off-line .buffshield - Protege você de buffs indesejados .siege - Informações completas da siege .combine - Combina todos os talismãs do mesmo tipo, em 1 com duração Maior! .dressme - Mude sua aparência de textura visual de Armor/Weapon/Cloak! .npcspawn - Spawn npcs em ClanHalls! .party (Message) - Sistema find party .report - Encontre um jogador que você acha que está trapaciando e puni-lo! .online - mostra jogadores online .offline - mostra loja privada off-line .password - change password .whereis - Defina o radar para a sua party ou membro do clã (comando.whereis + Nome) .engage - Proposta de casamento .divorce - Romper o relacionamento e tornar-se livre .gotolove - Teleporte para sua esposa ou marido 25. Unstuck Skill 26. Anuncie Raid Boss Spawn - não épico 27. Custom Spawn para jogadores iniciais 28. Sistema Premium Dê aleatória aos jogadores na criação da conta (configurável) Classificar itens de bônus Avaliar preços de bônus Rate bônus Aumentar exp adena sp ... taxas para usuários premium AutoLoot para usuários Premium Taxas de enchant diferentes para usuários premium 29. Sistema de Votação: Global, Individual 30. Sistema de casamento 31. Offline Shop configurável 32. Permitir que o jogador faça compras apenas se pagar uma taxa 33. zonas de selfbuffs configuráveis Nova Community Board: 34.Donations CB 35.Auction CB 36.Clan CB 37. EVENTOS AUTOMÁTICOS 38.NPC Spawn para líderes de clãs 39.Recompensa diária com comando 40.Sistema FindParty 41.Moeda personalizada para leilão CB e loja privada 42.Buffer CB 43.Eventos automáticos 44.Recursos CB Nosso projeto utiliza JAVA 8 portanto baixe e instale o JRE 8 antes de começar O pacote não é limitado Para contribuir, teste e reporte bugs/problemas no nosso FÓRUM. Premium + OpenSource
  24. 9 points
    Venho compartilhar com vocês um projeto inicial que venho trabalhando nele há algum tempo. Base: aCis. Projeto: L2Waves ( l2jdev Nome usado internamente por min ) Nada na base foi alterado em relação a quest, classes, skills e grand boss. Security: Proteções padrões aCis + Over Enchant: Proteção de max enchant, punição configurável. + Bots Prevention: Proteção contra bots, sistema tipo captcha, punição configurável. + Safe Admin: Proteção contra admins indesejados, se true é necessário registrar seu personagem na pasta de configuração, caso contrario será punido conforme configurado. Security.properties Enchanting: Todo sistema enchant foi modificado e com maior precisão de configuração. Ex: 3-0.66,4-0.55 +3 = 66% +4 = 55% Enchanting.properties Characters AIO: Privilégios: Transforme seu personagem em um suporte buffer, itens e skills configurável, title personalizado configurável. Restrição: Skills restritas fora de uma cidade, olympiad, subclasse e change class. Time: Sistema em task funciona como um cronômetro, privilégios são removidos em tempo real após término sem a necessidade de restart do personagem ou do servidor. Use: Ação pode ser transmitida através de 3 caminhos: NPC, item, admin comando, também é possível configurar o período de tempo. Update: Via NPC, admin comando ou se o item for usado mais de uma vez, sera somado seu tempo restante + novo período. SQL: character_aio Characters Premium: Privilégios: Bônus rates diferenciado, itens e skills configurável, name/title color configurável. Time: Sistema em task funciona como um cronômetro, privilégios são removidos em tempo real após término sem a necessidade de restart do personagem ou do servidor. Use: Ação é transmitida através de um determinado item escolhido, também é possível configurar o período de tempo. Update: Se o item for usado mais de uma vez, sera somado seu tempo restante + novo período. SQL: character_premium Characters CHero: Privilégios: Torna-se um herói por um período de 30 dias. Restrição: Restrito para heróis olímpicos. Time: Sistema em task funciona como um cronômetro, privilégios são removidos em tempo real após término sem a necessidade de restart do personagem ou do servidor. Use: Ação é transmitida através de um determinado item escolhido, período de tempo fixo. Update: Se o item for usado mais de uma vez, sera somado seu tempo restante + 30 dias. SQL: character_chero Mods: Team VS Team Event ( TvT) PvP color system + skills reward PvP Reward system PvP /PK announce kills Armor e Weapon protection except cupid bow Comandos: .menu / Banking Skills duration list NPC Attackable except training dummy Offline trade/craft Custom start: spawn, level, itens OUTROS [ gameserver\config\l2jdev ] New admin comando: Donate: //senddonate - //givedonate AIO: //add_aio - //update_aio - //remove_aio TvT: //tvt_add - //tvt_remove Olympiada: //addolypoints - //removeolypoints - //setolypoints - //getolypoints Itens services: INFO: [ gameserver/config/l2jdev/item.txt ] WipePk CleanKarma FullRec ChangeSex Premium AIO Noble ClanFull CHero NPCs: ID 60010 - Magic Support [ gameserver\data\html\l2jdev\magicsupport ] ID 60011 - TvT Event [ gameserver\data\html\l2jdev\tvtevent ] ID 60012 - AIO Manager [ gameserver\data\html\l2jdev\aio ] ID 60013 - Merchant [ gameserver\data\html\merchant ] ID 60014 - Statistics [ gameserver\data\html\l2jdev\statistics ] ID 60015 - Gatekeeper [ gameserver\data\html\teleporter ] ID 60016 - Protector [ gameserver\data\html\l2jdev\protector ] ID 60017 - Bug Report [ gameserver\data\html\l2jdev\bugreports ] ID 60017 - Raid Boss Info [ gameserver\data\html\l2jdev\raidbossinfo ] ID 60019 - Vote Reward [ gameserver\data\html\l2jdev\votemanager ] NPC Imagens: Wondrous Cubic: Funciona como um item Smarth, muito visto em CB, com um duplo click em um determinado item selecionado, você terá as opções abaixo de serviços: Features: Onde poderá adicionar todas informações do servidor. General: Com opções de Refusal Messages e Trades. Item Store: Venda de weapons, armors, jewels, miscellaneous, Apply SA e SELL. Magical Support: myself e mypet, podendo se buffar manualmente ou automaticamente. Symbol Maker: Adicionar e remover. Teleporter: Newbie zones, Kingdoms, Arenas, Hunting Grounds. Trainer: Make augment, cancel augment, enchant skills. ITEM: [ <set name="handler" val="Cubic" /> ] Wondrous Imagem: Custom:
  25. 9 points
    Alexandre, se a gente "só dizer não", vão dizer que somos intolerantes, blablabla, mimimi. Se a gente tenta explicar, temos argumentos "sei lá". Cara, é complicado, viu?!! Vocês não tem noção da gravidade disso e parece que não conhecem o país no qual vivem. Vamos aos fatos, mais uma vez... https://projudi.tjgo.jus.br/BuscaProcessoPublica Número do processo: 5229297.46 Réu: BOM NEGÓCIO ATIVIDADES DE INTERNET LTDA (OLX) Prejuízo: R$ 83.000,00 FATO: A OLX, mesmo com uma carambaiada de documentos e termos onde declaram que NÃO SÃO RESPONSÁVEIS PELOS ANÚNCIOS NO SITE, foi condenada a pagar 83 mil simplesmente por que veiculou um anúncio de um meliante que caloteou um usuário. PREVISÃO: A L2JBRASIL, mesmo com uma carambaiada de documentos e termos onde declaram que NÃO SÃO RESPONSÁVEIS PELOS ANÚNCIOS NO SITE, foi condenada a pagar 5 mil ali, 10 ali, 20 ali, simplesmente por que permitiu usuários usarem seu site para vender de pack l2j bugada para servidor que mal durou 1 semana e depois o admin "honesto" quis reaver seu dinheiro, já que teve preju. Aí o cara pede 10 mil de danos morais + a micharia que pagou e um excelentíssimo juiz dá causa ganha! Brasil sil sil... Vocês tem dinheiro pra arcar com isso? Eu não tenho. Se tiver, senta aqui, vamos conversar. Obrigado galera! Tópico fechado.
  26. 9 points
    Corrigido, prontinho pra usar, sql configurada para jfrozen. incluso XML.
  27. 9 points
    https://www.mediafire.com/file/duv1zz5japdvev1/SAINTSEIYA.rar/file credit model and textures: l2sacrifice.fr adapt for me to IL REPORT POSSIBLE BUGS
  28. 9 points
    Galera da L2JBRasil vocês sempre esperaram por esse momento, o Projeto L2JBRasil está de volta ! O que pretendemos : Fazer uma revisão leve e estável, pretendemos mudar totalmente a visão de L2J. Pretendemos mudar o banco de dados e toda a estrutura de dados para melhor performance, quem ficará encarregado disso é o @Grundor O foco principal é deixar tudo que é original do jogo já funcionando, será mexido muito pouco inicialmente em customizações. Código será refatorado para melhor desempenho. Mudanças de Tabelas de informações para XML. Base : Estamos dando continuidade no projeto que a gente já tem a anos, que é base L2JServer. O que já foi feito : Versão 3.0.0 : Já foi feito nessa primeira release uma grande modificação que é a remoção da Biblioteca Javolution. Projeto atualizado para Java 1.8 Versão 3.0.1 : Correção no L2World, Removido configuração duplicada e código duplicado. #1 #2 #4 #5 Versão 3.0.2 : Banco modificado para MySql 5.7 (Necessário atualização de todo o banco, reinstale o banco por completo)Connector MySql atualizadoBug Fake Death corrigidoBug em Mirage corrigidoCódigo refatorado em vários pontos. Versão 3.0.3-rc : Admin Commands Reworked, now all commands have separate configs. 698983dSome quests Fixed d7f630e c87e846 b7c4d37Some HTML Fixed 544f631 8b9c84d be9ef0b 4f63501Some Skills Fixed #35 4a0358e ff11619SkillSpellBooks Fixed a556c18All Database connections in L2PcInstance to PlayerDao 56ec6af Developers : @Grundor Banco de Dados @Tayran.JavaDev Core e Datapack @Nattan Felipe Datapack Testers : @Nattan Felipe Estamos precisando de membros para ajudar a testar as funcionalidades da revisão. Contribuidores: https://github.com/L2jBrasil/L2jBrasil/graphs/contributors Report Bugs : Report Área - Issue A área acima é para report de bugs, se tiver algum bug confirmado reporta nesse local, farei um tutorial de como é feito o report por esse local. Releases Downloads : Releases Área Área onde se encontra os downloads das revisões estáveis para teste. Changelog : Time Line Link para Clone : Git Clone Tutoriais e Guias : Compilando L2JBRasil 3.0 com Intellij IDEA Guia para reportar Bugs de forma correta Test Server IP : 149.56.180.90 (Deploy da versão 3.0.2-rc) Estarei fazendo vários tutoriais de como usar o nosso projeto e tudo relacionado a Git no qual alguns não estão habituados. No mais o que peço é colaboração de todos vocês para nos ajudar reportando bugs e fazendo os testes necessários, sabem da nossa competência e o projeto que já fizemos uma vez, estamos dando continuidade nele faremos que seja a melhor revisão Interlude Open Source.
  29. 8 points
    A pedido do membro @Kallisto por uma Source L2jFrozen com alguns Mods da preferencia dele iniciarei aqui um desenvolvimento. Peguei a Source limpa da jFrozen deste link: SVN PROGRAMAS USADOS: Java: JDK 7 Update 2 MySQL: 5.7 Navicat: 8.0 Eclipse: SDK 3.7.1 Slik Subversion: 1.7.2 Winrar O QUE JÁ FOI FEITO: Proteções: No Trade in Combate Aio no use gatekeeper Aio no use class master Aio no participe events aio no use vip status item vip no use aio status item Modificações: Days to Siege Config Server Credits Config replaces for welcome.htm Banking System full edit config Enchant System full edit config New Propertie Status system New Propertie Items handler New Propertie Npcs core Announce Obtained Status: Noble, Aio, Vip, Hero Announce Login Status: Staff, Noble, Aio, Vip, Hero, Lord Last Login in welcome.htm Skills for Aio & Vip Effects for Aio & Vip Name / Title Color for Aio & Vip Items Reward for Aio & Vip Firework effect + ExScreenMsg use items handler Zonas: Newbie Zone Hero Zone Donator Zone Multifuncional Zone PvP Flag Zone Clan War Zone Npcs: NPC Smart Shop NPC Skill Seller NPC Bug Report NPC Item Marketer NPC Fast Augment NPC Macro Buffer Items: Universal Enchant Golden Enchant Clan Full Item Clan Skill Item Clan Level Item Clan Reputation Item Change Sex Item Change Name Item Change Base Class Item Aio Status Item Vip Status Item Noble Status Item Hero Status Item PvP Reward Item Pk Reward Item Comandos: .menu .info .ctfjoin, leave, info .tvtjoin, leave, info .dmjoin, leave, info .deposit .withdraw .aioinfo .vipinfo //mashero //masrecal //send donate //setvip char days //setaio char days Sistemas: Aio System Vip System Hero System Noble System Donator System Auto Restart System Bot Protection System PvP / Pk Color System Eventos: Achievements Trivia Hitman Arena 2x2 CTF TVT DM TW Pc Bang Points Wedding Champion Mobs DOWNLOADS: Patch: ==================================================== itemname-e.dat ==================================================== 10000 Donator Scroll: Enchant Weapon A scroll of enchantment that empowers a weapon. -1 0 0 0 10001 Donator Scroll: Enchant Armor A scroll of enchantment that empowers a armor -1 0 0 0 10002 Donator Coin Currency used to purchase valuable items. -1 0 0 0 10003 Gold Coin Currency used to purchase valuable items. -1 0 0 0 10004 Gold Bar Currency used to purchase valuable items. -1 0 0 0 10005 Noble Status Item -1 0 0 0 10006 Aio Status Item -1 0 0 0 10007 Vip Status Item -1 0 0 0 10008 Hero Status Item -1 0 0 0 10009 PvP Point -1 0 0 0 10010 Pk Point -1 0 0 0 10011 Clan Full -1 0 0 0 10012 Clan Skill -1 0 0 0 10013 Clan Level -1 0 0 0 10014 Clan Reputation -1 0 0 0 ==================================================== etcitemgrp.dat ==================================================== 2 10000 0 3 6 3 0 dropitems.drop_scroll_m00 dropitemstex.drop_scroll_t00 icon.Item_CanUse31 0 120 18 0 0 1 1 ItemSound.itemdrop_scroll 0 0 0 2 10001 0 3 6 3 0 dropitems.drop_scroll_m00 dropitemstex.drop_scroll_t00 icon.Item_CanUse30 0 120 18 0 0 1 1 ItemSound.itemdrop_scroll 0 0 0 2 10002 0 3 2 5 0 dropitems.drop_sack_m00 dropitemstex.drop_sack_t00 icon.etc_coin_of_fair_i00 0 0 18 0 0 1 1 ItemSound.itemdrop_sack 2 0 0 2 10003 0 3 2 5 0 dropitems.drop_sack_m00 dropitemstex.drop_sack_t00 icon.etc_coins_gold_i00 0 0 18 0 0 1 1 ItemSound.itemdrop_sack 2 0 0 2 10004 0 3 2 5 0 dropitems.drop_sack_m00 dropitemstex.drop_sack_t00 icon.etc_lump_yellow_i00 0 0 18 0 0 1 1 ItemSound.itemdrop_sack 2 0 0 2 10005 0 3 2 5 0 dropitems.drop_sack_m00 dropitemstex.drop_sack_t00 icon.etc_l2_i00 0 0 18 0 0 1 1 ItemSound.itemdrop_sack 2 0 0 2 10006 0 3 2 5 0 dropitems.drop_sack_m00 dropitemstex.drop_sack_t00 icon.etc_l2_i00 0 0 18 0 0 1 1 ItemSound.itemdrop_sack 2 0 0 2 10007 0 3 2 5 0 dropitems.drop_sack_m00 dropitemstex.drop_sack_t00 icon.etc_l2_i00 0 0 18 0 0 1 1 ItemSound.itemdrop_sack 2 0 0 2 10008 0 3 2 5 0 dropitems.drop_sack_m00 dropitemstex.drop_sack_t00 icon.etc_l2_i00 0 0 18 0 0 1 1 ItemSound.itemdrop_sack 2 0 0 2 10009 0 3 2 5 0 dropitems.drop_sack_m00 dropitemstex.drop_sack_t00 icon.skill1502 0 0 18 0 0 1 1 ItemSound.itemdrop_sack 2 0 0 2 10010 0 3 2 5 0 dropitems.drop_sack_m00 dropitemstex.drop_sack_t00 icon.skill1501 0 0 18 0 0 1 1 ItemSound.itemdrop_sack 2 0 0 2 10011 0 3 2 5 0 dropitems.drop_sack_m00 dropitemstex.drop_sack_t00 icon.etc_l2_i00 0 0 18 0 0 1 1 ItemSound.itemdrop_sack 2 0 0 2 10012 0 3 2 5 0 dropitems.drop_sack_m00 dropitemstex.drop_sack_t00 icon.etc_l2_i00 0 0 18 0 0 1 1 ItemSound.itemdrop_sack 2 0 0 2 10013 0 3 2 5 0 dropitems.drop_sack_m00 dropitemstex.drop_sack_t00 icon.etc_l2_i00 0 0 18 0 0 1 1 ItemSound.itemdrop_sack 2 0 0 2 10014 0 3 2 5 0 dropitems.drop_sack_m00 dropitemstex.drop_sack_t00 icon.etc_l2_i00 0 0 18 0 0 1 1 ItemSound.itemdrop_sack 2 0 0 ==================================================== PRINTS: Aqui o primeiro álbum de fotos = https://imgur.com/a/tNg05Qb ANDAMENTO: 65% Créditos: @Gabrieljdb @L2JBRASIL FORUM OBS: Se for para adicionar mais mods cole abaixo o link Se souber de algum Erro ou má configuração relate tambem. O QUE ESTIVER AO ALCANCE DO MEU HUMILDE CONHECIMENTO ,FAREI. Previsão para termino? DOM, 27/01/2019
  30. 8 points
    ♔ ♥ Lineage 2 Lords ♥ ♔ ◑ Bom, esse é um projeto que eu estou mexendo a alguns meses, espero que possam testar, retirar, ajudar, etc, para que fique melhor ainda. Tem Muitas coisas nessa pack, que só quem baixar e der uma fuçada vai saber ate onde mexi, todas as informações e duvidas voce vai encontrar na propria revisao, como id de itens e etc, vai estar tudo na pack. * Qualquer mais informação que eu lembrar edito o Tópico. * Essa Pack esta totalmente voltada para o PvP & Custom! ◑ Base: Frozen 1132 =D ✔ Informações da Pack ✔ ☛ # Normal Rates - ☛ # ------------------------ ☛ RateXp = 500.00 ☛ RateSp = 500.00 ☛ RatePartyXp = 2.00 ☛ RatePartySp = 2.00 ☛ RateDropAdena = 1200.00 ☛ Bosses da Revisao não uso, estou usando Bosses Customs como Raid Bosses e Drops especiais para a jogatina. ☛ Sub Class Free ☛ Custom areas Drops ☛ Set Dark Kinight ☛ Set Tauti Armor ☛ Set Dynasty ☛ Set Titanium ☛ Escudos Custom's ☛ Joias Boss (iniciantes) ☛ Joias Epics (Top) ☛ Tattos GM Powers ☛ TvTs 1 em 1 hora ☛ Acessorios Custom's ☛ Varios Icones com Bordas PvPs (inclusive SS's) ☛ Safe Enchant +20 ☛ Max Enchant +35 ☛ Normal Scrolls ate +20 100% ☛ Blessed Scrolls ate +25 85% ☛ Crystals Scrolls ate +30 100% ☛ Gold Enchant Scroll ate +35 60% ☛ Donator +40 (o comando //setdonator eu usava para dar aos donators, para eles terem acesso a area vip e droparem adenas para terem sempre gbs) ☛ Muitas, mais muitas skills foram editadas por mim (passivas/ativas) para ter um balanceamento aparentemente bom (Ninguem reclamou até entao), assim como correções nas mesmas e etc, muita coisa, por que tambem é um trabalho de quase 2 anos. (se voce for deixar totalmente do seu jeito voce tera que editar MUITAs coisas) ● Mods adicionados ● ● Arena 2x2 ● Evento Lost Boss ● Siege Reward ● RaidBossNobles = Barakiel ● ShowNpc Crest ● CustomItemHtml (Abre um Html ao clicar no Item configurado) ● OlympiadGrade A ● Mod Crazy War ( Coloca um Delay entre um Hit e outro, ajuda contra o bug de atk speed da frozen) ● Auto Reward ● Hitman Event (NAO TESTEI) ● Disable Weapons for Class ● Disable Armor for Class ● Announce ALL KILL ● Announce Lords, aiox, donator Enter ● NoUseScapeInPvP ● ShowHPPvP ● Camera Effect on Die ● Clan Full ● Unstuck Animation ● Atk Raid Boss Flag ● Gold Enchants (Com Break Enchant etc) ● Normal Enchant Max ● Olly Skill Protect (NAO TESTEI) ● Announce Item Pickup ● Siege Rewards ● Days To Siege ● Show Npc Crest ● Vip System ● Announce Vip Login ● Announce Noble Login ● Quake System Boss (Treme o chao quando boss e morto) ● Last Login ● Load Tutorial ● Enable Class info ao logar ● Vote Manager Npc ● Char Name Restriction ● Clan Full Item ● Wyvern Protection ● Vip Item ● Sell Buff System ● Change Sex Item ● Block Skills in Events ● Disable Healer in Events ● Announce Aio Login ● Restricao para aio nao se buffar fora da system ● Trade Not In Combat Mais Mods em other.properties etc ✔ Correções ✔ ✔ HPs dos portoes e muros das sieges ✔ Bot Protection por Captcha ✔ Não pode enchantar correndo/andando/sentado/etc ✔ CTRL+ALT+DEL nas olympiads ✔ Correção dos aiox em eventos ✔ Correção dos aiox fora da cidade ✔ Não pode ser atacado Npcs de: Siege e o Artefact da Siege! +++ ✪ Comandos ✪ ✫ .menu ✫ .server ✫ .gkaio ✫ .doacao ✫ .areavip ✫ .survey ✫ .deposit / .withdraw ✫ .pmoff ✫ .castlemanager ✫ .setmes ✫ .clanmes ✫ .raids ✫ .donatorinfo (com html) ✫ .vip (voce precisa ter um determinado item para se tornar vip) ✫ .vipinfo (com html) ▶ Sistemas ▶ ▸ //setvip (com itens reward ao ganhar o status vip e drop/spoil/adena que podem ser alterados) ▸ //setdonator (eterno com acesso ao comando .areavip) ▸ //setaio (ganha a dual aio quando receber o status aio) ▸ //senddonate ▸ //show_inventory ▸ //addolypoints //removeolypoints //setolypoints //getolypoints Download: Server Pack: http://www.mediafire.com/file/b4nnxi11pv37a4b/server.rar (Mudem o IP Para 127.0.0.1) Backup.psc: http://www.mediafire.com/file/x5r244v574sntd1/171027194830.rar Patch Completo 1.0: http://www.mediafire.com/file/qb66lu5q95cqwol/Patch+L2Lords+1.0.rar (Mudem o IP Para 127.0.0.1, com a Interface Classic!) Qualquer erro por favor reportar! Atualização 27/10/2017: + Adicionado comandos: .vip e .vipinfo (com htmls) + Correções: Html do .vipinfo Java: http://www.mediafire.com/file/1g5b2bds5tpd9s5/l2jfrozen-core.jar (l2jfrozen-core.jar (substituir pela original da pack) Htmls: http://www.mediafire.com/file/eu1lunyxamtepzf/html.rar (vip.htm / vipinfo.htm (extrair em server\gameserver\data\html) Configs: http://www.mediafire.com/file/ugbb8j3a7zrlgav/other.rar (other.properties (substituir pela original da pack) Atualização 29/10/2017: + Adicionado/Correção do anuncio de pvp/pk que nao estava funcionando corretamente, que agora é editavel nas Configs em Frozen.properties. Créditos pelo Código: Bian - Removido o anuncio original da Pack Java: http://www.mediafire.com/file/ivl8918zgvwazv6/l2jfrozen-core.rar (l2jfrozen-core.jar (substituir pela original da pack) Configs: http://www.mediafire.com/file/b19fm3522ff8nbh/frozen.rar (frozen.properties (substituir pela original da pack) Configs: http://www.mediafire.com/file/srvfxt61kxu6u0e/pvp.rar (pvp.properties (substituir pela original da pack) Atualização 05/11/2017: - Removido os eventos DM e VIP que ninguem usa (não é o sistema VIP) - Removido o nome "Lords" do Npc Donate Java: https://www.mediafire.com/file/6me3b4a957pt5iw/l2jfrozen1.1.rar (l2jfrozen-core.jar (substituir pela original da pack) Configs: Remova o arquivo DM.PROPERTIES de gameserver/config/frozen Remova a configuração do evento automatico (DM) em gameserver/config/frozen/eventmanager.properties, ficando assim: #============================================================# # Event Manager # #============================================================# # Enable auto events and start time. # TvT auto start # Example TVTStartTime=20:00;21:00;22:00; TVTEventEnabled = True TVTStartTime = 01:00;02:00;03:00;04:00;05:00;06:00;07:00;08:00;09:00;10:00;11:00;12:00;13:00;14:00;15:00;16:00;17:00;18:00;19:00;20:00;21:00;22:00;23:00;00:00 # CTF auto start # Example CTFStartTime=20:00;21:00;22:00; CTFEventEnabled = False CTFStartTime = 8:00;12:00;15:00;18:00;20:00;23:00;02:00 Atualização 02/06/2018: ✔ Arrumado o TITLE dos novos char's quando eram criados, que antes nao apareciam mesmo configurando nas configs. http://www.mediafire.com/file/8e7286fwyi8wr7g/l2jfrozen1.2.rar (l2jfrozen-core.jar (substituir pela original da pack) + Adicionado um novo stat xml "AbsorbDamMp". O que é: Ao hitar mob regenera MANA, igual ao H5. Para adicionar, é a mesma coisa nas xml's exemplo: <add order="0x40" stat="absorbDamMp" val="10"/> + Adicionado uma config para os Summon's/Pet's nao perderem buffs. gameserver\config\functions\physics.properties # Leave buffs on die, if false the effects will be not stopped on die LeaveBuffsOnDie = False + # Leave buffs on die (SUMMONS), if false the effects will be not stopped on die + LeaveBuffsOnDieSummons = False + Adicionado novas Html's do VIP/VIPINFO. https://www.4shared.com/rar/-q8v6y8Vei/Patchhtml_v01_Teste__1_.html? Substitua pelas originais. Créditos pelas Html's: @Gabrieljdb + Adicionados efeitos ao se transformar AIO, ao jogar no npc casino, mensagens na tela etc Créditos: Onã SOURCE: https://www.mediafire.com/file/5uq78t83bb3638i/sourcelords.rar/file Prints:
  31. 8 points
    Olá, tudo bem? Então... Faz uns dias comecei um projeto (Web L2Fenix) e acabei ele hoje. Por esse motivo e por estar sem tempo sobrando resolvi postar sem testar a fundo, então me desculpem qualquer falha encontrada no site. Um pouco simples, nada muito chamativo na minha opinião. Porem, eu gostei então venho compartilhar esse trabalho com vocês! 😍 (Críticas serão bem vindas!!) * Não tive tempo de colocar scripts, isso fica por conta de vocês se forem usar * Imagens, download e créditos:
  32. 8 points
    Saudades, velhos tempos.... O inicio de tudo.
  33. 8 points
    Chegamos a uma década! Quando estávamos no dia 24 comprando o domínio e instalando o IPB não imaginávamos que estaríamos hoje aqui comemorando 10 anos de site. Quantas histórias já vivemos aqui, já ouvi relatos de pessoas que descobriram uma profissão e hoje trabalham com algo que era só uma brincadeira. Historias de amizades que começaram aqui e levaram pra vida toda! E romances? Será que tem? Conte aí pra gente sua história aqui no L2JBRASIL!
  34. 8 points
    ---- NÃO ME PERGUNTE NADA, TESTE, ---- ACHEI ESSA PACK NA INTERNET E QUIS DIVIDIR COM TODOS ---- NÃO SEI COMO É LINKS NÃO SÃO MEUS TAMBÉM. ---- POST ESTÁ EM INGLÊS VOU DEIXA-LO ORIGINAL COMO ENCONTREI. ---- ACABEI DE BAIXAR E VOU POSTAR MEU FEEDBACK TAMBÉM DEPOIS ---- VAMOS MOVIMENTAR O FÓRUM GENTE. ---- SÓ NÃO ESQUEÇA DOS CRÉDITOS. ------------------------------------------------------------------------------------------------------------------------------------------------------ L2-Arena Proffessional Custom Interlude Ready To Go [bassed grankain source]Project based on last grankain source revision VIDEO DO SERVIDOR Info Server Lineage2 Interlude Custom PVP Project (FROZEN)Chronicle: InterludeRates 1000xMain Town: kamael VillageMax level 853 Tier Weapons:- Lindvior Weapons - Tier 1- Valakas Weapons - Tier 2- Kelbim Weapons - Tier 33 Tier Armors:- Exile Armor - Tier 1- Valkyria Armor - Tier 2- Ertheia Armor - Tier 3Upgradable Raid Boss Jewels:- Core -> Improved Core -> Blessed Core- Orfen -> Improved Orfen -> Blessed Orfen- Baium -> Improved Baium -> Blessed Baium- Queen Ant -> Improved Queen Ant -> Blessed Queen Ant5 types of Elemental Shirts with Awakening Powers- Ogre- Monk- Witch- Empower- RabbitFarm Items currency:- Adena- Ancient Adena- Red Libra ( from boss, low chance from mobs, from champions etc... )Farm Zones:- Level Zone- Cruma Tower ( custom ) - Solo Zone- Underground Temple of Prayer - Hard Zone - party recommendedRaid Bosses: - Golkonda- Lilith- Chaos Van Helsing- Halisha- Halisha PVP ZONE- Antharas- Valakas- Baium- Exiled Anakim ( The Lindvior Guardian ) - location inside Undeground Temple of Prayer Secret Boss RoomPVP Zone- need type: .exit for leave- auto flag when enter- auto nobless when enter and when respawn- auto respawn in 10 seconds- respawn full hp/cp/mp- Zone can be changed whenever you want in any other location ( current loc: Pagan Temple )- Show hp/cp/mp left of your killerSERVER NPC:- rank manager - show pvp/pk ranking top 10- augmenter/skill enchanter 2 in 1- Custom Gm Shop- Custom Shop - upgrade armor/weapon- Raid Boss manager show info about raids alive/dead- Global teleporter- NPC buffer with all buffs included malarias- service npc sell all augments directly to your weapon- class changer- all in 1 npc warehouse- symbol maker- auction npc buy clan hall- siege npc- class master npc can add all subclass in same npc even overlordSPECIAL ITEMS- clan rep scroll- premium rune ( x2 all rates for 24 hours )- recommend item get instant 255 rec- clan coin - get instant clan llv 8- clan skills coin - get instant all clan skillsCom Geodata e Pathnode AtivoPack (208 MB)http://www.mediafire.com/file/rrm3e9...+%23%23%23.rarPatch (363 MB)http://www.mediafire.com/file/xtyxna...for+client.rarSource (117 MB)http://www.mediafire.com/file/ohxhc5...files+full.rar Credits BY KAMEX THE SMARTEST.
  35. 8 points
    Boa tarde galera!!! Como não vi ninguém postando aqui, estou trazendo para vocês a source acis 374 + as Diffs do 370 a 374. Download Source Download Diffs
  36. 8 points
    Esse guia tem como objetivo apresentar de maneira sucinta os passos necessários para utilizar o mmocore assíncrono. Não sabe o que é? dê uma olhada nesse tópico. Estarei utilizando L2jServer Interlude para realizar a migração. Outras versões podem ter algumas diferenças, mas nada muito específico que este guia não possa cobrir. Remover o mmocore da pasta lib. Nesse momento vários erros aparecerão na IDE, caso esteja usando Adicionar o mmocore-2.0 no projeto A versão compilada está disponível aqui Caso prefira compilar: github Realizar as alterações em L2GameServerPacket Index: L2J_Server/java/net/sf/l2j/gameserver/serverpackets/L2GameServerPacket.java =================================================================== --- L2J_Server/java/net/sf/l2j/gameserver/serverpackets/L2GameServerPacket.java (revision 21608dd4679422d6037c9683767493221807a2e7) +++ L2J_Server/java/net/sf/l2j/gameserver/serverpackets/L2GameServerPacket.java (date 1538483553000) @@ -21,12 +21,12 @@ import net.sf.l2j.gameserver.network.L2GameClient; -import org.mmocore.network.SendablePacket; +import org.l2j.mmocore.WritablePacket; /** * @author KenM */ -public abstract class L2GameServerPacket extends SendablePacket<L2GameClient> +public abstract class L2GameServerPacket extends WritablePacket<L2GameClient> { private static final Logger _log = Logger.getLogger(L2GameServerPacket.class.getName()); Realizar as alterações em L2GameClientPacket Index: L2J_Server/java/net/sf/l2j/gameserver/clientpackets/L2GameClientPacket.java =================================================================== --- L2J_Server/java/net/sf/l2j/gameserver/clientpackets/L2GameClientPacket.java (revision 21608dd4679422d6037c9683767493221807a2e7) +++ L2J_Server/java/net/sf/l2j/gameserver/clientpackets/L2GameClientPacket.java (date 1538485300000) @@ -24,13 +24,13 @@ import net.sf.l2j.gameserver.serverpackets.ActionFailed; import net.sf.l2j.gameserver.serverpackets.L2GameServerPacket; -import org.mmocore.network.ReceivablePacket; +import org.l2j.mmocore.ReadablePacket; /** * Packets received by the game server from clients * @author KenM */ -public abstract class L2GameClientPacket extends ReceivablePacket<L2GameClient> +public abstract class L2GameClientPacket extends ReadablePacket<L2GameClient> { private static final Logger _log = Logger.getLogger(L2GameClientPacket.class.getName()); Realizar as alterações no L2GameClient Index: L2J_Server/java/net/sf/l2j/gameserver/network/L2GameClient.java =================================================================== --- L2J_Server/java/net/sf/l2j/gameserver/network/L2GameClient.java (revision 21608dd4679422d6037c9683767493221807a2e7) +++ L2J_Server/java/net/sf/l2j/gameserver/network/L2GameClient.java (date 1538486040000) @@ -45,14 +45,14 @@ import net.sf.l2j.gameserver.serverpackets.UserInfo; import net.sf.l2j.util.EventData; -import org.mmocore.network.MMOClient; -import org.mmocore.network.MMOConnection; +import org.l2j.mmocore.Client; +import org.l2j.mmocore.Connection; /** * Represents a client connected on Game Server * @author KenM */ -public final class L2GameClient extends MMOClient<MMOConnection<L2GameClient>> +public final class L2GameClient extends Client<Connection<L2GameClient>> { protected static final Logger _log = Logger.getLogger(L2GameClient.class.getName()); @@ -89,7 +89,7 @@ public byte packetsSentInSec = 0; public int packetsSentStartTick = 0; - public L2GameClient(MMOConnection<L2GameClient> con) + public L2GameClient(Connection<L2GameClient> con) { super(con); state = GameClientState.CONNECTED; @@ -121,18 +121,17 @@ } @Override - public boolean decrypt(ByteBuffer buf, int size) + public boolean decrypt(byte[] buf, int offset, int size) { - crypt.decrypt(buf.array(), buf.position(), size); + crypt.decrypt(buf, offset, size); return true; } @Override - public boolean encrypt(final ByteBuffer buf, final int size) + public int encrypt(final byte[] buf, final int offset, final int size) { - crypt.encrypt(buf.array(), buf.position(), size); - buf.position(buf.position() + size); - return true; + crypt.encrypt(buf, offset, size); + return size; } public L2PcInstance getActiveChar() @@ -180,7 +179,7 @@ public void sendPacket(L2GameServerPacket gsp) { - getConnection().sendPacket(gsp); + writePacket(gsp); gsp.runImpl(); } @@ -467,11 +466,6 @@ } } - public void close(L2GameServerPacket gsp) - { - getConnection().close(gsp); - } - /** * @param charslot * @return @@ -486,15 +480,15 @@ Integer objectId = _charSlotMapping.get(charslot); return objectId.intValue(); } - + + @Override - protected void onForcedDisconnection() - { - _log.info("Client " + toString() + " disconnected abnormally."); + public void onConnected() { + } - + /** - * @see org.mmocore.network.MMOClient#onDisconnection() + * @see Client#onDisconnection() */ @Override protected void onDisconnection() @@ -582,15 +576,15 @@ { try { - InetAddress address = getConnection().getInetAddress(); + String address = getHostAddress(); switch (getState()) { case CONNECTED: - return "[IP: " + (address == null ? "disconnected" : address.getHostAddress()) + "]"; + return "[IP: " + (address.isEmpty() ? "disconnected" : address) + "]"; case AUTHED: - return "[Account: " + getAccountName() + " - IP: " + (address == null ? "disconnected" : address.getHostAddress()) + "]"; + return "[Account: " + getAccountName() + " - IP: " + (address.isEmpty() ? "disconnected" : address) + "]"; case IN_GAME: - return "[Character: " + (getActiveChar() == null ? "disconnected" : getActiveChar().getName()) + " - Account: " + getAccountName() + " - IP: " + (address == null ? "disconnected" : address.getHostAddress()) + "]"; + return "[Character: " + (getActiveChar() == null ? "disconnected" : getActiveChar().getName()) + " - Account: " + getAccountName() + " - IP: " + (address.isEmpty() ? "disconnected" : address) + "]"; default: throw new IllegalStateException("Missing state on switch"); } Realizar as alterações em L2LoginServerPacket Index: L2J_Server/java/net/sf/l2j/loginserver/serverpackets/L2LoginServerPacket.java =================================================================== --- L2J_Server/java/net/sf/l2j/loginserver/serverpackets/L2LoginServerPacket.java (revision 21608dd4679422d6037c9683767493221807a2e7) +++ L2J_Server/java/net/sf/l2j/loginserver/serverpackets/L2LoginServerPacket.java (date 1538486372000) @@ -19,12 +19,12 @@ import net.sf.l2j.loginserver.L2LoginClient; -import org.mmocore.network.SendablePacket; +import org.l2j.mmocore.WritablePacket; /** * @author KenM */ -public abstract class L2LoginServerPacket extends SendablePacket<L2LoginClient> +public abstract class L2LoginServerPacket extends WritablePacket<L2LoginClient> { } Realizar as alterações em L2LoginClientPacket Index: L2J_Server/java/net/sf/l2j/loginserver/clientpackets/L2LoginClientPacket.java =================================================================== --- L2J_Server/java/net/sf/l2j/loginserver/clientpackets/L2LoginClientPacket.java (revision 21608dd4679422d6037c9683767493221807a2e7) +++ L2J_Server/java/net/sf/l2j/loginserver/clientpackets/L2LoginClientPacket.java (date 1538486503000) @@ -21,12 +21,12 @@ import net.sf.l2j.loginserver.L2LoginClient; -import org.mmocore.network.ReceivablePacket; +import org.l2j.mmocore.ReadablePacket; /** * @author KenM */ -public abstract class L2LoginClientPacket extends ReceivablePacket<L2LoginClient> +public abstract class L2LoginClientPacket extends ReadablePacket<L2LoginClient> { private static Logger _log = Logger.getLogger(L2LoginClientPacket.class.getName()); Realizar as alterações no L2LoginClient Index: L2J_Server/java/net/sf/l2j/loginserver/L2LoginClient.java =================================================================== --- L2J_Server/java/net/sf/l2j/loginserver/L2LoginClient.java (revision 21608dd4679422d6037c9683767493221807a2e7) +++ L2J_Server/java/net/sf/l2j/loginserver/L2LoginClient.java (date 1538486988000) @@ -18,14 +18,13 @@ package net.sf.l2j.loginserver; import java.io.IOException; -import java.net.InetAddress; -import java.nio.ByteBuffer; import java.security.interfaces.RSAPrivateKey; import java.util.logging.Logger; import net.sf.l2j.Config; import net.sf.l2j.loginserver.crypt.LoginCrypt; import net.sf.l2j.loginserver.crypt.ScrambledKeyPair; +import net.sf.l2j.loginserver.serverpackets.Init; import net.sf.l2j.loginserver.serverpackets.L2LoginServerPacket; import net.sf.l2j.loginserver.serverpackets.LoginFail; import net.sf.l2j.loginserver.serverpackets.LoginFail.LoginFailReason; @@ -33,15 +32,15 @@ import net.sf.l2j.loginserver.serverpackets.PlayFail.PlayFailReason; import net.sf.l2j.util.Rnd; -import org.mmocore.network.MMOClient; -import org.mmocore.network.MMOConnection; -import org.mmocore.network.SendablePacket; +import org.l2j.mmocore.Client; +import org.l2j.mmocore.Connection; +import org.l2j.mmocore.WritablePacket; /** * Represents a client connected into the LoginServer * @author KenM */ -public final class L2LoginClient extends MMOClient<MMOConnection<L2LoginClient>> +public final class L2LoginClient extends Client<Connection<L2LoginClient>> { private static Logger _log = Logger.getLogger(L2LoginClient.class.getName()); @@ -72,11 +71,11 @@ /** * @param con */ - public L2LoginClient(MMOConnection<L2LoginClient> con) + public L2LoginClient(Connection<L2LoginClient> con) { super(con); _state = LoginClientState.CONNECTED; - String ip = getConnection().getInetAddress().getHostAddress(); + String ip = getHostAddress(); // TODO unhardcode this if (ip.startsWith("192.168") || ip.startsWith("10.0") || ip.equals("127.0.0.1")) @@ -98,53 +97,48 @@ } /** - * @see #decrypt(java.nio.ByteBuffer, int) + * @see Client#decrypt(byte[], int, int) */ @Override - public boolean decrypt(ByteBuffer buf, int size) + public boolean decrypt(byte[] buf, int offset, int size) { boolean ret = false; try { - ret = _loginCrypt.decrypt(buf.array(), buf.position(), size); + ret = _loginCrypt.decrypt(buf, offset, size); } catch (IOException e) { e.printStackTrace(); - super.getConnection().close((SendablePacket<L2LoginClient>) null); + close((WritablePacket<L2LoginClient>) null); return false; } if (!ret) { - byte[] dump = new byte[size]; - System.arraycopy(buf.array(), buf.position(), dump, 0, size); - _log.warning("Wrong checksum from client: " + toString()); - super.getConnection().close((SendablePacket<L2LoginClient>) null); + close((WritablePacket<L2LoginClient>) null); } return ret; } /** - * @see #encrypt(java.nio.ByteBuffer, int) + * @see Client#encrypt(byte[], int, int) */ @Override - public boolean encrypt(ByteBuffer buf, int size) + public int encrypt(byte[] buf, int offset, int size) { - final int offset = buf.position(); + int encryptedSize = -1; try { - size = _loginCrypt.encrypt(buf.array(), offset, size); + encryptedSize = _loginCrypt.encrypt(buf, offset, size); } catch (IOException e) { e.printStackTrace(); - return false; } - - buf.position(offset + size); - return true; + + return encryptedSize; } public LoginClientState getState() @@ -234,26 +228,26 @@ public void sendPacket(L2LoginServerPacket lsp) { - getConnection().sendPacket(lsp); + writePacket(lsp); } public void close(LoginFailReason reason) { - getConnection().close(new LoginFail(reason)); + super.close(new LoginFail(reason)); } public void close(PlayFailReason reason) { - getConnection().close(new PlayFail(reason)); - } - - public void close(L2LoginServerPacket lsp) - { - getConnection().close(lsp); + super.close(new PlayFail(reason)); } - - /** - * @see org.mmocore.network.MMOClient#onDisconnection() + + @Override + public void onConnected() { + sendPacket(new Init(this)); + } + + /** + * @see Client#onDisconnection() */ @Override protected void onDisconnection() @@ -272,25 +266,16 @@ LoginController.getInstance().removeAuthedLoginClient(getAccount()); } } - - /** - * @see org.mmocore.network.MMOClient#onForcedDisconnection() - */ - @Override - protected void onForcedDisconnection() - { - // TODO Auto-generated method stub - - } + @Override public String toString() { - InetAddress address = getConnection().getInetAddress(); + String address = getHostAddress(); if (getState() == LoginClientState.AUTHED_LOGIN) { - return "[" + getAccount() + " (" + (address == null ? "disconnected" : address.getHostAddress()) + ")]"; + return "[" + getAccount() + " (" + (address.isEmpty() ? "disconnected" : address) + ")]"; } - return "[" + (address == null ? "disconnected" : address.getHostAddress()) + "]"; + return "[" + (address.isEmpty() ? "disconnected" : address) + "]"; } } Realizar as alterações em SelectorHelper Index: L2J_Server/java/net/sf/l2j/loginserver/SelectorHelper.java =================================================================== --- L2J_Server/java/net/sf/l2j/loginserver/SelectorHelper.java (revision 21608dd4679422d6037c9683767493221807a2e7) +++ L2J_Server/java/net/sf/l2j/loginserver/SelectorHelper.java (date 1538498336000) @@ -17,23 +17,20 @@ */ package net.sf.l2j.loginserver; -import java.nio.channels.SocketChannel; +import java.io.IOException; +import java.net.InetSocketAddress; +import java.nio.channels.AsynchronousSocketChannel; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; -import net.sf.l2j.loginserver.serverpackets.Init; -import org.mmocore.network.IAcceptFilter; -import org.mmocore.network.IClientFactory; -import org.mmocore.network.IMMOExecutor; -import org.mmocore.network.MMOConnection; -import org.mmocore.network.ReceivablePacket; +import org.l2j.mmocore.*; /** * @author KenM */ -public class SelectorHelper implements IMMOExecutor<L2LoginClient>, IClientFactory<L2LoginClient>, IAcceptFilter +public class SelectorHelper implements PacketExecutor<L2LoginClient>, ClientFactory<L2LoginClient>, ConnectionFilter { private final ThreadPoolExecutor _generalPacketsThreadPool; @@ -43,22 +40,27 @@ } @Override - public void execute(ReceivablePacket<L2LoginClient> packet) + public void execute(ReadablePacket<L2LoginClient> packet) { _generalPacketsThreadPool.execute(packet); } @Override - public L2LoginClient create(MMOConnection<L2LoginClient> con) + public L2LoginClient create(Connection<L2LoginClient> con) { L2LoginClient client = new L2LoginClient(con); - client.sendPacket(new Init(client)); return client; } @Override - public boolean accept(SocketChannel sc) + public boolean accept(AsynchronousSocketChannel sc) { - return !LoginController.getInstance().isBannedAddress(sc.socket().getInetAddress()); + try { + InetSocketAddress socketAddress = (InetSocketAddress) sc.getRemoteAddress(); + return !LoginController.getInstance().isBannedAddress(socketAddress.getAddress()); + } catch (IOException e) { + return false; + } + } } Realizar as alterações no LoginController Index: L2J_Server/java/net/sf/l2j/loginserver/LoginController.java =================================================================== --- L2J_Server/java/net/sf/l2j/loginserver/LoginController.java (revision 21608dd4679422d6037c9683767493221807a2e7) +++ L2J_Server/java/net/sf/l2j/loginserver/LoginController.java (date 1538498717000) @@ -68,7 +68,7 @@ private final Map<InetAddress, BanInfo> _bannedIps = new FastMap<InetAddress, BanInfo>().shared(); - private final Map<InetAddress, FailedLoginAttempt> _hackProtection; + private final Map<String, FailedLoginAttempt> _hackProtection; protected ScrambledKeyPair[] _keyPairs; @@ -476,12 +476,12 @@ public boolean loginValid(String user, String password, L2LoginClient client) { boolean ok = false; - InetAddress address = client.getConnection().getInetAddress(); + String address = client.getHostAddress(); // log it anyway - Log.add("'" + (user == null ? "null" : user) + "' " + (address == null ? "null" : address.getHostAddress()), "logins_ip"); + Log.add("'" + (user == null ? "null" : user) + "' " + (address.isEmpty() ? "null" : address), "logins_ip"); // player disconnected meanwhile - if (address == null) + if (address.isEmpty()) { return false; } @@ -529,7 +529,7 @@ ps2.setString(2, Base64.encodeBytes(hash)); ps2.setLong(3, System.currentTimeMillis()); ps2.setInt(4, 0); - ps2.setString(5, address.getHostAddress()); + ps2.setString(5, address); ps2.execute(); } @@ -569,7 +569,7 @@ try (PreparedStatement ps3 = con.prepareStatement("UPDATE accounts SET lastactive=?, lastIP=? WHERE login=?")) { ps3.setLong(1, System.currentTimeMillis()); - ps3.setString(2, address.getHostAddress()); + ps3.setString(2, address); ps3.setString(3, user); ps3.execute(); } @@ -583,13 +583,13 @@ if (!ok) { - Log.add("'" + user + "' " + address.getHostAddress(), "logins_ip_fails"); + Log.add("'" + user + "' " + address, "logins_ip_fails"); FailedLoginAttempt failedAttempt = _hackProtection.get(address); int failedCount; if (failedAttempt == null) { - _hackProtection.put(address, new FailedLoginAttempt(address, password)); + _hackProtection.put(address, new FailedLoginAttempt(password)); failedCount = 1; } else @@ -600,14 +600,18 @@ if (failedCount >= Config.LOGIN_TRY_BEFORE_BAN) { - _log.info("Banning '" + address.getHostAddress() + "' for " + Config.LOGIN_BLOCK_AFTER_BAN + " seconds due to " + failedCount + " invalid user/pass attempts"); - this.addBanForAddress(address, Config.LOGIN_BLOCK_AFTER_BAN * 1000); + _log.info("Banning '" + address + "' for " + Config.LOGIN_BLOCK_AFTER_BAN + " seconds due to " + failedCount + " invalid user/pass attempts"); + try { + this.addBanForAddress(address, Config.LOGIN_BLOCK_AFTER_BAN * 1000); + } catch (UnknownHostException e) { + e.printStackTrace(); + } } } else { _hackProtection.remove(address); - Log.add("'" + user + "' " + address.getHostAddress(), "logins_ip"); + Log.add("'" + user + "' " + address, "logins_ip"); } return ok; @@ -649,7 +653,7 @@ private long _lastAttempTime; private String _lastPassword; - public FailedLoginAttempt(InetAddress address, String lastPassword) + public FailedLoginAttempt(String lastPassword) { // _ipAddress = address; _count = 1; Realizar as alterações no ThreadPoolManager Index: L2J_Server/java/net/sf/l2j/gameserver/ThreadPoolManager.java =================================================================== --- L2J_Server/java/net/sf/l2j/gameserver/ThreadPoolManager.java (revision 21608dd4679422d6037c9683767493221807a2e7) +++ L2J_Server/java/net/sf/l2j/gameserver/ThreadPoolManager.java (date 1538498840000) @@ -31,7 +31,7 @@ import net.sf.l2j.Config; import net.sf.l2j.gameserver.network.L2GameClient; -import org.mmocore.network.ReceivablePacket; +import org.l2j.mmocore.ReadablePacket; /** * <p> @@ -219,12 +219,12 @@ } } - public void executePacket(ReceivablePacket<L2GameClient> pkt) + public void executePacket(ReadablePacket<L2GameClient> pkt) { _generalPacketsThreadPool.execute(pkt); } - public void executeIOPacket(ReceivablePacket<L2GameClient> pkt) + public void executeIOPacket(ReadablePacket<L2GameClient> pkt) { _ioPacketsThreadPool.execute(pkt); } Realizar as alterações no Ipv4Filter Index: L2J_Server/java/net/sf/l2j/gameserver/util/IPv4Filter.java =================================================================== --- L2J_Server/java/net/sf/l2j/gameserver/util/IPv4Filter.java (revision 21608dd4679422d6037c9683767493221807a2e7) +++ L2J_Server/java/net/sf/l2j/gameserver/util/IPv4Filter.java (date 1538499075000) @@ -14,19 +14,20 @@ */ package net.sf.l2j.gameserver.util; -import java.net.InetAddress; -import java.nio.channels.SocketChannel; +import java.io.IOException; +import java.net.InetSocketAddress; +import java.nio.channels.AsynchronousSocketChannel; import java.util.HashMap; import java.util.Iterator; import java.util.Map.Entry; -import org.mmocore.network.IAcceptFilter; +import org.l2j.mmocore.ConnectionFilter; /** * Formatted Forsaiken's IPv4 filter [DrHouse] * @author Forsaiken */ -public class IPv4Filter implements IAcceptFilter, Runnable +public class IPv4Filter implements ConnectionFilter, Runnable { private final HashMap<Integer, Flood> _ipFloodMap; private static final long SLEEP_TIME = 5000; @@ -62,54 +63,47 @@ } @Override - public boolean accept(SocketChannel sc) - { - InetAddress addr = sc.socket().getInetAddress(); - int h = hash(addr.getAddress()); - - long current = System.currentTimeMillis(); - Flood f; - synchronized (_ipFloodMap) - { - f = _ipFloodMap.get(h); - } - if (f != null) - { - if (f.trys == -1) - { - f.lastAccess = current; - return false; - } - - if ((f.lastAccess + 1000) > current) - { - f.lastAccess = current; - - if (f.trys >= 3) - { - f.trys = -1; - return false; - } - - f.trys++; - } - else - { - f.lastAccess = current; - } - } - else - { - synchronized (_ipFloodMap) - { - _ipFloodMap.put(h, new Flood()); + public boolean accept(AsynchronousSocketChannel sc) { + try { + InetSocketAddress socketAddress = (InetSocketAddress) sc.getRemoteAddress(); + int h = hash(socketAddress.getAddress().getAddress()); + + long current = System.currentTimeMillis(); + Flood f; + synchronized (_ipFloodMap) { + f = _ipFloodMap.get(h); + } + if (f != null) { + if (f.trys == -1) { + f.lastAccess = current; + return false; + } + + if ((f.lastAccess + 1000) > current) { + f.lastAccess = current; + + if (f.trys >= 3) { + f.trys = -1; + return false; + } + + f.trys++; + } else { + f.lastAccess = current; + } + } else { + synchronized (_ipFloodMap) { + _ipFloodMap.put(h, new Flood()); + } } + } catch (IOException e) { + e.printStackTrace(); } - + return true; } Realizar as alterações no L2LoginPacketHandler Index: L2J_Server/java/net/sf/l2j/loginserver/L2LoginPacketHandler.java =================================================================== --- L2J_Server/java/net/sf/l2j/loginserver/L2LoginPacketHandler.java (revision 21608dd4679422d6037c9683767493221807a2e7) +++ L2J_Server/java/net/sf/l2j/loginserver/L2LoginPacketHandler.java (date 1538499673000) @@ -17,7 +17,6 @@ */ package net.sf.l2j.loginserver; -import java.nio.ByteBuffer; import net.sf.l2j.loginserver.L2LoginClient.LoginClientState; import net.sf.l2j.loginserver.clientpackets.AuthGameGuard; @@ -25,21 +24,22 @@ import net.sf.l2j.loginserver.clientpackets.RequestServerList; import net.sf.l2j.loginserver.clientpackets.RequestServerLogin; -import org.mmocore.network.IPacketHandler; -import org.mmocore.network.ReceivablePacket; +import org.l2j.mmocore.DataWrapper; +import org.l2j.mmocore.PacketHandler; +import org.l2j.mmocore.ReadablePacket; /** * Handler for packets received by Login Server * @author KenM */ -public final class L2LoginPacketHandler implements IPacketHandler<L2LoginClient> +public final class L2LoginPacketHandler implements PacketHandler<L2LoginClient> { @Override - public ReceivablePacket<L2LoginClient> handlePacket(ByteBuffer buf, L2LoginClient client) + public ReadablePacket<L2LoginClient> handlePacket(DataWrapper buf, L2LoginClient client) { int opcode = buf.get() & 0xFF; - ReceivablePacket<L2LoginClient> packet = null; + ReadablePacket<L2LoginClient> packet = null; LoginClientState state = client.getState(); switch (state) Realizar as alterações no L2GamePacketHandler Index: L2J_Server/java/net/sf/l2j/gameserver/network/L2GamePacketHandler.java =================================================================== --- L2J_Server/java/net/sf/l2j/gameserver/network/L2GamePacketHandler.java (revision 21608dd4679422d6037c9683767493221807a2e7) +++ L2J_Server/java/net/sf/l2j/gameserver/network/L2GamePacketHandler.java (date 1538499928000) @@ -17,7 +17,6 @@ */ package net.sf.l2j.gameserver.network; -import java.nio.ByteBuffer; import java.util.concurrent.RejectedExecutionException; import java.util.logging.Logger; @@ -27,11 +26,8 @@ import net.sf.l2j.gameserver.network.L2GameClient.GameClientState; import net.sf.l2j.util.Util; -import org.mmocore.network.IClientFactory; -import org.mmocore.network.IMMOExecutor; -import org.mmocore.network.IPacketHandler; -import org.mmocore.network.MMOConnection; -import org.mmocore.network.ReceivablePacket; +import org.l2j.mmocore.*; + /** * Stateful Packet Handler<BR> @@ -41,17 +37,17 @@ * Note: If for a given exception a packet needs to be handled on more then one state, then it should be added to all these states. * @author KenM */ -public final class L2GamePacketHandler implements IPacketHandler<L2GameClient>, IClientFactory<L2GameClient>, IMMOExecutor<L2GameClient> +public final class L2GamePacketHandler implements PacketHandler<L2GameClient>, ClientFactory<L2GameClient>, PacketExecutor<L2GameClient> { private static final Logger _log = Logger.getLogger(L2GamePacketHandler.class.getName()); // implementation @Override - public ReceivablePacket<L2GameClient> handlePacket(ByteBuffer buf, L2GameClient client) + public ReadablePacket<L2GameClient> handlePacket(DataWrapper buf, L2GameClient client) { int opcode = buf.get() & 0xFF; - ReceivablePacket<L2GameClient> msg = null; + ReadablePacket<L2GameClient> msg = null; GameClientState state = client.getState(); switch (state) @@ -644,7 +640,7 @@ case 0xd0: int id2 = -1; - if (buf.remaining() >= 2) + if (buf.available() >= 2) { id2 = buf.getShort() & 0xffff; } @@ -813,33 +809,27 @@ return msg; } - private void printDebug(int opcode, ByteBuffer buf, GameClientState state, L2GameClient client) + private void printDebug(int opcode, DataWrapper buf, GameClientState state, L2GameClient client) { - int size = buf.remaining(); _log.warning("Unknown Packet: " + Integer.toHexString(opcode) + " on State: " + state.name() + " Client: " + client.toString()); - byte[] array = new byte[size]; - buf.get(array); - _log.warning(Util.printData(array, size)); + _log.warning(Util.printData(buf.expose())); } - private void printDebugDoubleOpcode(int opcode, int id2, ByteBuffer buf, GameClientState state, L2GameClient client) + private void printDebugDoubleOpcode(int opcode, int id2, DataWrapper buf, GameClientState state, L2GameClient client) { - int size = buf.remaining(); _log.warning("Unknown Packet: " + Integer.toHexString(opcode) + ":" + Integer.toHexString(id2) + " on State: " + state.name() + " Client: " + client.toString()); - byte[] array = new byte[size]; - buf.get(array); - _log.warning(Util.printData(array, size)); + _log.warning(Util.printData(buf.expose())); } // impl @Override - public L2GameClient create(MMOConnection<L2GameClient> con) + public L2GameClient create(Connection<L2GameClient> con) { return new L2GameClient(con); } @Override - public void execute(ReceivablePacket<L2GameClient> rp) + public void execute(ReadablePacket<L2GameClient> rp) { try { Realizar as alterações no GeoEditorThread Index: L2J_Server/java/net/sf/l2j/gameserver/geoeditorcon/GeoEditorThread.java =================================================================== --- L2J_Server/java/net/sf/l2j/gameserver/geoeditorcon/GeoEditorThread.java (revision 21608dd4679422d6037c9683767493221807a2e7) +++ L2J_Server/java/net/sf/l2j/gameserver/geoeditorcon/GeoEditorThread.java (date 1538566418000) @@ -87,13 +87,14 @@ { for (L2PcInstance gm : _gms) { - if (!gm.getClient().getConnection().isClosed()) - { - sendGmPosition(gm); - } - else + if (!gm.getClient().isConnected()) { _gms.remove(gm); + } + else + { + sendGmPosition(gm); + } } timer = 0; Realizar as alterações no Gameserver Index: L2J_Server/java/net/sf/l2j/gameserver/GameServer.java =================================================================== --- L2J_Server/java/net/sf/l2j/gameserver/GameServer.java (revision 21608dd4679422d6037c9683767493221807a2e7) +++ L2J_Server/java/net/sf/l2j/gameserver/GameServer.java (date 1538566997000) @@ -23,6 +23,7 @@ import java.io.IOException; import java.io.InputStream; import java.net.InetAddress; +import java.net.InetSocketAddress; import java.net.UnknownHostException; import java.util.Calendar; import java.util.logging.Level; @@ -233,8 +234,8 @@ import net.sf.l2j.gameserver.util.IPv4Filter; import net.sf.l2j.status.Status; -import org.mmocore.network.SelectorConfig; -import org.mmocore.network.SelectorThread; +import org.l2j.mmocore.ConnectionBuilder; +import org.l2j.mmocore.ConnectionHandler; /** * This class ... @@ -243,7 +244,7 @@ public class GameServer { private static final Logger _log = Logger.getLogger(GameServer.class.getName()); - private final SelectorThread<L2GameClient> _selectorThread; + private final ConnectionHandler<L2GameClient> connectionHandler; private final SkillTable _skillTable; private final ItemTable _itemTable; private final NpcTable _npcTable; @@ -269,15 +270,17 @@ private final ThreadPoolManager _threadpools; public static final Calendar dateTimeServerStarted = Calendar.getInstance(); - + public long getUsedMemoryMB() { return (Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory()) / 1048576; // 1024 * 1024 = 1048576; } - - public SelectorThread<L2GameClient> getSelectorThread() - { - return _selectorThread; + + public static void shutdown() { + if(gameServer != null) { + gameServer.connectionHandler.shutdown(); + gameServer.connectionHandler.setDaemon(true); + } } public ClanHallManager getCHManager() @@ -665,41 +668,20 @@ _loginThread = LoginServerThread.getInstance(); _loginThread.start(); - - // TODO: Unhardcode this configuration options - final SelectorConfig sc = new SelectorConfig(); - sc.MAX_READ_PER_PASS = 12; // Config.MMO_MAX_READ_PER_PASS; - sc.MAX_SEND_PER_PASS = 12; // Config.MMO_MAX_SEND_PER_PASS; - sc.SLEEP_TIME = 20; // Config.MMO_SELECTOR_SLEEP_TIME; - sc.HELPER_BUFFER_COUNT = 20; // Config.MMO_HELPER_BUFFER_COUNT; - sc.TCP_NODELAY = false; // Config.MMO_TCP_NODELAY; - + L2GamePacketHandler gph = new L2GamePacketHandler(); - _selectorThread = new SelectorThread<>(sc, gph, gph, gph, new IPv4Filter()); - InetAddress bindAddress = null; - if (!Config.GAMESERVER_HOSTNAME.equals("*")) - { - try - { - bindAddress = InetAddress.getByName(Config.GAMESERVER_HOSTNAME); - } - catch (UnknownHostException e1) - { - _log.log(Level.SEVERE, "WARNING: The GameServer bind address is invalid, using all avaliable IPs. Reason: " + e1.getMessage(), e1); - } - } - - try - { - _selectorThread.openServerSocket(bindAddress, Config.PORT_GAME); + + InetSocketAddress bindAddress; + if (!Config.GAMESERVER_HOSTNAME.equals("*")) { + bindAddress = new InetSocketAddress(Config.GAMESERVER_HOSTNAME, Config.PORT_GAME); + } else { + bindAddress = new InetSocketAddress(Config.PORT_GAME); } - catch (IOException e) - { - _log.log(Level.SEVERE, "FATAL: Failed to open server socket. Reason: " + e.getMessage(), e); - System.exit(1); - } + + connectionHandler = ConnectionBuilder.create(bindAddress, gph,gph,gph).filter(new IPv4Filter()).build(); + connectionHandler.start(); - _selectorThread.start(); + _log.config("Maximum Numbers of Connected Players: " + Config.MAXIMUM_ONLINE_USERS); } Realizar as alterações no Shutdown Index: L2J_Server/java/net/sf/l2j/gameserver/Shutdown.java =================================================================== --- L2J_Server/java/net/sf/l2j/gameserver/Shutdown.java (revision 21608dd4679422d6037c9683767493221807a2e7) +++ L2J_Server/java/net/sf/l2j/gameserver/Shutdown.java (date 1538567074000) @@ -216,8 +216,7 @@ // saveData sends messages to exit players, so sgutdown selector after it try { - GameServer.gameServer.getSelectorThread().shutdown(); - GameServer.gameServer.getSelectorThread().setDaemon(true); + GameServer.shutdown(); } catch (Throwable t) { Realizar as alterações em L2LoginServer Index: L2J_Server/java/net/sf/l2j/loginserver/L2LoginServer.java =================================================================== --- L2J_Server/java/net/sf/l2j/loginserver/L2LoginServer.java (revision 21608dd4679422d6037c9683767493221807a2e7) +++ L2J_Server/java/net/sf/l2j/loginserver/L2LoginServer.java (date 1538567848000) @@ -24,11 +24,10 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.io.LineNumberReader; -import java.net.InetAddress; +import java.net.InetSocketAddress; import java.net.UnknownHostException; import java.security.GeneralSecurityException; import java.sql.SQLException; -import java.util.logging.Level; import java.util.logging.LogManager; import java.util.logging.Logger; @@ -36,9 +35,9 @@ import net.sf.l2j.L2DatabaseFactory; import net.sf.l2j.Server; import net.sf.l2j.status.Status; +import org.l2j.mmocore.ConnectionBuilder; +import org.l2j.mmocore.ConnectionHandler; -import org.mmocore.network.SelectorConfig; -import org.mmocore.network.SelectorThread; /** * @author KenM @@ -50,11 +49,10 @@ private static L2LoginServer _instance; private final Logger _log = Logger.getLogger(L2LoginServer.class.getName()); private GameServerListener _gameServerListener; - private SelectorThread<L2LoginClient> _selectorThread; + private ConnectionHandler<L2LoginClient> connectionHandler; private Status _statusServer; - public static void main(String[] args) - { + public static void main(String[] args) throws IOException { _instance = new L2LoginServer(); } @@ -63,8 +61,7 @@ return _instance; } - public L2LoginServer() - { + public L2LoginServer() throws IOException { Server.serverMode = Server.MODE_LOGINSERVER; // Local Constants final String LOG_FOLDER = "log"; // Name of folder for log file @@ -159,44 +156,8 @@ } loadBanFile(); - - InetAddress bindAddress = null; - if (!Config.LOGIN_BIND_ADDRESS.equals("*")) - { - try - { - bindAddress = InetAddress.getByName(Config.LOGIN_BIND_ADDRESS); - } - catch (UnknownHostException e1) - { - _log.severe("WARNING: The LoginServer bind address is invalid, using all avaliable IPs. Reason: " + e1.getMessage()); - if (Config.DEVELOPER) - { - e1.printStackTrace(); - } - } - } + - // TODO: Unhardcode this configuration options - final SelectorConfig sc = new SelectorConfig(); - sc.MAX_READ_PER_PASS = 12; // Config.MMO_MAX_READ_PER_PASS; - sc.MAX_SEND_PER_PASS = 12; // Config.MMO_MAX_SEND_PER_PASS; - sc.SLEEP_TIME = 20; // Config.MMO_SELECTOR_SLEEP_TIME; - sc.HELPER_BUFFER_COUNT = 20; // Config.MMO_HELPER_BUFFER_COUNT; - sc.TCP_NODELAY = false; // Config.MMO_TCP_NODELAY; - - final L2LoginPacketHandler lph = new L2LoginPacketHandler(); - final SelectorHelper sh = new SelectorHelper(); - try - { - _selectorThread = new SelectorThread<>(sc, sh, lph, sh, sh); - } - catch (IOException e) - { - _log.log(Level.SEVERE, "FATAL: Failed to open Selector. Reason: " + e.getMessage(), e); - System.exit(1); - } - try { _gameServerListener = new GameServerListener(); @@ -233,18 +194,22 @@ { System.out.println("Telnet server is currently disabled."); } - - try - { - _selectorThread.openServerSocket(bindAddress, Config.PORT_LOGIN); + + InetSocketAddress bindAddress; + if (!Config.LOGIN_BIND_ADDRESS.equals("*")) { + bindAddress = new InetSocketAddress(Config.LOGIN_BIND_ADDRESS, Config.PORT_LOGIN); + } else { + bindAddress = new InetSocketAddress(Config.PORT_LOGIN); } - catch (IOException e) - { - _log.log(Level.SEVERE, "FATAL: Failed to open server socket. Reason: " + e.getMessage(), e); - System.exit(1); - } - _selectorThread.start(); - _log.info("Login Server ready on " + (bindAddress == null ? "*" : bindAddress.getHostAddress()) + ":" + Config.PORT_LOGIN); + + final L2LoginPacketHandler lph = new L2LoginPacketHandler(); + final SelectorHelper sh = new SelectorHelper(); + + + connectionHandler = ConnectionBuilder.create(bindAddress, sh,lph,sh).filter(sh).build(); + connectionHandler.start(); + + _log.info("Login Server ready on " + (bindAddress == null ? "*" : bindAddress.getHostString()) + ":" + Config.PORT_LOGIN); } public Status getStatusServer() Realizar as alterações em AdminEditChar Index: L2J_Server/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminEditChar.java =================================================================== --- L2J_Server/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminEditChar.java (revision 21608dd4679422d6037c9683767493221807a2e7) +++ L2J_Server/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminEditChar.java (date 1538568122000) @@ -749,7 +749,7 @@ adminReply.setFile("data/html/admin/ipfind.htm"); for (L2PcInstance player : players) { - ip = player.getClient().getConnection().getInetAddress().getHostAddress(); + ip = player.getClient().getHostAddress(); if (ip.equals(IpAdress)) { name = player.getName(); As seguintes substituições nas chamadas de método devem ser realizadas. Essa substituição pode ser feita em lote em algum editor de texto ou IDE readC() -> readUnsignedByte() readH() -> readShort() readD() -> readInt() readF() -> readDouble() readQ() -> readLong() readS() -> readString() readB() -> readBytes() buf.remaining() -> availableData() .getConnection().sendPacket -> .sendPacket writeC( -> writeByte( writeH( -> writeShort( writeD( -> writeInt( writeF( -> writeDouble( writeQ( -> writeLong( writeS( -> writeString( writeB( -> writeBytes( Realizar as alterações no build.xml Index: L2J_Server/build.xml =================================================================== --- L2J_Server/build.xml (revision 21608dd4679422d6037c9683767493221807a2e7) +++ L2J_Server/build.xml (date 1538567213000) @@ -37,7 +37,7 @@ <include name="javolution-5.5.1.jar" /> <include name="mchange-commons-0.2.jar" /> <include name="mysql-connector-java-5.1.18-bin.jar" /> - <include name="mmocore.jar" /> + <include name="mmocore-2.0.jar" /> </fileset> </path> <target name="init" depends="clean" description="Create the output directories."> Depois desses passos você deverá ser capaz de compilar o source. Dependendo do projeto/revisão/versão que esteja usando, pode ser que precise editar outros arquivos além desses. Mas as alterações básicas são essas. [ ]'s
  37. 8 points
    Divirta-se e entenda um pouco da Historia de Lineage 2 Classic!
  38. 7 points
    Olá venho compartilhar com vocês um projeto que venho trabalhando em cima dele. Bom meu projeto usa aCis 375 ainda não tem mods custom ( já estão todos prontos), mais eu e meus amigos só vamos adicionar depois que testamos o funcionamento geral da aCis 375 assim investindo nela. O Projeto conta com uma proteção de system, só loga no projeto com a system dela. Irei deixar o projeto online em um VPS 24 horas para testes. Preciso da colaboração de todos para testar , Sieges, RaidBoss, Quests e Olimpiadas. Projeto L2jDevs Limpo : https://mega.nz/#!4Ft13ADY!-_ie3UtITUBXi9rsLXz85Ioaig3tZuk0lCUycdvgI7E Para quem quiser logar no projeto só colocar o IP do dedicado na system disponivel no Pack do projeto . Assim que nossos testes forem finalizados colocaremos todos mods, como os eventos, TVT,CTF,DM tudo 100% funcional todos testados entre outras customização.
  39. 7 points
    Olá papangus, Um aviso breve, atualizamos a plataforma do fórum com as úiltimas atualizações de segurança e foi implimentado uma customização para exibir botões de interação com usuários logo abaixo do avatar. Os mesmos já estavam disponíveis porém era preciso ficar por 2 segundos com o mouse em cima do avatar do membro para que os botões fossem revelados. PS: Botão de warn e flag de spamer também ficará visível para os moderadores. Para a lista completa de atualizações acesse: https://invisioncommunity.com/news/product-updates/welcome-to-invision-community-44-r1124/ Algumas funcionalidades não estão habilitadas, assim que elas forem habilitadas iremos postar as informações.
  40. 7 points
    Pré-Configurado Version 6 *Custom Edition* Pré-Configurado Version 6*No Custom Edition* Revisão: 1004 Peço para que o conteúdo desse pré-configurado não seja postado a não ser que seja por mim. Rates recomendados 100 XP, SP, Adena Java Mod's e Edições Configurações NPC's Customs: Aio System Screenshot's Server | Client Download Download Tamanho: 13 MB | Tamanho: 99 MB Server inclui: Servidor + Backup Client Inclui: System + Systextures + Animations Senha: MadebySmallz2013 - L2JFrozen 1004 by Smallz | Java Difference (Source) (Versão limpa + Backup + Hexid) | (Modificações no Eclipse bySmallz) Download Download Tamanho: 14 MB | Tamanho: 18 KB Senha: MadebySmallz2013 Download de items utilizados no pré-configurado. NPC's Utilizados Acessórios Utilizados Download: Armaduras Utilizadas Download: Shield's Utilizados Download: Moedas Utilizadas (Opcional) Geodata | Pathnode Download Download Tamanho: 139 MB | Tamanho: 11 MB - Lista de ID's Conta Adiministradora: Conta: Admin Senha: Admin Versões anteriores de Pré-Configurados: L2JFrozen New Era L2JFrozen V. 4 L2JFrozen V. 5 Créditos: Smallz' :pirate: Gostou do conteúdo? Não esqueça de curtir o tópico. Obrigado. :bom:
  41. 7 points
    Fala meus amigos, então de volta depois de bastante tempo sem contribuir nada no forum, perdi até meu SUPER MEMBRO T_T. Triste!!! Voltei com um desenvolvimento ja em andamento, eu não iria postar desenvolvimento. Porem to por fora do forum a muito tempo e não sei mais que tipo sistemas estão usando nos websites de lineage 2 hoje em dia. Então quero ajudar de vocês, irei postar um site com muitas funcionalidades, rsrs. Porem não vou focar no layout, não estou com tempo nem paciência para me dedicar a um layout totalmente gamer, vou focar nas funcionalidades e tentar entregar um website decente pra vocês LAYOUT ATUAL DO SITE ( DISPENSO IDEIAS SOBRE O LAYOUT O FOCO AQUI NÃO É ESSE E SIM UM BOM SISTEMA ) FUNCIONALIDADES ( ATÉ O MOMENTO ) Registro de Players ( 100% ) Registro de Noticas ( 100% ) Registro de Categorias para Noticias ( 100% ) Listagem de Noticias ( 100% ) Listagem de Categorias de Noticias ( 100% ) Ranking PVP ( 100% ) Ranking PK ( 100% ) Ranking Clan ( 100% ) Sistema de Contato via Email ( 100% ) Perfil do Player ( 10% ) Enviem-me oque mais devo colocar, e por favor não citem sistemas como RANKINGs, Castelos e etc... Peçam coisas novas, bora inovar ? Site está sendo desenvolvido especialmente para Revisão High Five L2JBlueHeart então abusem da criatividade e me ajudem.
  42. 7 points
    Aqui eu vou adicionar todas as atualizações que foram feitas antes da abertura deste projeto e como eu mencionei antes dessas atualizações foi tantas que eu não consigo nem lembrar de todos eles, porque nesses arquivos eu já estou trabalhando há alguns anos. Então, o que eu vou lembrar, eu vou adicionar aqui, mas apenas o mais importante - o maior sem pequenas habilidades, missões, itens, banco de dados, pacote de dados - atualizações / correções / correções e etc. Antes de começar eu quero Dizer que todas as atualizações foram feitas pelo Lineage 2 INTERLUDE Informações oficiais . Além disso, tentarei resumir tudo semelhante no comum. PARTE 1 ( 9 de dezembro): Totalmente re-trabalhado geo-engine e este sistema funciona muito semelhante ao L2OFF ou melhor ainda, porque eu fiz isso com uma distância um pouco maior para AI Inteligente ( Inteligência Artificial ) andando para todos. Re-trabalhou sistema de habilidades, habilidades corrigidas - fórmulas, condições, efeitos e etc. ( Core lado / Data-Pack ), acrescentou alguns novos tipos de habilidades. Além disso, algumas habilidades não poderiam funcionar nos chefes e chefes simples. Fixei informações erradas de habilidades no lado do pacote de dados. Sistema de zonas re-trabalhado e seus tipos. Melhor desempenho para o movimento dentro dos mesmos e diferentes id / tipos de zonas. O sistema antigo tinha muitos problemas e a maioria com entrar / sair da zona. Sistema de controlador de jogo re-trabalhado (adicionado um novo e melhor). Re-trabalhou o sistema AI e tornou-os mais inteligentes do que antes, com algumas opções adicionais dentro do banco de dados ( tabela npc_ai_data ). Além disso, eles podem mover-se para frente e para trás em torno de todos os objetos com facilidade por geo-data. Re-trabalhado Mosteiro do Silêncio, antes que tivesse algumas discrepâncias para L2OFF e mobs não funcionou como deveriam. Re-trabalhou o sistema Catacomb / Necropolis com seus mobs AI. Re-trabalhei o sistema Seven Sing, consertei muitos bugs e fiz isso parecido com o L2OFF. Verificado e corrigido a maior parte de todos os mobs e sua queda. Local atualizado / corrigido (por exemplo, mobs dentro da parede e em outro local errado). Corrigido o Conselho Comunitário. Corrigido o sistema de email. Re-trabalhou o sistema Grand / Simple Bosses. Criado e adicionado os comandos exclusivos do jogador como .menu com as nossas configurações, sub, .class, .setlvl, .boss e etc. Re-trabalhei o sistema Quatro Sepulcros e consertei algumas façanhas. Re-trabalhado sistema de pesca. Re-trabalhado Clan e clan halls system. Re-trabalhou gerente de spawn dia / noite. Atualizado muitas instâncias e modelos para melhor desempenho. Corrigidos pequenos bugs e exploits. Re-trabalhado lista de conhecimento e sistema L2 World. Re-trabalhou o sistema Olympiad. Geo-engine: - Re-trabalhado movimento de personagens na água. Corrigido dano de queda e mergulho duro. Esta questão funcionou principalmente em catacumbas ou necrópoles quando o personagem se move para dentro / fora, por causa dos dados geográficos. - Sistema de sincronização atualizado entre o cliente <-> servidor. - Atualizado sistema de posição de atualização de personagem. - Sistema de geo-engine atualizado. Misc - Atualizações da classe Master: verificação de lvl adicionado na alteração de classe e configuração de heal, - Geo-engine: um pouco mais de correções para melhor desempenho. - Corrigido um relatório de bug: (Servidor sem habilidade Auto Learn) Por exemplo: Se você tem que alternar Skill LvL1 em USE, e aprender LvL2, então você não pode desligar a habilidade (e ainda é usar lvl1) Apenas a ajuda do RR. Boats system - Re-trabalhou o sistema inteiro e movimento de caracteres fixos para dentro / fora do barco. Adicionado todas as mensagens do sistema L2OFF, rotas e etc. Totalmente re-trabalhado do lado do núcleo com L2BoatAI, L2Vehicle, estatísticas do veículo e pacotes cliente / servidor totalmente atualizados (Por agora para testar está disponível apenas no servidor TEST). Misc -Arquivos Re-trabalhou sistema de proteção. A partir de agora, cada usuário deve estar cadastrado em nossa página do fórum e atualizar o id do usuário do fórum no arquivo: config / user.in. AI -Re-trabalhada castelo cerco guarda sistema AI. O sistema antigo teve muitos problemas e atrasou os jogadores em alguns castelos. Rev 27 Bom galera esse projeto e americano eu estou trabalhando em um pre configurado encima da rev deles. Observação tem que ter uma conta no forum para ligar a rev Arquivos para download a baixo: System do Projeto Revisão do Projeto #27
  43. 7 points
    https://www.mediafire.com/file/8rwa5ftho5g4pio/SGERfjs_KingofBeasts.rar/file
  44. 7 points
    L2jDev Venho ak Postar a suposta Pack da L2jDev e a Source baseada em L2jNetworks e na L2jMega Motivo paguei por um código, e o mlk não me deu o que combinamos e me ofereceu a pack supostamente funcionando porem na hora de entregar me deu um monte de pack com o codigo imcompleto e como paguei tenho o direito de fazer o que bem intender suportamente seria esta pack mas não é a mesma Player Fake Frozen http://www.mediafire.com/file/z9r7ibe156ajl1g/source-px.rar/file Player Fake L2jMega com Source http://www.mediafire.com/file/a4wqrh6crmdsux5/L2jMega-source.rar/file Correção pra L2jMega http://www.mediafire.com/file/od15xygqiwdu2vd/dist.rar/file DataPack http://www.mediafire.com/file/4asev73eapx9p3z/datapack.rar/file e por fim a ulta tentativa de me enganar dizendo que era a pack do video http://www.mediafire.com/file/8xq66hxnbf8c651/BLASTER.rar/file caso o links caiam eu posto tudo dnv... ainda assume que não me deu a rev certa. Links Atualizados!!!!
  45. 7 points
    System Atualizada Notas de Atualização: Version 1.3 Update: Faenor testado - All Coin adicionado. Staff AIO adicionada no Shop Prime. Considerações: #1 -> All Coin: Evento de drop global da Lord Adena para auxiliar o farm, o teste e a progressão dos personagens no servidor de teste. Quantidade de drop: 1 a 3 LA por mob morto. Chance de drop: 75%. OBS: para quem vai somente atualizar lista dos arquivos que mudaram segue abaixo: LISTA
  46. 7 points
    Tópico Refeito e Repostado. NewErabySmallz Tamanho: 2,9 MB Créditos: Systextures e Animations: • WilliamFS Server e System: • Smallz'
  47. 7 points
    @Todos Galera, seria bem legal se vocês começassem a desenvolver algumas coisas pra revisão e postassem no forum (customs, etc...);
  48. 7 points
    JBlueHeart v1.1 - Dress Me Mod Para quem já estiver modificando a revisão e não quiser adicionar tudo de novo (para não perder o que fez), segue o passo a passo para adicionar o dress me da JBlueHeart 1.1 para a 1.0: copiar ou comparar o conteúdo dessas pastas: modified: game/config/main/L2JMods.ini modified: game/core.jar added: game/data/html/sunrise/dressme/ added: game/data/xml/sunrise/dressme/ added: game/data/xsd/dressme/ Também é necessário rodar a SQL: \databaseSQL\dressmeSQL\item.sql A noite se der tempo, vou ajeitar o post principal;
  49. 7 points
    O @TurtleLess tinha o código do .dressme para sunrise, estamos implementando, quando estiver pronto e testado, posto o release;
  50. 7 points
    Faz muito tempo que não faço nada para Lineage2, principalmente a respeito de site e design, então resolvi tirar a poeira do fireworks e fazer um layout pra dar uma aquecida. O que acharam?



     



  • Newsletter

    Want to keep up to date with all our latest news and information?

    Sign Up
×
×
  • Criar Novo...