Konfigurer Ragnarok Online Server på Ubuntu 14.04 x64

I denne artikel skal vi konfigurere en Ragnarok Online Server på Ubuntu 14.04 x64. Du kan være logget ind som root eller en bruger med superbrugerrettigheder. Det er mere sikkert at konfigurere dette som en ikke-rootbruger med sudo. I denne vejledning skal vi bruge rAthena-serverfilerne.

Hvis du bruger Windows, og du har Ubuntu Server (VPS eller Dedikeret), skal du bruge følgende programmer.

  • FileZilla
  • PuTTY
  • Teksteditor (Sublim eller Notepad++ anbefales)

Krav

  • apache2 - Hvis du planlægger at bruge phpMyAdmin til fjernadgang til mysql og opsætning af dit websted.
  • php5 - Til web og phpMyAdmin.
  • phpmyadmin - Fjernadgang til MySQL ved hjælp af en webbrowser.
  • mysql-server - vores database til spilserveren.
  • mysql-klient
  • git
  • lave
  • gcc
  • libmysqlclient-dev
  • zlib1g-dev
  • libpcre3-dev - Valgfri, til PCRE-understøttelse.
  • libssl-dev - Påkrævet, til kompilering med MySQL 5.5.

Du kan henvise til denne vejledning vedrørende installation af Apache, MySQL og PHP.


Installation af nødvendige pakker

Kør disse kommandoer over SSH.

  • Root bruger:

    apt-get install php5 phpmyadmin mysql-server mysql-client git make gcc libmysqlclient-dev zlib1g-dev libpcre3-dev
    
  • Ikke-root med sudo-privilegier:

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

Efter succesfuld installation af serverkravene, lad os fortsætte med at installere og konfigurere serverfilerne.


Download af serverfiler

Nu skal vi få de seneste opdateringer af rAthena-serverfiler. Disse er de filer, der kræves for at køre en Ragnarok Online-server. Der er andre serverfiler, der kan bruges, som Hercules og eAthena, men i denne vejledning bruger vi rAthena. Kør kommandoen nedenfor for at downloade filerne.

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

Dette vil placere alle filerne i rAthenadin nuværende mappe i terminal.

Kør denne kommando for at opdatere serverfilerne til seneste revision.

    cd rAthena
    git pull

MySQL opsætning

I denne del konfigurerer vi MySQL til databasen på vores server. Først skal du kontrollere, om din MySQL-server kører.

    service mysql status

Hvis den ikke kører, skal du indtaste denne kommando.

    service mysqld start

Når du har kørt kommandoerne ovenfor, skal du åbne MySQL-konsollen.

    mysql -u root -p

Du bliver bedt om din root-adgangskode. Efter at have logget ind, skriv følgende kommandoer for at oprette databasen til vores server.

CREATE DATABASE (your ragnarok database name); -- We'll name it "ragnarok".

    mysql> CREATE DATABASE ragnarok;

Opret derefter en ny bruger til Ragnarok DB og log DB.

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";

Du kan erstatte localhost med en IP-adresse, hvis du ønsker, at brugeren skal kunne få fjernadgang til din MySQL-server.

Opret logdatabase til Ragnarok-spilloggene.

CREATE DATABASE (your log database name) -- We'll name it "log".

    mysql> CREATE DATABASE log;

Indstil tilladelser for den bruger, som vi tidligere har oprettet med navnet admin .

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

Gendan de nødvendige tabeller i din Ragnarok- og logdatabase. Opdater din adgangskode derefter -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

Oprettelse af en spilkonto

Vi bruger phpMyAdmin, som vi installerede tidligere for at få adgang til databasen. Få adgang til phpMyAdmin via din webbrowser.

Vælg ragnarokdatabasen og vælg logintabellen. Vi kan se, at der er én rekord i den tabel. Slet/ændr det ikke endnu. Det bruges af serveren. For at oprette en spilkonto skal du klikke på SQL-fanen, mens du er på loginbordet for at åbne forespørgselseditoren. Kør følgende forespørgsel.

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

Vi har indsat en ny bruger i login-tabellen med følgende information.

  • account_id = 2000000 (begynd altid med 2000000, derefter 2000001...)
  • userid = admin (Dit brugernavn i spillet)
  • user_pass = password123 (adgangskoden til din konto)
  • sex = M (M eller K, brug ikke S, fordi det kun er til serveren)
  • email = email@email.com (Din kontos e-mail, bruges til at slette karakterslots i spillet)
  • group_id = 99 (se /rathena/conf/groups.confog tjek id-linjerne. Som nu, 99 for at gøre dette til en GM-konto for speciel kommandobrug i spillet.)
  • character_slots = 9 (Antal tegn, der kan oprettes pr. konto)

Lad de andre værdier være som de er. Tillykke. Du har oprettet din konto til spillet.


Konfiguration af serverfiler

Først skal du kende din servers IP-adresse. Du ved måske allerede dette, da det allerede var inkluderet i serverinformationen på din Vultr VPS. Hvis du vil tjekke det, skriv:

    ifconfig

Se efter eth0 inet addr:xxx.xxx.xxx.xxx delen. xxx.xxx.xxx.xxx vil være IP-adressen på din server. Hvis du har Apache installeret, kan du få adgang til denne for at kontrollere, om din webserver kører.

I FileZilla skal du logge ind på din VPS med dine serveroplysninger og få adgang til /rAthena/confmappen.

Rediger char_athena.confog map_athena.confmed din foretrukne teksteditor.

Rediger char_athena.conffra:

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

Til:

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

Hvor xxx.xxx.xxx.xxxer IP-adressen på din server.

inter_athena.txtForetag disse ændringer i filen:

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

map_athena.txtForetag disse ændringer i filen:

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

Hvor xxx.xxx.xxx.xxxer IP-adressen på din server.

Åbn subnet_athena.txtog indstil IP-adressen.

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

Og vi er færdige med at konfigurere serveren.


Kompilere rAthena-server

Nu er det tid til at kompilere serveren! I denne del skal du vide, hvilken Ragnarok Online-klientversion du vil bruge til at oprette forbindelse til serveren. Besøg denne side for klientopsætning .

Når du har besluttet, hvilken klient der skal bruges, lad os redigere nogle filer. Lad os bare sige, vi valgte at bruge 08072013klienten, da dette er den stabile fornyelsesklient.

Kør denne kommando på terminalen:

    ./configure --enable-packetver=YYYYMMDD

Erstat YYYYMMDDmed klientdatoen (omformateret).

    ./configure --enable-packetver=20130807

Konfigurationsscriptet vil udføre nødvendige tests og generere make-filer til vores server.

Derefter kompiler du kildekoden ved at indtaste disse kommandoer:

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

... og vent til det er færdigt. Hvis du foretager ændringer på filerne i /rAthena/srcmappen, skal du kompilere dem igen.

    make clean
    make server

Konfiguration af pakkeversionen til klientforbindelser

I FileZilla skal du pege på /rAthena/dbmappen og redigere packet_db.txt.

Find denne linje og rediger:

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

Da vi bruger 2013-08-07Ragexeklienten, skal du finde den angivne klient nedenfor og se efter dens packet_ver og packet_keys .

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

Erstat standardværdien for packet_db_verog packet_keys_useind i de angivne klientværdier.

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

Og spar. Dette er for at specificere hvilken klient der skal bruges af spillere. Vi ønsker ikke, at de skal kunne bruge deres valgfri version.


Starter serveren

Efter kompilering af serverfilerne skal du bruge disse kommandoer til at starte serveren.

At begynde:

    ./athena-start start

At stoppe:

    ./athena-start stop

Sådan genstartes:

    ./athena-start restart

Hvis du er stødt på en fejl som denne:

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

... så skal du installere dos2unix for at konvertere scriptet.

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

Når du har kørt disse kommandoer, skal du starte serveren igen.

Nu hvor vi er færdige med serveropsætningen, skal du blot indstille din Ragnarok-klient til at pege på din VPS-server. Nyd at spille på din nye server!


Referencer

Efterlad en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.

DDOS-angreb: et kort overblik

DDOS-angreb: et kort overblik

Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.

Funktioner af Big Data Reference Architecture Layers

Funktioner af Big Data Reference Architecture Layers

Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.

Udvikling af datalagring – Infografik

Udvikling af datalagring – Infografik

Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af ​​dataene. Denne blog dækker udviklingen af ​​datalagring på basis af en infografik.

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af ​​mac-maskiner. Læs denne artikel for at lære mere