Tudo que Sammy postou
-
[Resolvido] Como mudar os icones do client
Os seguintes arquivos podem ser editados e encontra-se na pasta do client: Tibia.spr = Items do Servidor Tibia.pic = Imagens do client, fundo, icones, etc... Baixe aqui, os dois executaveis para editar os arquivos. Boa sorte, TK a disposição.
-
[Resolvido] Erro ao fechar Putty do meu VPS
Para abrir o servidor na pasta do servidor digite screen ./theforgottenserver Quando ele terminar de abrir aperte tudo junto CTRL+A+D Para ver o console novamente digite screen -r , para sair o mesmo procedimento acima, CTRL+A+D. A disponha.
-
O distro que eu compilei dá erro quando alguém tenta entrar no server
Faça os testes, tente usar outra distro, se logar normal, é porque o erro está na distro nova.
- Spells Bugada
-
[Resolvido] Ajuda, proteger ot de ataques DDoS
Olá, primeiramente, você está usando 3 "AntiDDoS", só aí já fica um Conflito e nemhum protege nada, quanto menos usar melhor, não são eles que fazem o milagre. Recomendo usar só 1. Recomendo também contratar um VPS/Dedicado com Bandwith maior que 100mbps e/ou 1GBPS, pois a sua é de 10mbps vai ser fácil de ser down. Quando contratar a VPS de 1000mbps, continue usando o Guardian, ou migre para Linux com uma boa regras no IPTables, Enjoy. Dúvidas só postar.
-
[CTF] Capture The Flag 2.0(Automático)
Olá! Caro Amigo Max, venho deste texto lhe agradeçer o quanto eu o precisava desse Script! Mais do que um presente, o que me deixou mais feliz foi sua atitude. Todos os agradecimentos seriam poucos para demonstrar a minha alegria e a satisfação por ter lembrado do meu script. Essa mensagem é um simples gesto de carinho diante da grandiosidade do seu coração. Agradeço mais uma vez pelo momento maravilhoso que você proporcionou com a sua lembrança. Saiba que você sempre teve o meu respeito e admiração. Por isso, diante dessa surpresa, eu não pude conter a minha ansiedade de dizer: Mil vezes obrigado e um grande abraço caro amigo Max! Conte comigo oque preciso for. 10 Beijos.
-
TibiaFull - Testes.
#Estou muito ancioso para seu projeto caro amigo! Meu nick é Sammy, prazer, vamos testa-lo?! Apoio total pra você!
-
Meu pai vai me dar! Segunda feira ele ta chegando...
Paga proteção (seguro) também, se não o System vai derrubar.
-
No-LAg
Você já está confundindo as coisas... Se o assunto é Ping "Latencia", então não é o VPS, é a largura de Banda da empresa que está fornecendo o mesmo. Se você pegar um VPS de 4GB por exemplo, direto em uma "DATACENTER", você não terá esse problema de Pings não, e também não vai travar e não vai te dar Lags. Agora sobre essas empresas revendedoras, Aí já não posso me meter nesse assunto meu amigo, porque eu não pego de revendedoras pra evitar esses tipos de problemas, porquê todas fazem uns esquemas para ganhar mais encima, nimguém é bobo. E esse VPS de 4GB 110,00 tá caro em? Pago 60,00 direto na datacenter OVH com cartão Internacional. Dedicado também tá caro. As únicas diferenças entre Dedicado e VPS, eu já falei aonde estão, por favor, visite ESTA PAGINA.
-
No-LAg
Qual o seu defeito contra Linux? Linux é bom tanto para VPS tanto para DEDICADOS, a distro do Linux é totalmente modificada, e além da proteção de Windows. Não entendi oque você quis dizer sobre Linux para VPS é fraco. Eu acho assim, que varia de empresa pra empresa, se a empresa for revendedora, e tiver muitos servidores hosteado juntos compartilhando os mesmos hardwares para as maquinas em um só local, pode haver problema mais isso vai do cara que vai contratar, ele tem que escolher uma revendedora boa. Não vejo problemas em pegar um VPS direto na limestone (um exemplo), seja o hardware que for (processamento), fico bem mais protegido que Windows, e além disso tem ferramentas adicionais, como MySQL Tunner, entre diversas opções que o usuário pode fazer, fora que Linux usa 30% menos de memória & processamento, e Linux é bem mais leve que Windows. Só quem conheçe Linux sabe.
-
Dedicado ? Semi dedicado?
Um dedicado é um servidor só seu ou seja, toda a potencia do processador e link esta em uso apenas para o seu site,enquanto um semi-dedicado é compartilhado em geral entre uns 4 ou mais servidores, dependendo da host. Para um site de baixo movimento, você pode usar uma hospedagem virtual (onde uma série de servidores compartilha diversos sites). Site dedicado e semi só para sites de alta capacidade e visitação. Resumindo... Se seu mapa tiver mais de 100mb+, e você quer montar um servidor sério que possa aguentar uma capacidade de jogadores maior, use um Dedicado, pois a Banda+Processador só sera usada por você, dificilmente haverá lags no servidor, Se quiser mais proteção também, pois se você comprar um dedicado de 1000mbps full "total", só pra seu dedicado, o cara para te derrubar precisa ser superior a isso, ou seja, não é qualquer um que vai te derrubar. Grande abraço.
-
[CREATURESCRIPTS] Skills em Stages
Olá Com este script poderemos colocar todas skills em stages, (First, Club, Magic, Axe, Sword, Distance & Fishing). Vamos em data/creaturescripts/scripts criamos um arquivo "stagesconfig.lua" skillConfig = {skill = getConfigValue('rateSkill'), magiclevel = getConfigValue('rateMagic')} skillStages = {} skillStages[SKILL_FIST] = {{0,8},{60,5},{80,3},{100,2}} skillStages[SKILL_CLUB] = {{0,8},{60,5},{80,2},{100,1}} skillStages[SKILL_SWORD] = {{0,8},{60,5},{80,2},{100,1}} skillStages[SKILL_AXE] = {{0,8},{60,5},{80,2},{100,1}} skillStages[SKILL_DISTANCE] = {{0,8},{60,5},{80,2},{100,1}} skillStages[SKILL_SHIELD] = {{0,9},{60,8},{80,7},{100,6},{110,3}} --skillStages[SKILL_FISHING] = {{0,5},{60,4},{80,3},{100,2},{110,1}} -- voce pode retirar os -- desse script para ativar, por padrao esta desativado skillStages[SKILL__MAGLEVEL] = {{0,10},{6,5},{15,7},{80,5},{90,2},{99,1}} showInfoOnAdvance = true -- envia uma nova mensagem com a sua nova rate showInfoOnLogin = true -- envia mensagem da rate ao jogador ao logar function getPlayerSkillRatesText(cid) local skillInfo = getPlayerRates(cid) return "YOUR RATES: [ Magic Level: " .. skillInfo[SKILL__MAGLEVEL] * skillConfig.magiclevel .. "x || Fist: " .. skillInfo[SKILL_FIST] * skillConfig.skill .. "x | Club: " .. skillInfo[SKILL_CLUB] * skillConfig.skill .. "x | Sword: " .. skillInfo[SKILL_SWORD] * skillConfig.skill .. "x | Axe: " .. skillInfo[SKILL_AXE] * skillConfig.skill .. "x | Distance: " .. skillInfo[SKILL_DISTANCE] * skillConfig.skill .. " | Shielding: " .. skillInfo[SKILL_SHIELD] * skillConfig.skill .. "x | Fishing: " .. skillInfo[SKILL_FISHING] * skillConfig.skill .. "x ]" end Logo em seguida criamos outro na mesma pasta com o nome "skillstagesadvance.lua" dofile(getDataDir() .. "creaturescripts/scripts/stagesconfig.lua") function onAdvance(cid, skill, oldLevel, newLevel) if(skillStages[skill] ~= nil) then local skillRate = 1 local oldRates = getPlayerRates(cid) for i, skillRateInfo in pairs(skillStages[skill]) do if(newLevel >= skillRateInfo[1]) then skillRate = skillRateInfo[2] else break end end doPlayerSetRate(cid, skill, skillRate) if(showInfoOnAdvance and skillRate ~= oldRates[skill]) then if(skill >= 0 and skill <= 6) then configRate = skillConfig.skill else configRate = skillConfig.magiclevel end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, SKILL_NAMES[skill] .. " Rate changed from " .. oldRates[skill] * configRate .. "x to " .. skillRate * configRate .. "x. " .. getPlayerSkillRatesText(cid)) end end return true end Em creaturescripts.xml coloque: <event type="advance" name="SkillStagesAdvance" event="script" value="skillstagesadvance.lua"/> Enjoy!
-
Falta aparecer a informação de "Premium Points" que tem na Account
http://pastebin.com/w2DSMxTx
-
Problema ao executar Otserv
Recompile novamente. chmod 777 ./theforgottenserver screen ./theforgottenserver
-
PEDIDO /ban bugado 9.6
Então é a distro. Tenta banir clicando com botão direito no player > rule violations > escolhe o motivo, e Ban! Enjoy.
- No-LAg
-
PEDIDO /ban bugado 9.6
<talkaction log="yes" words="/ban" access="2" event="script" value="ban.lua"/> function onSay(cid, words, param, channel) local t = param:explode(",") local name, days = t[1], tonumber(t[2]) local player = getPlayerByName(t[1]) if name then if days then local acc = getAccountIdByName(name) if acc ~= 0 then local tempo = days * 24 * 3600 doAddAccountBanishment(acc, target, os.time() + tempo, 5, 2, 'Banido por desrespeito.', 0) doRemoveCreature(player) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este player não existe.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode adicionar essa quantidade de dia(s) de dias de banimento.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "esse player nao existe.") end return TRUE end
-
Modo Hard (Anti SQL Injection)
Olá! Bom, primeiramente, oque é SQL Injection? LEMBRANDO QUE: Como OTServ's usa MySQL & PhpMyAdmin, não é muito necessário estar utilizando os AntiSQL, não é "necessário" mais é "bom" prevenir, pois talvez seu site tem alguma falhinha de SQL Injection por cmd e você não sabe, então é bom prevenir, Se for Gesior ACC, é bom estar utilizando apenas "uma" função, não use várias para não entrar em conflito, isso pode prejudicar e falhar as seguranças do site. Aqui abaixo eu vou postar as mais usadas formas de proteger contra isso, pode ser inserida no seu Layout.php ou através de Include no PHP se o arquivo for necessário use no index.php: <?php include "nomedoarquivo.php"; ?> Metodo 1 (Hard) (Criamos um Arquivo Antisql.php) <?php $xa = getenv('REMOTE_ADDR'); $badwords = array(";","'","\"","*","union","x:","x:\#","delete ","///","from|xp_|execute|exec|sp_executesql|sp_|select|update|set|shutdown|insert|delete|where|drop table|show tables|#|\*|","DELETE","insert",","|"x'; U\PDATE Character S\ET level=99;-\-","x';U\PDATE Account S\ET ugradeid=255;-\-","x';U\PDATE Account D\ROP ugradeid=255;-\-","x';U\PDATE Account D\ROP ",",W\\HERE 1=1;-\\-","z'; U\PDATE Account S\ET ugradeid=char","update","drop","sele","memb","set" ,"$","res3t","wareh","%","--"); foreach($_POST as $value) foreach($badwords as $word) if(substr_count($value, $word) > 0) die("Você informou caracter(es) especial que não são permitidos.<br />Por favor, volte e modifique esta expressão. <br>Por segurança, seu IP foi gravado no sistema. --> $xa<br><br> Equipe eSecurity Team by Igor Pereira"); ?> Metodo Hard (Criamos um arquivo Anti_sql.php) Esse metodo o Forum não deixou eu postar, mais como sou legal, postarei o Download! Clique aqui. Metodo Basic (Criamos um arquivo sqlinjecbasic.php) <?php $ip = $_SERVER['REMOTE_ADDR']; $script = $_SERVER[PATH_TRANSLATED]; $fp = fopen ("secure/sql_Injections.txt", "a+"); $sql_inject_1 = array(";","'","%",'"'); #Whoth need replace $sql_inject_2 = array("", "","","""); #To wont replace $GET_KEY = array_keys($_GET); #array keys from $_GET /*begin clear $_GET */ for($i=0;$i<count($GET_KEY);$i++){ $real_get[$i] = $_GET[$GET_KEY[$i]]; $_GET[$GET_KEY[$i]] = str_replace($sql_inject_1, $sql_inject_2, HtmlSpecialChars($_GET[$GET_KEY[$i]])); if($real_get[$i] != $_GET[$GET_KEY[$i]]){ if($_SESSION['user']){ fwrite ($fp, "Username: ".$_SESSION['user']."\r\n"); } $msg = "SQL Injection detectado. Seu IP foi salvado!"; alert($msg); fwrite ($fp, "IP: $ip\r\n"); fwrite ($fp, "Method: GET\r\n"); fwrite ($fp, "Value: $real_get[$i]\r\n"); fwrite ($fp, "Script: $script\r\n"); fwrite ($fp, "Time: $time\r\n"); fwrite ($fp, "==================================\r\n"); redirect("index.php"); } } fclose ($fp); /*end clear $_GET */ ?> Metodo Normal (Muito bom, criamos um arquivo easyinject.php) <?php $ip = $_SERVER['REMOTE_ADDR']; $script = $_SERVER[PATH_TRANSLATED]; $fp = fopen ("secure/sql_Injections.txt", "a+"); $sql_inject_1 = array(";","'","%",'"'); #Whoth need replace $sql_inject_2 = array("", "","","""); #To wont replace $GET_KEY = array_keys($_GET); #array keys from $_GET /*begin clear $_GET */ for($i=0;$i<count($GET_KEY);$i++){ $real_get[$i] = $_GET[$GET_KEY[$i]]; $_GET[$GET_KEY[$i]] = str_replace($sql_inject_1, $sql_inject_2, HtmlSpecialChars($_GET[$GET_KEY[$i]])); if($real_get[$i] != $_GET[$GET_KEY[$i]]){ if($_SESSION['user']){ fwrite ($fp, "Username: ".$_SESSION['user']."\r\n"); } $msg = "SQL Injection detectado. Seu IP foi salvado!"; alert($msg); fwrite ($fp, "IP: $ip\r\n"); fwrite ($fp, "Method: GET\r\n"); fwrite ($fp, "Value: $real_get[$i]\r\n"); fwrite ($fp, "Script: $script\r\n"); fwrite ($fp, "Time: $time\r\n"); fwrite ($fp, "==================================\r\n"); redirect("index.php"); } } fclose ($fp); /*end clear $_GET */ ?> Metodo Normal (Não deixa passar caracters invalidos, criar um arquivo anticaractinject.php) <?php /** Dont Remove this the perfect defense for 2010, the Venix/X1478-- */ $xa = getenv('REMOTE_ADDR'); $badwords = array(";","'","\"","*","union","x:","x:\#","delete ","///","from|xp_|execute|exec|sp_executesql|sp_|select| insert|delete|where|drop table|show tables|#|\*|","DELETE","insert",","|"x'; U\PDATE Character S\ET level=99;-\-","x';U\PDATE Account S\ET ugradeid=255;-\-","x';U\PDATE Account D\ROP ugradeid=255;-\-","x';U\PDATE Account D\ROP ",",W\\HERE 1=1;-\\-","z'; U\PDATE Account S\ET ugradeid=char","update","drop","sele","memb","set" ,"$","res3t","wareh","%","--","666.php","666","/(shutdown|from|select|update|character|clan|set|insert|delete|where|drop table|show tables|#|\*|--|\\\\)/"); foreach($_POST as $value) foreach($badwords as $word) if(substr_count($value, $word) > 0) die("<script>alert('Não Use Caracters Invalido!'); location='javascript:history.back()'</script>"); ?> SQL Check (Criamos um arquivo sqlcheck.php) <? $bloquiados = array(";","\"","%","'","+","#","$","--","==","webzen"); foreach($_POST as $valor) { foreach($bloquiados as $bloquiados2) { if(substr_count(strtolower($valor), strtolower($bloquiados2)) > 0) { die("<div align=\"center\"> <p><br> <p> </p> <p> </p> <img src=\"images/no-page.gif\" /><br /> <br /> <span class=\"textbox style20\">Não use Caracteres Especiais! </span></p> <p><br /> <a href=\"javascript: history.back(-1);\" class=\"style30\">Voltar</a></p> </div>"); } } } foreach($_GET as $valor) { foreach($bloquiados as $bloquiados2) { if(substr_count(strtolower($valor), strtolower($bloquiados2)) > 0) { die("<div align=\"center\"> <p><br> <p> </p> <p> </p> <img src=\"images/no-page.gif\" /><br /> <br /> <span class=\"textbox style20\">Não use Caracteres Especiais! </span></p> <p><br /> <a href=\"javascript: history.back(-1);\" class=\"style30\">Voltar</a></p> </div>"); } } } foreach($_COOKIE as $valor) { foreach($bloquiados as $bloquiados2) { if(substr_count(strtolower($valor), strtolower($bloquiados2)) > 0) { die("<div align=\"center\"> <p><br> <p> </p> <p> </p> <img src=\"images/no-page.gif\" /><br /> <br /> <span class=\"textbox style20\">Não use Caracteres Especiais! </span></p> <p><br /> <a href=\"javascript: history.back(-1);\" class=\"style30\">Voltar</a></p> </div>"); } } } ?> Enjoy! and comment.
-
Modo Hard (Proteção DoS PHP)
Olá Aqui vai uma função em PHP que é possivel proteger contra ataques DoS, ou seja, se ela detectar que o usuário possivelmente está acessando várias páginas antes de 3 segundos (flood pages), o usuário é bloqueado e uma mensagem apareçerá na tela! "Muito bom para bloquear bots, não todos tipos, mais bloqueia". Criamos um arquivo "protect.php" <?php date_default_timezone_set('America/Sao_Paulo'); $crlf=chr(13).chr(10); $itime=3; //Minimum number of seconds between one-visitor visits $imaxvisit=10; //Maximum visits in $itime x $imaxvisits seconds $ipenalty=($itime * $imaxvisit); //Minutes for waitting $iplogdir="./logs/DoSLog/"; $iplogfile="hackreport/AttackersIPs.Log"; // Time $today = date("Y-m-j,G"); $min = date("i"); $sec = date("s"); $r = substr(date("i"),0,1); $m = substr(date("i"),1,1); $minute = 0; $to = '[email protected]'; $headers = 'From: Trinity DDOS Shield' . "\r\n"; $subject = "Warning of Possible DoS Attack at $today:$min:$sec"; //Warning Messages: $message1='<font color="red">Space under heavy bandwidth usage or being DDOS attacked!</font><br>'; $message2='Aguarde ... '; $message3=' segundo ou tente novamente após alguns minutos a partir de agora.<br>'; $message4='<font color="blue">Protegido por DDOS Shield feita por Igor Pereira.</font><br>Se você é um ser humano, a mudança de IP.<br>Nós proibiu temporariamente este IP <b>'.$_SERVER["REMOTE_ADDR"].' </b>de ataque DoS.'; $message5= 'Trinity has been attacked by a bot or human visiting from this IP address: '.$_SERVER["REMOTE_ADDR"]; $message6='<br><img src="./logs/DoSLog/cross.gif" alt="" border="0">'; //---------------------- End of Initialization --------------------------------------- //Get file time: $ipfile=substr(md5($_SERVER["REMOTE_ADDR"]),-3); // -3 means 4096 possible files $oldtime=0; if (file_exists($iplogdir.$ipfile)) $oldtime=filemtime($iplogdir.$ipfile); //Update times: $time=time(); if ($oldtime<$time) $oldtime=$time; $newtime=$oldtime+$itime; // Check human or bot: if ($newtime>=$time+$itime*$imaxvisit) { // To block visitor: touch($iplogdir.$ipfile,$time+$itime*($imaxvisit-1)+$ipenalty); header("HTTP/1.0 503 Service Temporarily Unavailable"); header("Connection: close"); header("Content-Type: text/html"); echo '<html><head><title>Igor Pereira DDOS Sheild</title></head><body><p align="center"><strong>' .$message1.'</strong>'.$br; echo $message2.$ipenalty.$message3.$message4.$message6.'</p></body></html>'.$crlf; // Mailing Warning Message to Site Admin { @mail($to, $subject, $message5, $headers); } // logging: $fp=@fopen($iplogdir.$iplogfile,"a"); if ($fp!==FALSE) { $useragent='<unknown user agent>'; if (isset($_SERVER["HTTP_USER_AGENT"])) $useragent=$_SERVER["HTTP_USER_AGENT"]; @fputs($fp,$_SERVER["REMOTE_ADDR"].' on '.date("D, d M Y, H:i:s").' as '.$useragent.$crlf); } @fclose($fp); exit(); } //Modify file time: ?> Agora no index.php coloque: <?php include "protect.php"; ?> Enjoy my knowledge! (:
-
Protegendo PagSeguro Automatico
Olá! Aqui vai um javascript bem simples, que protege a tecla F12 no site, no caso em uso dessa tecla, é possivel burlar o PagSeguro Automatico 100% postado por Matheus aqui em nosso forum. O Sistema Pagseguro pode ser burlado por um plugin & extension no firefox, que quando você compra você coloca 100 pontos por apenas R$1,00, e como o sistema é automatico, após aprovada, você recebe 100 pontos pagando só 1,00R$, interessante né?! Não irei citar Nome Plugin & Extensions, apenas vamos protege-lo! Para a utilização do plugin no website é necessário teclar a tecla F12, e eu consegui bloquear isso com esse Js: <script language='JavaScript'> function tecla() { if (event.keyCode==123) { alert("Do not copy"); event.keyCode=0; event.returnValue=false; } } document.onkeydown=tecla; </script> Coloque no seu layout.php e divirta-se com o PagSeguro automatico!
-
[Gesior] PagSeguro automático! (100% funcional)
BUG FATAL: Com 1 extenção plugin usada no firefox, da pra editar o valor dos pontos e o valor do pagamento, assim pagando R$1,00 por 100 pontos. (:
-
[Resolvido] Instalando gesior
Posta seu config.lua aí!
-
Kill Boss System
Muito bom cara, parabéns, continue assim.
-
Mapa Radbr Full Com Tps
O mapa tem uns erros, que é fácil de arrumar, . Você que editou o mapa?
-
[Problema] Conectar ao Servidor, LINUX
Você tá usando dedicado ou PC em casa? Geralmente esse erro é no arquivo /etc/hosts que contém as configurações de IPs porém isso só da quando é caseiro roteado, ou algo do tipo, estranho da isso em Dedicado pois já vem tudo liberado... Ou posso estar enganado sobre o erro pois isso pode ser diversas alterações. Já entrou em contato com a empresa do Dedicado pra constatar o erro? Tente: iptables -D INPUT -p tcp --dport 7171 -j DROP iptables -D INPUT -p tcp --dport 7172 -j DROP Deu as permissões 777 nos arquivos corretos? Outra coisa, no seu config.lua coloque: sqlHost = "127.0.0.1" Isso define se eles altero o IP local do seu dedicado ou conectou com algum Proxy, se tiver "localhost", não vai se conectar no servidor nem vai deixar players entrar. Pesquise mais informações desse dedicado, arquivos locais, configurações, entre em contato com a empresa cara. Ou se tiver usando PC caseiro roteado, fala logo que a história muda totalmente. Grande abraços, boa sorte.