Configurar o Ragnarok Online Server no Ubuntu 14.04 x64

Você está aqui:
Tempo estimado de leitura: 6 min

Neste artigo, vamos configurar um servidor on-line Ragnarok no Ubuntu 14.04 x64. Você pode estar logado como root ou um usuário com privilégios de superusuário. É mais seguro configurá-lo como um usuário não-root com o 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 (Sublime ou Notepad ++ recomendado)

Requisitos

  • apache2 – Se você planeja usar o phpMyAdmin para acessar mysql remotamente 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 a PCRE.
  • libssl-dev – Requerido, para compilar com o MySQL 5.5.

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


Instalando os pacotes necessários

Execute esses comandos pelo SSH.

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

Após instalar com êxito os requisitos do servidor, vamos continuar instalando e configurando os arquivos do servidor.


Download dos arquivos do servidor

Agora, vamos obter as atualizações mais recentes dos arquivos do servidor do rAthena. Estes são os arquivos necessários para a execução de um servidor Ragnarok Online. Existem outros arquivos do servidor que podem ser usados, como o Hercules e o 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

Isto irá 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á rodando.

    service mysql status

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

    service mysqld start

Depois de executar os comandos acima, abra o console do MySQL.

    mysql -u root -p

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

CREATE DATABASE (seu nome de banco de dados ragnarok); – Vamos nomear “ragnarok”.

    mysql> CREATE DATABASE ragnarok;

Em seguida, crie um novo usuário para o banco de dados Ragnarok e o banco de dados de log.

CONCEDER A TODOS SOBRE ragnarok. * AO seu nome de banco de dados @ localhost IDENTIFICADO POR “yourdesiredpassword”; – Vamos criar um novo usuário chamado admin com uma senha de 123456 .

    mysql> GRANT ALL ON ragnarok.* TO [email protected] IDENTIFIED BY "123456";

Você pode substituir localhost por um endereço IP se quiser 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 de banco de dados de log) – nomearemos “log”.

    mysql> CREATE DATABASE log;

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

    mysql> GRANT ALL ON log.* TO [email protected];

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

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 da web.

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 consulta a seguir.

    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');

Nós inserimos um novo usuário na tabela de login com as seguintes informações.

  • account_id = 2000000 (sempre comece com 2000000, depois 2000001 …)
  • userid = admin (seu nome de usuário no jogo)
  • user_pass = password123 (A senha da sua conta)
  • sex = 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 personagens no jogo)
  • group_id = 99 (consulte /rathena/conf/groups.confe verifique as linhas de id. Por enquanto, 99 para fazer disso uma conta GM para uso de comando especial 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 com sucesso 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 já estava incluído nas informações do servidor do seu VPS Vultr. Se você quiser verificá-lo, digite:

    ifconfig

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

No FileZilla, faça o login no seu VPS com suas credenciais de servidor e acesse a /rAthena/confpasta.

Edite char_athena.confmap_athena.confcom o seu editor de texto preferido.

Editar char_athena.confde:

    // 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 mudanças:

    // 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 mudanças:

    // 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 do Ragnarok Online você estará usando 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, já que este é 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 de configuração executará os testes necessários e gerará arquivos prontos 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 que termine. Se você fizer modificações nos arquivos dentro da /rAthena/srcpasta, precisará 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 seu 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_verpacket_keys_usepara os valores do cliente especificados.

    //
    //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ós não queremos que eles possam usar sua versão de escolha.


Iniciando o servidor

Depois de compilar os arquivos do servidor, use esses comandos para iniciar 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

Depois de executar esses comandos, inicie o servidor novamente.

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

Esse artigo foi útil?
Não Gostei 0
Visualizações: 421

Ainda não Têm uma Conta?

Então Cadastre-se

Nome de Usuário*
E-mail*
Senha*
Confirmar Senha*

Já têm Uma Conta? Click Aqui.

Já tem uma Conta?

Ainda não tem Conta?