En este artículo, vamos a configurar un servidor Ragnarok en línea en Ubuntu 14.04 x64. Puede iniciar sesión como root o como usuario con privilegios de superusuario. Es más seguro configurar esto como un usuario no root con sudo. En este tutorial, vamos a utilizar los archivos del servidor rAthena.
Si está utilizando Windows y tiene Ubuntu Server (VPS o Dedicado), necesitará los siguientes programas.
- FileZilla
- Masilla
- Editor de texto (se recomienda Sublime o Notepad ++)
Requisitos
- apache2: si planea utilizar phpMyAdmin para el acceso remoto a mysql y configurar su sitio web.
- php5: para web y phpMyAdmin.
- phpmyadmin: acceso remoto a MySQL mediante un navegador web.
- mysql-server: nuestra base de datos para el servidor de juegos.
- cliente-mysql
- git
- hacer
- gcc
- libmysqlclient-dev
- zlib1g-dev
- libpcre3-dev - Opcional, para soporte PCRE.
- libssl-dev: obligatorio para compilar con MySQL 5.5.
Puede consultar esta guía sobre la instalación de Apache, MySQL y PHP.
Instalar paquetes requeridos
Ejecute estos comandos sobre SSH.
-
Usuario root:
apt-get install php5 phpmyadmin mysql-server mysql-client git make gcc libmysqlclient-dev zlib1g-dev libpcre3-dev
-
No root con privilegios de sudo:
sudo apt-get install php5 phpmyadmin mysql-server mysql-client git make gcc libmysqlclient-dev zlib1g-dev libpcre3-dev
Después de instalar con éxito los requisitos del servidor, procedamos a instalar y configurar los archivos del servidor.
Descargar los archivos del servidor
Ahora, vamos a obtener las últimas actualizaciones de los archivos del servidor rAthena. Estos son los archivos necesarios para ejecutar un servidor Ragnarok Online. Hay otros archivos de servidor que se pueden usar, como Hercules y eAthena, pero en este tutorial, estamos usando rAthena. Ejecute el siguiente comando para descargar los archivos.
git clone https://github.com/rathena/rathena.git ~/rAthena
Esto colocará todos los archivos dentro rAthenade su directorio actual en la terminal.
Para actualizar los archivos del servidor a la última revisión, ejecute este comando.
cd rAthena
git pull
Configuración de MySQL
En esta parte, estamos configurando MySQL para la base de datos de nuestro servidor. Primero, verifique si su servidor MySQL se está ejecutando.
service mysql status
Si no se está ejecutando, ingrese este comando.
service mysqld start
Después de ejecutar los comandos anteriores, abra la consola de MySQL.
mysql -u root -p
Se le pedirá su contraseña de root. Después de iniciar sesión, escriba los siguientes comandos para crear la base de datos para nuestro servidor.
CREATE DATABASE (el nombre de tu base de datos ragnarok); - Lo llamaremos "ragnarok".
mysql> CREATE DATABASE ragnarok;
Luego, cree un nuevo usuario para Ragnarok DB y log DB.
OTORGAR TODO EN ragnarok. * A yourdatabaseusername @ localhost IDENTIFICADO POR "yourdesiredpassword"; - Crearemos un nuevo usuario llamado admin con una contraseña de 123456 .
mysql> GRANT ALL ON ragnarok.* TO admin@localhost IDENTIFIED BY "123456";
Puede reemplazar localhost con una dirección IP si desea que el usuario pueda acceder a su servidor MySQL de forma remota.
Crea una base de datos de registro para los registros del juego Ragnarok.
CREATE DATABASE (el nombre de su base de datos de registro): lo llamaremos "log".
mysql> CREATE DATABASE log;
Establezca permisos para el usuario que creamos anteriormente llamado admin .
mysql> GRANT ALL ON log.* TO admin@localhost;
Restaure las tablas requeridas en su Ragnarok y base de datos de registro. Actualice su contraseña después de -pacuerdo a esto.
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
Crear una cuenta de juego
Estamos usando phpMyAdmin que instalamos anteriormente para acceder a la base de datos. Acceda a phpMyAdmin a través de su navegador web.
Seleccione la ragnarokbase de datos y elija la logintabla. Podemos ver que hay un registro en esa tabla. No lo elimine / modifique todavía. Es usado por el servidor. Para crear una cuenta de juego, haga clic en la pestaña SQL mientras está en la logintabla para abrir el editor de consultas. Ejecute la siguiente 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');
Hemos insertado un nuevo usuario en la tabla de inicio de sesión con la siguiente información.
- account_id = 2000000 (siempre comienza con 2000000, luego 2000001 ...)
- userid = admin (tu nombre de usuario en el juego)
- user_pass = password123 (La contraseña para su cuenta)
- sex = M (M o F, no use S porque es solo para el servidor)
- email = [email protected] (el correo electrónico de su cuenta, utilizado para eliminar espacios de personajes en el juego)
- group_id = 99 (consulte
/rathena/conf/groups.confy verifique las líneas de identificación. Por ahora, 99 para hacer de esta una cuenta GM para el uso de comandos especiales en el juego).
- character_slots = 9 (Número de caracteres que se pueden crear por cuenta)
Deje los otros valores tal como están. Felicidades. Has creado con éxito tu cuenta para el juego.
Configurar los archivos del servidor
Primero, debe conocer la dirección IP de su servidor. Es posible que ya lo sepa, ya que ya estaba incluido en la información del servidor de su Vultr VPS. Si desea verificarlo, escriba:
ifconfig
Busque la parte eth0 inet addr: xxx.xxx.xxx.xxx . xxx.xxx.xxx.xxx será la dirección IP de su servidor. Si tiene instalado Apache, puede acceder a este para verificar si su servidor web se está ejecutando.
En FileZilla, inicie sesión en su VPS con las credenciales de su servidor y acceda a la /rAthena/confcarpeta.
Edite char_athena.confy map_athena.confcon su editor de texto preferido.
Editar char_athena.confdesde:
// 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
A:
// 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
¿Dónde xxx.xxx.xxx.xxxestá la dirección IP de su servidor?
En el inter_athena.txtarchivo, realice estos cambios:
// 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
En el map_athena.txtarchivo, realice estos cambios:
// 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
¿Dónde xxx.xxx.xxx.xxxestá la dirección IP de su servidor?
Abra subnet_athena.txty configure la dirección IP.
subnet: 255.0.0.0:x.x.x.x:x.x.x.x
Y hemos terminado de configurar el servidor.
Compilar el servidor rAthena
¡Ahora es hora de compilar el servidor! En esta parte, debe saber qué versión de cliente de Ragnarok Online utilizará para conectarse al servidor. Para la configuración del cliente, visite esta página .
Después de decidir qué cliente usar, editemos algunos archivos. Digamos que elegimos usar el 08072013cliente ya que este es el cliente de renovación estable.
Ejecute este comando en la terminal:
./configure --enable-packetver=YYYYMMDD
Reemplace YYYYMMDDcon la fecha del cliente (reformateada).
./configure --enable-packetver=20130807
El script de configuración realizará las pruebas necesarias y generará archivos MAKE para nuestro servidor.
Después de eso, compile el código fuente ingresando estos comandos:
make server
chmod a+x login-server && chmod a+x char-server && chmod a+x map-server
... y espera a que termine. Si realiza modificaciones en los archivos dentro de la /rAthena/srccarpeta, deberá volver a compilarlo.
make clean
make server
Configurar la versión del paquete para las conexiones del cliente
En FileZilla, apunte a la /rAthena/dbcarpeta y edite packet_db.txt.
Encuentra esta línea y edita:
//
//packet_db_ver: 46
packet_db_ver: default
packet_keys_use: default
Dado que estamos usando el 2013-08-07Ragexecliente, busque el cliente especificado a continuación y busque su packet_ver y packet_keys .
//2013-08-07Ragexe
packet_ver: 45
packet_keys: 0x7E241DE0,0x5E805580,0x3D807D80 // [Shakto]
Reemplace el valor predeterminado de packet_db_very packet_keys_useen los valores de cliente especificados.
//
//packet_db_ver: 46
packet_db_ver: 45
packet_keys_use: 0x7E241DE0,0x5E805580,0x3D807D80
Y guarda. Esto es para especificar qué cliente usarán los jugadores. No queremos que puedan usar su versión de elección.
Iniciando el servidor
Después de compilar los archivos del servidor, use estos comandos para iniciar el servidor.
Para comenzar:
./athena-start start
Para detener:
./athena-start stop
Para reiniciar:
./athena-start restart
Si ha encontrado un error como este:
-bash: ./athena-start: /bin/sh^M: bad interpreter
... entonces necesita instalar dos2unix para convertir el script.
apt-get install dos2unix
dos2unix athena-start
chmod a+x athena-start
Después de ejecutar esos comandos, inicie el servidor nuevamente.
Ahora que hemos terminado con la configuración del servidor, solo necesita configurar su cliente Ragnarok para que apunte a su servidor VPS. ¡Disfruta jugando en tu nuevo servidor!
Referencias