Instalação do Ragnarok Online Server no Ubuntu 14.04 x64

Neste artigo, vamos configurar um servidor online Ragnarok no Ubuntu 14.04 x64. Você pode fazer login como root ou como um usuário com privilégios de superusuário. É mais seguro configurá-lo como um usuário não root com sudo. Neste tutorial, vamos usar os arquivos do servidor rAthena.

Se você estiver usando o Windows e tiver o Ubuntu Server (VPS ou Dedicado), precisará dos seguintes programas.

  • FileZilla
  • PuTTY
  • Editor de texto (recomendado Sublime ou Notepad ++)

Exigências

  • apache2 - Se você planeja usar o phpMyAdmin para acesso remoto ao mysql e configurar seu site.
  • php5 - Para web e phpMyAdmin.
  • phpmyadmin - Acesso remoto ao MySQL usando um navegador da web.
  • mysql-server - nosso banco de dados para o servidor do jogo.
  • cliente mysql
  • git
  • faço
  • gcc
  • libmysqlclient-dev
  • zlib1g-dev
  • libpcre3-dev - Opcional, para suporte ao PCRE.
  • libssl-dev - Necessário, para compilar com o MySQL 5.5.

Você pode consultar este guia sobre a instalação do Apache, MySQL e PHP.


Instalando Pacotes Necessários

Execute esses comandos no SSH.

  • Usuário raiz:

    apt-get install php5 phpmyadmin mysql-server mysql-client git make gcc libmysqlclient-dev zlib1g-dev libpcre3-dev
    
  • Não raiz com privilégios sudo:

    sudo apt-get install php5 phpmyadmin mysql-server mysql-client git make gcc libmysqlclient-dev zlib1g-dev libpcre3-dev
    

Depois de instalar com êxito os requisitos do servidor, vamos continuar instalando e configurando os arquivos do servidor.


Fazendo Download dos Arquivos do Servidor

Agora, obteremos as atualizações mais recentes dos arquivos do servidor rAthena. Estes são os arquivos necessários para executar um servidor Ragnarok Online. Existem outros arquivos de servidor que podem ser usados, como Hercules e eAthena, mas neste tutorial, estamos usando o rAthena. Execute o comando abaixo para baixar os arquivos.

    git clone https://github.com/rathena/rathena.git ~/rAthena

Isso colocará todos os arquivos dentro rAthenado seu diretório atual no terminal.

Para atualizar os arquivos do servidor para a revisão mais recente, execute este comando.

    cd rAthena
    git pull

Configuração do MySQL

Nesta parte, estamos configurando o MySQL para o banco de dados do nosso servidor. Primeiro, verifique se o seu servidor MySQL está em execução.

    service mysql status

Se não estiver em execução, insira este comando.

    service mysqld start

Após executar os comandos acima, abra o console do MySQL.

    mysql -u root -p

Você será solicitado a fornecer sua senha root. Após o login, digite os seguintes comandos para criar o banco de dados para o nosso servidor.

CREATE DATABASE (nome do seu banco de dados ragnarok); - Vamos chamá-lo de "ragnarok".

    mysql> CREATE DATABASE ragnarok;

Em seguida, crie um novo usuário para o Ragnarok DB e o log DB.

CONCEDE TUDO NO ragnarok. * PARA yourdatabaseusername @ localhost IDENTIFICADO POR "yourdesiredpassword"; - Criaremos um novo usuário chamado admin com uma senha 123456 .

    mysql> GRANT ALL ON ragnarok.* TO admin@localhost IDENTIFIED BY "123456";

Você pode substituir o host local por um endereço IP, se desejar que o usuário possa acessar seu servidor MySQL remotamente.

Crie um banco de dados de log para os logs do jogo Ragnarok.

CREATE DATABASE (seu nome do banco de dados de log) - Vamos chamá-lo de "log".

    mysql> CREATE DATABASE log;

Defina permissões para o usuário que criamos anteriormente chamado admin .

    mysql> GRANT ALL ON log.* TO admin@localhost;

Restaure as tabelas necessárias no seu Ragnarok e no banco de dados de log. Atualize sua senha depois -p.

mysql> quit;

mysql -u admin -p123456 ragnarok  < /path/to/your/rathena folder/sql-files/main.sql
mysql -u admin -p123456 log < /path/to/your/rathena folder/sql-files/logs.sql

Criando uma conta de jogo

Estamos usando o phpMyAdmin que instalamos anteriormente para acessar o banco de dados. Acesse o phpMyAdmin através do seu navegador.

Selecione o ragnarokbanco de dados e escolha a logintabela. Podemos ver que há um registro nessa tabela. Não exclua / modifique ainda. É usado pelo servidor. Para criar uma conta de jogo, clique na guia SQL enquanto estiver na loginmesa para abrir o editor de consultas. Execute a seguinte consulta.

    INSERT INTO `ragnarok`.`login` (`account_id`, `userid`, `user_pass`, `sex`, `email`, `group_id`, `state`, `unban_time`, `expiration_time`, `logincount`, `lastlogin`, `last_ip`, `birthdate`, `character_slots`, `pincode`, `pincode_change`, `vip_time`, `old_group`) VALUES ('2000000', 'admin', 'password123', 'M', '[email protected]', '99', '0', '0', '0', '0', '0000-00-00 00:00:00', '', '0000-00-00', '9', '', '0', '0', '0');

Inserimos um novo usuário na tabela de login com as seguintes informações.

  • account_id = 2000000 (sempre inicie com 2000000, depois 2000001 ...)
  • userid = admin (seu nome de usuário no jogo)
  • user_pass = password123 (a senha da sua conta)
  • sexo = M (M ou F, não use S porque é apenas para o servidor)
  • email = [email protected] (o email da sua conta, usado para excluir slots de caracteres no jogo)
  • group_id = 99 (consulte /rathena/conf/groups.confe verifique as linhas de identificação. Por enquanto, 99 para fazer disso uma conta GM para uso especial de comandos no jogo).
  • character_slots = 9 (número de caracteres que podem ser criados por conta)

Deixe os outros valores como estão. Parabéns. Você criou sua conta para o jogo.


Configurando os Arquivos do Servidor

Primeiro, você deve saber o endereço IP do seu servidor. Você já deve saber disso, pois ele já foi incluído nas informações do servidor do seu Vultr VPS. Se você quiser verificá-lo, digite:

    ifconfig

Procure a parte eth0 inet addr: xxx.xxx.xxx.xxx . xxx.xxx.xxx.xxx será o endereço IP do seu servidor. Se você possui o Apache instalado, você pode acessá-lo para verificar se o servidor da web está em execução.

No FileZilla, efetue login no seu VPS com as credenciais do servidor e acesse a /rAthena/confpasta.

Edite char_athena.confe map_athena.confcom o seu editor de texto preferido.

Editar a char_athena.confpartir de:

    // Login Server IP
    // The character server connects to the login server using this IP address.
    // NOTE: This is useful when you are running behind a firewall or are on
    // a machine with multiple interfaces.
    //login_ip: 127.0.0.1

    // The character server listens on the interface with this IP address.
    // NOTE: This allows you to run multiple servers on multiple interfaces
    // while using the same ports for each server.
    //bind_ip: 127.0.0.1

    // Login Server Port
    login_port: 6900

    // Character Server IP
    // The IP address which clients will use to connect.
    // Set this to what your server's public IP address is.
    //char_ip: 127.0.0.1       

Para:

    // Login Server IP
    // The character server connects to the login server using this IP address.
    // NOTE: This is useful when you are running behind a firewall or are on
    // a machine with multiple interfaces.
    login_ip: xxx.xxx.xxx.xxx

    // The character server listens on the interface with this IP address.
    // NOTE: This allows you to run multiple servers on multiple interfaces
    // while using the same ports for each server.
    //bind_ip: 127.0.0.1

    // Login Server Port
    login_port: 6900

    // Character Server IP
    // The IP address which clients will use to connect.
    // Set this to what your server's public IP address is.
    char_ip: xxx.xxx.xxx.xxx

Onde xxx.xxx.xxx.xxxestá o endereço IP do seu servidor.

No inter_athena.txtarquivo, faça estas alterações:

    // Global SQL settings
    // overridden by local settings when the hostname is defined there
    // (currently only the login-server reads/obeys these settings)

    // MySQL Login server
    login_server_ip: 127.0.0.1 // <- either 127.0.0.1 or your server's ip, we'll use 127.0.0.1 since it listens to own mySQL server, change it to IP if your mySQL Server is in different server.
    login_server_port: 3306
    login_server_id: ragnarok // <- change this to your mySQL User your created earlier
    login_server_pw: ragnarok // <- its password 
    login_server_db: ragnarok // <- change this if your ragnarok db you set is different
    login_codepage:
    login_case_sensitive: no

    ipban_db_ip: 127.0.0.1 // <- either 127.0.0.1 or your server's ip, we'll use 127.0.0.1 since it listens to own mySQL server, change it to IP if your mySQL Server is in different server.
    ipban_db_port: 3306
    ipban_db_id: ragnarok // <- change this to your mySQL User your created earlier
    ipban_db_pw: ragnarok // <- its password 
    ipban_db_db: ragnarok // <- change this if your ragnarok db you set is different
    ipban_codepage:

    // MySQL Character server
    char_server_ip: 127.0.0.1 // <- either 127.0.0.1 or your server's ip, we'll use 127.0.0.1 since it listens to own mySQL server, change it to IP if your mySQL Server is in different server.
    char_server_port: 3306
    char_server_id: ragnarok // <- change this to your mySQL User your created earlier
    char_server_pw: ragnarok // <- its password 
    char_server_db: ragnarok // <- change this if your ragnarok db you set is different

    // MySQL Map Server
    map_server_ip: 127.0.0.1 // <- either 127.0.0.1 or your server's ip, we'll use 127.0.0.1 since it listens to own mySQL server, change it to IP if your mySQL Server is in different server.
    map_server_port: 3306
    map_server_id: ragnarok // <- change this to your mySQL User your created earlier
    map_server_pw: ragnarok // <- its password 
    map_server_db: ragnarok // <- change this if your ragnarok db you set is different

    // MySQL Log Database
    log_db_ip: 127.0.0.1 // <- either 127.0.0.1 or your server's ip, we'll use 127.0.0.1 since it listens to own mySQL server, change it to IP if your mySQL Server is in different server.
    log_db_port: 3306
    log_db_id: ragnarok // <- change this to your mySQL User your created earlier
    log_db_pw: ragnarok // <- its password 
    log_db_db: log // <- change this if your log db you set is different
    log_codepage:
    log_login_db: loginlog

No map_athena.txtarquivo, faça estas alterações:

    // Character Server IP
    // The map server connects to the character server using this IP address.
    // NOTE: This is useful when you are running behind a firewall or are on
    // a machine with multiple interfaces.
    char_ip: x.x.x.x


    // The map server listens on the interface with this IP address.
    // NOTE: This allows you to run multiple servers on multiple interfaces
    // while using the same ports for each server.
    //bind_ip: 127.0.0.1

    // Character Server Port
    char_port: 6121


    // Map Server IP
    // The IP address which clients will use to connect.
    // Set this to what your server's public IP address is.
    map_ip: x.x.x.x

    // Map Server Port
    map_port: 5121

Onde xxx.xxx.xxx.xxxestá o endereço IP do seu servidor.

Abra subnet_athena.txte defina o endereço IP.

    subnet: 255.0.0.0:x.x.x.x:x.x.x.x

E terminamos de configurar o servidor.


Compilando o servidor rAthena

Agora, é hora de compilar o servidor! Nesta parte, você precisa saber qual versão do cliente Ragnarok Online você usará para se conectar ao servidor. Para configuração do cliente, visite esta página .

Depois de decidir qual cliente usar, vamos editar alguns arquivos. Digamos que optamos por usar o 08072013cliente, pois esse é o cliente de renovação estável.

Execute este comando no terminal:

    ./configure --enable-packetver=YYYYMMDD

Substitua YYYYMMDDpela data do cliente (reformatada).

    ./configure --enable-packetver=20130807

O script configure irá executar os testes necessários e gerar makefiles para o nosso servidor.

Depois disso, compile o código fonte digitando estes comandos:

    make server
    chmod a+x login-server && chmod a+x char-server && chmod a+x map-server

... e espere terminar. Se você fizer modificações nos arquivos dentro da /rAthena/srcpasta, será necessário recompilá-lo.

    make clean
    make server

Configurando a versão do pacote para conexões do cliente

No FileZilla, aponte para a /rAthena/dbpasta e edite packet_db.txt.

Encontre esta linha e edite:

    //
    //packet_db_ver: 46
    packet_db_ver: default
    packet_keys_use: default

Como estamos usando o 2013-08-07Ragexecliente, encontre o cliente especificado abaixo e procure por packet_ver e packet_keys .

    //2013-08-07Ragexe
    packet_ver: 45
    packet_keys: 0x7E241DE0,0x5E805580,0x3D807D80 // [Shakto] 

Substitua o valor padrão de packet_db_vere packet_keys_usenos valores especificados do cliente.

    //
    //packet_db_ver: 46
    packet_db_ver: 45
    packet_keys_use: 0x7E241DE0,0x5E805580,0x3D807D80

E salve. Isto é para especificar qual cliente deve ser usado pelos jogadores. Não queremos que eles possam usar a versão de sua escolha.


Iniciando o servidor

Após compilar os arquivos do servidor, use estes comandos para inicializar o servidor.

Para iniciar:

    ./athena-start start

Parar:

    ./athena-start stop

Reiniciar:

    ./athena-start restart

Se você encontrou um erro como este:

    -bash: ./athena-start: /bin/sh^M: bad interpreter

... então você precisa instalar o dos2unix para converter o script.

    apt-get install dos2unix
    dos2unix athena-start 
    chmod a+x athena-start

Após executar esses comandos, inicie o servidor novamente.

Agora que terminamos a configuração do servidor, basta definir o seu cliente Ragnarok para apontar para o seu servidor VPS. Divirta-se jogando em seu novo servidor!


Referências



Leave a Comment

A IA pode lutar contra o aumento do número de ataques de ransomware

A IA pode lutar contra o aumento do número de ataques de ransomware

Os ataques de ransomware estão aumentando, mas a IA pode ajudar a lidar com os vírus de computador mais recentes? AI é a resposta? Leia aqui para saber se é AI boone ou bane

ReactOS: Este é o futuro do Windows?

ReactOS: Este é o futuro do Windows?

ReactOS, um sistema operacional de código aberto e gratuito está aqui com a versão mais recente. Será que ela pode atender às necessidades dos usuários modernos do Windows e derrubar a Microsoft? Vamos descobrir mais sobre esse estilo antigo, mas uma experiência de sistema operacional mais recente.

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

O Whatsapp finalmente lançou o aplicativo Desktop para usuários de Mac e Windows. Agora você pode acessar o Whatsapp do Windows ou Mac facilmente. Disponível para Windows 8+ e Mac OS 10.9+

Como a IA pode levar a automação de processos ao próximo nível?

Como a IA pode levar a automação de processos ao próximo nível?

Leia isto para saber como a Inteligência Artificial está se tornando popular entre as empresas de pequena escala e como está aumentando as probabilidades de fazê-las crescer e dar vantagem a seus concorrentes.

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

Recentemente, a Apple lançou o macOS Catalina 10.15.4, uma atualização suplementar para corrigir problemas, mas parece que a atualização está causando mais problemas, levando ao bloqueio de máquinas mac. Leia este artigo para saber mais

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

O que é um sistema de arquivos de registro no diário e como ele funciona?

O que é um sistema de arquivos de registro no diário e como ele funciona?

Nosso computador armazena todos os dados de uma maneira organizada conhecida como sistema de arquivos Journaling. É um método eficiente que permite ao computador pesquisar e exibir arquivos assim que você clicar em search.https: //wethegeek.com/? P = 94116 & preview = true

Singularidade tecnológica: um futuro distante da civilização humana?

Singularidade tecnológica: um futuro distante da civilização humana?

À medida que a ciência evolui em um ritmo rápido, assumindo muitos de nossos esforços, os riscos de nos sujeitarmos a uma singularidade inexplicável também aumentam. Leia, o que a singularidade pode significar para nós.

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

O impacto da inteligência artificial na saúde 2021

O impacto da inteligência artificial na saúde 2021

A IA na área da saúde deu grandes saltos nas últimas décadas. Portanto, o futuro da IA ​​na área da saúde ainda está crescendo dia a dia.