Перейти к содержанию

Пытаюсь научится и разобраться, но нужна консультация опытных старших товарищей


Рекомендуемые сообщения

Собственно сабж, на рагнарок меня подсадили еще в универе больше 5 лет назад. Долго играл, потом такая возможность пропала, и вот недавно пришлось осваивать программирование, т.к. работаю в сфере IT. На этой почве стало интересно, как клиент и серверная часть работают внутри (чего уж тут таить - проект оставил неизгладимое впечатление и свой отпечаток внутри меня :lol: ).

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

Отсюда несколько вопросов, помогите советом, пожалуйста.

Я решил выбрать rAthena, т.к. насколько я мог судить - это более новое и перспективное направление, которое учитывает старые наработки. Собрал сервер - помогла вот эта инструкция тыц , спасибо огромное nomn и его ресурсу.

Но дальше столкнулся с другой проблемой - сбор клиента. Но эта часть вызывает наибольшие сложности, т.к. ресурсов много и в кучу связать все не могу из-за большого количества информации. Правильно ли я понимаю, что порядок моих действий далее следующий:

1. Скачать файлы клиента для rAthena. Но тут возникает сразу же вопрос - нужно качать вот http://miruku.rathena.org/ или же подойдет клиент с рутрекера?

2. Далее нужно скачать exe файл к клиенту. Мне нужен вот этот файл от 2012-04-10?

3. Далее мне нужно дифнуть файл exe

4. В файле mmo.h указать дату этого файла\ревизию.

Правильно ли я выстроил последовательность действий?

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

Изменено пользователем Made in China
Ссылка на комментарий
Поделиться на другие сайты

пиздишь сука, по глазам наркоманским вижу.

Ну а если серьезно объясняю на пальцах:

Есть exe, под него собирается для пираццкага сервера grf она же папка data в .grf;

для определенной версии экзешника, определенная версия луа файлов.

Есть сервер, есть клиент, есть база между ними.

Сервер настраивается под клиент\версию екзешника\луа файлы\дату.

Что бы не расписывать все то, что расписано до нас, рекомендую к прочтению

  1. http://supportmii.co.../JudasBible.pdf
  2. http://rathena.org/b...ient-side-area/

Нужно понимать простую вещь, есть официальный экзешник от kRO, поддерживает определенные функции в игре, некоторые не поддерживает. Под него и нужно собирать свой клиент.

Изменено пользователем finalgon
  • Upvote 2
Ссылка на комментарий
Поделиться на другие сайты

пиздишь сука, по глазам наркоманским вижу.

рыбак рыбака видит издалека, спасибо :)

решил взять версию от 4 октября 2012, серверную часть, чистый клиент и ехе уже нашел по советам местных добрых людей. сейчас ищу исполняемый diff-файл для этого процесса, Джудаса сейчас изучаю параллельно тоже

с диф разобрался - нигде ж блин не написано, что в ShinsDiffPatcher уже есть исполняемые файлы, просто указать исходник и в какой сохранять

Изменено пользователем Made in China
Ссылка на комментарий
Поделиться на другие сайты

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

Рекомендую для начала попробовать поиграться с экзешнинками и папкой даты, для 2010 годов экзешников. А потом как уже сконфигурируешь, поймешь как что и до чего, можешь уже браться за 2012-2013 экзешники. Помощь нужна? Могу создать чисто для тебя фулл лайт клиент для тебя + эмуль.

  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

Ну создать сервер происходит по следующим этапам:

  1. Выбирается экзешник, у всех есть свои недочеты, самые стабильные но для пре-реневала (т.е. для серверов 99\70) что бы не было новых "фич" качается это дело с https://www.assembla...ct/kRO/RagexeRE - рекомендую например 2010-07-30; (пакетверсия этого экзешника 25);
  2. Потом качается тузла shindiffpatcher/weediffpatcher ею же применяются дифы для экзешника что бы иметь те или иные возможности. качается обычно отсюда: http://supportmii.co...f2012Pack_v7.7z либо с официального svn;
  3. Далее экзешник дифиться. Запускается диффпатчер, выбирается экзешник, и дифф к нему, выбирается рекомендуемые параметры, убераем галочку "читать сначала папку дата", и гуглим по поводу каждого описания.
  4. Потом, основываясь на экзешнике, нам нужны файлы lua, это файлы нужны клиенту\экзешнику, храняться они в грфке в папке /data/lua files/ луа обычно берут по версии экзешника, сначала смотрят ченж лог, потом качают нужную ревизию луа файлов. http://svn6.assembla...de/Lua_Project/ ; Для экзешника 2010-07-30 нужны луа файлы 60 ревизии;
  5. Далее нам нужно найти уже готовую переведенную папку дату, с самыми необходимыми файлами\спрайтами, найти их можно где угодно, например тут: http://hercules.ws/b...lation-project/, или лучше даже тут: http://rathena.org/b...nglish-folder/; из той папки удаляем их lua files, и копируем свои (ревизию 60); Потом нам понадобиться правильное описание вещей, так как на реневале все по другому. Берем файл с описанием вещей тут: http://svn6.assembla...emdesctable.txt и тупо заменяем файл в папке. Так же удаляем папку palletes, это покраски головы\одежды\прически, ну их нахуй, они только тормозят клиент при патче.
  6. Вот уже наш клиент и готов. Далее нам нужно в папке data куда мы все это дело вкидывали создать файл clientinfo.xml; http://rathena.org/wiki/Clientinfo.xml, айпи указываем 127.0.0.1 либо localhost если сервер будет для домашних целей.
  7. Потом это все дело собираем в одну ГРФ, утилит благо масса: http://rathena.org/b...766-grf-editor/ либо http://rathena.org/b...2568-gryff-svn/ обе утилиты хороши. Но первая по моему по лучше будет. Обязательно маст хэв обе.
  8. Вот мы и собрали грф, указали айпишник в клиентинфо.кхсмл, запихнули нашу луа папку для клиента, и все должно быть чики-пуки. Закидываем данную грф в папку Ragnarok, (клиент можно скачать где угодно) http://www.nickyzai.com/?p=kro; в файле DATA.ini указываем 0=имятвоейгрф.grf 1=data.grf 2=rdata.grf и сохраняешь файл. В этом файле указывается приоритет считывания грф архивов.
  9. Теперь остается взять последнюю ревизию rathena, зайти в /src/config/renewal.h и закоментить все что связано с реневалом. http://rathena.org/b...it-pre-renewal/
  10. Далее заходим в /src/common/mmo.h и меняем #define PACKETVER 20100730 Сохраняем эту хуиту, радуемся жизни.
  11. Качаем Visual C++ Express 2010, запускаем vcproj-10, далее компилим release-sql; и радуемся жизни. У нас появяться исполняемые файлы сервера, аля будет три сервера: логин сервер (отвечает за коннект к серверу игроком, т.е. логин\пароль), потом чар сервер - отвечает за сохранность данных игрока, и мап сервер - отвечает за игровой мир, и т.п. и т.д.) Но данные экзешники читают параметры с папки conf, где описано как и куда им подключаться в файле inter_athena.conf там указыавем имя базы данных, логин, и пароль от этих баз, для log сервера рекомендую в одну базу кидать так же. Потом с помощью phpmyadmin или чем вы там пользуетесь заливаем в созданную базу данных базу main.sql (sql_files в корне ратены), и logs.sql;
  12. Потом остается настроить коннект между логин\чар\мап сервером и игроком. Делается это в char_athena.conf, map_athena.conf; //login_ip: 127.0.0.1 убераем // т.е. разкоментируем эту строчку, и оставляем как есть, и //char_ip: 127.0.0.1 раскоментируем и заместо 127.0.0.1 пишем свой лан айпи (ipconfig -all) в коммандной строке. Если не понял, то это был файл char_athena.conf; Потом редактируешь map_athena.conf //char_ip: 127.0.0.1 просто раскоментируешь, а //map_ip: 127.0.0.1 раскоментируешь, и изменяешь на свой лан айпи. Далее в обоих этих файлах есть строчки

userid: s1

passwd: p1

меняй их на что-то другое, это пароли между серверами. Так же эти пароли нужно сменить в базе данных (таблица login); там увидишь.

Ну а запускать сервер runserversql (батник) Если все окей, не увидишь никаких error, и красного текста в терминале эмулятора. Далее заходишь в игру. Что бы стать админом: нужно лезть в базу данных, в таблицу login, и после твоего пароля там есть строчка groups или как-то так, ставишь 99, чарселект, и ты админ. @commands в помощь.

Изменено пользователем finalgon
  • Upvote 2
  • Downvote 1
Ссылка на комментарий
Поделиться на другие сайты

finalgon, спасибо за инструкцию.

Все понятно и доходчиво.

Только вот почему то при запуске сервера

chanserv пишет: [info]: Loaded guild castle (33 - guild 0)

а loginserv пишет: [status]: Received '34' guild castles from char-server.

и на этом запуск останавливается. Не подскажите в чем дело?

Пробовал на ноутбуке и на PC, на ОС Windows 7x64 и Windows Server 2008 R2

Ссылка на комментарий
Поделиться на другие сайты

По вашему лог chanserv должен оканчиваться так?


...
[Info]: Attempt to connect to login-server...
[Status]: Connecting to 127.0.0.1:6900
[Status]: Connected to login-server (connection #5).
[Status]: Awaiting maps from map-server.
[Status]: Map-Server 0 connected: 804 maps, from IP 127.0.0.1 port 5121.
[Status]: Map-server 0 loading complete.
[Info]: Loaded guild castle (0 - guild 0)
[Info]: Loaded guild castle (1 - guild 0)
[Info]: Loaded guild castle (2 - guild 0)
[Info]: Loaded guild castle (3 - guild 0)
[Info]: Loaded guild castle (4 - guild 0)
[Info]: Loaded guild castle (5 - guild 0)
[Info]: Loaded guild castle (6 - guild 0)
[Info]: Loaded guild castle (7 - guild 0)
[Info]: Loaded guild castle (8 - guild 0)
[Info]: Loaded guild castle (9 - guild 0)
[Info]: Loaded guild castle (10 - guild 0)
[Info]: Loaded guild castle (11 - guild 0)
[Info]: Loaded guild castle (12 - guild 0)
[Info]: Loaded guild castle (13 - guild 0)
[Info]: Loaded guild castle (14 - guild 0)
[Info]: Loaded guild castle (15 - guild 0)
[Info]: Loaded guild castle (16 - guild 0)
[Info]: Loaded guild castle (17 - guild 0)
[Info]: Loaded guild castle (18 - guild 0)
[Info]: Loaded guild castle (19 - guild 0)
[Info]: Loaded guild castle (20 - guild 0)
[Info]: Loaded guild castle (21 - guild 0)
[Info]: Loaded guild castle (22 - guild 0)
[Info]: Loaded guild castle (23 - guild 0)
[Info]: Loaded guild castle (24 - guild 0)
[Info]: Loaded guild castle (25 - guild 0)
[Info]: Loaded guild castle (26 - guild 0)
[Info]: Loaded guild castle (27 - guild 0)
[Info]: Loaded guild castle (28 - guild 0)
[Info]: Loaded guild castle (29 - guild 0)
[Info]: Loaded guild castle (30 - guild 0)
[Info]: Loaded guild castle (31 - guild 0)
[Info]: Loaded guild castle (32 - guild 0)
[Info]: Loaded guild castle (33 - guild 0)

А потом периодические "[info]: Pinging SQL server to keep connection alive..." со всех консольных окон.

Я знаю, как выглядит запущенный сервер, но почему эмулятор не загружается до конца, мне не понятно.

-----------

Вот здесь у людей такая же проблема

http://rathena.org/board/topic/82560-charserv-sqlbat/

Изменено пользователем Рафик
Ссылка на комментарий
Поделиться на другие сайты

Загрузился он до конца... Войти-то пробовали?

В самом конце загрузки он грузит замки и показывает какая гильдия занимает, если занимает.

a2cfc83251981bb5d1a53e88b335.png

97797d3dd86ce0654d8f9e1cd25f.png

Ссылка на комментарий
Поделиться на другие сайты

  • 2 года спустя...

пиздишь сука, по глазам наркоманским вижу.

Ну а если серьезно объясняю на пальцах:

Есть exe, под него собирается для пираццкага сервера grf она же папка data в .grf;

для определенной версии экзешника, определенная версия луа файлов.

Есть сервер, есть клиент, есть база между ними.

Сервер настраивается под клиент\версию екзешника\луа файлы\дату.

Что бы не расписывать все то, что расписано до нас, рекомендую к прочтению

  1. http://supportmii.co.../JudasBible.pdf
  2. http://rathena.org/b...ient-side-area/

Нужно понимать простую вещь, есть официальный экзешник от kRO, поддерживает определенные функции в игре, некоторые не поддерживает. Под него и нужно собирать свой клиент.

Был бы очень признателен если бы поновили ссылки а то не могу со своим розобраться .exe

Ссылка на комментарий
Поделиться на другие сайты

пиздишь сука, по глазам наркоманским вижу.

Ну а если серьезно объясняю на пальцах:

Есть exe, под него собирается для пираццкага сервера grf она же папка data в .grf;

для определенной версии экзешника, определенная версия луа файлов.

Есть сервер, есть клиент, есть база между ними.

Сервер настраивается под клиент\версию екзешника\луа файлы\дату.

Что бы не расписывать все то, что расписано до нас, рекомендую к прочтению

  1. http://supportmii.co.../JudasBible.pdf
  2. http://rathena.org/b...ient-side-area/

Нужно понимать простую вещь, есть официальный экзешник от kRO, поддерживает определенные функции в игре, некоторые не поддерживает. Под него и нужно собирать свой клиент.

Был бы очень признателен если бы поновили ссылки а то не могу со своим розобраться .exe

все ссылки рабочие

Ссылка на комментарий
Поделиться на другие сайты

пиздишь сука, по глазам наркоманским вижу.

Ну а если серьезно объясняю на пальцах:

Есть exe, под него собирается для пираццкага сервера grf она же папка data в .grf;

для определенной версии экзешника, определенная версия луа файлов.

Есть сервер, есть клиент, есть база между ними.

Сервер настраивается под клиент\версию екзешника\луа файлы\дату.

Что бы не расписывать все то, что расписано до нас, рекомендую к прочтению

  1. http://supportmii.co.../JudasBible.pdf
  2. http://rathena.org/b...ient-side-area/

Нужно понимать простую вещь, есть официальный экзешник от kRO, поддерживает определенные функции в игре, некоторые не поддерживает. Под него и нужно собирать свой клиент.

Был бы очень признателен если бы поновили ссылки а то не могу со своим розобраться .exe

все ссылки рабочие

Говорит о другом xD

http://s017.radikal.ru/i441/1510/45/50b04e2c7892.png

Ссылка на комментарий
Поделиться на другие сайты

пиздишь сука, по глазам наркоманским вижу.

Ну а если серьезно объясняю на пальцах:

Есть exe, под него собирается для пираццкага сервера grf она же папка data в .grf;

для определенной версии экзешника, определенная версия луа файлов.

Есть сервер, есть клиент, есть база между ними.

Сервер настраивается под клиент\версию екзешника\луа файлы\дату.

Что бы не расписывать все то, что расписано до нас, рекомендую к прочтению

  1. http://supportmii.co.../JudasBible.pdf
  2. http://rathena.org/b...ient-side-area/

Нужно понимать простую вещь, есть официальный экзешник от kRO, поддерживает определенные функции в игре, некоторые не поддерживает. Под него и нужно собирать свой клиент.

Был бы очень признателен если бы поновили ссылки а то не могу со своим розобраться .exe

все ссылки рабочие

Говорит о другом xD

http://s017.radikal....0b04e2c7892.png

Используй впн или http://daidostup.ru/

Ссылка на комментарий
Поделиться на другие сайты

  • 4 недели спустя...

пиздишь сука, по глазам наркоманским вижу.

Ну а если серьезно объясняю на пальцах:

Есть exe, под него собирается для пираццкага сервера grf она же папка data в .grf;

для определенной версии экзешника, определенная версия луа файлов.

Есть сервер, есть клиент, есть база между ними.

Сервер настраивается под клиент\версию екзешника\луа файлы\дату.

Что бы не расписывать все то, что расписано до нас, рекомендую к прочтению

  1. http://supportmii.co.../JudasBible.pdf
  2. http://rathena.org/b...ient-side-area/

Нужно понимать простую вещь, есть официальный экзешник от kRO, поддерживает определенные функции в игре, некоторые не поддерживает. Под него и нужно собирать свой клиент.

Был бы очень признателен если бы поновили ссылки а то не могу со своим розобраться .exe

все ссылки рабочие

Говорит о другом xD

http://s017.radikal....0b04e2c7892.png

Используй впн или http://daidostup.ru/

Как? Обьясни для тех кто в танке XD

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...
Яндекс.Метрика