Ir para conteúdo

The one who stay

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    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
     
     
     
     
     

Informação Importante

Confirmação de Termo