Instalarea serverului online Ragnarok pe Ubuntu 14.04 x64

În acest articol, vom configura un server online Ragnarok pe Ubuntu 14.04 x64. Puteți fi conectat ca root sau un utilizator cu privilegii de utilizator. Este mai sigur să setați acest lucru ca utilizator non-root cu sudo. În acest tutorial, vom folosi fișierele serverului rAthena.

Dacă utilizați Windows și aveți Ubuntu Server (VPS sau Dedicat), veți avea nevoie de următoarele programe.

  • FileZilla
  • PuTTY
  • Editor de text (recomandat Sublime sau Notepad ++)

cerinţe

  • apache2 - Dacă intenționați să utilizați phpMyAdmin pentru acces mysql de la distanță și configurarea site-ului.
  • php5 - Pentru web și phpMyAdmin.
  • phpmyadmin - Acces MySQL de la distanță folosind un browser web.
  • mysql-server - baza noastră de date pentru serverul de joc.
  • mysql-client
  • git
  • face
  • CGC
  • libmysqlclient-dev
  • zlib1g-dev
  • libpcre3-dev - Opțional, pentru suport PCRE.
  • libssl-dev - Obligatoriu, pentru compilarea cu MySQL 5.5.

Vă puteți referi la acest ghid referitor la instalarea Apache, MySQL și PHP.


Instalarea pachetelor necesare

Executați aceste comenzi peste SSH.

  • Utilizator rădăcină:

    apt-get install php5 phpmyadmin mysql-server mysql-client git make gcc libmysqlclient-dev zlib1g-dev libpcre3-dev
    
  • Non-root cu privilegii sudo:

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

După instalarea cu succes a cerințelor serverului, să continuăm cu instalarea și configurarea fișierelor serverului.


Descărcarea fișierelor serverului

Acum, vom primi cele mai recente actualizări ale fișierelor server rAthena. Acestea sunt fișierele necesare pentru a rula un server Ragnarok Online. Există și alte fișiere de server care pot fi utilizate, precum Hercules și eAthena, dar în acest tutorial, folosim rAthena. Rulați comanda de mai jos pentru a descărca fișierele.

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

Aceasta va plasa toate fișierele rAthenadin directorul curent în terminal.

Pentru a actualiza fișierele serverului la ultima revizuire, executați această comandă.

    cd rAthena
    git pull

Configurare MySQL

În această parte, configurăm MySQL pentru baza de date a serverului nostru. În primul rând, verificați dacă serverul dvs. MySQL funcționează.

    service mysql status

Dacă nu funcționează, introduceți această comandă.

    service mysqld start

După executarea comenzilor de mai sus, deschideți consola MySQL.

    mysql -u root -p

Vi se va cere parola root. După conectare, tastați următoarele comenzi pentru a crea baza de date pentru serverul nostru.

CREATE DATABASE (numele bazei de date ragnarok); - O vom numi „ragnarok”.

    mysql> CREATE DATABASE ragnarok;

Apoi, creați un utilizator nou pentru DB Ragnarok și logați DB.

ACORDĂ TOATE PE ragnarok. * TO yourdatabaseusername @ localhost IDENTIFICAT DE „yourdesiredpassword”; - Vom crea un nou utilizator numit admin cu o parolă de 123456 .

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

Puteți înlocui localhost cu o adresă IP dacă doriți ca utilizatorul să poată accesa serverul MySQL de la distanță.

Creați o bază de date de jurnal pentru jurnalele de joc Ragnarok.

CREATE DATABASE (numele bazei de date a jurnalului dvs.) - Îl vom numi „jurnal”.

    mysql> CREATE DATABASE log;

Setați permisiunile pentru utilizator pe care le-am creat admin numit anterior .

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

Restaurați tabelele necesare în baza de date Ragnarok și jurnal. Actualizați parola după aceea -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

Crearea unui cont de joc

Folosim phpMyAdmin pe care l-am instalat mai devreme pentru a accesa baza de date. Accesați phpMyAdmin prin browserul dvs. web.

Selectați ragnarokbaza de date și alegeți logintabelul. Putem vedea că există o înregistrare în tabelul respectiv. Nu o ștergeți / nu o modificați încă. Este folosit de server. Pentru a crea un cont de joc, faceți clic pe fila SQL aflată în logintabel pentru a deschide editorul de interogări. Rulați următoarea interogare.

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

Am introdus un nou utilizator în tabelul de conectare cu următoarele informații.

  • account_id = 2000000 (începe întotdeauna cu 2000000, apoi cu 2000001 ...)
  • userid = admin (numele dvs. de utilizator din joc)
  • user_pass = password123 (Parola pentru contul dvs.)
  • sex = M (M sau F, nu folosiți S, deoarece este doar pentru server)
  • email = [email protected] (e-mailul contului dvs., utilizat pentru ștergerea sloturilor de caractere din joc)
  • group_id = 99 (consultați /rathena/conf/groups.confși verificați liniile de id. În prezent, 99 pentru a face din acesta un cont GM pentru utilizarea comenzii speciale ingame.)
  • caract_slots = 9 (Număr de caractere care pot fi create pe cont)

Lăsați celelalte valori așa cum este. Felicitări. Ați creat cu succes contul dvs. pentru joc.


Configurarea fișierelor serverului

În primul rând, trebuie să cunoașteți adresa IP a serverului. Este posibil să știți deja acest lucru din moment ce a fost deja inclus în informațiile despre server de la Vultr VPS. Dacă doriți să o verificați, tastați:

    ifconfig

Căutați partea de adăugare eth0 inet: xxx.xxx.xxx.xxx . xxx.xxx.xxx.xxx va fi adresa IP a serverului dvs. Dacă aveți instalat Apache, puteți accesa acest lucru pentru a verifica dacă serverul dvs. Web rulează.

În FileZilla, conectați-vă la VPS cu datele de autentificare ale serverului și accesați /rAthena/confdosarul.

Editează char_athena.confși map_athena.confcu editorul de text preferat.

Editați char_athena.confdin:

    // 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       

La:

    // 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

Unde xxx.xxx.xxx.xxxeste adresa IP a serverului dumneavoastră.

În inter_athena.txtfișier, faceți aceste modificări:

    // 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

În map_athena.txtfișier, faceți aceste modificări:

    // 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

Unde xxx.xxx.xxx.xxxeste adresa IP a serverului dumneavoastră.

Deschideți subnet_athena.txtși setați adresa IP.

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

Și am terminat de configurat serverul.


Compilarea serverului rAthena

Acum, este timpul să compilați serverul! În această parte, trebuie să știți ce versiune de client Ragnarok Online veți folosi pentru a vă conecta la server. Pentru configurarea clientului, accesați această pagină .

După ce decideți ce client va fi folosit, editați câteva fișiere. Să spunem, am ales să folosim 08072013clientul, deoarece acesta este clientul de reînnoire stabil.

Executați această comandă pe terminal:

    ./configure --enable-packetver=YYYYMMDD

Înlocuiți YYYYMMDDcu data clientului (reformatat).

    ./configure --enable-packetver=20130807

Scriptul de configurare va efectua testele necesare și va genera makefiles pentru serverul nostru.

După aceea, compilați codul sursă introducând aceste comenzi:

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

... și așteaptă să se termine. Dacă efectuați modificări în fișierele din /rAthena/srcfolderul, va trebui să îl recompilați.

    make clean
    make server

Configurarea versiunii de pachete pentru conexiunile clientului

În FileZilla, indicați /rAthena/dbfolderul și editați packet_db.txt.

Găsiți această linie și editați:

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

Deoarece folosim 2013-08-07Ragexeclientul, găsiți clientul specificat mai jos și căutați-l pe packet_ver și packet_keys .

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

Înlocuiți valoarea implicită packet_db_verși packet_keys_useîn valorile specificate de client.

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

Și salvați. Aceasta este pentru a specifica ce client trebuie să fie utilizat de jucători. Nu dorim ca aceștia să poată folosi versiunea lor la alegere.


Pornirea serverului

După compilarea fișierelor serverului, utilizați aceste comenzi pentru a porni serverul.

A începe:

    ./athena-start start

A opri:

    ./athena-start stop

Pentru a reporni:

    ./athena-start restart

Dacă ați întâlnit o eroare de acest fel:

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

... atunci trebuie să instalați dos2unix pentru a converti scriptul.

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

După executarea acestor comenzi, porniți din nou serverul.

Acum că am terminat cu configurarea serverului, trebuie doar să setați clientul Ragnarok să îndrepte către serverul VPS. Bucură-te de joc pe noul tău server!


Referințe



Leave a Comment

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

6 lucruri extrem de nebunești despre Nintendo Switch

6 lucruri extrem de nebunești despre Nintendo Switch

Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.

Promisiuni tehnologice care sunt încă nelivrate

Promisiuni tehnologice care sunt încă nelivrate

Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!

Te-ai întrebat vreodată cum câștigă hackerii bani?

Te-ai întrebat vreodată cum câștigă hackerii bani?

Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe