Настройка Ragnarok Online Server на Ubuntu 14.04 x64

В этой статье мы собираемся настроить Ragnarok Online Server на Ubuntu 14.04 x64. Вы можете войти в систему как пользователь root или пользователь с привилегиями суперпользователя. Безопаснее настроить это как пользователь без полномочий root с помощью sudo. В этом уроке мы будем использовать файлы сервера rAthena.

Если вы используете Windows и у вас есть Ubuntu Server (VPS или Dedicated), вам понадобятся следующие программы.

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

Требования

  • apache2 - если вы планируете использовать phpMyAdmin для удаленного доступа к MySQL и настройки вашего сайта.
  • php5 - для веб и phpMyAdmin.
  • phpmyadmin - Удаленный доступ к MySQL с помощью веб-браузера.
  • MySQL-сервер - наша база данных для игрового сервера.
  • MySQL-клиент
  • мерзавец
  • делать
  • НКУ
  • libmysqlclient-DEV
  • zlib1g-DEV
  • libpcre3-dev - Необязательно, для поддержки PCRE.
  • libssl-dev - требуется для компиляции с MySQL 5.5.

Вы можете обратиться к этому руководству относительно установки Apache, MySQL и PHP.


Установка необходимых пакетов

Запустите эти команды через SSH.

  • Корневой пользователь:

    apt-get install php5 phpmyadmin mysql-server mysql-client git make gcc libmysqlclient-dev zlib1g-dev libpcre3-dev
    
  • Без полномочий root с правами 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 сервер.

    service mysql status

Если он не работает, введите эту команду.

    service mysqld start

После выполнения команд выше, откройте консоль MySQL.

    mysql -u root -p

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

CREATE DATABASE (имя вашей базы данных ragnarok); - Мы назовем это "Рагнарок".

    mysql> CREATE DATABASE ragnarok;

Затем создайте нового пользователя для БД Ragnarok и войдите в БД.

ПРЕДОСТАВЛЯТЬ ВСЕ НА ragnarok. * TO yourdatabaseusername @ localhost, ИДЕНТИФИЦИРОВАННОЙ "yourdesiredpassword"; - Мы создадим нового пользователя с именем admin с паролем 123456 .

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

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

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

CREATE DATABASE (имя базы данных вашего журнала) - мы назовем его «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и проверьте строки идентификатора. На данный момент 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

Создание сервера Teamspeak 3 в Ubuntu 14 64-bit

Создание сервера Teamspeak 3 в Ubuntu 14 64-bit

Обзор Независимо от того, работаете ли вы над большим проектом совместной работы со своей командой разработчиков или убиваете босса в новейшей ролевой игре, вы готовы

Как настроить сервер Left 4 Dead 2 в Ubuntu

Как настроить сервер Left 4 Dead 2 в Ubuntu

В этом руководстве вы узнаете, как настроить сервер Left 4 Dead 2 в Ubuntu. Это руководство было протестировано на сервере Ubuntu 15.10. Необходимые условия обновления th

Как установить Starbound Server в CentOS 7

Как установить Starbound Server в CentOS 7

Используете другую систему? В этом уроке я расскажу, как настроить сервер Starbound в CentOS 7. Предварительные условия Вы должны иметь эту игру на себе

Настройка многопользовательского сервера SA-MP San Andreas на CentOS 6

Настройка многопользовательского сервера SA-MP San Andreas на CentOS 6

Добро пожаловать в другой учебник Vultr. Здесь вы узнаете, как установить и запустить сервер SAMP. Это руководство было написано для CentOS 6. Предварительные условия

Как установить PufferPanel (бесплатная панель управления Minecraft) на CentOS 7

Как установить PufferPanel (бесплатная панель управления Minecraft) на CentOS 7

Введение В этом руководстве мы будем устанавливать PufferPanel на нашем Vultr VPS. PufferPanel - это бесплатная панель управления с открытым исходным кодом для управления вами.

Как установить Unturned 2.2.5 на CentOS 6

Как установить Unturned 2.2.5 на CentOS 6

В этом руководстве вы узнаете, как настроить сервер Unturned 2.2.5 на Vultr VPS с CentOS 6. Примечание. Это отредактированная версия Unturned, которая не

Как установить сервер FiveM в Ubuntu 19.04

Как установить сервер FiveM в Ubuntu 19.04

Предварительные условия Система Linux под управлением Ubuntu 19.04 с как минимум 1 ядром ЦП и 2 ГБ памяти. Пользователь без полномочий root в системе Прежде чем мы начнем Чтобы убедиться, что вы

Настройка Counter Strike: Source в Debian

Настройка Counter Strike: Source в Debian

В этом руководстве мы будем настраивать игровой сервер Counter Strike: Source на Debian 7. Эти команды были протестированы на Debian 7, но они также должны работать.

Как настроить сервер Tekkit Classic в Ubuntu 16.10

Как настроить сервер Tekkit Classic в Ubuntu 16.10

Используете другую систему? Что такое Tekkit Classic? Tekkit Classic - это модпак для игры, которую все знают и любят; Майнкрафт. Он содержит некоторые вер

Настройка Multi Theft Auto Server в Debian

Настройка Multi Theft Auto Server в Debian

Это руководство объясняет, как установить сервер Multi Theft Auto в Debian. Последнее обновление для Debian 7 и MTA 1.5.4. Любой VPS от Вультр это грей

Как установить мультиплеер SA-MP San Andreas на CentOS 7

Как установить мультиплеер SA-MP San Andreas на CentOS 7

Из этого руководства вы узнаете, как настроить сервер SA-MP (San Andreas Multiplayer) в CentOS 7. Предварительные условия Позволяет убедиться, что система полностью обновлена.

Как установить сервер Teamspeak 3 на 64-битную версию Ubuntu 16.04

Как установить сервер Teamspeak 3 на 64-битную версию Ubuntu 16.04

Используете другую систему? Обзор Надоело пользоваться Discord / Skype? Устали от отсутствия полного контроля над вашим сервером? Или, может быть, из-за отсутствия O

Как установить Garrys Mod на Windows Server

Как установить Garrys Mod на Windows Server

Введение В этой статье объясняется, как загрузить и установить сервер Garrys Mod на Windows Server 2012. Это руководство сделано для того, чтобы быть в курсе.

Как установить ARK Survival Evolved (ArkSE) на CentOS 7

Как установить ARK Survival Evolved (ArkSE) на CentOS 7

Из этого руководства вы узнаете, как настроить сервер ARK Survival в CentOS 7. Предварительные условия Для работы ARK требуется большой объем памяти. Я рекомендую использовать V

Как установить Counter-Strike: Global Offensive Сервер в Windows

Как установить Counter-Strike: Global Offensive Сервер в Windows

Введение В этом руководстве вы узнаете, как установить сервер Counter-Strike: Global Offensive в Windows. Предварительные условия Прежде чем мы начнем, вы

Как установить Cuberite на сервере CentOS 6 или 7

Как установить Cuberite на сервере CentOS 6 или 7

Введение Что такое куберит? Cuberite - это масштабируемая реализация сервера Minecraft с открытым исходным кодом, написанная на C ++. Имеет простой в использовании плагин

Настройка сервера Counter-Strike: Global Offensive (CSGO) в Arch Linux

Настройка сервера Counter-Strike: Global Offensive (CSGO) в Arch Linux

Из этого туториала Вы узнаете, как настроить сервер Counter-Strike: Global Offensive в Arch Linux. В этом руководстве предполагается, что вы вошли со стандартным использованием

Как установить Left 4 Dead Server на CentOS 7

Как установить Left 4 Dead Server на CentOS 7

В этом руководстве я объясню, как установить и настроить сервер L4D в CentOS 7. Установка Left 4 Dead Прежде чем мы начнем, мы должны убедиться, что

Установка сервера Reflex в Windows

Установка сервера Reflex в Windows

Введение Reflex - это перспективная конкурентная арена FPS от Turbo Pixel Studios. Из этого туториала Вы узнаете, как настроить собственный сервер Reflex на

Terraria Server с TShock в Linux

Terraria Server с TShock в Linux

Terraria - MMORPG, основанная на майнинге, строительстве и сражениях. Некоторые люди говорят, что это 2D-версия Minecraft, но это не будет справедливо для Террарии

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

6 невероятных фактов о Nintendo Switch

6 невероятных фактов о Nintendo Switch

Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.

Технические обещания, которые все еще не выполнены

Технические обещания, которые все еще не выполнены

Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.

Функциональные возможности уровней эталонной архитектуры больших данных

Функциональные возможности уровней эталонной архитектуры больших данных

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

Как ИИ может вывести автоматизацию процессов на новый уровень?

Как ИИ может вывести автоматизацию процессов на новый уровень?

Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?

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

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

По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.

Телемедицина и удаленное здравоохранение: будущее уже здесь

Телемедицина и удаленное здравоохранение: будущее уже здесь

Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!

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

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

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

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

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