Requisits
Instal·lació dels paquets necessaris
Descàrrega dels fitxers del servidor
Configuració de MySQL
Creació d'un compte de joc
Configuració dels fitxers del servidor
S'està compilant el servidor rAthena
Configuració de la versió del paquet per a les connexions del client
S'està iniciant el servidor
Referències
En aquest article, configurarem un servidor en línia Ragnarok a Ubuntu 14.04 x64. Podeu iniciar sessió com a root o com a usuari amb privilegis de superusuari. És més segur configurar-ho com a usuari no root amb sudo. En aquest tutorial, utilitzarem els fitxers del servidor rAthena.
Si utilitzeu Windows i teniu un servidor Ubuntu (VPS o dedicat), necessitareu els programes següents.
- FileZilla
- MASSA
- Editor de text (recomanat Sublime o Notepad++)
Requisits
- apache2: si teniu previst utilitzar phpMyAdmin per accedir a mysql remot i configurar el vostre lloc web.
- php5 - Per a web i phpMyAdmin.
- phpmyadmin - Accés remot a MySQL mitjançant un navegador web.
- mysql-server: la nostra base de dades per al servidor de jocs.
- mysql-client
- git
- fer
- gcc
- libmysqlclient-dev
- zlib1g-dev
- libpcre3-dev - Opcional, per al suport de PCRE.
- libssl-dev - Necessari, per compilar amb MySQL 5.5.
Podeu consultar aquesta guia sobre la instal·lació d'Apache, MySQL i PHP.
Instal·lació dels paquets necessaris
Executeu aquestes ordres mitjançant SSH.
Usuari arrel:
apt-get install php5 phpmyadmin mysql-server mysql-client git make gcc libmysqlclient-dev zlib1g-dev libpcre3-dev
No root amb privilegis sudo:
sudo apt-get install php5 phpmyadmin mysql-server mysql-client git make gcc libmysqlclient-dev zlib1g-dev libpcre3-dev
Després d'instal·lar correctament els requisits del servidor, procedim a instal·lar i configurar els fitxers del servidor.
Descàrrega dels fitxers del servidor
Ara, rebrem les últimes actualitzacions dels fitxers del servidor rAthena. Aquests són els fitxers necessaris per executar un servidor Ragnarok Online. Hi ha altres fitxers de servidor que es poden utilitzar, com Hèrcules i eAthena, però en aquest tutorial, estem fent servir rAthena. Executeu l'ordre següent per descarregar els fitxers.
git clone https://github.com/rathena/rathena.git ~/rAthena
Això col·locarà tots els fitxers dins rAthenadel vostre directori actual al terminal.
Per actualitzar els fitxers del servidor a la darrera revisió, executeu aquesta ordre.
cd rAthena
git pull
Configuració de MySQL
En aquesta part, estem configurant MySQL per a la base de dades del nostre servidor. Primer, comproveu si el vostre servidor MySQL s'està executant.
service mysql status
Si no s'està executant, introduïu aquesta ordre.
service mysqld start
Després d'executar les ordres anteriors, obriu la consola MySQL.
mysql -u root -p
Se us demanarà la vostra contrasenya d'arrel. Després d'iniciar sessió, escriviu les ordres següents per crear la base de dades per al nostre servidor.
CREATE DATABASE (your ragnarok database name); -- We'll name it "ragnarok".
mysql> CREATE DATABASE ragnarok;
A continuació, creeu un nou usuari per a la base de dades Ragnarok i registreu la base de dades.
GRANT ALL ON ragnarok.* TO yourdatabaseusername@localhost IDENTIFIED BY "yourdesiredpassword"; -- We will create a new user called admin with a password of 123456.
mysql> GRANT ALL ON ragnarok.* TO admin@localhost IDENTIFIED BY "123456";
Podeu substituir localhost per una adreça IP si voleu que l'usuari pugui accedir al vostre servidor MySQL de manera remota.
Creeu una base de dades de registre per als registres de joc de Ragnarok.
CREATE DATABASE (your log database name) -- We'll name it "log".
mysql> CREATE DATABASE log;
Establiu els permisos per a l'usuari que hem creat anteriorment anomenat admin .
mysql> GRANT ALL ON log.* TO admin@localhost;
Restaureu les taules necessàries a la vostra base de dades de Ragnarok i registre. Actualitzeu la vostra contrasenya després en -pconseqüència.
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
Creació d'un compte de joc
Estem utilitzant phpMyAdmin que hem instal·lat anteriorment per accedir a la base de dades. Accediu a phpMyAdmin mitjançant el vostre navegador web.
Seleccioneu la ragnarokbase de dades i trieu la logintaula. Podem veure que hi ha un registre en aquesta taula. No el suprimiu/modifiqueu encara. És utilitzat pel servidor. Per crear un compte de joc, feu clic a la pestanya SQL mentre esteu a la logintaula per obrir l'editor de consultes. Executeu la consulta següent.
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@email.com', '99', '0', '0', '0', '0', '0000-00-00 00:00:00', '', '0000-00-00', '9', '', '0', '0', '0');
Hem inserit un nou usuari a la taula d'inici de sessió amb la informació següent.
- account_id = 2000000 (Comenceu sempre amb 2000000, després 2000001...)
- userid = admin (el vostre nom d'usuari del joc)
- user_pass = password123 (La contrasenya del vostre compte)
- sexe = M (M o F, no utilitzeu S perquè només és per al servidor)
- correu electrònic = email@email.com (el correu electrònic del vostre compte, utilitzat per suprimir espais de personatges al joc)
- group_id = 99 (consulteu
/rathena/conf/groups.confi comproveu les línies d'identificació. De moment, 99 per fer d'aquest un compte de GM per a l'ús d'ordres especials al joc).
- character_slots = 9 (nombre de caràcters que es poden crear per compte)
Deixeu els altres valors tal com estan. Felicitats. Has creat correctament el teu compte per al joc.
Configuració dels fitxers del servidor
En primer lloc, heu de conèixer l'adreça IP del vostre servidor. Potser ja ho sabeu, ja que ja estava inclòs a la informació del servidor del vostre VPS Vultr. Si el voleu comprovar, escriviu:
ifconfig
Cerqueu la part eth0 inet addr:xxx.xxx.xxx.xxx . xxx.xxx.xxx.xxx serà l'adreça IP del vostre servidor. Si teniu Apache instal·lat, podeu accedir-hi per comprovar si el vostre servidor web s'està executant.
A FileZilla, inicieu sessió al vostre VPS amb les credencials del vostre servidor i accediu a la /rAthena/confcarpeta.
Edita char_athena.confi map_athena.confamb el teu editor de text preferit.
Edita char_athena.confdes 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
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
On xxx.xxx.xxx.xxxés l'adreça IP del vostre servidor.
Al inter_athena.txtfitxer, feu aquests canvis:
// 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
Al map_athena.txtfitxer, feu aquests canvis:
// 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
On xxx.xxx.xxx.xxxés l'adreça IP del vostre servidor.
Obriu subnet_athena.txti configureu l'adreça IP.
subnet: 255.0.0.0:x.x.x.x:x.x.x.x
I hem acabat de configurar el servidor.
S'està compilant el servidor rAthena
Ara, és hora de compilar el servidor! En aquesta part, heu de saber quina versió del client de Ragnarok Online utilitzareu per connectar-vos al servidor. Per a la configuració del client, visiteu aquesta pàgina .
Després de decidir quin client utilitzar, editem alguns fitxers. Diguem que hem escollit utilitzar el 08072013client ja que aquest és el client de renovació estable.
Executeu aquesta comanda al terminal:
./configure --enable-packetver=YYYYMMDD
Substituïu YYYYMMDDper la data del client (reformatejada).
./configure --enable-packetver=20130807
L'script de configuració realitzarà les proves necessàries i generarà fitxers de creació per al nostre servidor.
Després d'això, compileu el codi font introduint aquestes ordres:
make server
chmod a+x login-server && chmod a+x char-server && chmod a+x map-server
... i espera que s'acabi. Si feu modificacions als fitxers dins de la /rAthena/srccarpeta, haureu de tornar-los a compilar.
make clean
make server
Configuració de la versió del paquet per a les connexions del client
A FileZilla, apunta a la /rAthena/dbcarpeta i edita packet_db.txt.
Busca aquesta línia i edita:
//
//packet_db_ver: 46
packet_db_ver: default
packet_keys_use: default
Com que estem utilitzant el 2013-08-07Ragexeclient, cerqueu el client especificat a continuació i cerqueu-ne packet_ver i packet_keys .
//2013-08-07Ragexe
packet_ver: 45
packet_keys: 0x7E241DE0,0x5E805580,0x3D807D80 // [Shakto]
Substituïu el valor predeterminat de packet_db_veri packet_keys_useen els valors de client especificats.
//
//packet_db_ver: 46
packet_db_ver: 45
packet_keys_use: 0x7E241DE0,0x5E805580,0x3D807D80
I salvar. Això serveix per especificar quin client utilitzaran els jugadors. No volem que puguin utilitzar la versió que escolliu.
S'està iniciant el servidor
Després de compilar els fitxers del servidor, utilitzeu aquestes ordres per activar el servidor.
Començar:
./athena-start start
Parar:
./athena-start stop
Per reiniciar:
./athena-start restart
Si heu trobat un error com aquest:
-bash: ./athena-start: /bin/sh^M: bad interpreter
... llavors heu d'instal·lar dos2unix per convertir l'script.
apt-get install dos2unix
dos2unix athena-start
chmod a+x athena-start
Després d'executar aquestes ordres, torneu a iniciar el servidor.
Ara que hem acabat amb la configuració del servidor, només cal que configureu el vostre client Ragnarok perquè apunti al vostre servidor VPS. Gaudeix jugant al teu nou servidor!
Referències