|  | 
	
	
	
	
	 |  Компиляция или не надо , Надо ли компилить ядро каждый раз как сделал изменения в Script |  |  |  
	
		|   |   |  
	Ответов	 
	
		| Aimed | 
				  24.11.2017, 18:51 |  
		|  
 
          
 Grandmaster
 Сообщений: 2.250
 Регистрация: 29.12.2012
 Группа: Пользователи
 Наличность: 5460
 Пользователь №: 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 
	2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0) Пользователей: 0  |  |