• Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: No_MaTTeR, Dimitro, LightInDarkness  
[ElunaCore] Первая скриптовка
Nyll


Всем привет. Я решил создать цепочку гайдов по "движку" ElunaCore. Сам движок - это тот же TrinityCore, но с интегрированным Lua 5.2. Почему я решил сделать на эту тему гайд? Из-за того что открывается больше возможностей в реализации и написании новых скриптов без знаний С++. Так как на оффе логика, сценарии, боссы - написаны на Lua. Я подумал что данное направление будет интересно начинающим разработчикам.



Хочу замутить, что это не ArcEmu. Они хоть и похожи, но все же Eluna ушла уже намного дальше в плане возможностей.
На 3-ех крупных серверах Wow`a уже установлена система Eluna.
Маме беркута привет!
Сообщение # 1 отредактировано Nyll - Суббота, 19.10.2013, 04:53
Darksilvers
Nyll, спасибо няшка)
Сообщение # 2 написано 18.10.2013 в 08:20
Desed
Командир
Ставлю лойс, автор молодец.
Сообщение # 3 написано 18.10.2013 в 08:46
Djumhоrdе
Скаут
Дай - ка подумать:
Сейчас начнется icecream от некого юзера (читать как Nyll ), чтобы создали раздел по этому очередному мегапроекту?
Сообщение # 4 написано 18.10.2013 в 09:24
Дон Патрон
Скаут
Для действительно крупных серверов, такая поделка не пойдёт. Уже ни раз обсуждалось и не вы первые прикрутили Lua к mangos/trinity.
 ▲
▲ ▲
Сообщение # 5 написано 18.10.2013 в 11:19
MantiCore
Разработчик YTDB R2
Уважаемый Nyll, скажите, в CMaNGOS сие детище, можно как то имплантировать?
Чтобы сделать что то особенное - нужно просто поверить что это особенное.
Пишите по вопросам и приватке на https://vk.com/id195171613
Skype - MantiCore8460
Сообщение # 6 написано 18.10.2013 в 11:46
Dimitro
Praise the sun!
Цитата Nyll ()
Так как на оффе логика, сценарии, боссы написаны на Lua

Откуда инфа, интересно.

Цитата Nyll ()
открываются новые возможности в написании скриптов

Не открываются.
Реализация всех хуков и методов все равно на С++ писана.
Возможности абсолютно те же, только преподнесены иначе и в урезанном виде.
С тем же успехом можно было бы и SAI расширить разница была бы только в читаемости кода (ну еще скорости, да).

Проект Eluna Engine, конечно, интересен, но не более того.
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 7 отредактировано Dimitro - Пятница, 18.10.2013, 15:22
Dark_Silence
Рыцарь
Цитата Dimitro ()
Откуда инфа, интересно.

Как ты забыл...)
Нуллка был же ГМ на офе, даже тему создавал с видео...))))
Разбираюсь в компиляции, и установке серверов с ядрами СMaNGoS и Trinity.
Учусь модкрафтить (DBC-Edit, Локации в Noggit, Конвертирование/редактирование моделей в 3D-Max + Blender).
Интересуюсь технологиями, информатикой, физикой, и многим другим.
Warlocks 'Evil Empire'
Сообщение # 8 написано 18.10.2013 в 15:33
Nyll
Дон Патрон, она уже на ювове стоит smile
Маме беркута привет!
Сообщение # 9 написано 18.10.2013 в 23:28
Dark_Silence
Рыцарь
Цитата admiirall ()
Dark_Silence, что дает то. что он был ГМом на офе?

И это была шутка...
Разбираюсь в компиляции, и установке серверов с ядрами СMaNGoS и Trinity.
Учусь модкрафтить (DBC-Edit, Локации в Noggit, Конвертирование/редактирование моделей в 3D-Max + Blender).
Интересуюсь технологиями, информатикой, физикой, и многим другим.
Warlocks 'Evil Empire'
Сообщение # 10 написано 19.10.2013 в 01:57
Dimitro
Praise the sun!
Цитата admiirall ()
и все можно написать на нем

Написать на чем?

LUA интерпретированный язык, ему, как бы это странно не звучало, нужен интерпретатор.
В данном случае им является все то же ядро trinity, и реализация этого интерпретирования в нем написана на С++ (компилируемом языке).
Так вот, если в ядре не будет реализации интерпретации для нужного метода или хука, то и в LUA скриптах вы его не сможете применить.
Вывод: на луа, в данном случае, НЕЛЬЗЯ написать то, что нельзя написать на С++.
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 11 отредактировано Dimitro - Суббота, 19.10.2013, 03:19
Nyll
Dimitro, Не каждому человеку хватит сил выучить С++, а Lua на много проще. Поэтому новеньким, которые не хотят учить С++, проще реализовать свою идею на Lua. Тем более я уже пишу гайды, по разработке аддонов для WoW.
Маме беркута привет!
Сообщение # 12 отредактировано Nyll - Суббота, 19.10.2013, 03:37
Nyll
Цитата MantiCore ()
CMaNGOS

Прикрутить можно куда угодно. Вопрос будет стоять по другому: "Сколько времени придется потратить и сколько строчек кода нужно будет переписать".
Маме беркута привет!
Сообщение # 13 написано 19.10.2013 в 03:45
Dimitro
Praise the sun!
Если бы в оф. репо тринити была бы поддержка lua я бы слова не сказал по поводу раздутия такой важности этой темы (статья на главной).
На данный момент ее там нет и в ближайшем будущем не будет.

Зачем выносить на главную гайды по левой модификации, которую еще нужно и перетащить в текущее ядро, для чего знания с++ могут и понадобиться и новичок это не осилит точно?
Про допиливание этой модификации я вообще молчу (ну да, надо с++ знать).

По этой логике, можно по любому кастом патчу или всему, что удастся связать с вовом размещать никому не нужные статьи на главной.
То есть если я, к примеру, реализую в ядре возможность писать скрипты на Brainfuck'e мне тоже статью на главную запилить по эзотерическим языкам программирования?

Даже если опустить предыдущие тезисы, смысл гайда на данный момент такой - "я скриптую сервера вов на луа, вот ссылка на сайт разработчиков мода, дальше разбирайтесь как хотите, гайды я начал делать с середины, недостатки системы объяснять не буду, как ее перетащить на ядро тоже не буду объяснять, зато я гайд по скриптингу для НОВИЧКОВ сделал".
Как новичкам дойти до стадии, когда можно будет так скриптовать, зачем это им нужно, какие преимущества и недостатки - не ясно.
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 14 отредактировано Dimitro - Суббота, 19.10.2013, 03:54
Nyll
Цитата Dimitro ()
Если бы в оф. репо тринити была бы поддержка lua я бы слова не сказал по поводу раздутия такой важности этой темы (статья на главной).
На данный момент ее там нет и в ближайшем будущем не будет.

Зачем выносить на главную гайды по левой модификации, которую еще нужно и перетащить в текущее ядро, для чего знания с++ могут и понадобиться и новичок это не осилит точно?
Про допиливание этой модификации я вообще молчу (ну да, надо с++ знать).

По этой логике, можно по любому кастом патчу или всему, что удастся связать с вовом размещать никому не нужные статьи на главной.
То есть если я, к примеру, реализую в ядре возможность писать скрипты на Brainfuck'e мне тоже статью на главную запилить по эзотерическим языкам программирования?


Я не собирался раздувать "важность" данной темы. Я лично не знаю С++, но это мне не мешает работать на UWoW и писать при этом боссов.
Насчет реализации "сторонних" языков в ядре Trinity или любых других ядрах. Lua - один из самых легких и гибких языков. Тем самым его интеграция в ядро будет более уместной чем Brainfuck".
Да и вести спор насчет "Что легче и правильней?" в данной теме будет как минимум глупо. Данная тема - не призыв к использованию Elun'ы везде, а лишь небольшой гайд, показывающий новые возможности в реализации своих идей.
Маме беркута привет!
Сообщение # 15 написано 19.10.2013 в 03:54
Dimonn10
Рыцарь
Цитата Dimitro ()
Откуда инфа, интересно.

Инфа из снифера 100%

На wow-cool весь ДД на луа.
И еще 4 инста, ~ 120КВ.
Правда пришлось усовершенствовать саму Eluny

Добавлено (19.10.2013, 04:02)
---------------------------------------------

Цитата Dimitro ()
Как новичкам дойти до стадии, когда можно будет так скриптовать, зачем это им нужно, какие преимущества и недостатки - не ясно.

Думаю что очень скоро ты или СергейСВ выложите сбоку с встроенной lua, СергейСВ точно не упустит шанс продать пару десятков сборок.
Новый Сайт, новые Ивенты, новые квесты и новые...... много нового.
http://wow-cool.ru/
Сообщение # 16 отредактировано Dimonn10 - Суббота, 19.10.2013, 03:57
Nyll
Цитата Dimitro ()
Даже если опустить предыдущие тезисы, смысл гайда на данный момент такой - "я скриптую сервера вов на луа, вот ссылка на сайт разработчиков мода, дальше разбирайтесь как хотите, гайды я начал делать с середины, недостатки системы объяснять не буду, как ее перетащить на ядро тоже не буду объяснять, зато я гайд по скриптингу для НОВИЧКОВ сделал".
Как новичкам дойти до стадии, когда можно будет так скриптовать, зачем это им нужно, какие преимущества и недостатки - не ясно.


В интернете есть очень много гайдов на тему "Как поставить Eluna на Trinity". Даже скачав Eluna с офф репо и скомпилировав её - мы получим последнюю ревизию Trinity уже со встроенной Eluna. Сложностей в этом не возникнет ни у кого.
Недостатки? Они есть везде. На мой взгляд недостаток - дефицит некоторых функций. Но это уже решается дописыванием функционала со стороны С++. Этим уже будут заниматься другие люди, разрабатывающие Eluna.
Преимуществ, даже на первый взгляд, намного больше, чем недостатков. Тот факт, что можно писать скрипт, без перезагрузки/рекомпиляции сервера - перевешивает любые негативные восклицания.
Изменив скрипт в С++ мы ждем от 1-40 минут, пока проект не соберется и еще пару минут на запуск сервера/заход в игру.
На Lua мы лишь сохранили файл, прописали в консоль пару слов и уже может проверять его работоспособность.
Вносить правки в режиме онлайн - это огромный шаг в плане разработки и построении модели любого скрипта.
Маме беркута привет!
Сообщение # 17 написано 19.10.2013 в 04:04
Dimitro
Praise the sun!
Цитата Dimonn10 ()
Думаю что очень скоро ты или СергейСВ выложите сбоку с встроенной lua

Я знал про элуну еще в 2012.
Может и поковыряю на досуге, но я не считаю ее "крутой фишкой" (был бы интерес, руки бы за год точно бы дошли) и писать под нее lua скрипты не собираюсь.

Цитата Nyll ()
перевешивает любые негативные восклицания

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

Цитата Dimonn10 ()
Инфа из снифера 100%

Скорее 0%.
Сниффер не покажет, на чем писана серверная часть, какую близзы используют БД и т.д.

Единственное, что известно, клиент - С++, интерфейс - lua, все остальное невнятные домыслы.

Кстати, если открыть вакансии разработчиков WoW, то в вакансии "Senior Software Engineer, Game Play" про lua почему-то ни слова. Как же так?
Хотя вот на вакансию "Senior Software Engineer, User Interface" есть требование - "знание lua", и это подтверждает мои слова:
Цитата
Единственное, что известно, клиент - С++, интерфейс - lua, все остальное невнятные домыслы.
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 18 отредактировано Dimitro - Суббота, 19.10.2013, 04:43
Nyll
Цитата Dimitro ()
Стоит так же учесть более низкую скорость выполнения.
Лишние обращения к файловой системе и т.д.


Сударь, вы с какой планеты? Какие обращения к файловой системе? Lua написан на чистом С и поэтому не имеет никаких ограничений в виде "низкой скорости выполнения". Файлы считываются единожды при загрузке (и перезагрузке) в память. Более обращений к файловой системе не происходит. Все операции происходят только и только в памяти. А как я уже сказал выше, что Lua написан на чистом С, то падение производительности будет едва заметно, даже при больших объемах данных.
Маме беркута привет!
Сообщение # 19 написано 19.10.2013 в 04:25
Dimitro
Praise the sun!
Цитата Nyll ()
Lua написан на чистом С

Луа это язык, он не написан ни на чем.
Да, я знаю, что интерпретатор (именно интерпретатор) написан на С, дальше что?
Факта, что все это дело в связке будет куда медленнее прямой реализации через ядро не отменяет.

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

Что же будет быстрее?

Спор, на самом деле, "ниочем".
Штука бесспорно интересная, со своими плюсами и недостатками, но вот позиционировать ее как "новое слово в скриптинге" нет смысла.
Повторюсь, при желании, можно было бы и SAI расширить до похожего функционала.
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 20 отредактировано Dimitro - Суббота, 19.10.2013, 04:45
Dimonn10
Рыцарь
Естественно я сразу задумался об возможных нагрузках, у меня на серверах стоит мониторинг monitoring (не реклама) не какой дополнительной нагрузки не на один из ресурсов железяки я не заметил.
Новый Сайт, новые Ивенты, новые квесты и новые...... много нового.
http://wow-cool.ru/
Сообщение # 21 отредактировано Dimonn10 - Суббота, 19.10.2013, 04:51
Nyll
Цитата Dimitro ()
С элуной: подгрузить файлы, обратится к подгруженным данным, прогнать через lualib, прогнать через прослойку между lualib и методами ядра, наконец получить вызов нужного метода.
Без: вызвать нужный метод.


Вы преувеличили.
С элуной: обратиться к "прослойке" между lualib и ядром, вызвать метод в ядре и вернуть полученный результат обратно в Lua.
Без: вызвать метод в ядре и получить из него уже результат.
Ваш "негативный" настрой против Lua совершенно не обоснован. Если вы хотите продолжить спор - прочитайте информацию на данной странице http://www.lua.org/about.html.
Маме беркута привет!
Сообщение # 22 написано 19.10.2013 в 04:48
Dimitro
Praise the sun!
Ничего нового там не увидел.
Я не имею ничего против луа, я против луа в тринити.

Да, Lua быстр в сравнении с другими ИНТЕРПРЕТИРОВАННЫМИ языками, но скорость программы на том же чистом С будет выше, чем со всеми этими прослойками.
А в тринити уже существуют довольно неплохие, относительно простые, хорошо задокументированные и отлаженные системы создания скриптов.
Так зачем прикручивать еще одну?
Это не шаг вперед, а топтание на месте.

При выборе, что использовать - прямую, быструю и наиболее функциональную реализацию или реализацию окольными путями, при вышеуказанных условиях, выбор должен быть очевиден даже несмотря на возможность лепить скрипты на ходу (опять вспомню, кстати, про имеющийся в ядре SAI в котором это тоже возможно).
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 23 отредактировано Dimitro - Суббота, 19.10.2013, 05:05
Nyll
Dimitro, Что бы делать скрипты в чистую Trinity нужно знать язык C++, а я учу людей, которые не знают C++, писать скрипты для Trinity (на Lua).
Маме беркута привет!
Сообщение # 24 написано 19.10.2013 в 05:04
Neket007
Core Developer
Посмотрел я репо элуны, и сразу понятно что проект продвигается очень медленно, за последние месяц я увидел правок 5 где-то, и то они очень несущественные.

Ради того, чтобы по изучать lua, это отличная идея, просто великолепная, но нормально работать с TrinityCore он не научит, хотя и является его форком.
Сейчас это как патч, который просто дает возможность подключить lua и не больше.

Все равно, чтобы сейчас что-то делать на этом эмуляторе, если его можно назвать им, придется знать как и с++, так и опыт в TrinityCore.

А вот про плюс перекомпиляции у меня такое мнение. Я считаю, неважно, тринити или элуна, делать правки на сервере, на котором играют уже люди каждые 5 минут, это бред. Ведь на крупные серверах так не делают, так что, польза тут луа сомнительная, хотя в критических случаях может быть полезна.
Сообщение # 25 написано 19.10.2013 в 09:54
Nyll
bag
Маме беркута привет!
Сообщение # 26 написано 20.10.2013 в 00:53
Vitalya7
Ну просто умничка=))
Неплохо) Надо будет попробовать
Сообщение # 27 написано 20.10.2013 в 01:46
Darksilvers
Vitalya7, Как раз м.б. и заказы попрут под это ядро) все огонь)
Сообщение # 28 написано 20.10.2013 в 02:08
NеmmеZ
Лучший из лучших
будут твои гайды по данной скриптовке - пиши их в разделе тринити.
Услуги гаранта предоставлю по графику 2 через 2. Уточнять по icq/skype/пм
Сообщение # 29 написано 20.10.2013 в 13:14
Dimitro
Praise the sun!
Главное, что бы не в разделе гайдов.
Официальная тринити не поддерживает скриптовку на lua так что максимум можно создать тему в патчах, выложить патч и в этой теме уже постить видеоуроки.
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 30 отредактировано Dimitro - Воскресенье, 20.10.2013, 15:31
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: