Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Olá pessoal hoje venho trazer para o Fórum um passo a passo de como montar um servidor completo na VPN da Google Cloud.

1- Criação de Maquina Virtual (Instância)

Spoiler

Já dentro do Google Cloud - Acesse o Menu Compute Engine e logo em seguida Instâncias de VMS, depois clique em CRIAR INSTÂNCIA.

1.1: 

Será carregado uma página como esta:

1.1.png.9360944d32fc5e5a429f53ce6a763cbd.png

 

1.2:  Abrirá uma página de criação como a imagem abaixo:

 

1.2.png.a0a99b1da112be0e1b0f6a134bb67e8a.png

Preenchimento dos Campos:

Nome: Coloque o nome que desejar para sua instancia.

Região: tenha em mente que quanto menor a distancia do ponto de acesso do usuário com o servidor menor será o delay e portanto menor o lag.

Tipo de Maquina: Estou utilizando uma com 2 vCPUS e 8 GB de RAM, o que é o mínimo para um servidor novo (11+).

Disco de Inicialização: Utilizaremos a imagem do Debian9 com um disco padrão de 10gb ssd ou hd (SSD melhora a velocidade de processamento de dados, consequentemente diminui a latência do servidor.

Escopo de Acesso: Permitir Acesso Completo a todas as APIs do Cloud

Firewall: Permitir Trafego HTTP e HTTPS

Clique em Criar.

Pronto a Instância Será Criada.

 

2 - Configuração de Rede e Domínio (Endereço de IP Externo, DNS e Firewall)

Acesse o serviço de REDE VPC e vá até o item Endereços IP Externos.

Passo 2.1 - Localize a instancia que esta com o Tipo de Endereço como Temporário.

Spoiler

2.1:  Altere o tipo de Ip clicando sobre o nome Temporário, altere para Estático.

 

2.1.png.883e9162bce5c4d0ffc7dc0d8252168d.png

Passo 2.2 - Siga o Passo a Passo Para Liberação de Portas no Item Firewall

Spoiler

2.2: Acesse o menu Rede VPC, item Regras de Firewall e clique em Criar Regra de Firewall

2.2.png.febc1030e1714fa0eb8f79c949bf9d5f.png

 

Passo 2.3 - Dentro do painel de Firewall Crie as Seguintes Regras:

2.3.png.a98c6830ec80f7abce6e84309c2ec429.png

 

Após a criação das regras de entrada e saída as portas de rede estão abertas.

 

3 -  Apontamento de Domínio e Configuração de DNS

Spoiler

3.1 Procure por Serviços de Rede, Cloud DNS e Clique em Criar Zona

3.1.png.13180102344f159bb292bb17c3435f65.png

 

Faça o preenchimento da Seguinte Forma:

Tipo de Zona: Particular (Ninguem que consultar seus dados terá acesso a eles, pública os dados são livres para consulta)

Nome da Zona: Coleque algo que facilite a identificação para você (Pode ser qualquer coisa, o nome você escolhe)

Nome do DNS: Coloque o nome do Domínio que você registrou, Exemplo (www.meuservidor.com.br)

Em Redes selecione a Default.

Clique em Criar.

Após crie as seguintes Zonas:

Zona: www. Dominio

Zona: .Dominio

E aponte ambas para o IP externo da Instância Criada Anteriormente.

Agora vá até seu provedor de Domínios e realize o apontamento de NameServer para os dois endereços destacados na imagem abaixo.

Spoiler

3.2 - Adicionar Conjunto de Registros DNS

3.2.png.b5514b22c8665e29f5eb159a2bca2593.png

 

Pronto Instância já esta criada, com IP estático, portas liberadas e domínio apontado.

 

4 - Configuração Interna do Servidor

Volte para sua instância (Compute Engine -> Instâncias de VMs)

Spoiler

4.1 - Acesso ao Terminal via SSH -  Clique em SSH para acessar o terminal do servidor.

4.1.png.2c98cd3461ff19b328ee98b61b8c3940.png

 

4.2 - Liberando acesso SSHD

Spoiler

Já Dentro do Terminal iremos alterar a senha do usuário ROOT.

Digite o seguinte comando

sudo su root
passwd root

Digite a senha do novo usuário e confirme (PS: ANOTE A SENHA!!)

Agora iremos liberar o acesso remoto via FTP, para tanto digite o seguinte comando no terminal:

nano /etc/ssh/sshd_config

Dentro do arquivo Localize e altere:

Antes:

PermitRootLogin no
PasswordAuthentication no

Depois:

PermitRootLogin yes
PasswordAuthentication yes

aperte Ctrl + X tecle Y para confirmar as alterações e Enter para salvar o arquivo.

Digite o comando abaixo para dar restart no serviço alterado.

service sshd restart

Realize o Download de algum softwar de FTP

Exemplos:

WinSCP: Download

FileZilla: Download

 

4.2.1 - Realize o acesso Direto da seguinte forma:

 

Protocolo de arquivo: SFTP

Host: Ip externo da instância

Porta: 22

Usuário: Root

Senha: "aquela que cadastro pelo terminal"

Clique em salvar e depois em login (Caso apareça alguma confirmação, apenas confirme)

Excelente, agora já temos acesso direto ao servidor.

Obs: O acesso via FTP permite a edição de arquivos e transferência de arquivos de maneira visual (sem a necessidade utilização do terminal).

4.2.1.png.0004e460e0f9ab9fd6478b27a2272c09.png

4.3 Instalação de pacote Web ( MySQL-SERVER, Apache, PHP, PHPMyadmin)

Spoiler

 

Volte ao terminal, certifique-se de estar logado com o usuário root

Comando:


$ sudo su

Agora digite os seguintes comandos:


apt-get install apache2
apt-get install mysql-server php7.0-mysql

Nas confirmações sempre tecle "Y"


sudo mysql_install_db
sudo mysql_secure_installation
apt-get install php7.0 libapache2-mod-php7.0 php7.0-mcrypt

Quando solicitado para selecionar o Apache, utilize a tecla Espaço para marcar a caixa de seleção e após tecle Enter.

Agora iremos realizar uma alteração no arquivo dir.conf para tanto utilize o comando abaixo:

Citar

nano /etc/apache2/mods-enabled/dir.conf

Substitua o conteúdo do arquivo com exceção da ultima linha para o conteúdo abaixo:


<IfModule mod_dir.c>
    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>

Salve o arquivo: Ctrl + X; Y; Enter

Reinicie o serviço:


$ sudo service apache2 restart

Agora instalaremos o PHPMyadmin


$ apt-get install phpmyadmin

Será utilizado o mesmo processo, porém ao perguntar se deseja alterar a senha do root, marque "N" do restante tudo será "Y"

Pronto, Pacote Web Instalado com sucesso!

 

4.4 Configurando o PHPMyadmin

Spoiler

 

Faça login no MySQL, utilize da senha do root.


$ sudo mysql -u root

Criaremos o usuário de acesso, no caso 2 o usuário otserv e o usuário forgottenserver, o primeiro usuário pode ser editado conforme o seu gosto, o segundo é necessário, porém a senha pode ser alterada de "123456" para qualquer outra.


CREATE USER 'otserv'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'otserv'@'localhost';
FLUSH PRIVILEGES;

CREATE USER 'forgottenserver'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'forgottenserver'@'localhost';
FLUSH PRIVILEGES;

$ exit

Pronto Usuário Configurados, para ter acesso ao PHPMyadmin, digite na barra de endereço o ip externo da instância seguido por /phpmyadmin. Exemplo: http://35.247.219.73/phpmyadmin

 

4.5 Compilando uma distro em Debian9

Spoiler

 

Primeiro atualize o sistema  e instale as bibliotecas:


$ apt-get update && apt-get upgrade
$ apt-get install git cmake build-essential liblua5.2-dev libgmp3-dev libmariadbclient-dev libboost-system-dev libboost-iostreams-dev libpugixml-dev libcrypto++-dev

Escolha um Distro de sua preferencia, utilizaremos a seguinte:

Ombra - Pack 10x +11

Para fazer o download digite em seu terminal os seguintes comandos: 


$ wget https://gitlab.com/otbr/ombra-pack10x/-/archive/master/ombra-pack10x-master.zip

Depois de finalizado descompacte o arquivo:


$ Unzip ombra-pack10x-master.zip

Acesse a pasta da distro com o comando:


$ cd ombra-pack10x-master

Agora que já estamos dentro da distro iremos realizar a compilação (Esse processo pode demorar um pouco...):


$ mkdir build && cd build && cmake .. && make
$ mv tfs cd ../
$ cd ../

Pronto Servidor compilado em Debian9

 

4.6 Instalando um Website

Spoiler

 

Vá para o terminal e localize a para a pasta HTML

/var/www/html


$ cd /var/www/html

Remova todo o conteúdo dela:


$ rm -rf /var/www/html/*

Agora faça o download de alguma Gesior, utilizaremos a versão a seguir:

Gesior THe Ral Ferobra

Para realizar o download utilize o comando abaixo:


$ wget https://github.com/Riicksouzaa/TheRealGesiorFerobra/archive/master.zip

Descompacte o arquivo e mova o conteúdo:


$ Unzip master.zip
$ cd master
$ mv /master ../
$ cd ../

Agora acessaremos o Config.php


$ nano /var/www/html/config/config.php

Dentro do arquivo altere:


$config['site']['sqlHost'] = "127.0.0.1"; <-- Mantenha assim
$config['site']['sqlUser'] = "otserv"; <-- coloque o nome de usuário criado anteriormente
$config['site']['sqlPass'] = "123456"; <-- colque a senha cadastrada para o usuário também anteriormente
$config['site']['sqlBD'] = "tutorial"; <-- coloque o nome da database que foi cadastrada no PhpMyadmin

Ainda no mesmo arquivo localize o local de castro do arquivo config.lua e coloque o destino do arquivo.


Exemplo de caminho
$config['site']['serverPath'] = "/home/tutorialotserv/ombra-pack10x-master//";

Pronto agora salve o arquivo (Ctrl + x, Y + Enter)

Agora vamos configurar o arquivo Config.lua


$ cd /home/tutorialotserv/ombra-pack10x-master/
$ nano /home/tutorialotserv/ombra-pack10x-master/config.lua

Já dentro do Config.lua

Localize os campos abaixo: 


-- Connection Config
-- NOTE: maxPlayers set to 0 means no limit
ip = "35.247.219.73" <-- altere para o endereço de IP externo da instância

-- MySQL
mysqlHost = "127.0.0.1" <-- mantenha este padrão
mysqlUser = "otserv" <-- coloque o mesmo usuário do arquivo config.php
mysqlPass = "123456" <-- coloque a mesma senha do arquivo config.php
mysqlDatabase = "tutorialotserv" coloque a mesma database do arquivo config.php

Salve o arquivo (Ctrl + X, Y + Enter)

Copie o arquivo login.php para a pasta do site utilizando o comando abaixo:


$ cp /home/tutorialotserv/ombra-pack10x-master/login.php /var/www/html/

Pronto Servidor e WebSite Pronto.

 

5 - Instalação de protocolo HTTPS / Certificado Digital SSL

Spoiler

 

Ainda dentro do terminal utilize o seguinte comando:


$ sudo apt-get install python-certbot-apache -t stretch-backports

$ sudo certbot --apache

Marque o Redirecionamento HTTPs automático
 


$ sudo certbot -a dns-plugin -i apache -d "*.example.com" -d example.com --server https://acme-v02.api.letsencrypt.org/directory

Substitua .example.com pelo seu dominio ficando assim:

$ sudo certbot -a dns-plugin -i apache -d "*.tutorialotserv.ml" -d www.tutorialotserv.ml --server https://acme-v02.api.letsencrypt.org/directory


E para Renovação automática do certificado de forma totalmente gratuita utilize:


$ sudo certbot renew --dry-run

 Pronto Servidor, Domínio e SSL configurados com sucesso!

 

Para ligar o servidor utilize o comando abaixo dentro da pasta do servidor:

$ ./tfs
 

Funciona em versões 11+ e 10-

Se te ajudei deixa um comentário e um +REP

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.


  • Conteúdo Similar

    • Por prot def
      Versão Beta já disponível no site: http://otshinobi.servegame.com/ 
      Servidor Online, aproveite e crie sua conta e baixe o client para Pc ou Android, todos os dados do seu personagem permanecerão intactos na versão definitiva que será lançada em breve!









      Já disponível em: Client 8.54 (Old) / New Client e Client Mobile para Android
      Temos 27 Vocações disponíveis
      Personagens FREE: Naruto, Sasuke, Sakura, Kakashi, Rock Lee, Shikamaru, Neji, Tenten, Hinata, Killer Bee, Gaara, Kiba, Temari, Kankuro, Shisui e Jiraiya.
      Personagens Shop Free (compre com Gold dentro do game): Obito, Tsunade, Kisame e Itachi.
      Personagens Shop VIP: Itachi (Shop), Obito (Shop) Minato (Shop) Madara (Shop) Tsunade (Shop) Hashirama (Shop) Nidaime (Tobirama) (Shop) Nagato (Shop) Raikage (Shop) Kisame (Shop)  (Você pode donatar pelo LivePix)
      Personagens Especiais obtidos através de eventos dentro do game: Orochimaru e Yamato.
      Transformações, jutsus e habilidades exclusivas para cada vocação
      Upe se divertindo pelo mapa, rate de experiência desafiante, ganhe jutsus e transformações exclusivas ao upar 
      Mapa exclusivo que terá atualizações periódicas:
      -> vilas disponíveis até o momento: Vila da Folha, Vila da Areia, Vila da Névoa, Vila da Pedra, Vila da Nuvem Vila da Chuva (Konoha, Kirigakure, Sunagakure, Iwagakure, Kumogakure, Amegakure) e País das Ondas.
      -> Area Vip: Várias Hunts para upar e farmar (Zetsu Covil, Member Akatsuki Covil, Northwest Island, Hunt Nagato, Hunt Samurais, Paper Island, Orochimaru Island) e Vila Shinobi Exclusiva para usuários Vip
      Sistema de graduação ninja: genin, chunin, jounin e anbu - Evolua seu ranking shinobi, apenas os merecedores se tornarão Kage.
      Exame Chunin completo, reviva o nostálgico arco do anime para se tornar Chunin
      Crie sua própria guild ou entre em uma existente
      Organização Akatsuki - torne-se membro da maior organização criminosa do mundo ninja
      Rank level (Figure entre os melhores jogadores do jogo)
      Reviva as sagas de Naruto Clássico e Naruto Shippuden
      Sistema de guilds - crie ou entre em uma guild e divirta-se com seus amigos
      Mundo PVP
      Eventos PVP
      Eventos de invasão, proteja a vila da destruição: Invasões em Konoha (Pain e Orochimaru) e Invasão de Deidara e Sasori em Sunagakure
      Compra e venda de casas para usuários Vip
      Npc Shop e NPC Shop Event - compre sua VIP ACCOUNT E VOCAÇÃO VIP ''totalmente'' GRÁTIS utilizando a moeda do jogo (GOLD).
      Npc Minoru - leva você diretamente para outras vilas e várias hunts do mapa. Area Free: Konoha, Kirigakure, Sunagakure, Iwagakure, Kumogakure, Amegakure, Valley of the End, South Forest, South Island, West Desert. Area VIP: Zetsu Covil, Member Akatsuki Covil, Northwest Island, Hunt Nagato, Hunt Samurais, Paper Island, Orochimaru Island, Vila Shinobi area com casas exclusivas para compra.
      Reviva vários arcos do Anime: Lute contra diversos personagens do anime com habilidades únicas
      Sistema Chakra Bijuu - torne-se jinchuuriki das bestas de cauda e utilize seu poder em batalha
      Diversas armas e equipamentos do anime
      Tasks da Tsunade - derrote os shinobi mais poderosos do mundo ninja e ganhe recompensas em Gold: 
      deidara da pedra 
      hidan das fonte
      itachi da folha 
      kabuto da folha
      kakuzo da cachoeira 
      kisame da nevoa
      konan da chuva
      madara da folha
      nagato da chuva
      orochimaru da folha
      pain da chuva
      sasori da areia
      tobi da folha
      Vários Npcs de Tasks espalhados pelo mapa: derrote inimigos e traga itens em troca de experiência e recompensas.
      Quests: Temos várias Quests Disponíveis e várias outras em desenvolvimento:
      ->Quest Nto Points FREE - Ganhe Nto Points para comprar itens vip com o Npc Shop (compre Premium Account, Vocações e itens)
      -> Shukaku Quest - Quest realizada em quatro pessoas 
      -> Sambi Quest - Quest realizada em duas pessoas 
      -> Akatsuki Ring Quest 
      -> Kurama Quest
      -> Quest Templo do Fogo
      -> Minato Quest
      -> Itachi Quest 
      -> Sasuke Boss Quest 
      -> Hidan Quest
      -> Kakuzo Quest 
      -> Sasori Quest 
      ->Pain Quest
      ->Tobirama Quest
      Jogo utiliza base parecida com o ntoultimate dos velhos tempos.
      Jogue e ajude a manter o servidor aberto até o lançamento da versão final
      Crie sua conta e baixe o jogo no site oficial: otshinobi.servegame.com 
      DIVIRTA-SE!
      DISPONÍVEL TAMBÉM CLIENT MOBILE!

    • Por cloudrun2023
      CloudRun - Sua Melhor Escolha para Hospedagem de OTServer!
      Você está procurando a solução definitiva para hospedar seu OTServer com desempenho imbatível e segurança inigualável? Não procure mais! Apresentamos a CloudRun, sua parceira confiável em serviços de hospedagem na nuvem.
       
      Recursos Exclusivos - Proteção DDoS Avançada:
      Mantenha seu OTServer online e seguro com nossa robusta proteção DDoS, garantindo uma experiência de jogo ininterrupta para seus jogadores.
       
      Servidores Ryzen 7 Poderosos: Desfrute do poder de processamento superior dos servidores Ryzen 7 para garantir um desempenho excepcional do seu OTServer. Velocidade e estabilidade garantidas!
       
      Armazenamento NVMe de Alta Velocidade:
      Reduza o tempo de carregamento do jogo com nosso armazenamento NVMe ultrarrápido. Seus jogadores vão adorar a rapidez com que podem explorar o mundo do seu OTServer.
       
      Uplink de até 1GB:
      Oferecemos uma conexão de alta velocidade com até 1GB de largura de banda, garantindo uma experiência de jogo suave e livre de lag para todos os seus jogadores, mesmo nos momentos de pico.
       
      Suporte 24 Horas:
      Estamos sempre aqui para você! Nossa equipe de suporte está disponível 24 horas por dia, 7 dias por semana, para resolver qualquer problema ou responder a qualquer pergunta que você possa ter. Sua satisfação é a nossa prioridade.
       
      Fácil e Rápido de Começar:
      Configurar seu OTServer na CloudRun é simples e rápido. Concentre-se no desenvolvimento do seu jogo enquanto cuidamos da hospedagem.
       
      Entre em Contato Agora!
      Website: https://central.cloudrun.com.br/index.php?rp=/store/cloud-ryzen-brasil
      Email: [email protected]
      Telefone: (47) 99902-5147

      Não comprometa a qualidade da hospedagem do seu OTServer. Escolha a CloudRun e ofereça aos seus jogadores a melhor experiência de jogo possível. Visite nosso site hoje mesmo para conhecer nossos planos e começar!
       
      https://central.cloudrun.com.br/index.php?rp=/store/cloud-ryzen-brasil
       
      CloudRun - Onde a Velocidade Encontra a Confiabilidade!
       

    • Por FeeTads
      SALVE rapaziada do TK, esses dias vim pensando em novos scripts pro meu OT, e em um deles eu precisava que determinada area não contasse frag pro player que matasse outros, PORÉM eu precisava que os players que morressem nessa area ainda assim tivessem as penalidades da sua morte, procurei por ai, achei alguns scripts que apenas tiravam o SKULL e não realmente o FRAG do player.

      **script atualizado 22/10/2023** - melhorado e otimizado, levei o script pra puxar as infos por .lua / creatureScripts

      vou disponibilizar o code aqui, e o que fazer pra determinada area não contar frag.

      SOURCE OTX 2 / TFS 0.x, Funciona em TFS 1.x mudando as tags e ajeitando as sintaxes.

      vá em creatureevent.cpp

      procure por:
      else if(type == "preparedeath") _type = CREATURE_EVENT_PREPAREDEATH;
      Adiciona abaixo:
      else if(type == "nocountfrag") _type = CREATURE_EVENT_NOCOUNTFRAG;

      procure por:
      case CREATURE_EVENT_PREPAREDEATH: return "onPrepareDeath";  
      Adicione abaixo: 
      case CREATURE_EVENT_NOCOUNTFRAG: return "noCountFragArea";

      procure por:
      case CREATURE_EVENT_PREPAREDEATH: return "cid, deathList";
      Adicione abaixo:
      case CREATURE_EVENT_NOCOUNTFRAG: return "cid, target";

      agora no mesmo arquivo, vá até o final do arquivo e adicione essa função:
      uint32_t CreatureEvent::executeNoCountFragArea(Creature* creature, Creature* target) { //noCountFragArea(cid, target) if(m_interface->reserveEnv()) { ScriptEnviroment* env = m_interface->getEnv(); if(m_scripted == EVENT_SCRIPT_BUFFER) { env->setRealPos(creature->getPosition()); std::ostringstream scriptstream; scriptstream << "local cid = " << env->addThing(creature) << std::endl; scriptstream << "local target = " << env->addThing(target) << std::endl; if(m_scriptData) scriptstream << *m_scriptData; bool result = true; if(m_interface->loadBuffer(scriptstream.str())) { lua_State* L = m_interface->getState(); result = m_interface->getGlobalBool(L, "_result", true); } m_interface->releaseEnv(); return result; } else { #ifdef __DEBUG_LUASCRIPTS__ std::ostringstream desc; desc << creature->getName(); env->setEvent(desc.str()); #endif env->setScriptId(m_scriptId, m_interface); env->setRealPos(creature->getPosition()); lua_State* L = m_interface->getState(); m_interface->pushFunction(m_scriptId); lua_pushnumber(L, env->addThing(creature)); lua_pushnumber(L, env->addThing(target)); bool result = m_interface->callFunction(2); m_interface->releaseEnv(); return result; } } else { std::clog << "[Error - CreatureEvent::noCountFragArea] Call stack overflow." << std::endl; return 0; } }

      agora vá em creatureevent.h

      procure por:
      CREATURE_EVENT_PREPAREDEATH
      adicione abaixo:
      CREATURE_EVENT_NOCOUNTFRAG

      procure por:
      uint32_t executePrepareDeath(Creature* creature, DeathList deathList);
      Adicione abaixo:
      uint32_t executeNoCountFragArea(Creature* creature, Creature* target);

      agora vá em player.cpp

      procure por:
      bool Player::onKilledCreature(Creature* target, DeathEntry& entry)
      abaixo de:
      War_t enemy; if(targetPlayer->getEnemy(this, enemy)) { if(entry.isLast()) IOGuild::getInstance()->updateWar(enemy); entry.setWar(enemy); }
      Adicione o seguinte código:
      if (targetPlayer){ CreatureEventList killEvents = getCreatureEvents(CREATURE_EVENT_NOCOUNTFRAG); for (const auto &event : killEvents) { if (!event->executeNoCountFragArea(this, target)) { return true; } } }

      //

      Feito isso, tudo completo na sua source, agora é necessário adicionar o creaturescript dentro do servidor

      vá até creaturescripts/scripts
      crie um arquivo chamado, "noCountFragInArea.lua"
      e dentro dele cole o código:
       
      --[[ script feito por feetads / TibiaKing ]]-- --[[ discord: feetads / FeeTads#0246 ]]-- -- Add positions here for which you do not want to count frags local areas = { [1] = {from = {x = 91, y = 122, z = 7}, to = {x = 98, y = 127, z = 7}}, -- from = area superior esquerda / to = area inferior direita (formando um quadrado) } local onlyKillerInArea = false -- only killer need to be in area? function noCountFragArea(cid, target) if not isCreature(cid) or not isCreature(target) then return true end local posKiller = getPlayerPosition(cid) local posTarget = getPlayerPosition(target) for i = 1, #areas do local area = areas[i] if isInArea(posKiller, area.from, area.to) then if onlyKillerInArea then return false elseif isInArea(posTarget, area.from, area.to) then return false end end end return true end
      agora em creaturescripts.xml
      <event type="nocountfrag" name="fragarea" event="script" value="noCountFragInArea.lua"/>
      agora em creaturescripts/scripts/login.lua
       procure por OU semelhante a esse:
      registerCreatureEvent(cid, "AdvanceSave")
      e abaixo adicione:
      registerCreatureEvent(cid, "fragarea")

      //


      Agora tudo certo, quando quiser adiciona uma area que não pega frag, vá até o script e apenas coloque a area, igual o demonstrado no script

      Exemplo:
      local areas = { [1] = {from = {x = 91, y = 122, z = 7}, to = {x = 98, y = 127, z = 7}}, [2] = {from = {x = 1000, y = 1000, z = 7}, to = {x = 1100, y = 1100, z = 7}}, }
      assim somente colocando a area no script e abrindo o server ou dando /reload, já funcionará a area como não pegar frag.
      Esse sistema pode ser bom pra areas de pvp ativo, onde você ainda quer que o player que morrer perca os atributos, como se fosse uma morte normal, porém não conta frag pra quem matar.
      Bom pra sistemas tipo castle 48h (guild war), onde há diversas mortes e risco de pegar red, atrapalhando a war.

      Façam bom proveito dos scripts, e deixem os créditos no script rsrs

      **Eu fiz as alterações e o simples código por isso vim disponibilizar, créditos meus**
    • Por luanluciano93
      Olá, esse tutorial é uma parte do tópico principal: "Tutorial completo de infraestrutura para montar um servidor TFS 1.x no Ubuntu 22.04" ... 
       
      Aqui ensinaremos como compilar o código fonte do TFS na máquina LINUX e posterior configurar o servidor.
       
      PASSO 1 - COMPILANDO TFS NO UBUNTU
       
      Primeiramente, devemos instalar os softwares necessários. O comando a seguir instalará o CMake, um compilador e as bibliotecas usadas pelo TFS. Após usar o comando digite Y para aceitar a instalação.
      sudo apt install cmake build-essential libluajit-5.1-dev libmysqlclient-dev libboost-system-dev libboost-iostreams-dev libboost-filesystem-dev libpugixml-dev libcrypto++-dev libfmt-dev libboost-date-time-dev  
      Caso ainda não tenha criado a pasta do servidor (como foi dito no tutorial de instalação do PHP), use o comando a seguir para criar a pasta:
      sudo mkdir /home/otserv  
      E depois vá até a pasta usando o comando: 
      cd /home/otserv  
      Agora, usando o WinSCP vá até a pasta /home/otserv/ e jogue a pasta de seu servidor ai dentro ... 
       
      Antes deve estar assim: (se você seguiu o tutorial de instalação do PHP)
         
       
      Depois, os arquivos transferidos devem ser esses!

       
      Caso você não tenha os arquivos necessários, use:
      - TFS atual: https://github.com/otland/forgottenserver
      - TFS Nekiro's 8.60 Downgrade: https://github.com/nekiro/TFS-1.5-Downgrades/tree/8.60
       
      Após transferido os arquivos, use o comando abaixo para criar a pasta BUILD e entrar nela: 
      mkdir build && cd build E depois, use o comando do compilador: 
      cmake ..  
      Agora use o comando para compilar o código fonte do TFS:
      make  
      E pronto, o código fonte foi compilado e gerou um arquivo "tfs", agora use o comando a seguir para mover o TFS para a pasta do servidor e voltar para a pasta anterior.
      mv tfs .. && cd .. Ficando assim na pasta "otserv": 

       
      PASSO 2 - IMPORTANDO DATABASE E AJUSTANDO CONEXÃO PELO CONFIG.LUA
       
      Entre em seu phpmyadmin pelo navegador (IP/phpmyadmin, ou o outro destino que você escolheu conforme o tópico de instalação do phpmyadmin) 

      Depois clique em "novo" para criar um novo banco de dados:
       
       
      E depois de digitar o nome do novo banco de dados, clique em "criar": 

       
      Agora clique em "IMPORTAR" e depois em "escolher arquivo":

      E então selecione o arquivo padrão de database. Se você não tiver um arquivo padrão, use a do TFS: https://raw.githubusercontent.com/otland/forgottenserver/master/schema.sql
       
      E por fim, clique em EXECUTAR.

       
       
      No arquivo config.lua.dist você deve ajustar o dados para a conexão com o banco de dados: 
       
      -- MySQL mysqlHost = "127.0.0.1" mysqlUser = "forgottenserver" mysqlPass = "" mysqlDatabase = "forgottenserver" mysqlPort = 3306 mysqlSock = ""  
      (você pode incluir o caminho do mysqlSock para mysqlSock = "/var/run/mysqld/mysqld.sock"
       
      PASSO 3 - LIGANDO SEU SERVIDOR TFS NO UBUNTU E CRIANDO ARQUIVO AUTO RESTART
       
      Para prosseguirmos será necessária a instalação do SCREEN em sua máquina, veja o tutorial que explica o que ele é, para que server e ensina instala-lo: AQUI.
       
      Após a instalação, vamos criar um SCREEN para rodar o servidor chamada TFS ... 
      screen -S TFS  
      E após, usando o WinSCP, vá até a pasta do seu servidor em /home/otserv/ e crie um arquivo chamado "restart.sh" e coloque isso dentro dele:
      #!/bin/bash # to get 'ts' command: sudo apt install moreutils # to get 'crc32' command: sudo apt install libarchive-zip-perl BINARY_NAME=tfs MYSQL_USER=xxxx MYSQL_PASS=yyyy MYSQL_DATABASE=zzzz mkdir console mkdir crashlog mkdir mysql_backup # Permitir despejos de nucleo ulimit -c unlimited # Laco principal while true; do     # Backup do banco de dados, e o melhor momento para fazer a copia do banco de dados, o OTS esta offline com certeza, entao nao pode haver nenhum clone de item.     mysqldump -u $MYSQL_USER -p$MYSQL_PASS $MYSQL_DATABASE > mysql_backup/`date '+%Y-%m-%d_%H-%M'`.sql     # Compactar em gzip com mais de 3 dias.     find console/ -name "*.log" -mtime +3 -print -exec gzip -f {} \;     find crashlog/ -name "*.bin" -mtime +3  -print -exec gzip -f {} \;     find crashlog/ -name "*.core" -mtime +3  -print -exec gzip -f {} \;     find mysql_backup/ -name "*.sql" -mtime +3  -print -exec gzip -f {} \;     BINARY_WITH_HASH=`date '+%Y-%m-%d_%H-%M'`_`crc32 $BINARY_NAME`     # copie o arquivo binário atual, você precisa do binário desde o momento da falha para executá-lo no gdb.     cp $BINARY_NAME crashlog/$BINARY_WITH_HASH.bin     # iniciar servidor     # se o seu servidor já imprime a data com cada linha no console, você pode remover "| ts '%Y-%m-%d_%H-%M-%.S'"     stdbuf -o 0 ./$BINARY_NAME 2>&1 | ts '%Y-%m-%d_%H-%M-%.S' | tee 'console.log'     cat 'console.log' >> 'console/console_'`date '+%Y-%m-%d'`'.log';     mv core crashlog/$BINARY_WITH_HASH.core     echo INICIAR A ESPERA POR 3 SEGUNDOS, PRESSIONE CTRL+C PARA DESLIGAR O RESTARTER     sleep 3     echo FIM DA ESPERA done  
      Em seguida, dar permissão ao arquivo "restart,sh" com o comando: 
      sudo chmod 777 -R restart.sh  
      Logo, instale os programas necessários para o restart funcionar corretamente:
      sudo apt install moreutils sudo apt install libarchive-zip-perl Posterior, configure o restart.sh com os dados corretos para a conexão SQL: troque onde esta xxxx, zzzz, yyyy

      Para o restarter criar o arquivo core é necessário desativar o serviço apport no sistema com o comando:
      sudo systemctl stop apport.service sudo systemctl disable apport.service Depois de desativar, use o comando a seguir para ver se está ativo o core, você terá que ter como resposta: core
      cat /proc/sys/kernel/core_pattern  
      E por fim, iniciar o uso do arquivo "restart.sh" com o comando:
      ./restart.sh  
      A princípio é isso!
       
      Siga as atualizações no tópico principal: "Tutorial completo de infraestrutura para montar um servidor TFS 1.x no Ubuntu 22.04" ... 
       
       
      Fontes: 
      - https://github.com/otland/forgottenserver/wiki/Compiling-on-Ubuntu
       
       
       
       
       
    • Por Glacial
      Boa tarde galera, tudo bem?
       
      Meu nome é Gustavo/Glacial, gostaria de compartilhar com a comunidade meu projeto solo no RME 3.5 /Client 10.98 do Tibia.
      Glacial City, com houses, hunts, lojas, quests, bosses e depot.

      Os teleportes já estão redirecionados, falta apenas itens nos baús das quests.
       
      Espero que curtam e podem baixar pra colocar no ot de vocês!
       
      Atualização versão 2.0:
      - Houses na cidade
      - Hive Lair (Lady Bug)
      - Silencer & Frazzle/Guzzlemaw Hunt
      - Drakens + Demons Hunt (área maior)
       
      Links MediaFire e VirusTotal:
      Download Mapas: https://www.mediafire.com/folder/hz0q694t9nk86/Mapas_Glacial
      versão 1.0 Virus Total: https://www.virustotal.com/gui/file/b4e94903752e24aba63b291f9929f15f6bd7f4feb44d5a1f42ec3d755ee7977e?nocache=1
      versão 2.0 Virus Total: https://www.virustotal.com/gui/file/d88ae087e966bed6e2f2348f31246c1858831c1fb13d4e8613ba98f6ede37503?nocache=1
       
      Segue fotos em anexo.
       

       

       

       
       
       

       

       

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo