Jump to content

Search the Community

Showing results for tags 'Linux'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Tibia King
    • Rules
    • Portal
    • FeedBack
  • Open Tibia
    • Otserv
    • Tools
    • Codes
    • Clients
    • Maps
    • Websites
  • Management of Ot Servers
    • Otserv Discussions & Research
    • Support and Requests
    • Otserv Tutorials
  • Tibia and Bots
    • Tibia
    • Bots
  • Others
    • Announcements
    • Other Programming Languages
    • Graphics and Design
    • Playground (Off-topic)

Calendars

  • Official Calendar
  • OTServs Calendar
  • Several Calendars

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Localization


My character


Favorite OTServ


Bot preferred


Interests

Found 110 results

  1. Ataques DoS (Denial of Service) e DDoS (Distributed DoS) De acordo com a definição do CERT (Computer Emergency Response Team), os ataques DoS (Denial of Service), também denominados Ataques de Negação de Serviços, consistem em tentativas de impedir usuários legítimos de utilizarem um determinado serviço de um computador. Para isso, são usadas técnicas que podem: sobrecarregar uma rede a tal ponto em que os verdadeiros usuários dela não consigam usá-la; derrubar uma conexão entre dois ou mais computadores; fazer tantas requisições a um site até que este não consiga mais ser acessado; negar acesso a um sistema ou a determinados usuários. Os ataques do tipo DoS mais comuns podem ser feitos devido a algumas características do protocolo TCP/IP (Transmission Control Protocol / Internet Protocol), sendo possível ocorrer em qualquer computador que o utilize. Uma das formas de ataque mais conhecidas é a SYN Flooding, onde um computador tenta estabelecer uma conexão com um servidor através de um sinal do TCP conhecido por SYN (Synchronize). Se o servidor atender o pedido de conexão, enviará ao computador solicitante um sinal chamado ACK (Acknowledgement). O problema é que em ataques desse tipo, o servidor não consegue responder a todas as solicitações e então passa a recusar novos pedidos. Outra forma de ataque comum é o UPD Packet Storm, onde um computador faz solicitações constantes para que uma máquina remota envie pacotes de respostas ao solicitante. A máquina fica tão sobrecarregada que não consegue executar suas funções. Ataques DDoS O DDoS, sigla para Distributed Denial of Service, é um ataque DoS ampliado, ou seja, que utiliza até milhares de computadores para atacar uma determinada máquina. Esse é um dos tipos mais eficazes de ataques e já prejudicou sites conhecidos, tais como os da CNN, Amazon, Yahoo, Microsoft e eBay. Para que os ataques do tipo DDoS sejam bem-sucedidos, é necessário que se tenha um número grande de computadores para fazerem parte do ataque. Uma das melhores formas encontradas para se ter tantas máquinas, foi inserir programas de ataque DDoS em vírus ou em softwares maliciosos. Em um primeiro momento, os hackers que criavam ataques DDoS tentavam "escravizar" computadores que agiam como servidores na internet. Com o aumento na velocidade de acesso à internet, passou-se a existir interesse nos computadores dos usuários comuns com acesso banda larga, já que estes representam um número muito grande de máquinas na internet. Para atingir a massa, isto é, a enorme quantidade de computadores conectados à internet, vírus foram e são criados com a intenção de disseminar pequenos programas para ataques DoS. Assim, quando um vírus com tal poder contamina um computador, este fica disponível para fazer parte de um ataque DoS e o usuário dificilmente fica sabendo que sua máquina está sendo utilizado para tais fins. Como a quantidade de computadores que participam do ataque é grande, é praticamente impossível saber exatamente qual é a máquina principal do ataque. Quando o computador de um internauta comum é infectado com um vírus com funções para ataques DoS, este computador passa a ser chamado de zumbi. Após a contaminação, os zumbis entram em contato com máquinas chamadas de mestres, que por sua vez recebem orientações (quando, em qual site/computador, tipo de ataque, entre outros) de um computador chamado atacante. Após receberem as ordens, os computadores mestres as repassam aos computadores zumbis, que efetivamente executam o ataque. Um computador mestre pode ter sob sua responsabilidade até milhares de computadores. Repare que nestes casos, as tarefas de ataque DoS são distribuídas a um "exército" de máquinas escravizadas. Daí é que surgiu o nome Distributed Denial of Service. Impedindo e detectando ataques DoS Apesar de não existir nenhum meio que consiga impedir totalmente um ataque DoS, é possível detectar a presença de ataques ou de computadores (zumbis) de uma rede que estão participando de um DDoS. Para isso, basta observar se está havendo mais tráfego do que o normal (principalmente em casos de sites, seja ele um menos conhecido, como o InfoWester, seja ele um muito utilizado, como o Google), se há pacotes TCP e UDP que não fazem parte da rede ou se há pacotes com tamanho acima do normal. Outra dica importante é utilizar softwares de IDS (Intrusion Detection System - Sistema de Identificação de Intrusos). Para prevenção, uma das melhores armas é verificar as atualizações de segurança dos sistemas operacionais e softwares utilizados pelos computadores. Muitos vírus aproveitam de vulnerabilidades para efetuar contaminações. Também é importante filtrar certos tipos de pacotes na rede e desativar serviços que não são usados. Fonte: http://www.infoweste...m/col091004.php Primeiramente use um servidor LINUX Dicas para se dificultar a ação de Ddos A equipe de segurança da LinuxSvr.Net tem algumas dicas aos clientes sel-managed. Utilize o Módulo Dos_Evasive (Apache) É importante saber que bloquear um ataque Ddos usando software é possível em apenas 20% dos casos, e que é necessário perícia e conhecimento técnico avançado para isso. Para saber mais: Atualizado 2020. Creditos : Underewar
  2. Nesse tutorial vou explicar como instalar tudo que é necessário para rodar qualquer site. Também ensino como compilar as sources OTX2 e TFS-1.3. Utilizarei a versão mais atual do Ubuntu, a versão 20.04. Iniciando Ao executar os comandos, algumas vezes será perguntado se você deseja continuar. Por padrão sempre aperte a tecla Y e em seguida a tecla ENTER do teclado, se houver algum ponto em que você precisara agir diferente eu irei indicar o que e onde fazer. sudo apt update sudo apt upgrade sudo apt install zip sudo apt install nano Instalando e Configurando NGINX sudo apt install nginx sudo nano /etc/nginx/sites-available/default Nesse arquivo deve ser adicionado a chamada index.php e deve ser removido o sinal # em algumas linhas. Vou deixar em vermelho as modificações que deverão ser feitas no arquivo. Após terminar a edição aperte CTRL+X, aperte Y, aperte ENTER (tudo isso para salvar o arquivo). server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; # Add index.php to the list if you are using PHP index index.php index.html index.htm index.nginx-debian.html; server_name example.com www.example.com; # pass PHP scripts to FastCGI server # location ~ \.php$ { include snippets/fastcgi-php.conf; # # # With php-fpm (or other unix sockets): fastcgi_pass unix:/var/run/php/php7.1-fpm.sock; # # With php-cgi (or other tcp sockets): # fastcgi_pass 127.0.0.1:9000; } } E agora, vamos reiniciar o serviço para que entre em vigor todas as alterações. sudo systemctl restart nginx.service Para testar se ocorreu tudo certo com a instalação, insira o IP do seu VPS no navegador. Se obtiver uma tela de Boas Vindas como na imagem abaixo. Só vá para o próximo passo se estiver tudo certo até aqui. Instalando MariaDB sudo apt install mariadb-server Instalando PHP sudo apt-get install php-fpm Instalando phpMyAdmin Ao executar esse comando, vai aparecer uma tela indicando para você selecionar o apache2 ou lighttpd, porém não selecione nenhuma opção, apenas aperte TAB e depois ENTER. Na próxima tela terá duas opções YES ou NO, aperte a tecla TAB para marcar a opção NO e depois aperte ENTER para prosseguir. sudo apt-get install phpmyadmin Após isso, execute o comando a seguir e em sequencia entre no site http://ipNumericoDoSeuServer/phpmyadmin sudo ln -s /usr/share/phpmyadmin /var/www/html Será nescessário criar um acesso, pois qualquer outra senha que você tenha definido anteriormente provavelmente não irá funcionar. Não esqueça de substituir as informações em evidencia pelas suas. sudo mysql -u root CREATE USER 'DIGITE UM LOGIN'@'localhost' IDENTIFIED BY 'DIGITE UMA SENHA'; GRANT ALL PRIVILEGES ON *.* TO 'DIGITE NOVAMENTE SEU LOGIN'@'localhost'; FLUSH PRIVILEGES; Após isso, acesse: 0.0.0.0/phpmyadmin. Onde você vai trocar o 0.0.0.0 pelo IP do seu VPS. Lembra da senha que você escolheu na instalação do MariaDB? É aqui que você vai usa-la. O usuário é root e a senha é que você escolheu. Depois clique em Banco de Dados e em seguida digite um nome para o banco de dados e clique em criar. Agora clique em importar, selecione a database e clique em executar. Transfira os arquivos do seu site para o diretório /var/www/html. Preste muita atenção nessa parte, pois os arquivos do site já devem estar dentro da pasta html, não pode ficar algo como /var/www/html/site. Após isso, abra o arquivo config.php do website que você deseja utilizar e coloque as informações sobre o banco de dados: nome, root, senha. Compilando a Source TFS 1.3 Entre no repositório do forgottenserver clique aqui Faça o download para seu PC e extraia o arquivo. Renomeie a pasta extraída para otserv e abra o famoso arquivo config.lua. Configure essa parte de acordo com seus dados, também adicione a última linha. ip = "digita o ip do VPS" -- MySQL mysqlHost = "127.0.0.1" mysqlUser = "root" mysqlPass = "digite a senha que você escolheu na instalação do Maria DB" mysqlDatabase = "digite o nome da database que você escolheu quando criou a database" mysqlPort = 3306 mysqlSock = "" passwordType = "sha1" Salve o arquivo e depois zipe a paste com a compactação .zip e envie para o diretório /home em seu VPS. Após isso, só executar em sequencia os comandos a seguir que estará compilado. apt-get install git cmake build-essential liblua5.2-dev libgmp3-dev libmariadb-dev-compat libboost-filesystem-dev libboost-system-dev libboost-iostreams-dev libpugixml-dev libcrypto++-dev cd /home unzip otserv.zip cd otserv mkdir build && cd build cmake .. make -j 2 mv tfs.. && cd .. Para abrir o fechar o servidor respectivamente, você vai usar: ./tfs killall -9 tfs Compilando a Source OTX 2 Entre no repositório do OTX2 clique aqui Faça o download para seu PC e extraia o arquivo. Renomeie a pasta extraída para otserv e abra o famoso arquivo config.lua. Configure essa parte de acordo com seus dados, também adicione a última linha. ip = "digita o ip do VPS" -- MySQL mysqlHost = "127.0.0.1" mysqlUser = "root" mysqlPass = "digite a senha que você escolheu na instalação do Maria DB" mysqlDatabase = "digite o nome da database que você escolheu quando criou a database" mysqlPort = 3306 mysqlSock = "" encryptionType = "sha1" Salve o arquivo e depois zipe a paste com a compactação .zip e envie para o diretório /home em seu VPS. Após isso, só executar em sequencia os comandos a seguir que estará compilado. apt-get install subversion autoconf build-essential pkg-config libboost-dev libgmp3-dev libxml2-dev liblua5.1-0-dev libmariadbclient-dev-compat ccache libboost-filesystem-dev libboost-regex-dev libboost-system-dev libboost-thread-dev screen libssl-dev libboost-iostreams-dev cd /home/ unzip otserv.zip cd otserv && cd sources sh ./autogen.sh && ./configure --enable-server-diag --enable-mysql --enable-root-permission && make -j mv theotxserver .. && cd .. Para abrir o fechar o servidor respectivamente, você vai usar: ./theotxserver killall -9 theotxserver
  3. Nesse tópico vou estar ensinando coisas bem simples, mas que provavelmente um usuário iniciante tem dificuldade e certamente dificuldade que todo usuário mais avançado já teve um dia. Primeiramente, toda vez que você digitar uma SENHA, independente do procedimento que você esteja fazendo, a senha não aparece no console. Isso, exatamente, a tela fica preta sem nenhum dado em branco (ou outra cor), mas isso não quer dizer que ela não tenha sido digitada. Meu conselho é que você tome muito cuidado quando for fazer procedimentos assim, para não errar a senha. A segunda dica, é para você saber quando o código digitado anteriormente já foi processado e quando você pode estar inserindo a próxima linha de comando. Se você ver esse simbolo piscando, você pode continuar, se não aguarde. A terceira dica é: o diretório raiz chama-se / Isso mesmo "barra". Se você quer entrar na pasta Home, que está dentro do diretório principal, você usará o comando: cd /home Porém a segunda barra, não tem a função de ir para o diretório raiz e sim de fazer a função de separação. Se você vai entrar na pasta otserv, que está dentro de home, você usa: cd /home/otserv Como voltar para a pasta /home, sem ter que digitar: cd /home ? Isso só é possível, caso você esteja dentro de alguma pasta que está dentro da home, então você poderá usar: cd .. Você estará em no diretório home, e se usar novamente o comando irá para i diretório raiz (/). Em muitos tutoriais de compilação, você verá o comando: mkdir build && cd build mkdir é o comando para criar uma pasta e build é o nome da pasta. Em outras palavras você disse para o sistema: "Crie uma pasta com o nome build". Lembrando que essa pasta será criada no diretório que você está. Já o comando && serve somente para separar um comando do outro. Então: "Crie uma pasta chamada build, e em seguida entre na pasta build". Limpar a tela, deixando-a mais limpa e fácil de trabalhar: clear Outro comando muito comum é o comando mv que é usado dessa forma: mv tfs .. Mv é o comando de mover um arquivo, então o comando acima está dizendo "Mover o arquivo chamado tfs para um diretório anterior a esse". Já vimos o comando " .. " utilizado juntamente com o comando cd Também tem o comando make, make -j 2 ou make -j 4 Significa que você vai criar um executavel, o -j 2 significa que você vai compilar de 2 em 2, agilizando o processo. O -j 4 é de 4 em 4 e assim por diante, isso vai depender da máquina que você está utilizando, mas cuidado, se tiver erros de compilação use apenas make Zip & Unzip e Rar & Unrar Essa parte já é um pouco mais complexa, existem muitos comando e algumas formas de se fazer, vou exemplificar as que acho mais fáceis. Se você enviou seu arquivo zipado para o diretório /home Você vai usar cd /home Para entrar no diretório em que se encontra o arquivo zipado. E vai executar o comando para extrair o conteúdo. unzip nomeDoArquivo.zip unrar nomeDoArquivo.rar Mas e se eu quiser zipar toda a pasta do meu server que está em /home/otserv cd /home/otserv zip -R otserv /home/otserv zipar a pasta otserv, que está dentro da pasta home, e nome-la como otserv com o formato .zip Para facilitar, entre na pasta raiz e depois determine o nome do arquivo, a extensão e qual o diretório da pasta que você quer zipar cd /home/ zip -r mapa.zip /home/otserv/data/world
  4. Downloads necessarios: PuTTY WINSCP SOURCE OTX ATUALIZADA Essa REV eu recomendo você baixar no seu computador, extrair e enviar por ftp para a pasta home. Acessando PuTTY veja os passos a seguir: (Comandos para copiar e colar no shell [Copia: ctrl+insert] [Colar: shift+insert]). Para visualizar ou enviar sua source por ftp vamos usar o WinSCP acesse ele: Certo! Enviou a pasta do OTserver para a pasta home? renomeie ela com o f2 para o nome otserver. Feito? Vamos inciar: Sempre espere terminar por completo o processamento de instalação após executa o comando: apt-get update Se aparecer algo bla bla (Y or N?) digita Y e da enter. cd /home/otserver Instalando as libs e boots: apt-get install libboost-all-dev libgmp3-dev liblua5.1-0 liblua5.1-0-dev liblua50 liblua50-dev liblualib50 liblualib50-dev lua50 lua5.1 libsqlite0-dev libsqlite3-dev sqlite3 libmysql++-dev libmysqlclient-dev mysql-common libxml2-dev libxml++2.6-dev cpp gcc g++ make automake autoconf pkg-config subversion liblua5.1-sql-mysql-dev liblua5.1-sql-sqlite3-dev zlib1g-dev zlib1g libcrypto++-dev libcrypto++9 Após instalação finalizada vamos para o próximo passo... Compilando o server: sh ./autogen.sh && ./configure --enable-server-diag --enable-mysql --enable-root-permission && make -j 2 Bom dando tudo correto via ftp use ctrl+r(atualizar) verifique dentro da pasta do seu OTServer terá um arquivo chamado theforgottenserver se tiver ele la OK meus parabéns você compilou em Linux, vamos para os próximos passos. Jajá vamos abri o server mais antes temos que configurar o config.lua, database, o server. Com a mesma source eu sempre compilo no windows faço tudo em meu computador, faço todos os teste e após está tudo OK eu envio por ftp para minha maquina e faço as atualizações. Normalmente quando você for abrir o server no linux pode da error de sensitive, é quando Arquivo tem nomes com as letras em tamanhos diferenciado tipo A a, exemplo: O servidor no linux procura por um arquivo chamado Record se na pasta script tiver o arquivo com o nome dessa forma record o R minusculo o Linux não vai encontrar os nomes tem que ser iguais o que tiver em maiúsculo fica em maiúsculo e minusculo fica em minusculo. A database eu faço da mesma forma do server primeiro configuro no computador exporto e depois envio o arquivo .sql via ftp para maquina la boto o arquivo na pasta home e eu upo via comandos no shell para a database do Linux. Vamos instalar a parte de WEB: Lembre-se nas instalações sempre da Y quando pergunta Y or N e se aparecer algo como selecionar opções sempre selecione a primeira... Estou ensinando de uma forma que não seria a correta mais da certo! Via Shell SSH: apt-get install apache2 apt-get install php5 libapache2-mod-php5 apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl apt-get install php5-xcache apt-get install sendmail Olha o mysql tem um momento que pede pra você inserir uma senha, aconselho bota uma senha que você conheça. apt-get install mysql-server mysql-client No phpmyadmin ele pede a senha também, bote a mesma do mysql pra não da error: apt-get install phpmyadmin cp -r /usr/share/phpmyadmin/ /var/www/phpmyadmin/ service apache2 restart apt-get install libapache2-modsecurity service apache2 restart Pronto verifique se está tudo correto, http://ip.da.maquina/phpmyadmin acesse seu phpmyadmin usando user: root e a senha é a que você botou na instalação do mysql, crie o seu banco de dados e vamos já upa a database.... Via ftp na pasta var/www/ renomeie usando o f2 o nome da pasta phpmyadmin para outro nome, qualquer um, eu particularmente sempre boto outros nomes, não deixo phpmyadmin, exemplo, 65fs98a97ds56aq. Upando a database, usando o shell vamos para a pasta onde se encontra o seu banco de dados, que enviamos via ftp, no caso, a pasta home: cd /home psenha Ae você bota a senha do seu mysql se você não sabe entre em contato com quem você alugou seu dedicado. mysql -u root -psenha No comando abaixo você bota o nome da sua database que criamos agora pouco na web. USE seubancodedados Aqui você bota o nome do arquivo.sql que enviamos por ftp: source arquivo.sql Só esperar finalizar após concluir ok, database upada pode conferir pelo seu navegador de internet como todas as tabelas estarão la do jeito que você configurou no windows. Galera ai o resto vocês já sabem sobre o config.lua,dados da database, senha, ip, rates, feito isso vamos pro site. Via ftp acesse sua pasta htdocs selecione todos os arquivos dentro dela e mande para a pasta var/www, quando concluir apenas altere o a seguinte arquivo, config.ini, em server path, altere, no caso ali o nome da pasta do meu OT é otserver: install = "no" server_path = "/home/otserver/" signatures = "0" Se tiver feito até agora tudo certo, o seu site vai estar funcionando perfeitamente. Go go go! Você já testou o server em sua casa, configurou a pasta data utilizando a mesma REV, pronto enviar a pasta via ftp substituindo a pasta que existe la. Feito isso vamos para o shell acesse a pasta do ot: cd /home/otserver ./theforgottenserver Se aparecer algo bla bla (Y or N?) digita Y e da enter. Ai vai abri normalmente aparece carregando o server se der algum erro vai dizer pra quem sabe ler vai ser moleza! Abriu o server entrou com seu god testou tudo ok, feche o server, ctrl+c, agora vamos abrir o server oficial pra não cair e poder fechar o shell sem cair o ot. Vamos nós, no shell volte para o root usando: Até voltar ao root: cd / Vamos adicionar um usuario: adduser tfs No caso ai o nome do usuário que estou adicionando é tfs, pode ser otserver, seu nome, você escolhe, quando você executa o comando vai pedi uma senha bote mesma da sua maquina da enter vai pedi seu nome pais e talz bota nada não só da enter ate finalizar o processo feito isso, OK. Agora baixe esse arquivo em seu computador extraia ele e envia por ftp para a pasta home/otserver: TFS.SH cd /home/otserver chmod 777 -R tfs.sh Feito né? Ok agora vamos abrir o OT pra ele não fechar e quando ele cair por algum erro ele volta sozinho. Em root utilizando o shell execute os comandos: Isso indica que você esta utilizando o usuario tfs: su tfs cd /home/otserver ./theforgottenserver.sh& Ai ele começa a carrega normal e pronto THE END. Caso queria fechar o server: su tfs cd /home/otserver ps x Vai aparece uma lista de coisas abertas e cada uma com o numero do processo: Pra fechar o server vai ter que mata dois processo, o bash e o tfs, ambos com interrogação do lado veja que tem dois bash killa somente o com a interrogação(?). Sempre primeiro o bash: kill -9 21748 Depois o server: kill -9 21750 Pronto. Recomendo para a proteção do seu site: Prevent DOS attacks on apache webserver for DEBIAN linux with mod_evasive
  5. Acertando o Fuso Horário Boa tarde, resolvi fazer esse tutorial, pois eu tive esse probleminha que foi facilmente resolvido. Estou compartilhando caso alguém esteja passando ou passe pelo mesmo problema ache a solução aqui no Tibia King. Nível: Fácil Objetivo: Deixar o fuso horário do servidor Linux, que normalmente é fora do Brasil, igual ao nosso. Sistema Operacional Testado: Ubuntu 14.04 1º Passo - Vamos conectar ao nosso servidor Linux via SSH. 2º Passo - Até agora foi fácil né? Agora vamos digitar o comando date para verificar se o horário do servidor está diferente do nosso. 3º Passo - Agora vamos ajustar o fuso horário, para começar digite o comando sudo dpkg-reconfigure tzdata . Nessa primeira tela vamos selecionar o nosso continente. 4º Passo - Selecionado o nosso continente, vai pedir que selecione a nossa Time Zone , no meu caso vou selecionar a cidade de São Paulo, que é o lugar mais próximo de onde moro. 5º Passo - Pronto, depois disso vai aparecer a mensagem mostrando da nova Time Zone que foi escolhida. 6º Passo - Mas já não tinha acabado? É, já acabou, só vamos confirmar se o horário digitando o comando date novamente. Antes que alguém fale.. Porra! Turanoh, mas ficou uns minutos de diferença? Isso é o meu relógio que ta meio errado mesmo, e outra pode ser que tenha uma pequena diferença, qualquer coisa ajuste também o relógio do seu PC, veja se a Time Zone dele é a mesma que foi selecionada no seu servidor, só assim eles ficarão sincronizados. Pequena Conclusão, agora pelo menos vai me facilitar muito na hora de configurar meu servidor, por exemplo escolhendo o horário do save server, horário de eventos, raids automáticas, entre outras coisinhas. Espero que facilite sua vida também, para quem leio o tópico todo, obrigado pela atenção! Agora, enfim acabamos! Espero de alguma forma ter te ajudado, valeu.
  6. Boa noite pessoal, bom eu estou com um problema no meu game que a minha vps linux esta dando uns picos de uso de memoria, exemplo: o servidor esta dando uns picos de 50% para 90% de uso, e as vezes ate + do que isso, minha vps e uma linux 14.04 64bits unbutu 8 de ram. servidor com 55 players esta dando muito leg, por causa desses picos que vai de 50 a 90% de uso. chegando ate 101% as vezes, quanto + quantidade de players + os picos aumente. fica alternando os picos de 50% 70% 80% 90% e ate 101%,, varia de acordo com a quantidade de players online. porem quando chega em 55 players o servidor fica completamente legado.. ja troquei de distro. troquei de tfs para otx. mas continuou o problema,. ae voltei pra tfs e ainda continua, ja usei varias tfs e otx e em todas esse problema continua.. troquei de empresa ja 2 vezes. atualmente estou usando a top host. Alto Consumo de Memória RAM
  7. Olá pessoal tudo bem? sou novo aqui no fórum, mais vou tentar ajudar um pouco com meu conhecimento Hoje estarei trazendo para vocês um script que todos tem vontade de ter(eu acho) HUAHAUHAUH quando você entra naquele baiak e digita !autoloot e ve aquele scriptzão de pega loot e fica com vontade de ter, hoje estarei trazendo ele aqui pra vocês: Primeiramente o sistema é contido em 3 arquivos(Talkactions,creaturescripts,login.lua) Vamos começar pelo talkactions! Em talkactions.xml adicione a seguinte tag: <talkaction words="!autoloot" event="script" value="Auto Loot.lua"/> Agora vá na pasta talkactions/scripts e crie 1 arquivo chamado Auto Loot.lua e nele adicione o seguinte codigo: function ExistItemByName(name) -- by vodka local items = io.open("data/items/items.xml", "r"):read("*all") local get = items:match('name="' .. name ..'"') if get == nil or get == "" then return false end return true end local function getPlayerList(cid) local tab = {} if getPlayerStorageValue(cid, 04420021) ~= -1 then table.insert(tab, getPlayerStorageValue(cid, 04420021)) end if getPlayerStorageValue(cid, 04420031) ~= -1 then table.insert(tab, getPlayerStorageValue(cid, 04420031)) end if getPlayerStorageValue(cid, 04420041) ~= -1 then table.insert(tab, getPlayerStorageValue(cid, 04420041)) end if getPlayerStorageValue(cid, 04420051) ~= -1 then table.insert(tab, getPlayerStorageValue(cid, 04420051)) end if #tab > 0 then return tab end return false end local function addToList(cid, name) local itemid = getItemIdByName(name) if getPlayerList(cid) and isInArray(getPlayerList(cid), itemid) then return false end if getPlayerStorageValue(cid, 04420021) == -1 then return doPlayerSetStorageValue(cid, 04420021, itemid) elseif getPlayerStorageValue(cid, 04420031) == -1 then return doPlayerSetStorageValue(cid, 04420031, itemid) elseif getPlayerStorageValue(cid, 04420041) == -1 then return doPlayerSetStorageValue(cid, 04420041, itemid) elseif getPlayerStorageValue(cid, 04420051) == -1 then return doPlayerSetStorageValue(cid, 04420051, itemid) end end local function removeFromList(cid, name) local itemid = getItemIdByName(name) if getPlayerStorageValue(cid, 04420021) == itemid then return doPlayerSetStorageValue(cid, 04420021, -1) elseif getPlayerStorageValue(cid, 04420031) == itemid then return doPlayerSetStorageValue(cid, 04420031, -1) elseif getPlayerStorageValue(cid, 04420041) == itemid then return doPlayerSetStorageValue(cid, 04420041, -1) elseif getPlayerStorageValue(cid, 04420051) == itemid then return doPlayerSetStorageValue(cid, 04420051, -1) end return false end function onSay(cid, words, param) if param == "" then local fi = getPlayerStorageValue(cid, 04420021) ~= -1 and getItemNameById(getPlayerStorageValue(cid, 04420021)) or "" local se = not vip.hasVip(cid) and "Não disponível para free account" or getPlayerStorageValue(cid, 04420031) ~= -1 and getItemNameById(getPlayerStorageValue(cid, 04420031)) or "" local th = not vip.hasVip(cid) and "Não disponível para free account" or getPlayerStorageValue(cid, 04420041) ~= -1 and getItemNameById(getPlayerStorageValue(cid, 04420041)) or "" local fo = not vip.hasVip(cid) and "Não disponível para free account" or getPlayerStorageValue(cid, 04420051) ~= -1 and getItemNameById(getPlayerStorageValue(cid, 04420051)) or "" local stt = getPlayerStorageValue(cid, 04421011) == 1 and "sim" or "não" local str = getPlayerStorageValue(cid, 04421001) == 1 and "sim" or "não" doPlayerPopupFYI(cid, "{Auto-Loot} ---Menu Auto Loot do jogador\n{Auto-Loot} ----------------\n{Auto-Loot} ---Coletar dinheiro: "..stt..". Para ligar/desligar: !autoloot gold \n{Auto-Loot} ---Coletar itens únicos: "..str..". Para ligar/desligar: !autoloot power\n{Auto-Loot} --Configuração dos slots:\n{Auto-Loot} ---Slot 1: "..fi.."\n{Auto-Loot} ---Slot 2: "..se.."\n{Auto-Loot} ---Slot 3: "..th.."\n{Auto-Loot} ---Slot 4: "..fo.."\n{Auto-Loot} ---Para adicionar um novo item aos slots: !autoloot add, <nome do item>\n{Auto-Loot} ---Para retirar um item dos slots: !autoloot remove, <nome do item>\n{Auto-Loot} ---Para limpar todos os slots utilize: !autoloot clear\n{Auto-Loot} ---Para informações de quanto você já fez utilizando a coleta de dinheiro, use: !autoloot goldinfo\n\nSe seu autoloot bugar use !autoloot desbug\n\n{Auto-Loot} ----------------") return true end local t = string.explode(param, ",") if t[1] == "power" then local check = getPlayerStorageValue(cid, 04421001) == -1 and "ligou" or "desligou" doPlayerSetStorageValue(cid, 04421001, getPlayerStorageValue(cid, 04421001) == -1 and 1 or -1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você "..check.." o auto loot.") elseif t[1] == "gold" then local check = getPlayerStorageValue(cid, 04421011) == -1 and "ligou" or "desligou" doPlayerSetStorageValue(cid, 04421011, getPlayerStorageValue(cid, 04421011) == -1 and 1 or -1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você "..check.." a coleta de dinheiro.") doPlayerSetStorageValue(cid, 04421021, 0) elseif t[1] == "goldinfo" then local str = getPlayerStorageValue(cid, 04421011) == -1 and "O sistema de coleta de dinheiro está desligado" or "O sistema já coletou "..getPlayerStorageZero(cid, 04421021).." gold coins" doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, str) elseif t[1] == "add" then if ExistItemByName(t[2]) then local item = getItemIdByName(t[2]) if isInArray({2160, 2148, 2152}, item) then return doPlayerSendCancel(cid, "Você não pode adicionar moedas no autoloot. Para coletar dinheiro use !autoloot gold") end if vip.hasVip(cid) then if getPlayerStorageValue(cid, 04420011) < 3 then if addToList(cid, t[2]) then doPlayerSetStorageValue(cid, 04420011, getPlayerStorageValue(cid, 04420011) + 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, t[2].." adicionado à sua lista do auto loot! Para ver sua lista diga !autoloot list") else doPlayerSendCancel(cid, t[2].." já está em sua lista!") end else doPlayerSendCancel(cid, "Sua lista já tem 4 itens! Você deve remover algum antes de adicionar outro.") end else if getPlayerStorageValue(cid, 04420011) == -1 then if addToList(cid, t[2]) then doPlayerSetStorageValue(cid, 04420011, getPlayerStorageValue(cid, 04420011) + 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, t[2].." adicionado à sua lista do auto loot! Para ver sua lista diga !autoloot") else doPlayerSendCancel(cid, t[2].." já está em sua lista!") end else doPlayerSendCancel(cid, "Você já tem um item adicionado no auto loot! Para adicionar outro, você deve remover o item atual.") end end else doPlayerSendCancel(cid, "Este item não existe!") end elseif t[1] == "remove" then if ExistItemByName(t[2]) then if removeFromList(cid, t[2]) then doPlayerSetStorageValue(cid, 04420011, getPlayerStorageValue(cid, 04420011) - 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, t[2].." removido da sua lista do auto loot!") else doPlayerSendCancel(cid, "Este item não está na sua lista!") end else doPlayerSendCancel(cid, "Este item não existe!") end elseif t[1] == "clear" then if getPlayerStorageValue(cid, 04420011) > -1 then doPlayerSetStorageValue(cid, 04420011, -1) doPlayerSetStorageValue(cid, 04420021, -1) doPlayerSetStorageValue(cid, 04420031, -1) doPlayerSetStorageValue(cid, 04420041, -1) doPlayerSetStorageValue(cid, 04420051, -1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Lista limpa!") else doPlayerSendCancel(cid, "Sua lista ja esta limpa!") end elseif t[1] == "desbug" or t[1] == "desbugar" then doPlayerSetStorageValue(cid, 04420011, -1) doPlayerSetStorageValue(cid, 04420021, -1) doPlayerSetStorageValue(cid, 04420031, -1) doPlayerSetStorageValue(cid, 04420041, -1) doPlayerSetStorageValue(cid, 04420051, -1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Desbugado!") elseif t[1] == "list" then local fi = getPlayerStorageValue(cid, 04420021) ~= -1 and ""..getItemNameById(getPlayerStorageValue(cid, 04420021)).."\n" or "" local se = getPlayerStorageValue(cid, 04420031) ~= -1 and ""..getItemNameById(getPlayerStorageValue(cid, 04420031)).."\n" or "" local th = getPlayerStorageValue(cid, 04420041) ~= -1 and ""..getItemNameById(getPlayerStorageValue(cid, 04420041)).."\n" or "" local fo = getPlayerStorageValue(cid, 04420051) ~= -1 and ""..getItemNameById(getPlayerStorageValue(cid, 04420051)).."\n" or "" doPlayerPopupFYI(cid, "O sistema auto loot está coletando:\n "..fi..""..se..""..th..""..fo) end return true end Lembrando esse script libera dois slots de autoloot pra free account e quatro slots para vip account, o sistema configurado nele é o vipSystemByMock caso use um script diferente basta alterar função vip.hasVip(cid) Vamos continuar? Próximo passo vamos adicionar o creaturescripts! Na pasta creaturescripts, abra o creaturescripts.xml e adicione a seguinte tag: <event type="kill" name="autoloot" event="script" value="Auto Loot.lua"/> Agora dentro da pasta creaturescripts vá ate a pasta scripts e crie um arquivo chamado Auto Loot.lua e adicione o seguinte codigo: local aloot_boost = {[2406] = 36, [2537] = 4800, [2377] = 480, [2663] = 600, [2472] = 195000, [2398] = 36, [2475] = 7200, [2519] = 6500, [2497] = 10700, [2523] = 180000, [2494] = 325000, [2400] = 144000, [2491] = 6000, [2421] = 325000, [2646] = 260000, [2477] = 7200, [2413] = 84, [2656] = 18000, [2498] = 52000, [2647] = 600, [2534] = 32500, [7402] = 19500, [2466] = 26000, [2465] = 240, [2408] = 120000, [2518] = 1800, [2500] = 3000, [2376] = 30, [2470] = 91000, [2388] = 24, [2645] = 26000, [2434] = 2400, [2463] = 480, [2536] = 11700, [2387] = 240, [2396] = 4800, [2381] = 240, [2528] = 4800, [2409] = 1800, [2414] = 12000, [2427] = 9000, [2407] = 7200, [2458] = 42, [2383] = 960, [2392] = 3600, [2488] = 18000, [2525] = 120, [2423] = 240, [7382] = 13000, [2462] = 1300, [2520] = 39000, [2390] = 180000, [2417] = 72, [2436] = 1200, [5741] = 52000, [2378] = 120, [2487] = 24000, [2476] = 6500, [8891] = 36000, [2459] = 36, [2195] = 52000, [2391] = 7200, [2464] = 120, [8889] = 72000, [2432] = 13000, [2431] = 108000, [2492] = 52000, [2515] = 240, [2430] = 2400, [2393] = 13000, [7419] = 36000, [2522] = 130000, [2514] = 65000} local function getPlayerStorageZero(cid, storage) -- By Killua local sto = getPlayerStorageValue(cid, storage) if tonumber(sto) then return tonumber(sto) > tonumber(0) and tonumber(sto) or tonumber(0) end return tonumber(0) end local tabela = {} local function getPlayerList(cid) local tab = {} if getPlayerStorageValue(cid, 04420021) ~= -1 then table.insert(tab, getPlayerStorageValue(cid, 04420021)) end if getPlayerStorageValue(cid, 04420031) ~= -1 then table.insert(tab, getPlayerStorageValue(cid, 04420031)) end if getPlayerStorageValue(cid, 04420041) ~= -1 then table.insert(tab, getPlayerStorageValue(cid, 04420041)) end if getPlayerStorageValue(cid, 04420051) ~= -1 then table.insert(tab, getPlayerStorageValue(cid, 04420051)) end if #tab > 0 then return tab end return {} end local function boost(cid) return tonumber(getPlayerStorageValue(cid,722381)) >= os.time() end local function autoLoot(cid, pos) if not isPlayer(cid) then return end local check = false local str = "" local position = {} for i = 1, 255 do pos.stackpos = i if getThingFromPos(pos).uid and getThingFromPos(pos).uid > 0 and isContainer(getThingFromPos(pos).uid) then position = pos check = true break end end if check then local corpse = getContainerItemsInfo(getThingFromPos(position).uid) if corpse then for index, info in pairs(corpse) do if index < countTable(corpse) then if info.uid and info.itemid then if isContainer(info.uid) then local bag = getContainerItemsInfo(info.uid) for i = 1, countTable(bag) do if isInArray(getPlayerList(cid), bag[i].itemid) then if bag[i].quant > 1 then doRemoveItem(bag[i].uid, bag[i].quant) doPlayerAddItem(cid, bag[i].itemid, bag[i].quant) str = str.." "..bag[i].quant.." "..getItemNameById(bag[i].itemid).." +" else doRemoveItem(bag[i].uid) if boost(cid) then if aloot_boost[bag[i].itemid] then doPlayerSetBalance(cid,getPlayerBalance(cid) + aloot_boost[bag[i].itemid]) str = str.." 1 "..getItemNameById(bag[i].itemid).." ("..aloot_boost[bag[i].itemid].."gp no banco) +" else doPlayerAddItem(cid, bag[i].itemid, 1) str = str.." 1 "..getItemNameById(bag[i].itemid).." +" end else doPlayerAddItem(cid, bag[i].itemid, 1) str = str.." 1 "..getItemNameById(bag[i].itemid).." +" end end end end end end end if isInArray(getPlayerList(cid), info.itemid) then if info.quant > 1 then doRemoveItem(info.uid, info.quant) doPlayerAddItem(cid, info.itemid, info.quant) str = str.." "..info.quant.." "..getItemNameById(info.itemid).." +" else doRemoveItem(info.uid) if boost(cid) then if aloot_boost[info.itemid] then doPlayerSetBalance(cid,getPlayerBalance(cid) + aloot_boost[info.itemid]) str = str.." 1 "..getItemNameById(info.itemid).." ("..aloot_boost[info.itemid].."gps no banco) +" else doPlayerAddItem(cid, info.itemid, 1) str = str.." 1 "..getItemNameById(info.itemid).." +" end else doPlayerAddItem(cid, info.itemid, 1) str = str.." 1 "..getItemNameById(info.itemid).." +" end end end end end end setPlayerTableStorage(cid,822564,{[1] = str, [2] = 0}) end local function autoGold(cid, pos) if not isPlayer(cid) then return end local check = false local total = 0 local position = {} for i = 1, 255 do pos.stackpos = i if getThingFromPos(pos).uid and getThingFromPos(pos).uid > 0 and isContainer(getThingFromPos(pos).uid) then position = pos check = true break end end if check then local corpse = getContainerItemsInfo(getThingFromPos(position).uid) if corpse then for index, info in pairs(corpse) do if info.uid and info.itemid then if index < countTable(corpse) then if isContainer(info.uid) then local bag = getContainerItemsInfo(info.uid) for i = 1, countTable(bag) do if isInArray({2148, 2152, 2160}, bag[i].itemid) then local multiplie = 1 if bag[i].itemid == 2148 then multiplie = 1 elseif bag[i].itemid == 2152 then multiplie = 100 elseif bag[i].itemid == 2160 then multiplie = 10000 end doRemoveItem(bag[i].uid, bag[i].quant) doPlayerSetBalance(cid, getPlayerBalance(cid) + tonumber(bag[i].quant) * multiplie) total = total + bag[i].quant * multiplie doPlayerSetStorageValue(cid, 04421021, tonumber(getPlayerStorageZero(cid, 04421021)) + tonumber(info.quant) * tonumber(multiplie)) end end end end if isInArray({2148, 2152, 2160}, info.itemid) then local multiplie = 1 if info.itemid == 2148 then multiplie = 1 elseif info.itemid == 2152 then multiplie = 100 elseif info.itemid == 2160 then multiplie = 10000 end doRemoveItem(info.uid, info.quant) doPlayerSetBalance(cid, getPlayerBalance(cid) + info.quant * multiplie) doPlayerSetStorageValue(cid, 04421021, tonumber(getPlayerStorageZero(cid, 04421021)) + tonumber(info.quant) * tonumber(multiplie)) total = total + info.quant * multiplie end end end end end if total > 0 then total = total - (total * 0.2) total = math.ceil(total) doPlayerSetBalance(cid,getPlayerBalance(cid) + total) local tab = getPlayerTableStorage(cid,822564) tab[2] = total setPlayerTableStorage(cid,822564,tab) end end local function sendMsg(cid) if not isPlayer(cid) then return end local tab = getPlayerTableStorage(cid,822564) if countTable(tab) >= 1 then if tab[1] then if tab[2] and tab[2] > 0 then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "[Auto Loot System] Coletados: ".. tab[1] .." ".. tab[2] .." gold coins.") else if type(tab[1]) == "string" and string.len(tab[1]) > 1 then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "[Auto Loot System] Coletados: "..tab[1]) end end elseif not tab[1] then if tab[2] then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "[Auto Loot System] Coletados: "..tab[2].." gold coins.") end end end doPlayerSetStorageValue(cid,822564,-1) end function onKill(cid, target, lastHit) if isPlayer(cid) and isMonster(target) then if getPlayerStorageValue(cid, 04421001) == 1 and #getPlayerList(cid) > 0 then local pos = getCreaturePosition(target) addEvent(autoLoot, 500, cid, pos) end if getPlayerStorageValue(cid, 04421011) == 1 then local pos = getCreaturePosition(target) addEvent(autoGold, 540, cid, pos) end if getPlayerStorageValue(cid, 04421001) == 1 or getPlayerStorageValue(cid, 04421011) == 1 then addEvent(sendMsg, 560, cid) end end return true end E por fim ainda dentro da pagina scripts procure o arquivo login.lua e registre a seguinte tag: registerCreatureEvent(cid, "autoloot") registerCreatureEvent(cid, "Auto Loot") Créditos: Killua - Vitor cardoso bertolucci Obrigado a todos e até a próxima! JNetworks.com.br Jnetworks agradece a preferência! Está querendo abrir 1 OTServer e não sabe onde hospedar? Acesse: JNetworks.com.br Instalamos seu OTServer apartir da contratação de 3GB de ram!
  8. Galera esse script é um auto backup da sua database, quem gosta de prevenir vamos ao tutorial. Backup.sh Criei uma pasta em qualquer local no linux, no meu caso eu fiz uma pasta com o nome database que está localizada na pasta home. home/database/backup.sh Certo vamos configura o arquivo, dentro dele já vem tudo explicado mais vou dar um reforço, dentro do arquivo backup.sh contém: #!/bin/bash CAMINHO="/home/database/" <--- local onde vai ficar salvo os backups NOMEBACKUP="server-backup" <--- nome do backup USER="root" <--- não mexe SENHA="nitendo64" <--- senha da database BANCO="casa_blanca" <--- nome da database #Nao mexer daqui pra baixo TEMPO="$(date +'%d-%m-%Y-%H-%M')" ##### #Rodando o backup ##### if [[ -z "$USER" || -z "$SENHA" || -z "$BANCO" ]]; then echo "Por favor preencha o usuário, senha e banco de dados nas configurações." else mysqldump -u$USER -p$SENHA $BANCO > $CAMINHO"/"$NOMEBACKUP"-"$TEMPO".sql" fi Certo configurado né, vamos fazer um teste: Acessa a pasta: cd /home/database Da permissão pros arquivos dentro dela, no caso o backup.sh: chmod 777 -R * Roda o script pra um teste: ./backup.sh Veja na imagem do meu teste, já aparece ali a database, então ta ok deu certo as configurações: Tudo bem, agora vamos configura pra ficar automático, pra todos os dias o script executar o backup em um certo horário: crontab -e Se aparecer algo tipo seleciona alguma opção, selecione Nano, que provavelmente seja numero 2... ---------------------------------------------------------------------------------- Se não aparecer vai direto pra isso: Digite isso dentro do nano, como você ver na imagem acima já tem adicionado: 0 6,21 * * * sh /home/database/backup.sh ctrl+x y da ENTER No meu caso botei pro script ser executado as 06:00hrs e 21:00hrs, então todo os dias nesse horário o script vai fazer o backup pra essa pasta que configurei, caso queria mudar o horário a logica do comado é clara né. Caso queria deixar de minutos em minutos abaixo observe um exemplo de 5 em 5 minutos: */5 * * * * sh /home/database/backup.sh Caso queria deixar de horas em horas abaixo observe um exemplo de 1 em 1 hora: 0 */1 * * * sh /home/database/backup.sh Qualquer duvida postem, clica em GOSTEI, valeu. Créditos total: Joffily Ferreira
  9. Quero deixar meu servidor online através do Google Cloud Platform para que eu e meus amigos teste o servidor, e venha se divertir com os demais players como se ele estivesse realmente Online. Soube que lá você ganha 300 Dólares, R$1.660,14 reais para gastar com o que bem enteder dentro da plataforma, mas estou com uma dúvida, para quem usa ou sabe como funciona o Google Cloud Platform, poderia me explicar como realmente funciona? Tipo, se no final desses 12 meses será cobrado todo o valor que eu acabei gastando, se eu posso cancelar antes desses 12 meses, se eu não usar todo o valor dentro de 12 meses, eu terei que pagar alguma coisa. Alguém expert no assunto poderia me da essas respostas pfv? @LeoTK Desculpa está te marcando, mas sei que você usa essa plataforma, poderia me responder?
  10. Descrição Há MUITAS pessoas com esse tipo de dúvida sobre como abrir servidor atualmente, andei fuçando até que achei esse video e resolvi compartilhar com vocês. O tutorial é longo, possui mais de uma hora mas é completamente explicativo. No tutorial é utilizado a versão 10.8x, mas lembrando que serve para todas as versões atuais. Os downloads se encontram ao final do tópico! Agradecimentos à @hpjp, conteúdo feito totalmente por ele! Compatibilidade Windows e Linux. Video Aula Comandos uteis/necessários Downloads Máquina Virtual: http://www.oracle.com/technetwork/pt/server-storage/virtualbox/downloads/index.html xUbuntu Torrent: http://torrent.ubuntu.com/xubuntu/releases/trusty/release/desktop/xubuntu-14.04.3-desktop-amd64.iso.torrent Arquivo Install PHP: http://www.4shared.com/file/UH9Mtrd-ce/install.html Database (senha admin/admin e players 1/1): http://www.4shared.com/document/7mkM6cZxba/global.html Servidor: http://www.mediafire.com/download/f7jacdzac7w5a4w/server.rar Sources com cast system: http://www.mediafire.com/download/bt2b2kj6eblfz2j/sources.rar Website compativel: http://www.mediafire.com/download/ssmgo9ko8j354so/www.zip Database: http://www.mediafire.com/download/vn0gbf75qgbi5ge/global-8.sql
  11. Olá cidadãos do TibiaKing! Neste tutorial de hoje vou ensinar a instalar e utilizar o Screen. Mas antes disso, vou explicar o que é e para que serve. O Screen (ou GNU Screen) é é um software livre multiplexador de terminal de linha de comando desenvolvido pelo Projeto GNU. Permite que o usuário acesse múltiplas sessões separadas de terminal a partir de uma mesma janela ou mesmo remotamente. É muito útil para manipular vários programas em uma mesma janela ou mesmo para manter processos em execução de fundo. [Wikipedia] Ou seja, reusmidamente, o Screen é um software que permite você rodar várias áreas de trabalhos com vários processos executando. E porque preciso de utilizar isso no meu servidor de OTServer? Simples! Quando for abrir o servidor utilizando o comando ./theforgottenserver &, ao fechar o SSH, o servidor continua rorando, certo? Mas você não pode mais ver os logs que o executável gera em tempo real no linux. Porém.. se você abrir o servidor dentro de uma área de trabalho do Screen, isso é possível! Sem contar com várias outras vantagens como maior estabilidade e possibilidade de continuar trabalhando no SSH sem interromper o servidor ou ter que abrir outra janela! Bom.. agora que já expliquei sobre o Screen.. Vamos ao tutorial! 1. Instalando o Screen: 1.1. Abra o terminal SSH do seu servidor. 1.2. Ao logar no servidor, rode o seguinte comando para instalar o Screen: -> Servidores Ubuntu/Debian: apt-get install screen -> Servidores CentOS: yum install screen 1.3. Pronto, Screen instalado! Simples, não? Agora vamos a utilização! 2. Utilizando o Screen: 2.1. Abra o terminal SSH do seu servidor. 2.2. Para criar uma nova área de trabalho do Screen, utilize o comando: screen -S NomeDaScreen -> Por exemplo: screen -S rodarServidor 2.3. Assim que o comando acima for executado, voce já estará em uma nova área de trabalho. Caso queira deixar algo rodando nela em segundo plano, basta rodar o que for rodar normalmente e sair da Screen sem fechar a área de trabalho. -> Por exemplo: screen -S TFS nightz@servidor:~$ cd /home/otserv nightz@servidor:/home/otserv$ ./theforgottenserver & 2.4. Depois que o comando já estiver rodando, basta pressionar as teclas CONTROL, A e D (Ctrl A + D). Ao "minimizar" a área de trabalho, o Screen vai exibir uma frase informando que "deu tudo certo". -> Por exemplo: screen -S tst nightz@servidor:~$ [detached from 13077.tst] 2.5. Para entrar novamente na Screen, basta utilizar o comando abaixo: screen -r -x NomeDaScreen -> Por exemplo: screen -r -x tst 2.6. Mas e se eu esquecer o nome da Screen? Calma.. Para listar todas as Screens em execução, utilize o seguinte comando: screen -ls -> Por exemplo: nightz@server:$ screen -ls There is a screen on: 13077.tst (10-06-2014 08:55:37) (Detached) 1 Socket in /var/run/screen/S-476175. nightz@server:$ * De azul, temos o nome das Screens (neste caso, da Screen) em execução. 2.7. E para fechar uma Screen, ao em vez de minimizá-la, como faço? Simples! Utilize o comando abaixo após acessar a Screen que deseja fechar: exit Pronto! 3. Correção de problemas: Aqui em baixo, vou postando soluções de possíveis problemas do Screen, a medida que forem sendo reportados. Até hoje, o único problema por qual já passei foi a pasta do Screen perder permissão, fazendo com que eu não consiga ver as Screens em aberto, mas esse problema só não permite que a mesma seja resumida, as Screens todas continuaram funcionando normalmente. + Problema: Directory '/var/run/screen' must have mode 777. + Solução: chmod 777 /var/run/screen. Façam bom proveito! (Esse tutorial foi completamente escrito por mim. Qualquer cópia deve ser previamente autorizada e conter os devidos créditos.)
  12. Eae Pessoal do Tibiaking ! Vi que tinha muita gente , Com dedicado e "talz" , querendo tirar o blacklist na hora de inicializar a distro e deixar o server no autorestart (24horas) , no meu caso . uso Linux Em otserv.cpp , procure por : { #if defined(WINDOWS) && !defined(__CONSOLE__) if(MessageBox(GUI::getInstance()->m_mainWindow, "Unable to fetch blacklist! Continue?", "Blacklist", MB_YESNO) == IDNO) #else std::cout << "Unable to fetch blacklist! Continue? (y/N)" << std::endl; char buffer = getchar(); if(buffer == 10 || (buffer != 121 && buffer != 89)) #endif startupErrorMessage("Unable to fetch blacklist!"); } substitua por : /*{ #if defined(WINDOWS) && !defined(__CONSOLE__) if(MessageBox(GUI::getInstance()->m_mainWindow, "Unable to fetch blacklist! Continue?", "Blacklist", MB_YESNO) == IDNO) #else std::cout << "Unable to fetch blacklist! Continue? (y/N)" << std::endl; char buffer = getchar(); if(buffer == 10 || (buffer != 121 && buffer != 89)) #endif startupErrorMessage("Unable to fetch blacklist!"); }*/ só isso , REP + por favor Créditos : Eu (MickeyBlooD/Snoow) -> Só adicionei as tags de comentário
  13. O OT Server Ready (OSR) é um software básico que desenvolvi juntamente com o apoio da 4YouStart feito para auxiliar aqueles que tem mais dificuldade com a parte de infraestrutura. Veja funcionando: Avisos: O software está em BETA. Em caso de qualquer problema envie uma resposta nesse post. Quero lembrar que qualquer cópia dessa postagem sem a devida autorização não é permitida. O OSR instala e configura os seguintes softwares/bibliotecas (visão geral): - Apache2 - php5 - MySQL 5.5 - phpmyadmin - Todas bibliotecas para compilar/rodar um OT Server O sistema suporta os seguintes sistemas operacionais: Debian 7.x Ubuntu 12.x Ubuntu 14.x Para instalar o OT Server Ready, utilize as seguintes instruções: Lembrete: utilize-o apenas em um servidor novo, recém formatado. Para instalar no Debian: apt-get update apt-get install -y gcc wget http://scripts.4youstart.com/ot-server-ready-debian chmod 777 ot-server-ready-debian ./ot-server-ready-debian SENHA Para instalar no Ubuntu: apt-get update apt-get install -y gcc wget http://scripts.4youstart.com/ot-server-ready-ubuntu chmod 777 ot-server-ready-ubuntu ./ot-server-ready-ubuntu SENHA Substitua a palavra "SENHA" na última linha da instalação pela senha que deseja utilizar no phpmyadmin e MySQL. Recomenda-se que utilize a mesma senha do que a senha do servidor, mas pode utilizar qualquer uma. Versão atual do Software: v0.2 [23/11/2015] Lista de bibliotecas instaladas: v0.1: apache2 php5 libapache2-mod-php5 php5-mcrypt mysql-client-5.5 mysql-server-5.5 mysql-common libboost-all-dev libgmp3-dev liblua5.1-0 liblua5.1-0-dev liblua50 liblua50-dev liblualib50 liblualib50-dev lua50 lua5.1 libsqlite0-dev libsqlite3-dev sqlite3 libmysql++-dev libmysqlclient-dev libxml2-dev libxml++2.6-dev cpp gcc g++ make automake autoconf pkg-config subversion liblua5.1-sql-mysql-dev liblua5.1-sql-sqlite3-dev zlib1g-dev zlib1g libcrypto++-dev libcrypto++ libcurl4-openssl-dev phpmyadmin v0.2: zip unzip build-essential libboost-dev libwww-perl ccache libboost-filesystem-dev libboost-regex-dev libboost-system-dev libboost-thread-dev libssl-dev Façam bom proveito
  14. [Atenção] Este tutorial é recomendado para que já sabe manusear um servidor Linux! Galerinha, eu sei que já existem diversos tópicos semelhantes à este aqui no TK, mas eu resolvi postar este tutorial pois eu deixarei aqui de forma simples e reduzia como você deve montar sua maquina Linux para deixar seu servidor online direitinho. Primeiramente você precisará baixar e instalar os seguintes programas: Putty e FileZilla. Utilize os dados abaixo para se conectar ao seu servidor Linux: INSTALAR APACHE, MYSQL E PHPMYADMIN Vamos configurar tudo para o site do seu OTServ. Se aparecer algo (Y or N?) digita Y e da enter. Espere sempre finalizar um processo para iniciar o outro. 1 - Acesse seu Putty e digite os seguintes comandos em sequencia: apt-get update apt-get upgrade apt-get install apache2 cd /var/www apt-get install php5 /etc/init.d/apache2 restart Pronto, você instalou o Apache2 e o php5 que serão necessários para deixar online o site do seu OTServ. 2 - Agora vamos instalar o MySQL em seu servidor Linux, digite os seguintes códigos em sequencia: Aqui você vai escolher uma senha para o MySQL. apt-get install mysql-server apt-get install libapache2-mod-auth-mysql apt-get install php5-mysql Pronto, você instalou o MySQL em seu servidor Linux, ele será necessário para o banco de dados do seu OTServ. 3 - Agora nós vamos instalar o phpMyAdmin, digite os seguintes códigos em sequencia: Aqui você vai escolher uma senha para o phpMyAdmin. (Senha que você usará no phpMyAdmin) apt-get install phpmyadmin Ubuntu: echo "include /etc/phpmyadmin/apache.conf" | sudo tee -a /etc/apache2/apache2.conf Debian: ln -fvs /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf /etc/init.d/apache2 restart Pronto, você instalou o phpMyAdmin, ele irá servir para você administrar seu MySQL. Enfim, você instalou tudo necessário para deixar o site do seu OTServ online, confira o seu site em http://seuip e confira seu phpMyadmin em http://seuip/phpmyadmin (user:root/pass:suasenha). COMPILAR OTSERV LINUX (DEBIAN E UBUNTU) Lembre-se, eu ensinarei você a compilar seu OTServ em Ubuntu e Debian. Se aparecer algo (Y or N?) digita Y e da enter. Espere sempre finalizar um processo para iniciar o outro. 1 - Acesse sua maquina e vá até a pasta /etc/apt, agora edite o arquivo sources.list adicionando a tag: Ubuntu: deb http://ubuntu.mirror.cambrium.nl/ubuntu/ lucid main Debian: deb http://ftp.de.debian.org/debian squeeze main Agora salve o arquivo sources.list atualizado na pasta /etc/apt. 2 - Agora acesse seu Putty e vamos iniciar a instalação das libs necessárias para rodar seu OTServ. Digite os comandos em sequencia: Ubuntu e Debian: apt-get update apt-get upgrade apt-get install libboost-all-dev apt-get install subversion autoconf build-essential pkg-config libboost-dev libgmp3-dev libxml2-dev liblua5.1-0-dev libmysqlclient-dev libcrypto++-dev ccache libboost-filesystem-dev libboost-regex-dev libboost-system-dev libboost-thread-dev screen libssl-dev apt-get install libcurl4-openssl-dev apt-get install screen Pronto, feito isso você terá tudo configurado para que você possa compilar e botar seu OTServ online. 3 - Agora nós vamos compilar o seu OTServ, mas para isso preciso que você utilize o FileZilla e bote a pasta do seu OTServ nomeada como "otserv" na pasta home, ou seja, /otserv e a deixe a pasta das suas sources dentro da pasta do seu otserv nomeada como "trunk", ou seja /otserv/trunk. Enfim, vamos compilar seu OTServ, digite os seguintes comandos em sequencia: cd /otserv chmod 777 -R trunk cd /otserv/trunk sh ./autogen.sh && ./configure --enable-server-diag --enable-mysql --enable-root-permission && make clean && make -j 2 Pronto, se não ocorrer nenhum erro de compilação em suas sources e tudo der certo você terá seu distro pronto para deixar o seu OTServ online em Linux! 4 - Agora vamos para a parte mais simples, vamos finalmente botar seu OTServ online, vá até a pasta /otserv/trunk e arraste o arquivo theforgottenserver para a pasta /otserv e digite os seguinte comando de permissão: cd /otserv && chmod 777 -R theforgottenserver Enfim, finalmente vamos botar o seu OTServ online, depois de você ter configurado sua config.lua e etc... Execute o comando: screen ./theforgottenserver Você pode fechar o Putty que o seu OTServ continuará online, caso queira ver os logs basta abrir o Putty e executar: screen -x Você pode fechar seu OTServ apertando Ctrl+C para fechar a screen ou executando o seguinte comando: killall -SIGQUIT theforgottenserver ou killall -3 theforgottenserver ALELUIA, TERMINAMOSS!!! Agora você tem o seu OTServ totalmente configurado em seu servidor Linux, bacana não!? Créditos: Matheus Natanael Beckman gpedro Weblara Você gostou deste conteúdo!? Este conteúdo te ajudou!? Isso será realmente útil pra você!? Então, se possível, faça uma doação (de qualquer valor) que estará me ajudando também!
  15. Para facilitar o monitoramento dos meus servidores em linux eu utilizo um comando chamado tee Para configurar é necessário criar um arquivo no seu servidor, de preferência na pasta raiz do server. No meu caso, criei um chamado server.sh #!/bin/bash ulimit -c unlimited while true; do TEMPO="$(date +'%d-%m-%Y-%H-%M')" ./tfs | tee "serverlog_____"$TEMPO".log"; done Esse script é um restarter de linux normal, ou seja, fica em looping verificando se o TFS está ativo, caso não esteja ele o executa o comando ./tfs | tee "serverlog(dia_anterior)_____"$TEMPO".log A função deste comando é ligar o TFS salvando o log do dia anterior em um arquivo, que é salvo na mesma pasta onde está o arquivo server.sh Exemplo do log: Espero que também seja útil para vocês.
  16. 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) 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. Passo 2.2 - Siga o Passo a Passo Para Liberação de Portas no Item Firewall 3 - Apontamento de Domínio e Configuração de DNS 4 - Configuração Interna do Servidor Volte para sua instância (Compute Engine -> Instâncias de VMs) 4.2 - Liberando acesso SSHD 4.3 Instalação de pacote Web ( MySQL-SERVER, Apache, PHP, PHPMyadmin) 4.4 Configurando o PHPMyadmin 4.5 Compilando uma distro em Debian9 4.6 Instalando um Website 5 - Instalação de protocolo HTTPS / Certificado Digital SSL 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
  17. Fala galera, eu estava com problema na compilação do TFS 0.4 no linux, pois não achava nenhum tutorial sobre... Eu consegui uma SUPER AJUDA ESPECIAL de um membro aqui chamado @Fir3element, esse cara me ajudou demais, tanto na liberação da source TFS 0.4 rev 3777 com suporte a MSVC quanto na compilação em Linux. Bom, chega de enrolação e vamos ao que interessa. Eu usei o Ubuntu 12.04 64 bits, TFS 0.4 rev3777 do Fir3element. Todos os Downloads estarão no final do tópico. Let's go!!!! Vídeo-aula 1º - Liberar root 2º - Instalando as LIBs do TFS 3º - Passe o arquivo 3777-master.rar para a raiz(file system ou sistema de arquivos) 4º - Vamos começar o processo de compilação. 5º - O arquivo executável, estará localizado dentro da pasta src, chamado "theforgottenserver" sem nenhuma extensão. Para usá-lo, coloque-o na pasta de seu server, abra o terminal e digite o seguinte: Pronto galera, Tutorial testado e aprovado por mim(Sekk) Downloads: Ubuntu 12.04 - http://releases.ubuntu.com/12.04.5/ (Não postarei scan pois é do site oficial do Ubuntu.) Source TFS 0.4 rev3777 - https://github.com/s3kk/tfs04 Scan da source - https://www.virustotal.com/pt/file/4ad91b1993200dde9a5c77d2b99a1e8d80158bc95f0a6b3fb857e60eaab6fa0a/analysis/1454367244/ Créditos TOTAIS: @Fir3element
  18. É open-source, porém peguei com meu primo e, infelizmente, não sei o link da source... Mas, se eu achar posto aqui pra vocês Já esta compilado, então é só descompactar e usar.. cd Arquivos (nome da pasta) ./PyIpChanger.py Scan Credits goes for Stian PandoriumX members. PyIpChanger v1.2 - SOURCE.rar
  19. Compilando TFS 1.3 no Windows 1. Baixe os softwares requeridos Para compilar o The Forgotten Server no Windows, você vai precisar: Visual Studio 2015 (Compilador) TFS SDK v3.2 (libs) Libs do Boost C++ (32-bits, 64-bits) 2. Instale os softwares requeridos Após ter baixado os softwares listados na etapa acima, comece instalando o Visual Studio e Boost C++. Extraia o TFS SDK v3.2 em qualquer pasta do seu computador e execute o arquivo "register_tfssdk_env.bat" para setar a variável de ambiente do local onde está o TFS SDK, assim nosso compilador irá encontrar as libs quando começar a compilar. Mova o arquivo "register_boost_env.bat" da pasta do TFS SDK para a pasta onde você instalou as libs do Boost C++ e execute-o (se você seguiu os passos do instalador, está esta na pasta chamada boost_1_62_0). 3. Baixe as sources Se você possuir o Git Client instalado, você poderá clonar a última cópia com este comando: > git clone https://github.com/otland/forgottenserver.git Se você não possuir o Git Client instalado, você poderá baixar a última cópia do The Forgotten Server através do link: https://github.com/otland/forgottenserver/archive/master.zip 4. Compilando Procure o diretório vc14 na pasta do The Forgotten Server que você baixou, e abra o arquivo "theforgottenserver.sln". Isso deverá iniciar o Visual Studio 2015 e você estará pronto para continuar. Para configurar a compilação, navegue para Build -> Configuration Manager no menu superior. Um popup deverá aparecer onde você poderá escolher entre "Release" ou "Debug" para compilar, escolha também para qual Plataforma você irá compilar: 32-bits (Win32) ou 64-bits (x64). Para iniciar a compilação, abra o menu Build novamente e clique em Build Solution (Ctrl + Shift + B). 5. Vídeo-aula https://www.youtube.com/watch?v=Zfil84FMJsk 6. Créditos Mark - Autor do tutorial e do projeto The Forgotten Server Bruno Minervino - Tradução e gravação do vídeo
  20. Oque é OTClient? O Otclient é um cliente Tibia alternativo para uso com o otserv. Ele tem como objetivo ser completo e flexível, pois usa o script LUA para todos os arquivos de configurações e funcionalidade da interface do jogo com uma sintaxe semelhante ao CSS para o design da interface do cliente. O Otclient trabalha com um sistema modular, isto significa que cada funcionalidade é um módulo separado, dando a possibilidade aos usuários modificarem e personalizarem qualquer coisa facilmente. Os usuários também podem criar novos mods e estender a interface do jogo para seus próprios propósitos. Otclient é escrito em C ++ 11 e fortemente roteirizado em lua. Para um servidor se conectar, você pode construir o seu próprio com o servidor forgottenserver ou conectar-se a um listado no otservlist. Oque eu fiz? Eu não entendo muito sobre Linux, e realmente, se eu pudesse resumir o Linux em uma frase seria algo como: "Quando você arruma algo, certamente outra coisa vai bugar.". É isso que eu penso sobre o Linux, mas eu estou ainda utilizando-o, pois eu sou masoquista e estou disposto a quebrar a cabeça até aprender algo. O que eu fiz foi simplesmente compilar o cliente para ser utilizado em Linux, isso foi algo que eu não encontrei em NENHUM fórum, ao menos não um OTClient atualizado que pegue todas as versões novas, agora eu estou disponibilizando o OTClient já compilado aqui no TibiaKing e estou disposto a tirar toda e qualquer dúvida referente a compilação dessa maravilha. Download Download: Aqui Para descompactar o arquivo basta digitar a senha que é tibiaking, infelizmente acabei de tentar fazer o scan e o tamanho máximo de arquivo permitido pelo virustotal é 128MB, se alguém tiver a bondade de fazer o scan e postar aqui ficarei imensamente grato, um abraço e até qualquer dia.
  21. Olá, estou querendo saber o que vocês mais gostam em um otserv para que eu desenvolva um.projeto em cima da opinião de vocês. Conto com o apoio de vocês.
  22. O script nada mais faz que dar um git pull do seu repositório automaticamente quando o servidor recebe reload ou crasha. Na pasta raiz de seu repositório crie um arquivo chamado startserver.sh e uma pasta chamada logs dentro da pasta raiz de seu site. pastaOt="caminho do servidor" comandoBackup="caminho do servidor/backup/backup.sh" echo "Iniciando o programa" cd $pastaOt mkdir -p /logs mkdir -p build while true do cd $pastaOt ./tfs 2>&1 | awk '{ print strftime("%F %T - "), $0; fflush(); }' | tee "/var/www/html/logs/$(date +"%F %H-%M-%S.log")" exitcode=${PIPESTATUS[0]} if [ $exitcode -eq 0 ]; then echo "Clean close" git pull cd build cmake .. make if [$? -ne 0]; then echo "Compilation failed!" else echo "Compilation successful!" mv tfs .. fi cd .. else echo "Server Crash!!! (O arquivo de log está guardado na pasta logs)" fi echo "Server Down, backup database..." $comandoBackup sleep 2 done; Ainda na pasta raiz do seu servidor crie uma pasta chamada backup e dentro dela crie um arquivo chamado backup.sh CAMINHO="caminho do servidor/backup/" NOMEBACKUP="nome do arquivo de backup" USER="usuario do phpmyadmin" SENHA="senha do phpmyadmin" BANCO="nome da database" TEMPO="$(date +'%d-%m-%Y-%H-%M')" if [[ -z "$USER" || -z "$SENHA" || -z "$BANCO" ]]; then echo "Por favor preencha o usuário, senha e banco de dados nas configurações." else mysqldump -u$USER -p$SENHA $BANCO > $CAMINHO"/"$NOMEBACKUP"-"$TEMPO".sql" fi Não se esqueça da permissão 777 em todos os arquivos, e também de ligar o servidor com o comando ./startserver.sh OBS: você deve configurar a chave ssh no seu git para que não peça o e-mail e senha a cada reload, o git clone também deve ser feito atraves de ssh e não https
  23. Dragon Ball Evolution Fala pessoal estava com um projeto DBZ em 2015 porém não deu muito certo e estou aqui para (DOAR) pra vocês! Ainda mais é um projeto feito já pra rodar em maquina usando UBUNTU 12.04, pra ficar melhor ainda eu fiz a source desse DBZ toda e estou liberando junto, ela não contém erros de compilações e também não há erros graves que derruba o servidor, vim aqui em nome do meu projeto que libero a vocês, apenas o mapa não é meu o resto foi tudo editado por mim, fora as magias que existem no servidor, as vocações estão quase todas balanceadas, a config.lua está totalmente configurada como a source e suas funções. o que tem no servidor ? Informações: *War System na source *spoof system player configurado na config.lua *Source rev 3777 protocolo 8.60. (estável) (bug's fixed) *Cliente dbz solto OLD. *Servidor pronto pra por online. *Muitas transformações. *bank System dentro do jogo colocado por mim. *NPC's funcionando perfeitamente. *Banco de dados juntos. *Ant push system pela source, que configura no config.lua *antiPushDelay configurado no config.lua também. *Ant Divulgação colocada pela source. *Multi word aonde pode abrir vários mundos diferentes usando uma unica database. *No salt, pode usar o account Manager junto com mysql que não irá gerar o salt funciona conjunto com o site sem erros. e muita outra coisas espero que gostem!!! by Alexy Brocanello um servidor parado no pendriver e certamente não vou usar. Demonstração: Servidor e Cliente + Source >>> Download DATABASE >>> com account manager já configurado! >> http://www.mediafire.com/download/1in454i49h5o5rj/dbz.sql DLL Windows >>>dll.zip Executor Windows:>>> theforgottenserver.zip (para quem não consegue compilar) Scan dos arquivos >>> Scan Compilando Ubuntu 12.04: 1° Utilitários - *Se tiver seu Ubuntu Instalado ignore isso UTorrent pra baixa o S.O (Sistema Operacional) >> http://www.utorrent.com/intl/pt/ Ubuntu LTS 12.04>>> http://releases.ubuntu.com/12.04/ubuntu-12.04.5-alternate-amd64.iso.torrent 2° COMPILAR OTSERV LINUX (UBUNTU) Lembre-se, eu ensinarei você a compilar seu OTServ em Ubuntu. Se aparecer algo (Y or N? ou S ou N) digita Y ou S e da enter. Instalando as lib e boost's no Ubuntu! Ubuntu: apt-get update apt-get upgrade apt-get install libboost-all-dev apt-get install subversion autoconf build-essential pkg-config libboost-dev libgmp3-dev libxml2-dev liblua5.1-0-dev libmysqlclient-dev libcrypto++-dev ccache libboost-filesystem-dev libboost-regex-dev libboost-system-dev libboost-thread-dev screen libssl-dev apt-get install libcurl4-openssl-dev apt-get install screen Pronto, feito isso você terá tudo configurado para que você possa compilar e botar seu OTServ online! 3° COMPILANDO cd .. chmod 777 -R Dragon Ball Evolution cd /Dragon Ball Evolution/source sh ./autogen.sh && ./configure --enable-server-diag --enable-mysql --enable-root-permission && make clean && make -j 2 4° Ligando servidor cd .. chmod 777 -R Dragon Ball Evolution cd /Dragon Ball Evolution ./theforgottenserver FIM tutorial Linux Agora WINDOWS: Para compilar em windows use esse dev-CPP que disponibilizei especialmente nos fóruns que frequento: Dev-CPP>>> http://www.mediafire.com/download/pr41vq9g1u9sudf/dev+ja+configurada.7z Siga os passo de como você conhece (não precisa configura boost nem nada disso, pois é um dev-CPP pré configurado para esse servidor. Se gerar um erro no final da compilação (Ignore) você pode compilar dnv sem erros, apenas compila não apague nada. ai você vai na pasta dev-cpp que o exe ta lá! As dll tá lá em cima do tópico para você usar. Entrando Senha 1/1 ATENÇÃO: Não USE sqlite para o servidor, pois você não vai conseguir entrar! USE o banco de dados de SITE MYSQL conjunto com account manager (Não tem salt de na criação via account manager e pode ser usado junto com o site sem problema!) (Não quero gente vendendo em ) Source DBZ.zip
  24. Compilando OTServer em Linux (Testado em Debian7 e Ubuntu14.04) Olá TibiaKing! Venho trazendo um tutorial muito útil para aqueles que não faz a mínima ideia de como compilar um OT de uma forma simples! Funciona somente com sources de TFS 1.x Primeiro de tudo, você tem que ter a Source e o OT que deseja compilar. Então 'LETS GO'! Programas para instalar PuTTY para conectar via SSH. (aqui) FilleZila Client para ter acesso aos arquivos da máquina. (aqui) Começando Ao instalar os programas, abra o Fillezila. Em Host, Nome de Usuário, Senha, Port (padrão 22), coloque oque te passaram pelo email quando comprou o Dedicado Ao logar, volte uma pasta, renomeie a pasta do seu ot para "otserv" e coloque a pasta "sources" dentro da pasta do seu ot, e mova para o Fillezila, ficando em /otserv Ao mover basta compilar, configurar e deixar online. Abrindo o PuTTY Agora você precisará usar o PuTTY. Abra ele e siga as imagens abaixo: ---- ---- ---- ----- Instalando arquivos necessários Bom, depois que o Shell estiver aberto, vamos instalar os arquivos necessários para compilar, incluindo Apache e MySQL. Com o Shell aberto execute este comando para atualizar o sistema: apt-get update (OBS: NUNCA USE #apt-get upgrade) Logo depois execute: apt-get install cmake build-essential liblua5.2-dev libgmp3-dev libmysqlclient-dev libboost-system-dev apache2 php5 libapache2-mod-php5 php5-mysql mysql-server phpmyadmin Após carregar tudo, irá pedir abrir duas telas com caixas de seleção, a primeira você marque "apache2" e dê enter, na segunda você seleciona "yes", e coloque a senha do MYSQL. Compilando seu OTServ Chegou a hora do tão esperando momento! Para compilar seu otserv navegue até a pasta das sources, executa o comando de compilar, e mova o arquivo "tfs" para a pasta do seu OT. Seguindo estes comandos: cd otserv/sources mkdir build cd build cmake .. make mv tfs /otserv Pronto, OT compilado, fácil né? Para abrir certifique que seu config.lua está de acordo com a sua necessidade. Deixando seu OTServ online Depois de compilar, configurar o seu OTServ do jeito que você quiser, é hora de deixar seu OT online! Para deixar o OT online, você precisa ir para pasta do seu otserv e executar o comando #./tfs Siga os comandos: cd /otserv ./tfs Pronto! Só esperar carregar e SERVER ON! Outros e dicas A pasta para colocar seu site fica em /var/www Se quiser deixar seu servidor online e com o Plutty fechado, antes de abrir execute este comando apt-get install screen Logo depois, use este comando, depois só abrir o servidor normalmente! screen -S tibia (OBS: o -S dessa palavra tem diferença, se você colocar o -S minúsculo (-s), haverá diferença de comando. Se quiser fechar o servidor, só digitar este comando de depois apertar CTRL+C. screen -x Então galera, o tutorial foi esse! Eu também achava que era MUITO complicado, mas é só isso! Se você gostou não esqueça de reputar, e até mais! (Créditos pelas imagens: @Natanael Beckman)
  25. Olá Pessoal do King ! Estou com um projeto de abrir um servidor de Tibia Global 8.6 (Low Rate (10x Stages)) com cidades Vip's NOVAS (Cansado de pyre,ethno, gengia, etc). Preciso de alguém com as seguintes características: - Saiba mexer no Geisor Acc Maker (Site). - Saiba mexer no OT Manager, na questão de alterar arquivos no servidor (Colocar o mapa editado dentro do servidor) >> ( http://otmanager.com.br/ ). - Tenha conhecimento em Database. - Queira ganhar uma grana com o Tibia Bra. Sobre Mim: - Sou Mapper. - Sou Scripter. - Tenho noções de programação C, C++, Java e LUA. - Sou fiador do Projeto Tibia Bra. - Tenho experiência em divulgação. Tibia Bra é um projeto antigo meu, porém estou aberto a aceitar outros projetos também, vamos conversar ! ! WhatsApp: (19) 9 8223-3885 FB: facebook.com/lucas.grannier Aguardo contato ! Abraços

Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia começando do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer fazer um plano publicitário para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução!

×
×
  • Create New...