|
Компиляция или не надо, Надо ли компилить ядро каждый раз как сделал изменения в Script |
|
|
|
|
Ответов
Aimed |
24.11.2017, 18:51
|
Grandmaster
Сообщений: 2.250
Регистрация: 29.12.2012 Группа: Пользователи Наличность: 7782
Пользователь №: 15.607
|
Ну вы и ответы даёте... я бы не зная сабжа нафиг запутался. Начнем сначала: Ядро - это и есть твой RunUO.exe либо ServUO.exe. Исходники ядра находятся в папке Server. Скрипты - это то что у папке скриптов(Scripts) находится. Они компилируются в рантайме уже ядром каждый раз когда ты запускаешь RunUO/ServUO.exe и создается кеш в виде дллки. Цитата(Chicos @ 24.11.2017, 3:53) То есть после каждого изменения в Scripts необходимо пересобирать exe ? Нет, нужно просто перезапустить RunUO/ServUO.exe. Если же изменение было в файлах из папки Server, нужно сперва пересобрать уже сам сервер RunUO/ServUO.exe и после этого эти изменения вступят в силу для твоих скриптов. Допустим ты в классе Mobile добавил новое protected поле, которое должно быть видно в PlayerMobile. Сперва нужно собрать ядро и тогда ты сможешь обращаться к этому полю в PlayerMobile. Цитата(Juzzver @ 24.11.2017, 13:19) Если ядро в проекте объединяет обе папки Server и Scripts, при этом ScriptCompiler.cs отключен, то тогда придется делать компиляцию ядра для каждой правки. Да, если так уже сделали, то прийдется, но так делать вобще не надо. Лучше собрать все обратно в нормальную структуру ядро-скрипты и включить компиляцию скриптов. Там есть проверки для сериализации и десериализации. Возможно так-же добавить свои кастомные проверки в ядро, ибо сериализация не очень надеждная система для записи/восстановления данных когда отключена компиляция скриптов и все это в руках не очень грамотных людей находится. Можно делов наделать с сейвами. Собственно одна из главных причин почему на УОРПГ в свое время Вап сделал вывод что это провальная система сейвов и начал требовать новую систему сейвов, в итоге из-за этого ядро разработчиков команды УОРПГ окончательно разосралось )))
|
|
|
|
StaticZ |
24.11.2017, 19:05
|
Разработчик проекта "Квинтэссенция"
Сообщений: 2.155
Регистрация: 15.6.2009 Группа: Пользователи Наличность: 0 Из: РФ, Москва
Пользователь №: 11.948
|
Цитата(Aimed @ 24.11.2017, 18:51) Да, если так уже сделали, то прийдется, но так делать вобще не надо. Лучше собрать все обратно в нормальную структуру ядро-скрипты и включить компиляцию скриптов. Там есть проверки для сериализации и десериализации. Возможно так-же добавить свои кастомные проверки в ядро, ибо сериализация не очень надеждная система для хранения данных когда отключена компиляция скриптов и все это в руках не очень грамотных людей находится. Можно делов наделать с сейвами. Как по мне при статичной компиляции куда проще и удобнее работать да и ошибки искать. Отладчик лучше всяких проверок, которые в лучшем случае способны выявить лишь общие проблемы, да и от криворукости с полноценным ЯП ничто не спасет, да даже LUA скрипты на практике сплошь и рядом способны привести к крашам =)
--------------------
RP сервер UO: Quintessence, а также ПО: EssenceUCS, EssenceUDK, CentrEd+, Fiddler+ и др.Game isn't a dream, it is the reality, reality which is coming while we dream...
|
|
|
|
StaticZ |
24.11.2017, 19:43
|
Разработчик проекта "Квинтэссенция"
Сообщений: 2.155
Регистрация: 15.6.2009 Группа: Пользователи Наличность: 0 Из: РФ, Москва
Пользователь №: 11.948
|
Цитата(Aimed @ 24.11.2017, 19:10) А кто мешает отладчиком пользоваться то? Нужно просто запускать дебаг скриптов через .exe и будет вам отладка. Ну так эта и есть статическая компиляция о которой я говорю. В ядре отключается компиляция скриптов а те компилируется уже в студии. Вообще этот ScriptCompiler большая кака. Цитата(Aimed @ 24.11.2017, 19:10) А вобще я специально заметил что это в руках не очень грамотных людей может доставить большие проблемы. Да или просто банально забыть разок и уже гора веселья гарантирована. Ну вы еще скажите что ассемблер в руках не очень грамотных людей может доставить большие проблемы. Это и так очевидно если лезишь в это надо или знать ЯП и иметь навык или покрайней мере быть готовым к бессонным ночам мучений, ковыряний кода, обучению и поиску проблем.
--------------------
RP сервер UO: Quintessence, а также ПО: EssenceUCS, EssenceUDK, CentrEd+, Fiddler+ и др.Game isn't a dream, it is the reality, reality which is coming while we dream...
|
|
|
|
Chicos |
24.11.2017, 22:50
|
Neophyte
Сообщений: 21
Регистрация: 20.6.2006 Группа: Пользователи Наличность: 0
Пользователь №: 6.565
|
Цитата(Aimed @ 24.11.2017, 22:55) Линк был на FAQ о дебаге ядра + скриптов при нормальной структуре с динамической компиляцией скриптов во время рантайма. Я не согласен что компилятор скриптов это кака. Для главной аудитории это безопаснее чем убрать его полностью. Даже для себя лично я предпочту такой подход, нежели полную компиляцию проекта сразу.
К тому-же если б кому-то действительно было дело до сервера, можно было-бы ещё больше обезопасить все это дело. Создав нормальный фреймворк для создания Save полей и метаданных о версиях и все это динамически проверять при запуске сервера, что-бы уменьшить шанс на всяческие проблемы связанные с сейвами.
Сейвы это наше все. Нужно лишь разок затупить или забыть что-то и можно сразу хорошенько приехать. Я считаю что нужен очень щепетильный подход к этому делу. А вырубать все *лишнее*, потому что сервер на 20 сек дольше загружается, это по-моему не серьёзно.
Вобщем мое мнение вкратце: нужно не только компиляцию использовать, но и ещё более жесткие проверки добавлять в эту систему. Потому что я её считаю какой-то недоделанной.
Ну Аймед, так то то ты это и есть предшественик, я сейчас за тобой Нову подобрал, в принципе я уже разобрался, скомпилил ядро новое на тестовом, вижу что скриптс тоже в ядре сидят. Помоги чуть на первом этапе, я же 3 дня как с ней работаю. Пока сервак жив, народ бегает, не хочу что либо поломать по незнанию. Хочу просто список багов поправить и далее развить немного сервак, там народ все устаривает, чисто по нобходимости. Оплачу твое время, в пределах разумного. Мне не надо разжевывать, читать я умею форум, чисто что, где, и как в общих чертах, особенности сервака. Просто Спил скинул на меня, я не отказался, но и контактов не было твоих. Почта kns собак mail.ru
|
|
|
|
Сообщений в этой теме
Chicos Компиляция или не надо 24.11.2017, 5:53 Soteric Ты понял верно. При запуске папка Scripts должна п... 24.11.2017, 6:04 Juzzver
Если ядро в проекте объединяет обе папки Server и... 24.11.2017, 15:19 Aimed
Ну Аймед, так то то ты это и есть предшественик, ... 24.11.2017, 23:07 Juzzver Я лично не ощутил проблем с сериализациями при раб... 25.11.2017, 15:18 Aimed
Я лично не ощутил проблем с сериализациями при ра... 25.11.2017, 18:35 Juzzver
А что там случилось вобще? Потому что когда мне д... 26.11.2017, 1:02 Aimed Кстати, насчет 20 сек это тоже не совсем правда...... 25.11.2017, 19:06 StaticZ
Кстати, насчет 20 сек это тоже не совсем правда..... 29.11.2017, 0:57 Aimed
Да нет все таки через студию быстрее, там идет ча... 29.11.2017, 19:17 StaticZ Я что-то не в теме. О каких окнах речь?Я про окошк... 30.11.2017, 19:11 Juzzver Столкнулся с неприятным моментом при использовании... 8.12.2017, 20:02 Aimed
Столкнулся с неприятным моментом при использовани... 9.12.2017, 19:03 Juzzver
Решил покопаться, в итоге получилось сделать чере... 1.2.2018, 21:13 Aimed Надо будет ещё попробовать там msbuild/xbuild (if ... 2.2.2018, 13:35 volkinson Ребята, а как сделать так, чтобы скрипты подгружал... 27.3.2019, 13:00 Juzzver Глянул о чем речь - это нечто иное как конфиги, с ... 27.3.2019, 18:38 Aimed С рефлексией большой гемор будет. Куча подводных к... 28.3.2019, 12:38 Juzzver Еще как вариант, можно взять тот же форк UOForever... 28.3.2019, 19:33 Wap
С рефлексией большой гемор будет. Куча подводных ... 29.3.2019, 1:45 Aimed
В одно рыло в свободное от работы время - это год... 29.3.2019, 14:04 Alastar
Если только она магическая ))
Ultima Offline Ex... 30.3.2019, 13:44 Alastar Как вариант впилить javascript библиотеку в ядро и... 29.3.2019, 9:57 Ozzy Osbourne Как вариант впилить javascript библиотеку в ядро и... 29.3.2019, 11:06 RL_ka Зачем изобретать велосипеды, если для этих целей у... 29.3.2019, 14:21 Aimed
Зачем изобретать велосипеды, если для этих целей ... 29.3.2019, 14:32 Ozzy Osbourne Ты действительно не понимаешь чем UOX3 отличается ... 30.3.2019, 17:56
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|