Nastavte Ragnarok Online Server na Ubuntu 14.04 x64

V tomto článku se chystáme nastavit Ragnarok Online Server na Ubuntu 14.04 x64. Můžete být přihlášeni jako root nebo jako uživatel s oprávněními superuživatele. Je bezpečnější nastavit to jako uživatel bez oprávnění root pomocí sudo. V tomto tutoriálu budeme používat soubory serveru rAthena.

Pokud používáte Windows a máte Ubuntu Server (VPS nebo Dedicated), budete potřebovat následující programy.

  • FileZilla
  • Tmel
  • Textový editor (doporučeno Sublime nebo Notepad++)

Požadavky

  • apache2 – Pokud plánujete používat phpMyAdmin pro vzdálený přístup k mysql a nastavení vašeho webu.
  • php5 - Pro web a phpMyAdmin.
  • phpmyadmin – vzdálený přístup k MySQL pomocí webového prohlížeče.
  • mysql-server - naše databáze pro herní server.
  • mysql-klient
  • git
  • udělat
  • gcc
  • libmysqlclient-dev
  • zlib1g-dev
  • libpcre3-dev - Volitelné pro podporu PCRE.
  • libssl-dev - Povinný pro kompilaci s MySQL 5.5.

Můžete se podívat na tuto příručku ohledně instalace Apache, MySQL a PHP.


Instalace požadovaných balíčků

Spusťte tyto příkazy přes SSH.

  • Uživatel root:

    apt-get install php5 phpmyadmin mysql-server mysql-client git make gcc libmysqlclient-dev zlib1g-dev libpcre3-dev
    
  • Non-root s právy sudo:

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

Po úspěšné instalaci požadavků na server pokračujte v instalaci a konfiguraci souborů serveru.


Stahování souborů serveru

Nyní získáme nejnovější aktualizace souborů serveru rAthena. Toto jsou soubory potřebné pro spuštění serveru Ragnarok Online. Existují další serverové soubory, které lze použít, jako Hercules a eAthena, ale v tomto tutoriálu používáme rAthena. Spusťte příkaz níže a stáhněte si soubory.

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

To umístí všechny soubory do rAthenavašeho aktuálního adresáře v terminálu.

Chcete-li aktualizovat soubory serveru na nejnovější verzi, spusťte tento příkaz.

    cd rAthena
    git pull

Nastavení MySQL

V této části konfigurujeme MySQL pro databázi našeho serveru. Nejprve zkontrolujte, zda váš server MySQL běží.

    service mysql status

Pokud neběží, zadejte tento příkaz.

    service mysqld start

Po spuštění výše uvedených příkazů otevřete konzolu MySQL.

    mysql -u root -p

Budete požádáni o heslo uživatele root. Po přihlášení zadejte následující příkazy pro vytvoření databáze pro náš server.

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

    mysql> CREATE DATABASE ragnarok;

Poté vytvořte nového uživatele pro Ragnarok DB a zalogujte 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";

Pokud chcete, aby měl uživatel vzdálený přístup k vašemu serveru MySQL, můžete nahradit localhost adresou IP.

Vytvořte databázi protokolů pro protokoly hry Ragnarok.

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

    mysql> CREATE DATABASE log;

Nastavte oprávnění pro uživatele, kterého jsme dříve vytvořili s názvem admin .

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

Obnovte požadované tabulky ve vaší databázi Ragnarok a protokolu. Poté své heslo aktualizujte -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

Vytvoření herního účtu

Pro přístup k databázi používáme dříve nainstalovaný phpMyAdmin. Přístup k phpMyAdmin prostřednictvím vašeho webového prohlížeče.

Vyberte ragnarokdatabázi a vyberte logintabulku. Vidíme, že v té tabulce je jeden záznam. Zatím jej nemažte/neupravujte. Používá ho server. Chcete-li vytvořit herní účet, kliknutím na kartu SQL na loginstole otevřete editor dotazů. Spusťte následující dotaz.

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

Do přihlašovací tabulky jsme vložili nového uživatele s následujícími informacemi.

  • account_id = 2000000 (vždy začínat 2000000, poté 2000001...)
  • userid = admin (Vaše uživatelské jméno ve hře)
  • user_pass = password123 (heslo k vašemu účtu)
  • sex = M (M nebo F, nepoužívejte S, protože je to jen pro server)
  • email = email@email.com ( e-mail vašeho účtu, používaný pro smazání slotů postav ve hře)
  • group_id = 99 (podívejte se /rathena/conf/groups.confna řádky id a zkontrolujte je. Pro tuto chvíli 99, abyste z toho udělali účet GM pro speciální hru s použitím příkazů.)
  • character_slots = 9 (počet znaků, které lze vytvořit na účet)

Ostatní hodnoty ponechte tak, jak jsou. Gratulujeme. Úspěšně jste vytvořili svůj účet pro hru.


Konfigurace souborů serveru

Nejprve musíte znát IP adresu vašeho serveru. Možná to již víte, protože to již bylo zahrnuto v informacích o serveru vašeho Vultr VPS. Pokud to chcete zkontrolovat, napište:

    ifconfig

Hledejte část eth0 inet addr:xxx.xxx.xxx.xxx . xxx.xxx.xxx.xxx bude IP adresa vašeho serveru. Pokud máte nainstalovaný Apache, můžete k němu přistupovat a zkontrolovat, zda váš webový server běží.

Ve FileZilla se přihlaste ke svému VPS pomocí přihlašovacích údajů k serveru a otevřete /rAthena/confsložku.

Upravte char_athena.confa map_athena.confpomocí preferovaného textového editoru.

Upravit char_athena.confz:

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

Na:

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

Kde xxx.xxx.xxx.xxxje IP adresa vašeho serveru.

V inter_athena.txtsouboru proveďte tyto změny:

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

V map_athena.txtsouboru proveďte tyto změny:

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

Kde xxx.xxx.xxx.xxxje IP adresa vašeho serveru.

Otevřete subnet_athena.txta nastavte IP adresu.

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

A máme hotovo konfiguraci serveru.


Kompilace serveru rAthena

Nyní je čas zkompilovat server! V této části potřebujete vědět, jakou verzi klienta Ragnarok Online budete používat pro připojení k serveru. Pro nastavení klienta navštivte tuto stránku .

Poté, co se rozhodnete, kterého klienta použít, pojďme upravit některé soubory. Řekněme, že jsme se rozhodli použít 08072013klienta, protože se jedná o stabilního klienta pro obnovení.

Spusťte tento příkaz na terminálu:

    ./configure --enable-packetver=YYYYMMDD

Nahraďte YYYYMMDDdatem klienta (přeformátováno).

    ./configure --enable-packetver=20130807

Konfigurační skript provede potřebné testy a vygeneruje makefiles pro náš server.

Poté zkompilujte zdrojový kód zadáním těchto příkazů:

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

...a počkejte, až to skončí. Pokud provedete změny na souborech ve /rAthena/srcsložce, budete ji muset znovu zkompilovat.

    make clean
    make server

Konfigurace verze paketu pro připojení klientů

Ve FileZilla ukažte na /rAthena/dbsložku a upravte packet_db.txt.

Najděte tento řádek a upravte:

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

Protože používáme 2013-08-07Ragexeklienta, najděte níže uvedeného klienta a vyhledejte jeho packet_ver a packet_keys .

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

Nahraďte výchozí hodnotu packet_db_vera packet_keys_usedo zadaných klientských hodnot.

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

A ušetřit. Slouží k určení, jakého klienta mají hráči používat. Nechceme, aby mohli používat svou verzi volby.


Spuštění serveru

Po zkompilování souborů serveru použijte tyto příkazy ke spuštění serveru.

Začít:

    ./athena-start start

Zastavit:

    ./athena-start stop

Restartovat:

    ./athena-start restart

Pokud jste narazili na chybu, jako je tato:

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

... pak musíte nainstalovat dos2unix pro převod skriptu.

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

Po spuštění těchto příkazů znovu spusťte server.

Nyní, když jsme hotovi s nastavením serveru, stačí nastavit klienta Ragnarok tak, aby ukazoval na váš server VPS. Užijte si hraní na svém novém serveru!


Reference

Zanechat komentář

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.

Útoky DDOS: Stručný přehled

Útoky DDOS: Stručný přehled

Jste také obětí DDOS útoků a nemáte jasno v metodách prevence? Chcete-li vyřešit své dotazy, přečtěte si tento článek.

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Možná jste slyšeli, že hackeři vydělávají spoustu peněz, ale napadlo vás někdy, jak takové peníze vydělávají? Pojďme diskutovat.

Revoluční vynálezy od Googlu, které vám usnadní život.

Revoluční vynálezy od Googlu, které vám usnadní život.

Chcete vidět revoluční vynálezy Google a jak tyto vynálezy změnily život každého dnešního člověka? Pak si přečtěte na blogu a podívejte se na vynálezy od Googlu.

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Koncept aut s vlastním pohonem, která vyrazí na silnice s pomocí umělé inteligence, je snem, který už nějakou dobu máme. Ale přes několik slibů nejsou nikde vidět. Přečtěte si tento blog a dozvíte se více…

Technologická singularita: vzdálená budoucnost lidské civilizace?

Technologická singularita: vzdálená budoucnost lidské civilizace?

Jak se věda vyvíjí rychlým tempem a přebírá mnoho našeho úsilí, stoupá také riziko, že se vystavíme nevysvětlitelné singularitě. Přečtěte si, co pro nás může znamenat singularita.

Funkcionality vrstev referenční architektury velkých dat

Funkcionality vrstev referenční architektury velkých dat

Přečtěte si blog, abyste co nejjednodušším způsobem poznali různé vrstvy v architektuře velkých dat a jejich funkce.

Evoluce ukládání dat – Infografika

Evoluce ukládání dat – Infografika

Způsoby ukládání dat se mohou vyvíjet od narození dat. Tento blog se zabývá vývojem ukládání dat na základě infografiky.

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

V tomto digitálním světě se chytrá domácí zařízení stala klíčovou součástí života. Zde je několik úžasných výhod chytrých domácích zařízení o tom, jak náš život stojí za to žít a zjednodušit jej.

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Apple nedávno vydal doplňkovou aktualizaci macOS Catalina 10.15.4, která opravuje problémy, ale zdá se, že aktualizace způsobuje další problémy, které vedou k zablokování počítačů mac. Přečtěte si tento článek a dozvíte se více