Stel Ragnarok Online Server in op Ubuntu 14.04 x64

In dit artikel gaan we een Ragnarok Online-server instellen op Ubuntu 14.04 x64. U kunt zijn aangemeld als root of als gebruiker met superuser-rechten. Het is veiliger om dit in te stellen als een niet-rootgebruiker met sudo. In deze tutorial gaan we de rAthena-serverbestanden gebruiken.

Als je Windows gebruikt en je hebt Ubuntu Server (VPS of Dedicated), heb je de volgende programma's nodig.

  • FileZilla
  • Stopverf
  • Teksteditor (Sublime of Notepad ++ aanbevolen)

Vereisten

  • apache2 - Als u van plan bent phpMyAdmin te gebruiken voor externe mysql-toegang en het opzetten van uw website.
  • php5 - Voor web en phpMyAdmin.
  • phpmyadmin - Externe MySQL-toegang via een webbrowser.
  • mysql-server - onze database voor de spelserver.
  • mysql-client
  • git
  • maken
  • gcc
  • libmysqlclient-dev
  • zlib1g-dev
  • libpcre3-dev - Optioneel, voor PCRE-ondersteuning.
  • libssl-dev - vereist voor compileren met MySQL 5.5.

U kunt deze handleiding raadplegen over de installatie van Apache, MySQL en PHP.


Vereiste pakketten installeren

Voer deze opdrachten uit via SSH.

  • Root gebruiker:

    apt-get install php5 phpmyadmin mysql-server mysql-client git make gcc libmysqlclient-dev zlib1g-dev libpcre3-dev
    
  • Niet-root met sudo-rechten:

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

Nadat we de serververeisten met succes hebben geïnstalleerd, gaan we verder met het installeren en configureren van de serverbestanden.


De serverbestanden downloaden

Nu krijgen we de nieuwste updates van rAthena-serverbestanden. Dit zijn de bestanden die nodig zijn voor het uitvoeren van een Ragnarok Online-server. Er zijn andere serverbestanden die kunnen worden gebruikt, zoals Hercules en eAthena, maar in deze zelfstudie gebruiken we rAthena. Voer de onderstaande opdracht uit om de bestanden te downloaden.

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

Hiermee worden alle bestanden in rAthenauw huidige map in de terminal geplaatst.

Voer deze opdracht uit om de serverbestanden bij te werken naar de laatste revisie.

    cd rAthena
    git pull

MySQL-installatie

In dit deel configureren we MySQL voor de database van onze server. Controleer eerst of uw MySQL-server actief is.

    service mysql status

Voer deze opdracht in als deze niet actief is.

    service mysqld start

Na het uitvoeren van de bovenstaande opdrachten, opent u de MySQL-console.

    mysql -u root -p

U wordt om uw root-wachtwoord gevraagd. Typ na het inloggen de volgende opdrachten om de database voor onze server te maken.

CREATE DATABASE (uw ragnarok-databasenaam); - We noemen het "ragnarok".

    mysql> CREATE DATABASE ragnarok;

Maak vervolgens een nieuwe gebruiker voor de Ragnarok-database en log de database.

VERLEN ALLES OP ragnarok. * NAAR uwdatabasegebruikersnaam @ localhost GEÏDENTIFICEERD MET "uwgewenstwachtwoord"; - We zullen een nieuwe gebruiker aanmaken genaamd admin met een wachtwoord van 123456 .

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

U kunt localhost vervangen door een IP-adres als u wilt dat de gebruiker op afstand toegang heeft tot uw MySQL-server.

Maak een logdatabase voor de Ragnarok-spellogboeken.

CREATE DATABASE (de naam van uw logdatabase) - We noemen deze "log".

    mysql> CREATE DATABASE log;

Stel machtigingen in voor de gebruiker die we eerder genoemde beheerder hebben gemaakt .

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

Herstel de vereiste tabellen in uw Ragnarok- en logdatabase. Werk uw wachtwoord daarna bij -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

Een spelaccount aanmaken

We gebruiken phpMyAdmin die we eerder hebben geïnstalleerd om toegang te krijgen tot de database. Toegang tot phpMyAdmin via uw webbrowser.

Selecteer de ragnarokdatabase en kies de logintabel. We kunnen zien dat er één record in die tabel staat. Verwijder / wijzig het nog niet. Het wordt gebruikt door de server. Om een ​​spelaccount aan te maken, klikt u op de SQL-tab terwijl u zich op de logintafel bevindt om de query-editor te openen. Voer de volgende query uit.

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

We hebben een nieuwe gebruiker in de inlogtabel ingevoegd met de volgende informatie.

  • account_id = 2000000 (begin altijd met 2000000, dan 2000001 ...)
  • userid = admin (uw in-game gebruikersnaam)
  • user_pass = wachtwoord123 (het wachtwoord voor uw account)
  • sex = M (M of F, gebruik S niet omdat het alleen voor de server is)
  • email = [email protected] (het e-mailadres van uw account, gebruikt voor het verwijderen van personageslots in het spel)
  • group_id = 99 (verwijs naar /rathena/conf/groups.confen controleer de id-regels. Voor nu, 99 om dit een GM-account te maken voor het gebruik van speciale commando's in het spel.)
  • character_slots = 9 (Aantal tekens dat per account kan worden aangemaakt)

Laat de andere waarden zoals ze zijn. Gefeliciteerd. Je hebt met succes je account voor de game gemaakt.


De serverbestanden configureren

Ten eerste moet u het IP-adres van uw server weten. Je weet dit misschien al omdat het al was opgenomen in de serverinformatie van je Vultr VPS. Als je het wilt controleren, typ je:

    ifconfig

Zoek naar het eth0 inet addr: xxx.xxx.xxx.xxx- gedeelte. xxx.xxx.xxx.xxx is het IP-adres van uw server. Als je Apache hebt geïnstalleerd, heb je hier toegang toe om te controleren of je webserver actief is.

Log in FileZilla in op uw VPS met uw serverreferenties en open de /rAthena/confmap.

Bewerk char_athena.confen map_athena.confmet uw favoriete teksteditor.

Bewerken char_athena.confvan:

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

Naar:

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

Waar xxx.xxx.xxx.xxxis het IP-adres van uw server.

Breng in het inter_athena.txtbestand deze wijzigingen aan:

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

Breng in het map_athena.txtbestand deze wijzigingen aan:

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

Waar xxx.xxx.xxx.xxxis het IP-adres van uw server.

Open subnet_athena.txten stel het IP-adres in.

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

En we zijn klaar met het configureren van de server.


RAthena-server compileren

Tijd om de server te compileren! In dit deel moet u weten welke Ragnarok Online-clientversie u gaat gebruiken om verbinding te maken met de server. Bezoek deze pagina voor het instellen van de client .

Nadat u hebt besloten welke client u wilt gebruiken, gaan we enkele bestanden bewerken. Laten we zeggen dat we ervoor hebben gekozen om de 08072013client te gebruiken, omdat dit de stabiele vernieuwingsclient is.

Voer deze opdracht uit op terminal:

    ./configure --enable-packetver=YYYYMMDD

Vervang YYYYMMDDdoor de klantdatum (opnieuw geformatteerd).

    ./configure --enable-packetver=20130807

Het configuratiescript voert de nodige tests uit en genereert makefiles voor onze server.

Compileer daarna de broncode door deze opdrachten in te voeren:

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

... en wacht tot het klaar is. Als u wijzigingen aanbrengt in de bestanden in de /rAthena/srcmap, moet u deze opnieuw compileren.

    make clean
    make server

De pakketversie configureren voor clientverbindingen

Wijs in FileZilla de /rAthena/dbmap aan en bewerk deze packet_db.txt.

Zoek deze regel en bewerk:

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

Aangezien we de 2013-08-07Ragexeclient gebruiken, zoekt u de opgegeven client hieronder en zoekt u naar de packet_ver en packet_keys .

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

Vervang de standaardwaarde van packet_db_veren packet_keys_usedoor de opgegeven clientwaarden.

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

En bespaar. Dit is om te specificeren welke client door spelers moet worden gebruikt. We willen niet dat ze hun versie van hun keuze kunnen gebruiken.


De server starten

Gebruik na het compileren van de serverbestanden deze opdrachten om de server op te starten.

Beginnen:

    ./athena-start start

Stoppen:

    ./athena-start stop

Herstarten:

    ./athena-start restart

Als u een fout als deze bent tegengekomen:

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

... dan moet je dos2unix installeren om het script te converteren.

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

Start de server opnieuw nadat u deze opdrachten hebt uitgevoerd.

Nu we klaar zijn met de serverconfiguratie, hoeft u alleen maar uw Ragnarok-client in te stellen om naar uw VPS-server te verwijzen. Geniet van het spelen op je nieuwe server!


Referenties



Leave a Comment

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek

ReactOS: is dit de toekomst van Windows?

ReactOS: is dit de toekomst van Windows?

ReactOS, een open source en gratis besturingssysteem is hier met de nieuwste versie. Kan het voldoen aan de behoeften van moderne Windows-gebruikers en Microsoft uitschakelen? Laten we meer te weten komen over deze oude stijl, maar een nieuwere OS-ervaring.

Blijf verbonden via WhatsApp Desktop-app 24 * 7

Blijf verbonden via WhatsApp Desktop-app 24 * 7

WhatsApp heeft eindelijk de Desktop-app voor Mac- en Windows-gebruikers gelanceerd. Nu heb je eenvoudig toegang tot WhatsApp vanuit Windows of Mac. Beschikbaar voor Windows 8+ en Mac OS 10.9+

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Lees dit om te weten hoe kunstmatige intelligentie populair wordt onder de kleinschalige bedrijven en hoe het de kansen vergroot om ze te laten groeien en hun concurrenten voorsprong te geven.

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

Onlangs heeft Apple macOS Catalina 10.15.4 uitgebracht, een aanvullende update om problemen op te lossen, maar het lijkt erop dat de update meer problemen veroorzaakt die ertoe leiden dat mac-machines worden gemetseld. Lees dit artikel voor meer informatie

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

Wat is een logboekbestandssysteem en hoe werkt het?

Wat is een logboekbestandssysteem en hoe werkt het?

Onze computer slaat alle gegevens op een georganiseerde manier op, het zogenaamde Journaling-bestandssysteem. Het is een efficiënte methode waarmee de computer bestanden kan zoeken en weergeven zodra u op zoeken drukt.https://wethegeek.com/?p=94116&preview=true

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Naarmate de wetenschap zich snel ontwikkelt en veel van onze inspanningen overneemt, nemen ook de risico's toe om onszelf te onderwerpen aan een onverklaarbare singulariteit. Lees, wat singulariteit voor ons kan betekenen.

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

AI in de zorg heeft de afgelopen decennia grote sprongen gemaakt. De toekomst van AI in de gezondheidszorg groeit dus nog steeds met de dag.