Jump to content

Recommended Posts

Criei um site com o Xampp, até ai tudo bem, mais tentei criar uma conta no site e deu esse erro

A PHP Error was encountered

Severity: Notice

Message: Undefined index: invalidNameTags

Filename: controllers/account.php

Line Number: 148

A PHP Error was encountered

Severity: Warning

Message: in_array() expects parameter 2 to be array, null given

Filename: controllers/account.php

Line Number: 148

Não sei como resouver, se poderem me ajudar agradeço !!!

 

Eu uso a base do DxP OpenSource, postada recentemente.

Edited by Felipe Souzah
esqueci tags (see edit history)
Link to post
Share on other sites

Esta é uma mensagem automática! Este tópico foi movido para a área correta.
Pedimos que você leia as regras do fórum.

Spoiler

This is an automated message! This topic has been moved to the correct area.
Please read the forum rules.

 

Marque a melhor resposta, deixando assim o tópico resolvido e ajudando outros membros a identificar a solução do problema.
Não dou suporte via PM, não insista. ✉

  wakon.here@gmail.com ★

 

Regras | Seções OTServ | Seções BOT

Link to post
Share on other sites

  • 2 months later...

system/application/controllers/account.php

Spoiler

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<?php
/* 
+I.D.E ENGINE+
Controller of Account for Modern AAC - Powered by IDE Engine.
A lot of new functionality and variables can be hard-coded here.
If you do NOT understand the code, do NOT change anything in here.
*/
    
    class Account extends Controller {
    
        /* Main index of Account controllers, also work as a __construct(); It is called by engine as a default. */
        function index($action = 0) {
            if($action == 1) success("Seu novo personagem foi criado!");
            if($action == 2) success("Seu apelido foi criado!");
            if($action == 3) success("Voc&ecirc; excedeu o Limite de Characters por Conta.");
            if($action == 4) success("Seu perfil foi atualizado.");
            if($action == 5) success("Seu avatar foi atualizado!");
            $this->load->model("Account_model");
            if(empty($_SESSION['account_id'])) $_SESSION['account_id'] = $this->Account_model->getAccountID();
            $ide = new IDE;
            $ide->requireLogin();
            if(empty($_SESSION['nickname'])) $ide->redirect(WEBSITE."/index.php/account/setNickname");
            $data = array();
            $data['loggedUser'] = $_SESSION['name'];
            $data['characters'] = $this->Account_model->getCharacters();
            $data['messages'] = $this->Account_model->checkMessages();
            $ots = POT::getInstance();
            $ots->connect(POT::DB_MYSQL, connection());
            $account = $ots->createObject('Account');
            try { $account->find($_SESSION['name']); } catch(Exception $e) {show_error('Houve um problema durante o carregamento da conta. Err code: 220212072010 mais detalhes: '.$e->getMessage());}
            $data['account'] = $account;
            $data['acc'] = $this->Account_model->load($_SESSION['account_id']);
            $recovery_key = $this->Account_model->getRecoveryKey($_SESSION['name']);
            if($recovery_key === "") alert("Voc&ecirc; n&atilde;o possui uma Recovery Key, clique <a href='".WEBSITE."/index.php/account/generate_recovery_key'><b>aqui</b></a> para gerar uma. Recomendamos que guarde ela por raz&otilde;es de seguran&ccedil;a.");
            /* Load view of account page and send data to it. */
            $this->load->view('account', $data);
        }
        
        /*
        Function to check if account with this name already exists, it is used by create controller as a callaback in form validation. 
        It should be made as an abstract class of database in Model, but I don't think there is point of it.
        */
        function _account_exists($name) {
            $ots = POT::getInstance();
            $ots->connect(POT::DB_MYSQL, connection());
            $account = new OTS_Account();
            try { $account->find($name); } catch(Exception $e) {show_error('Houve um problema durante o carregamento da conta. Err code: 220212072010 mais detalhes: '.$e->getMessage());}
            if($account->isLoaded()) { $this->form_validation->set_message('_account_exists', 'Conta com este nome j&aacute; existe.');return false;} else return true;
        }
        
        function _checkCaptcha($word) {
            if(strtolower($word) == strtolower($_SESSION['captcha']) && !empty($_SESSION['captcha'])) {
                return true;
            }
            else {
                $this->form_validation->set_message('_checkCaptcha', 'Captcha Word est&aacute; incorreto.');
                return false;
            }
        }
        
        function _nicknameExists($name) {
            $this->load->model("account_model");
            if($this->account_model->nicknameExists($name)) {
                $this->form_validation->set_message('_nicknameExists', 'Este apelido j&aacute; existe.');
                return false;
            }
            else
                return true;
        }
        function _emailExists($email) {
            $this->load->model("account_model");
            if($this->account_model->emailExists($email)) {
                $this->form_validation->set_message('_emailExists', 'Este E-mail est&aacute; sendo usado por outra Conta.');
                return false;
            }
            else
                return true;
        }
        
        function _characterExists($name) {
            $this->load->model("character_model");
            if($this->character_model->characterExists($name)) {
                $this->form_validation->set_message('_characterExists', 'J&aacute; existe um char com este nome, por favor escolha outro.');
                return false;
            }
            else
                return true;
        }
        
    function _checkCity($id) {
        $this->config->load('create_character.php');
        if(!array_key_exists($id, $this->config->item('cities'))) {
            $this->form_validation->set_message('_checkCity', 'Unknown City');
            return false;
        }
        else
            return true;
    }
    
    function _checkVocation($id) {
        $this->config->load('create_character.php');
        if(!array_key_exists($id, $this->config->item('vocations'))) {
            $this->form_validation->set_message('_checkVocation', 'Unknown Vocation');
            return false;
        }
        else
            return true;
    }
    
    function _checkSex($id) {
        if($id != 0 and $id != 1) {
            $this->form_validation->set_message('_checkSex', 'Unknown Sex');
            return false;
        }
        else
            return true;
    }
    
    // Function which make the player more real by tatu hunter
    // Eg: elder'Druid = Locaa
    //       elder'druid = Elder'druid
    //     druid theMaster = Druid themaster
    function strFirst($name) {
        $name = explode(' ', trim($name));
        for($i=0, $t = sizeof($name); $i<$t; ++$i)
            for($j=0, $l=strlen($name[$i]); $j<$l; ++$j)
                !$j ? 
                ($name[$i][$j] = !$i ? ($name[$i][$j] == strtoupper($name[$i][$j]) ? $name[$i][$j] : strtoupper($name[$i][$j])): $name[$i][$j])  : 
                ($name[$i][$j] = ($name[$i][$j-1] == '\'' ? $name[$i][$j] : 
                strtolower($name[$i][$j])));
    
        $ret = '';
        foreach($name as $k)
            $ret .= $k . ' ';
    
        return trim($ret);
    }

        /* Controller of creating new account. New values can be hard-coded here. (only experienced users) */
        function create($ajax = 0) {
            require_once("system/application/config/create_character.php");
            $ide = new IDE;
            global $config;
            if($ajax == 1 && $ide->isLogged()) exit;
            if($ide->isLogged()) $ide->redirect(WEBSITE.'/index.php/account');
            $this->load->plugin('captcha');
            $this->load->helper('form');
            
            $vals = array(
                    'word'         => '',
                    'img_path'     => 'system/captcha/',
                    'img_url'     => WEBSITE.'/system/captcha/',
                    'font_path'     => WEBSITE.'/system/fonts/texb.ttf',
                    'img_width'     => '156',
                    'img_height' => 30,
                    'expiration' => 120
                );
            if(!$_POST && $ajax == 0) {
                $cap = create_captcha($vals);    
            }
            if($_POST) {
                $this->load->library('form_validation');
                $_POST['nickname'] = ucfirst(strtolower($_POST['nickname']));
                $this->form_validation->set_rules('name', 'Account Name', 'required|min_length[4]|max_length[32]|callback__account_exists|alpha_numeric|callback__checkDelay');
                $this->form_validation->set_rules('nickname', 'Nickname', 'required|min_length[4]|max_length[32]|callback__nicknameExists');
                $this->form_validation->set_rules('password', 'Password', 'required|matches[repeat]|min_length[4]|max_length[255]');
                $this->form_validation->set_rules('email', 'Email', 'required|valid_email|callback__emailExists');
                $this->form_validation->set_rules('character_name', 'Character Name', 'required|min_length[4]|max_length[32]|nickname|callback__characterExists|callback__validName');
                $this->form_validation->set_rules('city', 'City', 'required|integer|callback__checkCity');
                $this->form_validation->set_rules('vocation', 'Vocation', 'required|integer|callback__checkVocation');
                $this->form_validation->set_rules('sex', 'Sex', 'required|integer|callback__checkSex');
                $this->form_validation->set_rules('captcha', 'Captcha', 'required|callback__checkCaptcha');
                if($this->form_validation->run() == TRUE) {
                    require(APPPATH.'config/ide_default.php');
                    $ots = POT::getInstance();
                    $ots->connect(POT::DB_MYSQL, connection());
                    $account = new OTS_Account();
                    $name = $account->createNamed($_POST['name']);
                    $account->setPassword(sha1($_POST['password']));
                    $account->setEmail($_POST['email']);
                    $account->setCustomField('nickname', $_POST['nickname']);
                    $account->setCustomField('premdays', PREMDAYS);
                    $account->setCustomField('lastday', $_SERVER['REQUEST_TIME']);
                    try {
                        $account->save();
                        unset($account);
                        $_SESSION['logged'] = 1;
                        $_SESSION['name'] = $_POST['name'];
                        $_SESSION['nickname'] = $_POST['nickname'];
                        $_SESSION['accountDelay'] = time();
                        
                        $account = $ots->createObject('Account');
                        $account->find($_POST['name']);
                        
                        $sample = new OTS_Player();
                        $sample->find($config['newchar_vocations'][$_POST['vocation']]);
                        if(!$sample->isLoaded()) {    show_error('Sample character could not be found!'); }
                        
                        // Create new character
                        $player = $ots->createObject('Player');
                        $player->setName($this->strFirst($_POST['character_name']));
                        $player->setAccount($account);
                        $player->setGroup($sample->getGroup());
                        $player->setSex($_POST['sex']);
                        $player->setVocation($sample->getVocation());
                        $player->setConditions($sample->getConditions());
                            $player->setRank($sample->getRank());
                            $player->setLookAddons($sample->getLookAddons());
                        $player->setTownId($_POST['city']);
                        $player->setExperience($sample->getExperience());
                        $player->setLevel($sample->getLevel());
                        $player->setMagLevel($sample->getMagLevel());
                        $player->setHealth($sample->getHealth());
                        $player->setHealthMax($sample->getHealthMax());
                        $player->setMana($sample->getMana());
                        $player->setManaMax($sample->getManaMax());
                        $player->setManaSpent($sample->getManaSpent());
                        $player->setSoul($sample->getSoul());
                        $player->setDirection($sample->getDirection());
                        $player->setLookBody($sample->getLookBody());
                        $player->setLookFeet($sample->getLookFeet());
                        $player->setLookHead($sample->getLookHead());
                        $player->setLookLegs($sample->getLookLegs());
                        $player->setLookType($sample->getLookType());
                        $player->setCap($sample->getCap());
                        $player->setPosX($startPos['x']);
                           $player->setPosY($startPos['y']);
                        $player->setPosZ($startPos['z']);
                        $player->setLossExperience($sample->getLossExperience());
                        $player->setLossMana($sample->getLossMana());
                        $player->setLossSkills($sample->getLossSkills());
                        $player->setLossItems($sample->getLossItems());
                        $player->setLossContainers($sample->getLossContainers());
                        $player->save();
                        $_SESSION['characterDelay'] = $_SERVER['REQUEST_TIME'];
                        unset($player);
                        $player = $ots->createObject('Player');
                        $player->find($_POST['character_name']);
                        if($player->isLoaded())
                        {
                            $player->setSkill(0,$sample->getSkill(0));
                            $player->setSkill(1,$sample->getSkill(1));
                            $player->setSkill(2,$sample->getSkill(2));
                            $player->setSkill(3,$sample->getSkill(3));
                            $player->setSkill(4,$sample->getSkill(4));
                            $player->setSkill(5,$sample->getSkill(5));
                            $player->setSkill(6,$sample->getSkill(6));
                            $player->save();
                            $SQL = POT::getInstance()->getDBHandle();
                            $loaded_items_to_copy = $SQL->query("SELECT * FROM player_items WHERE player_id = ".$sample->getId()."");
                            foreach($loaded_items_to_copy as $save_item)
                                $SQL->query("INSERT INTO `player_items` (`player_id` ,`pid` ,`sid` ,`itemtype`, `count`, `attributes`) VALUES ('".$player->getId()."', '".$save_item['pid']."', '".$save_item['sid']."', '".$save_item['itemtype']."', '".$save_item['count']."', '".$save_item['attributes']."');");
                        
                            if($ajax == 0)
                                $ide->redirect(WEBSITE.'/index.php/account');
                            else
                                $ide->criticalRedirect(WEBSITE.'/index.php/account');
                        }
                    }
                    catch(Exception $e) {
                        error($e->getMessage());
                    }
                }
                else {
                    if($ajax == 0) $cap = create_captcha($vals);
                }
            }
            if($ajax == 0) {
                $_SESSION['captcha'] = $cap['word'];
                $data['captcha'] = $cap['image'];
            }
            #Load view of creating account
            if($ajax == 1) {
                echo error(validation_errors());
                $ide->system_stop();
            }
            else {
                $this->load->view('create', $data);
            }
        }
        
        /* Function to check if passed login and password are correct, it uses abstract database model. */
        function _check_login() {
            $this->load->model("Account_model");
            if($this->Account_model->check_login() == false) {
                $this->form_validation->set_message("_check_login", "Account name or password are incorrect.");
                return false;
            }
            else
                return true;
        }
        
        /* Login controller  */
        function login($action = 0) {
            if((int) $action == 1) success("Voc&ecirc; Deslogou.");
            if((int) $action == 2) success("Conta Recuperada com Sucesso!");
            $ide = new IDE;
            $this->load->helper("form");
            $this->load->library("form_validation");
            if($_POST) {
                $this->form_validation->set_rules('name', 'Account Name', 'required|callback__check_login');
                $this->form_validation->set_rules('pass', 'Password', 'required');
                if(in_array($_POST['name'], $GLOBALS['config']['restrictedAccounts']))
                    error("The account you try to access is restricted!");
                else {
                    if($this->form_validation->run() == true) {
                        $_SESSION['logged'] = 1;
                        $_SESSION['name'] = $_POST['name'];
                        if(!empty($_SESSION['forward'])) {
                            $forward = $_SESSION['forward'];
                            $_SESSION['forward'] = "";
                            $ide->redirect($forward);
                        }
                        else 
                            $ide->redirect(WEBSITE.'/index.php/account');
                    
                    }
                }
            }
            /* Load view of login page. */
            $this->load->view("login");
            
        }
        /* Function to logout from account. */
        function logout() {
            $ide = new IDE;
            $_SESSION['logged'] = '';
            $_SESSION['account_id'] = '';
            $_SESSION['name'] = '';
            $_SESSION['admin'] = 0;
            $_SESSION['forward'] = "";
            $ide->redirect('login/1');
        }
        
        /* Controller to generate random recovery key and save it, accessed by user, only once per account. */
        function generate_recovery_key() {
            $this->load->helper("form");
            $ide = new IDE;
            $ide->requireLogin();
            $this->load->model("Account_model");
            if($this->Account_model->getRecoveryKey($_SESSION['name'])) {
           alert("<b>Voc&ecirc; j&aacute; possui uma Recovery Key.</b>");
        return false;
}  
            if($_POST) {
                $data['info'] = '';
                $key = $this->Account_model->generateKey($_SESSION['name']);
                success("<center><font size='4'>$key</font></center>");
                alert("<b>Salve esta Recovery Key, Caso a perca n&atilde;o poder&aacute; Recuperar a sua conta.<br>ATEN&Ccedil;&Atilde;O &rsaquo; A Staff n&atilde;o se Responsabiliza por sua Recovery Key!</b>");
            }
            else
            $data['info'] = '<center id=\'info\'><b>Clique no Bot&atilde;o abaixo para Gerar uma Recovery Key.<br>ATEN&Ccedil;&Atilde;O &rsaquo; Esta Recovery Key ser&aacute; passada apenas uma vez, Recomendado guardar no seu Computador por Raz&otilde;es de Seguran&ccedil;a!</b></center><br><center><input type=\'submit\' value=\'Gerar\' name=\'submit\'></center>';
            /* Load view of generating new recovery key. */
            $this->load->view('generate_recovery_key', $data);
        
        }
        
        function _checkCurrentPassword($pass) {
            $this->load->model("account_model");
            if($this->account_model->checkPassword($pass)) 
                return true;
            else {
                $this->form_validation->set_message("_checkCurrentPassword", "Current password is incorrect.");
                return false;
            }
        }
        
        function changepassword() {
            $ide = new IDE;
            $ide->requireLogin();
            $this->load->helper("form_helper");
            if($_POST) {
                $this->load->library("form_validation");
                $this->form_validation->set_rules('current', 'Current Password', 'required|callback__checkCurrentPassword');
                $this->form_validation->set_rules('password', 'Password', 'required|matches[repeat]|min_length[4]|max_length[255]');
                if($this->form_validation->run() == true) {
                    $this->load->model("account_model");
                    $this->account_model->changePassword($_POST['password'], $_SESSION['name']);
                    success("Sua senha foi Trocada com Sucesso!");
                    $ide->redirect(WEBSITE."/index.php/account", 2);
                }
            }
            $this->load->view("changepassword");
        }
        
        function editcomment($id) {
            $ide = new IDE;
            $ide->requireLogin();
            if(empty($id)) $ide->redirect(WEBSITE."/index.php/account");
            $this->load->model("account_model");
            if(!$this->account_model->isUserPlayer($id)) $ide->redirect(WEBSITE."/index.php/account");
            $data['id'] = $id;
                if($_POST) {
                    $this->load->library("form_validation");
                        $this->form_validation->set_rules('comment', 'Comment', 'max_length[255]|alpha_ide');
                    if($this->form_validation->run() == true) {
                        if(@$_POST['hide'] == 1)
                            $this->account_model->changeComment($id, $_POST['comment'], true);
                        else
                            $this->account_model->changeComment($id, $_POST['comment'], false);
                        success("Seu Coment&aacute; foi Atualizado!");
                        $ide->redirect(WEBSITE."/index.php/account", 2);
                    }
                }
            $data['comment'] = $this->account_model->getPlayerComment($id);
            $this->load->helper("form_helper");
            $this->load->view("edit_comment", $data);
        }
        
        function deletePlayer($id) {
            $ide = new IDE;
            $ide->requireLogin();
            $id = (int)$id;
            if(empty($id)) $ide->redirect(WEBSITE."/index.php/account");
            $this->load->model("account_model");
            if(!$this->account_model->isUserPlayer($id)) $ide->redirect(WEBSITE."/index.php/account");
            $this->account_model->deletePlayer($id);
            $ide->redirect(WEBSITE."/index.php/account");
        }
        
        public function setNickname() {
            $ide = new IDE;
            $ide->requireLogin();
            if(!empty($_SESSION['nickname'])) $ide->goPrevious();
            $this->load->helper("form_helper");
                if($_POST) {
                    $_POST['nickname'] = ucfirst(strtolower($_POST['nickname']));
                    $this->load->library("form_validation");
                    $this->form_validation->set_rules('nickname', 'Nickname', 'required|min_length[4]|max_length[32]|nickname|callback__nicknameExists');
                    $this->form_validation->set_rules('rules', 'Rules', 'required');
                    if($this->form_validation->run()) {
                        $this->load->model("account_model");
                        $this->account_model->setNickname($ide->loggedAccountId(), $_POST['nickname']);
                        $_SESSION['nickname'] = $_POST['nickname'];
                        $ide->redirect(WEBSITE."/index.php/account/index/2");
                    }
                }
            $this->load->view("setNickname");
            
        }
        
        function _validKey($key) {
            $this->load->model("account_model");
            $_POST['key'] = str_replace("-", "", $_POST['key']);
            if($this->account_model->checkKey($_POST['key'], $_POST['email'])) {
                return true;
            }
            else {
                $this->form_validation->set_message("_validKey", "Could not change password. Make sure email and recovery key are valid.");
                return false;
            }
        }
        
        public function lost() {
            $ide = new IDE;
            $this->load->helper("form_helper");
                if($_POST) {
                    $_POST['key'] = str_replace("-", "", $_POST['key']);
                
                    $this->load->library("form_validation");
                    $this->form_validation->set_rules('password', 'Password', 'required|matches[repeat]|min_length[4]|max_length[255]');
                    $this->form_validation->set_rules('email', 'Email', 'required|valid_email');
                    $this->form_validation->set_rules('key', 'Recovery Key', 'required|callback__validKey');
                    
                    if($this->form_validation->run()) {
                        $this->load->model("account_model");
                        $this->account_model->recoveryAccount($_POST['key'], $_POST['email'], $_POST['password']);
                        $ide->redirect(WEBSITE."/index.php/account/login/2");
                    }
                }
            $this->load->view("account_lost");
        }
        
    }

?>
 

provavelmente vai dar outro erro

posta que eu te ajudo

Link to post
Share on other sites

  • 1 month later...

Amigo, estava tendo o mesmo problema, vou postar a resolução.

Primeiramente vc irá precisar localizar e abrir dois arquivos, o account.php e o character.php. Os caminhos são esses:

C:\xampp\htdocs\system\application\controllers\account.php 

C:\xampp\htdocs\system\application\controllers\character.php

 

Em ambos os arquivo vc precisará inserir um simples trecho de código.

Procure pela função _validName($name) e coloque global $config; conforme mostrado abaixo:

   function _validName($name) {
        require("config.php");
        global $config; //OLHA ELE INSERIDO AQUI
        $name = explode(" ", $name);
            foreach($name as $unit) {
                if(in_array(strtolower($unit), $config['invalidNameTags'])) {
                    $this->form_validation->set_message('_validName', 'Invalid Name');
                    return false;
                }
                else if(strlen($unit) == 1) {
                    $this->form_validation->set_message('_validName', 'Invalid Name');
                    return false;
                }
                else
                    continue;
            }
    }

Espero ter sido claro e ter ajudado.

Link to post
Share on other sites

  • 1 year later...
  • 2 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By Barca Furada
      Boa noite meus caros colegas!
      Preciso de um Help!
       
       
      Quando eu coloco meu itens editados no meu xml e otb, acontece isso com os teleportes, perde todas as propriedades:
       
      No lado direito é sem meu Itemxml
      No lado Esquerdo é com meu Itemxml
       
      Como vcs pode vem ele perde a propriedade de destino!
       
      O arquivo Check File Signatures está desativados!
       
      Quando eu entro no REM com meu Itemxml, ele da essas mensagem de erro:
       
       
       
      Antes de fazer tudo isso eu No item editor, todos itens estava com essa borda vermelha, eu tinha dado reload em todos itens para o cliente OTCv8 conseguir visualizar, no primeiro momento achei que era isso que tinha acontecido para bugar meus teleportes, então eu dei reload em todos itens um por um e deixei o teleport sem dar reload, para ver se era esses o bug! e deu na mesma , quando edito o mapa para colocar novas hunt e cidade ele buga todos teleportes!
       
       
       
       
      No itemxml o teleport está com mesmo id!
       
      alguma alma bondosa para ajudar um colega?
    • By mishell147
      Então Pessoal o meu site ele da esse error  do video, quando clico em creater character mais se eu clicar no endereço da URL e apertar enter aí me redireciona para página, mais se eu atualizar com F5 não redireciona, E na Database tem certinho os char samples, e tanto que cria normalmente eles.
      20210303_213835.mp4
    • By GniusPlay
      Quero saber se é possivel eu fazer com que o player delete a guild(site modern acc) somente se ele não tiver nenhuma player na guild ou player invitado...
      Uso modern acc
       
    • By Endless
      Olá meus senhores, hoje venho trazer pra vocês 1 tutorial que li a muito tempo atrás e me ajudou muito. O tutorial não é meu, mas vejo que muita gente, muita gente mesmo não conhece esse módulo do apache, então achei válido trazer pra comunidade. Espero que ajude alguém!!
      O módulo que venho apresentar a vocês é o mod_evasive do Apache.
       
      Sobre ele:
       

      Instalando o mod_evasive:

       

      Configurando o mod_evasive:
       

      Carregando o módulo mod_evasive no apache:
       

      Teste da proteção DDoS
       

      Conclusão
       

      Créditos:

      https://sempreupdate.com.br/mod_evasive-no-apache-oferece-protecao-contra-ataque-de-ddos/
    • By Codex
      Sou desenvolvedor de launchers,   vim aqui postar um dos meus trabalhos que estou realizando para servidores de poketibia e opentibia em geral, em breve postarei mais launchers que desenvolvo e suas atualizações, essa é apenas uma imagem demonstrativa de como o launcher funciona, caso queiram conhecer mais sobre o launcher entrem em contato aqui no fórum ou no meu discord : Codex#5101, aceito criticas e sugestões, para melhoramento do launcher.
       
      LAUNCHER UPDATE - CODEX

       
          Funcionalidades
      Update de Arquivos automático ChangeLog  Imagens de Promoção Imagens de eventos/noticias Start com seleção  Opengl/dx9 Design Profissional
  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...

Important Information

Confirmação de Termo