Ir para conteúdo

danielzinh

Membros
  • Total de itens

    523
  • Registro em

  • Última visita

Tudo que danielzinh postou

  1. MySQL interliga os servidores de uma rede e adivinha? Skript é capaz de usar MySQL, e eu consigo sim usar algo fora do Minecraft, pois com o mesmo MySQL eu consegui integrar Skript no PHP e criar um integrado com meu servidor. ;D
  2. prove. crie seu tópico provando o contrário do meu se for capaz, um tópico DE 2016 não vai mudar meu conceito.
  3. Não faço ideia do que seja isso, mas mesmo "sendo" uma merda de se fazer, ainda é possível, então você não provou NADA que não serve em projetos grandes.
  4. Prove que é não é para projetos grandes ? pois eu provei que é, acho que seu argumento é inválido ou você tem algum tipo de transtorno que não permite ler o tópico.
  5. Tenho com orgulho, não me desfaço dela nem por um cacete, tenho moral pra dizer que você está errado em TANTOS NIVEIS DIFERENTES já que o que você ta dizendo está errado, fazendo papel de hipócrita, e já contatei o Coordenador responsável pela minha área sobre essas AFRONTAS que está a falar no meu tópico.
  6. ok amigo! vai dormir que você ta precisando, quando resolver parar de falar coisas sem sentido e PROVADAS QUE ESTÃO ERRADAS no PRÓPIO TÓPICO você vai parar de passar vergonha aqui.
  7. Não usei em uma máquina com i9-30000K pois assim, não veria resultados, optei por fazer o teste em meu computador pessoal que tem um poder de processamento relativamente fraco para provar que até em um computador PODRE o skript pode rodar sem muitas baixas e com um código pesado.
  8. Não curto Craftbukkit pois não presta Skript, mas para seu uso o Craftbukkit é o melhor pois há mais suporte para plugins. Em caso de otimização, entre Tacospigot e Paperspigot, recomendo o Tacospigot pois é muito mais otimizado. Em caso de servidor com modpacks, recomendo o Cauldron Em caso de servidor com muita RAM e alto poder de processamento, recomendo Spigot.
  9. Do mesmo jeito, a média de TPS não passou de 0.30, algo talvez irrelevante, não significa que estava a carregar os chunks, não há nada haver com isso pois o meu Jogador já estava logado no mapa faziam algumas horas, antes de realizar os testes, eu estava testando que código usar no teste, minha teoria do motivo do TPS ter elevado é por conta de eu ter fechado o Google alguns minutos depois. Obrigado hihihi Concordo com você! Nossa me da um autógrafo, sou teu fã
  10. realmente cruel o que houve lá, meus pêsames a familia das vítimas.
  11. Boa sorte nas vendas, poderia colocar fotos de demonstração, videos são chatos ?
  12. Tenho disponivel um FX-6300, mas optei pelo A4-7300 por ser mais fraco, em um possível #2 talvez eu use os dados de ambos para uma melhor comparação.
  13. VirtusHost, mas, todas as hosts brasileiras tem fama de ter um péssimo anti-ddos e infra estutura horrivel, mas nunca comprovei.
  14. Boa sorte nas vendas, mas não acha que está meio caro não? Poderia incluir no tópico a versão que ele roda.
  15. danielzinh

    Skript laga? - #1 Loops

    Olá a todos, depois do brasileiro inventar o mito do Skript laga, resolvi dar um basta nisso com um teste para ver se... realmente laga mesmo? vamos então aos testes definitivos e veremos. Esse mito de que o servidor laga bem de um brasileirinho (idiota) que decidiu criar um servidor inteiro em .sk com um processador horrível a um tempo atrás, espalhando a falsa sensação de lag, e as pessoas """maria vai com as outras""" acham o mesmo, apesar de nunca terem comprovado isso. Os testes serão realizados no meu computador pessoal, que tem um poder de processamento significantemente antigo, com as seguintes configurações: Processador A4-7300 (SIM, BEM BOSTA, POR ISSO ESCOLHI ELE PROS TESTES) Memória RAM 8GB DDR3 Usaremos a versão 1.8.8 do minecraft com Spigot e Skript 2.2 dev-27 com alguns addons do tipo SkQuery 3+ e SkUtilities 0.9.2. Primeiro, vamos ver o nosso TPS BASE SEM SKRIPTS Temos uma média de 19.47~19.52 de TPS sem Skripts e nem nada do tipo, vamos agora, colocar um código relativamente grande, que faz um LOOP, verificando a cada 1 segundo, os blocos a um raio de 5 bloco de 1 jogador, eu no caso. every 1 second: loop all players: loop all blocks in radius 5 around loop-player's location: add 1 to {_x} broadcast "Loop: %{_x}% blocos!" Tivemos um aumento na faixa de TPS, pode ser conscidencia, pois pode ser que nosso processador decidiu dar tudo de si justo agora, como diriam os profissionais estoriadores (devs) Então... vamos reduzir o 1 second para 5 ticks, 4/1 mais rapido e aumentar o raio para 16 blocos. every 5 ticks: loop all players: loop all blocks in radius 16 around loop-player's location: add 1 to {_x} broadcast "Loop: %{_x}% blocos!" Não tivemos percas, muito pelo contrário, nosso TPS ficou melhor por algum motivo desconhecido, mas, os devs diriam que estou roubando, bom, se esse é o caso, saia do tópico, não quero convencer a você ? Claro que esse é um loop de 1 só jogador, então vamos aumentar a dose, e simular como se tivessem 996 (4188880/4202) jogadores no servidor aumentando os valores muito mais, vou deixar um código assim: every 1 tick: loop all players: loop all blocks in radius 100 around loop-player's location: add 1 to {_x} broadcast "Loop: %{_x}% blocos!" oloko que pesado Esse código diminuiu 1 ponto do meu TPS e elevou meu processador aos 100% preciso trocar de processador RISOS Já vimos que com 996 (4188880/4202) jogadores ON e com um loop de aproximadamente 10 blocos a cada tick, vai travar seu servidor se você usar um processador bosta como o meu. Vamos simular uma situação real, aceitável onde a pessoa tenha que usar um loop a cada 1 segundo que loope todos os blocos ao redor de 10 blocos de um jogador, pode acontecer, então vamos usar esse código simulando uma quantia de mais ou menos 996 (4188880/4202) jogadores, só que com 2 segundos. every 2 seconds loop all players: loop all blocks in radius 100 around loop-player's location: add 1 to {_x} broadcast "Loop: %{_x}% blocos!" O CÓDIGO ACIMA FOI FEITO PARA SIMULAR 996 (4188880/4202) JOGADORES EM UM LOOP A CADA 2 SEGUNDOS COM UM LOOP DE TODOS OS BLOCOS A UM RAIO DE 10 BLOCOS. preciso deixar claro que a média de tps caiu um pouco. ficando entre 19.50 a 19.65 com uma margem de erro de mais ou menos 3 a 6% supondo que são unidades de milhar. every 2 seconds: loop all players: loop all blocks in radius 10 around loop-player's location: add 1 to {_x} broadcast "Loop: %{_x}% blocos!" Código usado (JÁ PRESCRITO ACIMA) Resultado dos testes: tivemos uma baixa de quase 4.5 pontos no nosso TPS com uma simulação de 996 jogadores, mas espera... como chegamos a esse número de 996 jogadores? como posso provar isso? simples. Se pegarmos o numero de blocos APROXIMADO de um loop de 10 raios, temos aproximadamente 2500~5000, usei o numero 4202, e dividi pelo valor de blocos do loop de 100 blocos, 4188880, assim, chegando em tal resultado, tendo uma margem de erro de até 7%. Claro que tem vários fatores que pesam um servidor, RAM, entre outros, mas o principal, que foi testar o Skript com os loops sem frescura, já foi comprovado que aguenta uma média de 200 jogadores diminuindo o TPS em aproxidamanete 1.2 somente. Esse foi um teste básico, existem muitos outros fatores que não inclui aqui, mas eu acho que consegui quebrar o mito de que o skript LAGA MUITO, já que, a ideia na cabeça de quem diz isso, é que o skript lague absurdamente, mas, isso acaba de ser DESMENTIDO. fora que o processador usado é um processador ANTIGO, COM POUCO PODER DE PROCESSAMENTO, vale a pena destacar e considerar. Não vai ser o ultimo tópico que falarei sobre Lag em SKRIPT, provavelmente terão mais. Skript LAGA SIM SE USO EM EXCESSO, ISSO FOI COMPROVADO NESSE TÓPICO E NÃO POSSO FALAR O CONTRÁRIO, POR ISSO, SEUS SKRIPTS DEVEM SER OTIMIZADOS DA MELHOR FORMA POSSÍVEL, EVITANDO AO MÁXIMO LOOPS E QUALQUER OUTRO EVENTO QUE SE REPITA COM MUITA FREQUÊNCIA. @edit quero deixar claro que dispenso comentários de pessoas falando que estou errado sem provas, se for fazer sua opinião, peço que comprove-as para não gerar dúvidas entre os leitores do tópico.
  16. Também testei algo parecido a um tempo com esse código em Skript, mas não obtive resultados, eu consegui usando API de um site, faça um request com java para a API de algum site que libera isso, assim você pode obter um resultado que quer até melhor do que pensou.
  17. excelente plugin, estarei usando no meu servidor com certeza.
  18. Olá, tire o plugin de geração (PlotMe-DefaultGenerator.jar) e tente gerar o mundo com o comando /mv create plotworld normal -g PlotMe Me diga se obtém resultados, mas caso precise realmente do DefaultGenerator, me diga se aparece algum erro no console e a versão do seu servidor, assim como se possível o arquivo config.yml.
  19. kkkkkkk boa mano, acho que entendi o motivo de ter feito esse plugin, certas pessoas cobram o olho da cara para fazer um plugin básico desse, não vou nem citar nomes
  20. Link do .sk puro com problema; Crítica construtiva: não entendi a PORRADA de marcações no .sk com itens aleatórios que fazem parecer que seu monitor está sujo Um metodo essêncial de otimização para Skripts, já que se feitos de forma errada, realmente podem travar seu servidor, é eliminar todas as variaveis. {LJetpack.%player%} = false em vez de usar isso, você pode deixar a variavel não definida, e em vez de usar if is false, use if is not set já removeria a variavel padrão do player, otimizando um pouco. você usa muitos ifs, mas não vi em nenhum momento usar algum "else if", que é muito importante para seu código, passe a usar mais else if em vez de uma porrada de if. if arg-1 is not set: if arg-1 is "reload": if arg-1 is "give": if arg-1 is "give": Seu código tem muitas opções configuráveis, gostei disso, e deveria continuar nesse rumo; belo skript, seu código está bem básico ainda, mas está tendo o caminho certo, boa sorte.
  21. on region leave: wait 1 tick if "%region%" is "repulsao": clear player's inventory @edit não testado.
  22. KKKKKKKK morri demais vendo as prints são umas pragas mesmo.
  23. Muito bom, mas está mal otimizado, poderia melhorar, eis aqui algumas dicas para tornar seu código melhor: {eticket1-10} Tirar essas variáveis e substituir por arrays {x::*}, além de poder ter números ilimitados em vez de só 10, é muito mais responsivo e curto. .............. if {eticket1} is not set: add player to {jaenviouticket::*} set {eticket1} to player send "&aTicket enviado!" send "&aAguarde pela resposta!" set {ticket1} to arg-1 if {suporteonline::*} contains loop-player: send "&a&lNOVO TICKET!" to loop-player send "&2&lDUVIDA - &2%{ticket1}%" to loop-player send "&aEnviado por: %{eticket1}%" to loop-player send "&aID DO TICKET (&l> 1 <&a)" to loop-player send "&aPara responder, use &2&l(/responderticket 1 <resposta>)" to loop-player else if {eticket2} is not set: set {eticket2} to player send "&aTicket enviado!" send "&aAguarde pela resposta!" set {ticket2} to arg-1 add player to {jaenviouticket::*} if {suporteonline::*} contains loop-player: send "&a&lNOVO TICKET!" to loop-player send "&2&lDUVIDA - &2%{ticket2}%" to loop-player send "&aEnviado por: %{eticket2}%" to loop-player send "&aID DO TICKET (&l> 2 <&a)" to loop-player send "&aPara responder, use &2&l(/responderticket 2 <resposta>)" to loop-player m vez de uma porrada de else if, você poderia encurtar seu código com esse simples código: loop 10 times: if {eticket%loop-number-2%} is not set: add player to {jaenviouticket::*} set {eticket%loop-number-2%} to player send "&aTicket enviado!" send "&aAguarde pela resposta!" set {ticket%loop-number-2%} to arg-1 if {suporteonline::*} contains loop-player-1: send "&a&lNOVO TICKET!" to loop-player-1 send "&2&lDUVIDA - &2%{ticket%loop-number-2%}%" to loop-player-1 send "&aEnviado por: %{eticket%loop-number-2%}%" to loop-player-1 send "&aID DO TICKET (&l> %loop-number-2% <&a)" to loop-player-1 send "&aPara responder, use &2&l(/responderticket %loop-number-2% <resposta>)" to loop-player-1 mesma coisa para o comando /responderticket ;D
×
×
  • Criar Novo...