IPB Предупреждение [2] A non-numeric value encountered (Строка: 3050 файла /sources/ipsclass.php)
Компиляция или не надо - UoKit.com Форумы
 

Здравствуйте, гость ( Вход | Регистрация )

> Компиляция или не надо, Надо ли компилить ядро каждый раз как сделал изменения в Script
Chicos
сообщение 24.11.2017, 5:53
Сообщение #1


**

Neophyte
Сообщений: 21
Регистрация: 20.6.2006
Группа: Пользователи
Наличность: 0
Пользователь №: 6.565



В руководстве по сборке компиляции сказано что надо добавить папку Server в проект и скомпилить ядро. От предшественика мне уже досталось готовое ядро. Почему то подумалось что просто изменив в папке Scripts нужный мне скрипт я получу нужное. Для пробы изменил в кастоме явно свой объект. Но изменения на сервере не отобразились. То есть после каждого изменения в Scripts необходимо пересобирать exe ? Или как то по другому? Начал только разбираться с UO, и что то в сотнях тем прочитанных этот момент не нашел.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
Aimed
сообщение 24.11.2017, 18:51
Сообщение #2


*********

Grandmaster
Сообщений: 2.250
Регистрация: 29.12.2012
Группа: Пользователи
Наличность: 8605
Пользователь №: 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 отключен, то тогда придется делать компиляцию ядра для каждой правки.


Да, если так уже сделали, то прийдется, но так делать вобще не надо. Лучше собрать все обратно в нормальную структуру ядро-скрипты и включить компиляцию скриптов.
Там есть проверки для сериализации и десериализации. Возможно так-же добавить свои кастомные проверки в ядро, ибо сериализация не очень надеждная система для записи/восстановления данных когда отключена компиляция скриптов и все это в руках не очень грамотных людей находится. Можно делов наделать с сейвами.

Собственно одна из главных причин почему на УОРПГ в свое время Вап сделал вывод что это провальная система сейвов и начал требовать новую систему сейвов, в итоге из-за этого ядро разработчиков команды УОРПГ окончательно разосралось )))
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
StaticZ
сообщение 24.11.2017, 19:05
Сообщение #3


*********

Разработчик проекта "Квинтэссенция"
Сообщений: 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...
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Aimed
сообщение 24.11.2017, 19:10
Сообщение #4


*********

Grandmaster
Сообщений: 2.250
Регистрация: 29.12.2012
Группа: Пользователи
Наличность: 8605
Пользователь №: 15.607



Цитата(StaticZ @ 24.11.2017, 17:05) *

Как по мне при статичной компиляции куда проще и удобнее работать да и ошибки искать. Отладчик лучше всяких проверок, которые в лучшем случае способны выявить лишь общие проблемы, да и от криворукости с полноценным ЯП ничто не спасет, да даже LUA скрипты на практике сплошь и рядом способны привести к крашам =)


А кто мешает отладчиком пользоваться то?
Нужно просто запускать дебаг скриптов через .exe и будет вам отладка.
А вобще я специально заметил что это в руках не очень грамотных людей может доставить большие проблемы. Да или просто банально забыть разок и уже гора веселья гарантирована.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
StaticZ
сообщение 24.11.2017, 19:43
Сообщение #5


*********

Разработчик проекта "Квинтэссенция"
Сообщений: 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...
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Aimed
сообщение 24.11.2017, 20:55
Сообщение #6


*********

Grandmaster
Сообщений: 2.250
Регистрация: 29.12.2012
Группа: Пользователи
Наличность: 8605
Пользователь №: 15.607



Цитата(StaticZ @ 24.11.2017, 17:43) *

Ну так эта и есть статическая компиляция о которой я говорю. В ядре отключается компиляция скриптов а те компилируется уже в студии. Вообще этот ScriptCompiler большая кака.


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

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

Сейвы это наше все. Нужно лишь разок затупить или забыть что-то и можно сразу хорошенько приехать.
Я считаю что нужен очень щепетильный подход к этому делу. А вырубать все *лишнее*, потому что сервер на 20 сек дольше загружается, это по-моему не серьёзно.

Вобщем мое мнение вкратце: нужно не только компиляцию использовать, но и ещё более жесткие проверки добавлять в эту систему. Потому что я её считаю какой-то недоделанной.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Chicos
сообщение 24.11.2017, 22:50
Сообщение #7


**

Neophyte
Сообщений: 21
Регистрация: 20.6.2006
Группа: Пользователи
Наличность: 0
Пользователь №: 6.565



Цитата(Aimed @ 24.11.2017, 22:55) *

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

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

Сейвы это наше все. Нужно лишь разок затупить или забыть что-то и можно сразу хорошенько приехать.
Я считаю что нужен очень щепетильный подход к этому делу. А вырубать все *лишнее*, потому что сервер на 20 сек дольше загружается, это по-моему не серьёзно.

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


Ну Аймед, так то то ты это и есть предшественик, я сейчас за тобой Нову подобрал, в принципе я уже разобрался, скомпилил ядро новое на тестовом, вижу что скриптс тоже в ядре сидят. Помоги чуть на первом этапе, я же 3 дня как с ней работаю. Пока сервак жив, народ бегает, не хочу что либо поломать по незнанию. Хочу просто список багов поправить и далее развить немного сервак, там народ все устаривает, чисто по нобходимости. Оплачу твое время, в пределах разумного. Мне не надо разжевывать, читать я умею форум, чисто что, где, и как в общих чертах, особенности сервака. Просто Спил скинул на меня, я не отказался, но и контактов не было твоих. Почта kns собак mail.ru
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Aimed
сообщение 24.11.2017, 23:07
Сообщение #8


*********

Grandmaster
Сообщений: 2.250
Регистрация: 29.12.2012
Группа: Пользователи
Наличность: 8605
Пользователь №: 15.607



Цитата(Chicos @ 24.11.2017, 20:50) *

Ну Аймед, так то то ты это и есть предшественик, я сейчас за тобой Нову подобрал, в принципе я уже разобрался, скомпилил ядро новое на тестовом, вижу что скриптс тоже в ядре сидят. Помоги чуть на первом этапе, я же 3 дня как с ней работаю. Пока сервак жив, народ бегает, не хочу что либо поломать по незнанию. Хочу просто список багов поправить и далее развить немного сервак, там народ все устаривает, чисто по нобходимости. Оплачу твое время, в пределах разумного. Мне не надо разжевывать, читать я умею форум, чисто что, где, и как в общих чертах, особенности сервака. Просто Спил скинул на меня, я не отказался, но и контактов не было твоих. Почта kns собак mail.ru


Послал в ЛС контакты. Вобще меня найти не должно быть сложно.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
Chicos   Компиляция или не надо   24.11.2017, 5:53
Soteric   Ты понял верно. При запуске папка Scripts должна п...   24.11.2017, 6:04
Juzzver   Если ядро в проекте объединяет обе папки Server и...   24.11.2017, 15:19
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

 

- Текстовая версия | Версия для КПК Сейчас: 13.5.2024, 18:53
Designed by Nickostyle