Konfigurera Ragnarok Online Server på Ubuntu 14.04 x64

I den här artikeln kommer vi att ställa in en Ragnarok Online Server på Ubuntu 14.04 x64. Du kan vara inloggad som root eller en användare med superanvändarprivilegier. Det är säkrare att ställa in detta som en icke-rootanvändare med sudo. I den här handledningen kommer vi att använda rAthena-serverfilerna.

Om du använder Windows och har Ubuntu Server (VPS eller Dedicated), behöver du följande program.

  • FileZilla
  • Spackel
  • Textredigerare (Sublim eller Notepad++ rekommenderas)

Krav

  • apache2 - Om du planerar att använda phpMyAdmin för fjärråtkomst till mysql och för att ställa in din webbplats.
  • php5 - För webb och phpMyAdmin.
  • phpmyadmin - Fjärråtkomst till MySQL med hjälp av en webbläsare.
  • mysql-server - vår databas för spelservern.
  • mysql-klient
  • git
  • göra
  • gcc
  • libmysqlclient-dev
  • zlib1g-dev
  • libpcre3-dev - Valfritt, för PCRE-stöd.
  • libssl-dev - Krävs för kompilering med MySQL 5.5.

Du kan hänvisa till den här guiden angående installation av Apache, MySQL och PHP.


Installerar nödvändiga paket

Kör dessa kommandon över SSH.

  • Rotanvändare:

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

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

Efter att ha lyckats installera serverkraven, låt oss fortsätta med att installera och konfigurera serverfilerna.


Ladda ner serverfilerna

Nu ska vi få de senaste uppdateringarna av rAthena-serverfiler. Det här är filerna som krävs för att köra en Ragnarok Online-server. Det finns andra serverfiler som kan användas, som Hercules och eAthena, men i den här handledningen använder vi rAthena. Kör kommandot nedan för att ladda ner filerna.

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

Detta kommer att placera alla filer rAthenai din nuvarande katalog i terminal.

Kör det här kommandot för att uppdatera serverfilerna till senaste versionen.

    cd rAthena
    git pull

MySQL-inställning

I den här delen konfigurerar vi MySQL för databasen på vår server. Kontrollera först om din MySQL-server körs.

    service mysql status

Om den inte körs, skriv in det här kommandot.

    service mysqld start

Öppna MySQL-konsolen efter att ha kört kommandona ovan.

    mysql -u root -p

Du kommer att bli ombedd att ange ditt root-lösenord. När du har loggat in skriver du följande kommandon för att skapa databasen för vår server.

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

    mysql> CREATE DATABASE ragnarok;

Skapa sedan en ny användare för Ragnarok DB och logga 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 ersätta localhost med en IP-adress om du vill att användaren ska kunna komma åt din MySQL-server på distans.

Skapa loggdatabas för Ragnarok-spelloggarna.

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

    mysql> CREATE DATABASE log;

Ange behörigheter för användaren som vi skapade tidigare med namnet admin .

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

Återställ de nödvändiga tabellerna i din Ragnarok och loggdatabas. Uppdatera ditt lösenord därefter -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

Skapa ett spelkonto

Vi använder phpMyAdmin som vi installerade tidigare för att komma åt databasen. Få åtkomst till phpMyAdmin via din webbläsare.

Välj ragnarokdatabasen och välj logintabellen. Vi kan se att det finns ett rekord i den tabellen. Ta inte bort/ändra det ännu. Den används av servern. För att skapa ett spelkonto, klicka på SQL-fliken på loginbordet för att öppna frågeredigeraren. Kör följande fråga.

    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 infogat en ny användare i inloggningstabellen med följande information.

  • account_id = 2000000 (börja alltid med 2000000, sedan 2000001...)
  • userid = admin (Ditt användarnamn i spelet)
  • user_pass = password123 (Lösenordet för ditt konto)
  • sex = M (M eller F, använd inte S eftersom det bara är för servern)
  • email = email@email.com (Ditt kontos e-postadress, används för att radera karaktärsplatser i spelet)
  • group_id = 99 (se /rathena/conf/groups.confoch kontrollera id-raderna. Som nu, 99 för att göra detta till ett GM-konto för speciell kommandoanvändning i spelet.)
  • character_slots = 9 (Antal tecken som kan skapas per konto)

Lämna de andra värdena som de är. Grattis. Du har skapat ditt konto för spelet.


Konfigurera serverfilerna

Först måste du känna till din servers IP-adress. Du kanske redan vet detta eftersom det redan ingick i serverinformationen för din Vultr VPS. Om du vill kontrollera det, skriv:

    ifconfig

Leta efter eth0 inet addr:xxx.xxx.xxx.xxx delen. xxx.xxx.xxx.xxx kommer att vara din servers IP-adress. Om du har Apache installerat kan du komma åt detta för att kontrollera om din webbserver är igång.

I FileZilla loggar du in på din VPS med dina serveruppgifter och kommer åt /rAthena/confmappen.

Redigera char_athena.confoch map_athena.confmed din föredragna textredigerare.

Redigera char_athena.conffrån:

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

Till:

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

Var xxx.xxx.xxx.xxxär din servers IP-adress.

inter_athena.txtGör dessa ändringar 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.txtGör dessa ändringar 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

Var xxx.xxx.xxx.xxxär din servers IP-adress.

Öppna subnet_athena.txtoch ställ in IP-adressen.

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

Och vi är klara med att konfigurera servern.


Kompilerar rAthena-server

Nu är det dags att kompilera servern! I den här delen behöver du veta vilken Ragnarok Online-klientversion du kommer att använda för att ansluta till servern. Besök den här sidan för klientinställning .

När du har bestämt vilken klient som ska användas, låt oss redigera några filer. Låt oss bara säga, vi valde att använda 08072013klienten eftersom detta är den stabila förnyelseklienten.

Kör detta kommando på terminalen:

    ./configure --enable-packetver=YYYYMMDD

Ersätt YYYYMMDDmed klientdatumet (omformaterat).

    ./configure --enable-packetver=20130807

Konfigureringsskriptet kommer att utföra nödvändiga tester och generera make-filer för vår server.

Därefter kompilerar du källkoden genom att ange dessa kommandon:

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

... och vänta tills det är klart. Om du gör ändringar i filerna i /rAthena/srcmappen måste du kompilera om den.

    make clean
    make server

Konfigurera paketversionen för klientanslutningar

I FileZilla, peka på /rAthena/dbmappen och redigera packet_db.txt.

Hitta den här raden och redigera:

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

Eftersom vi använder 2013-08-07Ragexeklienten, hitta den angivna klienten nedan och leta efter dess packet_ver och packet_keys .

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

Ersätt standardvärdet för packet_db_veroch packet_keys_usetill de angivna klientvärdena.

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

Och spara. Detta är för att specificera vilken klient som ska användas av spelare. Vi vill inte att de ska kunna använda sin valfria version.


Startar servern

Efter att ha kompilerat serverfilerna använder du dessa kommandon för att starta servern.

Att börja:

    ./athena-start start

Att stanna:

    ./athena-start stop

Att starta om:

    ./athena-start restart

Om du har stött på ett fel som detta:

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

... då måste du installera dos2unix för att konvertera skriptet.

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

När du har kört dessa kommandon startar du servern igen.

Nu när vi är klara med serverinställningen behöver du bara ställa in din Ragnarok-klient så att den pekar på din VPS-server. Njut av att spela på din nya server!


Referenser

Lämna en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.

DDOS-attacker: En kort översikt

DDOS-attacker: En kort översikt

Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.

Har du någonsin undrat hur hackare tjänar pengar?

Har du någonsin undrat hur hackare tjänar pengar?

Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...

Technological Singularity: A Distant Future of Human Civilization?

Technological Singularity: A Distant Future of Human Civilization?

När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.

Funktioner för Big Data Reference Architecture Layers

Funktioner för Big Data Reference Architecture Layers

Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.

Utveckling av datalagring – Infographic

Utveckling av datalagring – Infographic

Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer