Налаштуйте Ragnarok Online Server на Ubuntu 14.04 x64

У цій статті ми збираємося налаштувати онлайн-сервер Ragnarok на Ubuntu 14.04 x64. Ви можете увійти як користувач root або користувач з правами суперкористувача. Безпечніше налаштувати це як користувача без права root за допомогою sudo. У цьому підручнику ми будемо використовувати файли сервера rAthena.

Якщо ви використовуєте Windows і у вас є сервер Ubuntu (VPS або виділений), вам знадобляться наступні програми.

  • FileZilla
  • PuTTY
  • Текстовий редактор (рекомендується Sublime або Notepad++)

Вимоги

  • apache2 - Якщо ви плануєте використовувати phpMyAdmin для віддаленого доступу до mysql і налаштування вашого веб-сайту.
  • php5 - для веб і phpMyAdmin.
  • phpmyadmin - віддалений доступ до MySQL за допомогою веб-браузера.
  • mysql-server - наша база даних для ігрового сервера.
  • mysql-клієнт
  • git
  • зробити
  • gcc
  • libmysqlclient-dev
  • zlib1g-dev
  • libpcre3-dev - необов'язково, для підтримки PCRE.
  • libssl-dev - обов'язковий для компіляції з MySQL 5.5.

Ви можете звернутися до цього посібника щодо встановлення Apache, MySQL та PHP.


Встановлення необхідних пакетів

Виконайте ці команди через SSH.

  • Root користувач:

    apt-get install php5 phpmyadmin mysql-server mysql-client git make gcc libmysqlclient-dev zlib1g-dev libpcre3-dev
    
  • Некореневі з привілеями sudo:

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

Після успішного встановлення вимог до сервера, давайте приступимо до встановлення та налаштування файлів сервера.


Завантаження файлів сервера

Тепер ми збираємося отримати останні оновлення файлів сервера rAthena. Це файли, необхідні для роботи сервера Ragnarok Online. Існують інші файли сервера, які можна використовувати, наприклад Hercules та eAthena, але в цьому підручнику ми використовуємо rAthena. Виконайте наведену нижче команду, щоб завантажити файли.

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

Це помістить усі файли всередині rAthenaвашого поточного каталогу в терміналі.

Щоб оновити файли сервера до останньої версії, виконайте цю команду.

    cd rAthena
    git pull

Налаштування MySQL

У цій частині ми налаштовуємо MySQL для бази даних нашого сервера. Спочатку перевірте, чи працює ваш MySQL Server.

    service mysql status

Якщо він не працює, введіть цю команду.

    service mysqld start

Після виконання наведених вище команд відкрийте консоль MySQL.

    mysql -u root -p

Вас попросять ввести пароль root. Після входу в систему введіть наступні команди, щоб створити базу даних для нашого сервера.

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

    mysql> CREATE DATABASE ragnarok;

Потім створіть нового користувача для БД Ragnarok і зареєструйте БД.

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

Ви можете замінити localhost на IP-адресу, якщо ви хочете, щоб користувач міг отримати доступ до вашого сервера MySQL віддалено.

Створіть базу даних журналів для журналів гри Ragnarok.

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

    mysql> CREATE DATABASE log;

Установіть дозволи для користувача, якого ми створили раніше, під ім’ям admin .

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

Відновіть необхідні таблиці у вашій базі даних Ragnarok і журналів. Після цього оновіть свій пароль -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

Створення ігрового облікового запису

Для доступу до бази даних ми використовуємо phpMyAdmin, який ми встановили раніше. Доступ до phpMyAdmin через веб-браузер.

Виберіть ragnarokбазу даних і виберіть loginтаблицю. Ми бачимо, що в цій таблиці є один запис. Поки що не видаляйте/змінюйте його. Він використовується сервером. Щоб створити ігровий обліковий запис, натисніть вкладку SQL, перебуваючи на loginтаблиці, щоб відкрити редактор запитів. Виконайте наступний запит.

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

Ми вставили нового користувача в таблицю входу з такою інформацією.

  • account_id = 2000000 (Завжди починайте з 2000000, потім 2000001...)
  • userid = admin (Ваше ім'я користувача в грі)
  • user_pass = password123 (пароль для вашого облікового запису)
  • sex = M (M або F, не використовуйте S, оскільки це лише для сервера)
  • email = [email protected] ( електронна пошта вашого облікового запису, використовується для видалення слотів персонажів у грі)
  • group_id = 99 (зверніться до /rathena/conf/groups.confі перевірте рядки id. На даний момент 99, щоб зробити це обліковим записом GM для використання спеціальних команд у грі.)
  • character_slots = 9 (кількість символів, які можна створити для облікового запису)

Залиште інші значення як є. Вітаю. Ви успішно створили свій обліковий запис для гри.


Налаштування файлів сервера

По-перше, ви повинні знати IP-адресу вашого сервера. Можливо, ви вже знаєте це, оскільки воно вже було включено в інформацію про сервер вашого Vultr VPS. Якщо ви хочете перевірити це, введіть:

    ifconfig

Знайдіть частину eth0 inet addr:xxx.xxx.xxx.xxx . xxx.xxx.xxx.xxx буде IP-адресою вашого сервера. Якщо у вас встановлено Apache, ви можете отримати доступ до нього, щоб перевірити, чи працює ваш веб-сервер.

У FileZilla увійдіть до свого VPS з обліковими даними свого сервера та отримайте доступ до /rAthena/confпапки.

Редагувати char_athena.confта за map_athena.confдопомогою бажаного текстового редактора.

Редагувати char_athena.confз:

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

Кому:

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

Де xxx.xxx.xxx.xxxзнаходиться IP-адреса вашого сервера.

У inter_athena.txtфайлі внесіть такі зміни:

    // 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.txtфайлі внесіть такі зміни:

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

Де xxx.xxx.xxx.xxxзнаходиться IP-адреса вашого сервера.

Відкрийте subnet_athena.txtта встановіть IP-адресу.

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

І ми закінчили налаштування сервера.


Компіляція сервера rAthena

Тепер час компілювати сервер! У цій частині вам потрібно знати, яку версію клієнта Ragnarok Online ви будете використовувати для підключення до сервера. Щоб налаштувати клієнта, відвідайте цю сторінку .

Після того як ви вирішите, який клієнт використовувати, давайте відредагуємо деякі файли. Скажімо, ми вирішили використовувати 08072013клієнт, оскільки це клієнт стабільного оновлення.

Виконайте цю команду в терміналі:

    ./configure --enable-packetver=YYYYMMDD

Замінити YYYYMMDDдатою клієнта (переформатовано).

    ./configure --enable-packetver=20130807

Скрипт configure виконає необхідні тести та згенерує make-файли для нашого сервера.

Після цього скомпілюйте вихідний код, ввівши такі команди:

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

... і дочекатися його завершення. Якщо ви вносите зміни до файлів у /rAthena/srcпапці, вам потрібно буде перекомпілювати її.

    make clean
    make server

Налаштування пакетної версії для клієнтських підключень

У FileZilla наведіть курсор на /rAthena/dbпапку та відредагуйте packet_db.txt.

Знайдіть цей рядок і відредагуйте:

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

Оскільки ми використовуємо 2013-08-07Ragexeклієнт, знайдіть вказаний клієнт нижче та знайдіть його packet_ver і packet_keys .

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

Замініть значення за замовчуванням packet_db_verта packet_keys_useна вказані значення клієнта.

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

І зберегти. Це для того, щоб указати, який клієнт буде використовуватися гравцями. Ми не хочемо, щоб вони могли використовувати свій вибір.


Запуск сервера

Після компіляції файлів сервера скористайтеся цими командами, щоб запустити сервер.

Починати:

    ./athena-start start

Зупинитися:

    ./athena-start stop

Щоб перезапустити:

    ./athena-start restart

Якщо ви зіткнулися з такою помилкою:

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

... тоді вам потрібно встановити dos2unix, щоб конвертувати скрипт.

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

Після виконання цих команд знову запустіть сервер.

Тепер, коли ми завершили налаштування сервера, вам просто потрібно налаштувати клієнт Ragnarok так, щоб він вказував на ваш VPS-сервер. Насолоджуйтесь грою на своєму новому сервері!


Посилання


Leave a Comment

Як налаштувати сервер Tekkit Classic на Ubuntu 16.10

Як налаштувати сервер Tekkit Classic на Ubuntu 16.10

Використання іншої системи? Що таке Tekkit Classic? Tekkit Classic — це модпак для гри, яку всі знають і люблять; Майнкрафт. Він містить деякі з вер

Налаштуйте сервер 7 Days to Die на Ubuntu 14

Налаштуйте сервер 7 Days to Die на Ubuntu 14

У цьому посібнику ви дізнаєтеся, як налаштувати власний сервер 7 Days to Die (7D2D) на Ubuntu. Зверніть увагу, що ця гра все ще має ранній доступ і що th

Налаштування сервера Half Life 2 на CentOS 6

Налаштування сервера Half Life 2 на CentOS 6

У цьому посібнику буде описано процес встановлення ігрового сервера Half Life 2 на систему CentOS 6. Крок 1: Встановлення необхідних умов Щоб налаштувати ou

Counter-Strike Global Offensive Server Launcher на Ubuntu

Counter-Strike Global Offensive Server Launcher на Ubuntu

Ті, хто має досвід налаштування спеціальної CS:GO (Counter-Strike: Global Offensive), знають, що процес використання інтерфейсу командного рядка для керування

Налаштування Counter Strike: Source на Debian

Налаштування Counter Strike: Source на Debian

У цьому посібнику ми будемо налаштовувати ігровий сервер Counter Strike: Source на Debian 7. Ці команди були перевірені на Debian 7, але вони також повинні працювати

Як встановити Unturned 2.2.5 на Debian 8

Як встановити Unturned 2.2.5 на Debian 8

У цьому посібнику ви дізнаєтеся, як налаштувати сервер Unturned 2.2.5 на Vultr VPS під керуванням Debian 8. Примітка. Це відредагована версія Unturned, яка не

Як встановити Cuberite на сервері CentOS 6 або 7

Як встановити Cuberite на сервері CentOS 6 або 7

Вступ Що таке куберит? Cuberite — це масштабована реалізація сервера Minecraft з відкритим кодом, написана на C++. Він має простий у використанні плагін

Встановлення Teamspeak на CentOS 7

Встановлення Teamspeak на CentOS 7

Teamspeak — це VOIP-сервер, який можна використовувати для спілкування команд або кількох людей. Він відносно легкий і безпечний, оскільки випускаються оновлення

Як встановити SteamCMD на свій VPS

Як встановити SteamCMD на свій VPS

У цьому підручнику ми встановимо SteamCMD. SteamCMD можна використовувати для завантаження та встановлення багатьох ігрових серверів Steam, таких як Counter-Strike: Global Offensiv

Запуск сервера Teamspeak 3 на CentOS 6.4

Запуск сервера Teamspeak 3 на CentOS 6.4

Виконайте наступні команди, щоб встановити сервер Teamspeak 3. # Безпечний Iptables iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -

Як встановити сервер Left 4 Dead на CentOS 7

Як встановити сервер Left 4 Dead на CentOS 7

У цьому посібнику я поясню, як встановити та налаштувати сервер L4D на CentOS 7. Встановлення Left 4 Dead Перш ніж почати, ми повинні переконатися, що

Як встановити сервер Minecraft на Ubuntu 14.04

Як встановити сервер Minecraft на Ubuntu 14.04

Використання іншої системи? У цій статті ми збираємося встановити сервер Minecraft на Ubuntu. Переконайтеся, що ви ввійшли під користувачем, який isn

Як встановити SA-MP San Andreas Multiplayer на CentOS 7

Як встановити SA-MP San Andreas Multiplayer на CentOS 7

У цьому підручнику ви дізнаєтеся, як налаштувати сервер SA-MP (San Andreas Multiplayer) на CentOS 7.

Налаштуйте сервер TeeWorlds

Налаштуйте сервер TeeWorlds

TeeWorlds — це безкоштовна багатокористувацька онлайн-гра з відкритим вихідним кодом. У цьому підручнику я збираюся пояснити, як створити сервер TeeWorlds. Ці кроки були

Запустіть власний сервер Arma 3 на Ubuntu 14

Запустіть власний сервер Arma 3 на Ubuntu 14

Огляд У цьому посібнику буде описано встановлення та роботу вашого сервера Arma 3 за допомогою SteamCMD та екрана. Для отримання додаткової інформації щодо th

Як встановити Tekkit Classic Server на CentOS 6/7

Як встановити Tekkit Classic Server на CentOS 6/7

Використання іншої системи? У цьому підручнику створіть сервер Tekkit Classic. Tekkit — ще один популярний модпак, створений для Minecraft. За рахунок суми

Як встановити Glowstone (Minecraft) на сервер CentOS 7

Як встановити Glowstone (Minecraft) на сервер CentOS 7

Використання іншої системи? Вступ Glowstone, безсумнівно, є найбільш оптимізованим сервером для Minecraft. Програмне забезпечення має низьке використання пам’яті та використання

Як встановити Unturned на Linux

Як встановити Unturned на Linux

Використання іншої системи? Вступ У цьому посібнику ви дізнаєтеся, як налаштувати та встановити сервер Unturned на Linux. Unturned — популярний виживання

Налаштування ігрового сервера JC2:MP на Debian

Налаштування ігрового сервера JC2:MP на Debian

У цьому посібнику ми будемо налаштовувати сервер Just Cause 2: багатокористувацький сервер Linux. Ці команди були перевірені на Debian 7 x64, але вони також повинні працювати на th

Встановіть сервер Minecraft на Fedora 26

Встановіть сервер Minecraft на Fedora 26

Використання іншої системи? У цьому підручнику я розповім вам, як налаштувати сервер Minecraft на високопродуктивному SSD VPS на Vultr. Ти навчишся хо

Повстання машин: застосування ШІ в реальному світі

Повстання машин: застосування ШІ в реальному світі

Штучний інтелект не в майбутньому, він тут прямо в сьогоденні У цьому блозі Прочитайте, як програми штучного інтелекту вплинули на різні сектори.

DDOS-атаки: короткий огляд

DDOS-атаки: короткий огляд

Ви також стали жертвою DDOS-атак і спантеличені методами запобігання? Прочитайте цю статтю, щоб вирішити свої запитання.

Ви коли-небудь замислювалися, як хакери заробляють гроші?

Ви коли-небудь замислювалися, як хакери заробляють гроші?

Можливо, ви чули, що хакери заробляють багато грошей, але чи замислювалися ви коли-небудь, як вони заробляють такі гроші? давайте обговоримо.

Революційні винаходи від Google, які полегшать ваше життя.

Революційні винаходи від Google, які полегшать ваше життя.

Ви хочете побачити революційні винаходи Google і як ці винаходи змінили життя кожної людини сьогодні? Тоді читайте в блозі, щоб побачити винаходи Google.

Friday Essential: Що сталося з автомобілями, керованими штучним інтелектом?

Friday Essential: Що сталося з автомобілями, керованими штучним інтелектом?

Концепція самокерованих автомобілів, щоб вирушати в дороги за допомогою штучного інтелекту, є мрією, яку ми давно мріємо. Але, незважаючи на кілька обіцянок, їх ніде не видно. Прочитайте цей блог, щоб дізнатися більше…

Технологічна сингулярність: віддалене майбутнє людської цивілізації?

Технологічна сингулярність: віддалене майбутнє людської цивілізації?

Оскільки наука розвивається швидкими темпами, бере на себе багато наших зусиль, ризики піддати себе незрозумілій Сингулярності також зростає. Читайте, що може означати для нас сингулярність.

Еволюція зберігання даних – інфографіка

Еволюція зберігання даних – інфографіка

Методи зберігання даних можуть розвиватися з моменту народження Даних. Цей блог висвітлює еволюцію зберігання даних на основі інфографіки.

Функціональні можливості шарів еталонної архітектури великих даних

Функціональні можливості шарів еталонної архітектури великих даних

Прочитайте блог, щоб дізнатися про різні шари архітектури великих даних та їх функціональні можливості найпростішим способом.

6 дивовижних переваг використання пристроїв розумного дому в нашому житті

6 дивовижних переваг використання пристроїв розумного дому в нашому житті

У цьому цифровому світі пристрої розумного дому стали важливою частиною життя. Ось кілька дивовижних переваг пристроїв розумного дому щодо того, як вони роблять наше життя гідним життя та спрощують його.

Оновлення доповнення macOS Catalina 10.15.4 спричиняє більше проблем, ніж вирішує

Оновлення доповнення macOS Catalina 10.15.4 спричиняє більше проблем, ніж вирішує

Нещодавно Apple випустила додаткове оновлення macOS Catalina 10.15.4, щоб виправити проблеми, але схоже, що оновлення викликає більше проблем, що призводять до блокування комп’ютерів Mac. Прочитайте цю статтю, щоб дізнатися більше