Ir para conteúdo
Facebook Whatsapp Twitter Youtube

Os Melhores

Conteúdo popular

Mostrando conteúdo com a maior reputação em 02/07/25 in todas as áreas

  1. Fiz esse script ja tem um tempo, talvez seja util para alguem. O monstro ja vem linkado no chat, basta clicar e o auto caminho do jogo te leva até as coordenadas atual do boss. Vá ate function EventOnPlayerChat no script.lua e adicione: if chanel == 1 and cmdlist[1] == "!boss" then local bosses = { {id = 19462, nome = "Profundeza"}, {id = 19463, nome = "Mistério"}, {id = 19464, nome = "Devorador das Trevas"}, {id = 19465, nome = "Servo Fantasma"}, {id = 19466, nome = "Lança da Morte"}, {id = 19467, nome = "Perfurador de Corações"}, {id = 19468, nome = "Alfa"}, {id = 19469, nome = "Escudo Apu"}, {id = 19470, nome = "Sombra das Trevas"}, {id = 19471, nome = "Colecionador de Sons"}, {id = 19472, nome = "Caçador de Alma"}, {id = 19473, nome = "Rei do Chifre Dourado"}, {id = 19474, nome = "Guerreiro Mosca do Céu"}, {id = 19475, nome = "Espada Demoníaca"}, {id = 19476, nome = "Aniquilador de Aranhas"}, {id = 19477, nome = "Facão Demoníaco"} } for _, boss in ipairs(bosses) do local pNpc = game__GetObjectVar(NPC_COORDS_BY_TID, 0, boss.id) if pNpc == 0 then game__ChatMsg(CHAT_SINGLE, roleid, 11, "^FF8000" .. boss.nome .. ": Aguardando Respawn...", -1) else local x, y, z = game__GetCoordDataClient(pNpc) local sx, sy, sz = game__GetCoordData(pNpc) game__ChatMsg(CHAT_SINGLE, roleid, 11, "<11><"..boss.nome.." - Está nas coordenadas: "..int(x)..", "..int(z).."><1,"..int(sx)..","..int(sy)..","..int(sz)..">", -1) end end return 0 end Resultado:
    2 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]
    1 ponto
  3. Estou divulgando aqui publicamente meus projetos , Links: Qualquer erro ou duvida na compilação, manda mensagem (não ensino do 0, pelo menos tenha base de conhecimento no que irá mexer) Se quiserem me chamar para algum projeto, estou à disposição… Em anexo, imagens do pwAdmin em QT C++,
    1 ponto
  4. 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
    1 ponto
  5. Olá a todos. Esse Editor de Gshop versões de arquivo .data 1.3.6-1.4.2, 1.4.2 V27, 1.4.2-1.4.3, 1.4.4-1.5.1, 1.5.2-1.5.3 GShop Editor By Luka.rar
    1 ponto
  6. 1 ponto
  7. Npcgen Data editor by Luka O Editor de NPCGen teve uma atualização Adicionado Offsets para 1.7.2 x64 e 1.7.6 x64 Agora o editor tem suporte a API do RAE, para funcionar corretamente, deve estar com o Rody Angelica Editor aberto com o elements carregado. NetFramework 4.8.1 Adicionado o projeto HelperProcess, devido a API do RAE somente estar disponível em x86, para que consiga pegar coordenadas de endereços x64 do elementclient. Compile em x86 para funcionar corretamente com a RAE API. Source Code: [Conteúdo Oculto] Screenshots: codigo fonte: [Conteúdo Oculto] binarios: [Conteúdo Oculto]/releases NpcGen v174 by Luka updated by Haly.rar NpcGen.v176.updated.by.Haly.rar
    1 ponto
  8. Feito via dll PWApi x64. Por algum motivo o ‘CECIvtrItem::CreateItem’ não reconhece ID de flecha como item, então acaba ficando como “Item Errado”, fora isso, todos os item são exibidos com descrição normalmente.
    1 ponto
  9. Arquivos para você iniciante que mexe com Photoshop. Não está muito completo mas acho que é o bastante para estudar e iniciar. • Logos PSD • Banner PSD para facebook • Sites em HTML • Launcher • Personagens PNG e diveros Download: Clique aqui
    1 ponto
  10. 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
  11. Recentemente um usuário do grupo de devs com nick de "Alien" disponibilizou algumas alterações que ele fez em sua src gratuitamente. Então eu estou vindo aqui divulga-las e disponibilizar o arquivo que ele nos enviou pois são simplesmente muito boas! Ps: precisa saber o que está fazendo para poder implementar, eu precisei criar alguns getters para o código funcionar. Prints da minha implementação abaixo: edits.txt
    1 ponto
  12. As vezes preciso e muita das vezes me pedem, segue uma database limpa pw.sql.zip
    1 ponto
  13. 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
  14. #!/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
    1 ponto
  15. PWIconListEditor.exe
    1 ponto
  16. 1 ponto
  17. Boa tarde, estou limpando meu computador e vou anexar algumas coisas interessantes que fui fazendo ao longo dos anos para facilitar meu trabalho de desenvolvimento. Essa ferramenta eu usei na minha versão 1.5.5 para trabalhar com mapas. Complementando o tutorial: Além de você conseguir o tamanho correto dos mapas base_region e local_region, você conseguirá unificar os minimaps para usar em ferramentas como: editor de region, precinct, path, npcgen e afins. A ferramenta transforma isso: Em isso: A ferramenta é em python, e não fiz uma interface, você precisa ter o python instalado em seu PC (só dar um google). E instalar a lib pillow: Use alguma dessas opções: Depois basta configurar: Na própria imagem tem as descrilções. Se você perceber cada minimapa (surfaces/minimaps) tem 256x256 pixels, Para saber o tamanho do mapa, você precisará multiplicar 256 pela quantidade de imagens até a borda do mapa, isso você poderá fazer visualmente com base na imagem do ingame. No meu caso no a106 foram 8 horizontal, e 8 na vertical, então ficou 8x256² = 2048x2048, mas se for 512x512 você coloca ali, se for 1024x1024.. assim por diante. Salve e dê o comando usando CMD do windows: ou Pronto, sua imagem estará pronta, dai você conseguirá usar nos programas que informei acima. Basta você configurar como o exemplo que dei acima no arquivo de configuração xml. Nota que o meu mapa está -2000, porque mapas acima de 1024 eu costumo usar 1000, 2000 e afins, para tirar um pouco a borda do mapa. Mas você pode sim usar -2048, porque é o limite do mapa. Baixar a ferramenta: unify.py
    1 ponto
  18. 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
  19. pwAdmin~1.rarpwAdmin do Alien com ums fix ServerpwAdmin.rar testado no Debian 12 lembrando a src e do Alien Se estiver com erro quando abrir o pw amd verifique as .data o erro pode esta nelas pequenos fix apenas para evitar o fechamento do ,exe
    1 ponto
  20. 1 ponto
  21. Fixador de itens acima da versão 1.5.5 [Conteúdo Oculto]
    1 ponto
  22. Editor de região para perfect world postado no forum ragezone, Region Editor by Jolan Region Editor.rar
    1 ponto
  23. Hoje vou ensinar de forma bem simples de como trabalhar com o SDK 3.0.5 do Mercado Pago Requisitos → php >= 8.2 composer 1 – com o composer já instalado, abra o terminal e navegue até a pasta do seu projeto e baixe o sdk: composer require "mercadopago/dx-php:3.0.5" após o download irá criar uma pasta chamada vendor que usaremos no passo a seguir 2 – crie um arquivo na raiz do projeto chamado pix.php e cole o seguinte conteudo: pix.php <?php $access_token = '??????'; $notification_url = '[Conteúdo Oculto]'; $external_reference = 123; $description = 'Doação de R$5,00'; $donate_value = 5; require_once 'vendor/autoload.php'; use MercadoPago\Client\Payment\PaymentClient; use MercadoPago\Exceptions\MPApiException; use MercadoPago\MercadoPagoConfig; MercadoPagoConfig::setAccessToken($access_token); $client = new PaymentClient(); $request = [ "transaction_amount" => $donate_value, "description" => $description, "external_reference" => $external_reference, "notification_url" => $notification_url, "payment_method_id" => "pix", "payer" => [ "email" => "[email protected]", ] ]; $payment = $client->create($request); ?> Explicação: $access_token = O token que o mercado pago gerou ao criar seu App $notification_url = Url de notificação, quando o status do pagamento for alterado será enviando uma notificação para esta URL $external_reference = Uma referencia externa ÚNICA para indetificar o pedido futuramente $description = Descrição do pedido $donate_value = Valor do pedido Para visualizar oque o retorno do mercado pago de forma detalhada você pode usar o var_dump, exemplo: ... $payment = $client->create($request); echo '<pre>'; var_dump($payment); echo '</pre>'; Se der tudo certo você já verá os dados do pix Por exemplo, para exibir a imagem do QRCode: ... $payment = $client->create($request); /* echo '<pre>'; var_dump($payment); echo '</pre>'; */ echo '<img src="data:image/png;base64,'.$payment->point_of_interaction->transaction_data->qr_code_base64.'" />'; Você pode fazer o mesmo para o boleto, exemplo invez de usar "payment_method_id" => "pix", use "payment_method_id" => "bolbradesco", e para pega a URL do boleto echo $payment->transaction_details->external_resource_url; Agora vamos criar o arquivo “mercado-pago.php” que será responsável por receber as notificações do nosso pedido e atualizar o mesmo O mercado pago envia o dados do pedido para o mercado-pago.php capture o ID e use a função get() da classe PaymentClient para obter os dados do pedido atualizado mercado-pago.php <?php $access_token = '??????'; require_once 'vendor/autoload.php'; use MercadoPago\Client\Payment\PaymentClient; use MercadoPago\MercadoPagoConfig; MercadoPagoConfig::setAccessToken($access_token); $client = new PaymentClient(); $mercado_pago = json_decode(file_get_contents('php://input')); if(isset($mercado_pago->data->id)){ $client = new PaymentClient(); $payment = $client->get($mercado_pago->data->id); $status = $payment->status; $external_reference = $payment->external_reference; } Use o var_dump para visualizar os dados detalhadamente, mas com o exemplo acima eu já deixei o status e o external_reference Como isso você ja pode verifica se o pedido foi pago e entregar o Gold para o jogador hehe if($status == 'approved'){ //envia o gold para a conta } Github: [Conteúdo Oculto] Documentação: [Conteúdo Oculto]
    1 ponto
  24. É 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
    1 ponto
  25. Sistema Operaciona: Linux Ubuntu versão 14/16 1° Instale o WinSCP e o PuTTYgen 3° Logue-se na vps usando o programa PuTTYgen ou WinSCP anexado : 2° Coloque os dados da sua VPS e execulte os comandos abaixo Comandos Usados apt-get update apt-get install -y apache2 apt-get install -y mysql-server apt-get install -y openjdk-7-jre apt-get install -y php5 apt-get install -y php5-mysql apt-get install -y phpmyadmin sudo apt-get install -y libapache2-mod-php5 dpkg --add-architecture i386 apt-get update apt-get install -y libgtk2.0-0:i386 libpangox-1.0-0:i386 libpangoxft-1.0-0:i386 libidn11:i386 gstreamer0.10-pulseaudio:i386 gstreamer0.10-plugins-base:i386 gstreamer0.10-plugins-good:i386 sudo apt-get update sudo apt-get install libssl1.0.0 libssl-dev cd /lib/x86_64-linux-gnu sudo ln -s libssl.so.1.0.0 libssl.so.10 sudo ln -s libcrypto.so.1.0.0 libcrypto.so.10 Na versão 16 alguns comandos da erro, mas muda pouca coisa, segue: apt-get install -y openjdk-9-jre apt-get install -y php apt-get install -y php-mysql sudo apt-get install -y libapache2-mod-php Créditos:revolts putty-64bit-0.78-installer.msi WinSCP-5.21.7-Setup.exe
    1 ponto
  26. Usa o RAE No elements a versão é exibido no título da janela do programa No tasks a versão fica no canto inferior direito [Conteúdo Oculto]
    1 ponto
  27. Créditos fórum russo instalação Surfaces/ingame emoticon.rar
    1 ponto
  28. Editor de GFactiond 1.4.8.zip Editor de GFactiond 1.5.0.zip Editor de GFactiond 1.5.1.zip Créditos @Bola xDarK broadcaster.rar
    1 ponto
  29. Apresento o meu projeto de Ranking PVE, agora disponível para venda em meu site! Demo: [Conteúdo Oculto] Ranking Forja; Ranking Coleta; Ranking Drop; Quando clica em um personagem: Modal de informações de recompensas Histórico de Resets + detalhes no link: [Conteúdo Oculto] Agradecimentos especiais ao @Shepiro por confiar no meu trabalho e ainda, fornece o server para testes.
    0 pontos
  30. Abrir o editor AngelicaMapEditor. Obter as coordenadas iniciais (X.Y.Z) no modelo 3D. Mover o modelo 3D para uma nova posição e, em seguida, obter as novas coordenadas (X.Y.Z). Clicar em "Calcular" para gerar os seguintes resultados: Direção do Vetor: DirX = 1.0000 DirY = 0.0000 DirZ = 0.0000 Vetor Up: UpX = 0.0000 UpY = 1.0000 UpZ = 0.0000 Fix de seleção.rar
    0 pontos

Suporte GM

Comunidade de Perfect World do Brasil

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

Links

×
×
  • Criar Novo...