Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Город Мастеров _ Шарды рунета _ Инстансы?

Автор: denis0k Nov 18 2010, 21:46

Один диалог привёл меня к такому вот вбросу smile.gif

Пусть есть нвн1-сервер Х, на нём крутится пве модуль. Партия 1 собирается в данж за зелипупенской зелибякой, подходит к порталу и дёргает за рычаг. В этот момент в фоне нвнх грузит ещё один сервер из этой же папки (но видимо на другой порт) с модулем из одного данжа, после загрузки партия кидается туда и тусит там до окончания. Пока они там, партия 2 хочет в такой же данж, дёргает рычаг, грузит ещё один сервер-придаток и тоже проходит тот же данж параллельно партии 1. Волт общий, база общая.

Реально?

Автор: Ilerien Nov 19 2010, 00:01

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

Автор: greye Nov 20 2010, 11:05

Цитата(Ilerien @ Nov 19 2010, 01:01) *
Зачем запускать каждый раз новый сервер?

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

Автор: Ilerien Nov 20 2010, 11:21

На вкус и цвет, конечно, но мне запуск нескольких процессов нвнсервера нравится значительно меньше, чем копирование локаций с шаблона. smile.gif

Цитата
Так лучше сервер - можно редактировать различные модули и подгружать только их, не трогая основной сервер.
Вообще, в этом есть и обратная сторона медали - если ты хочешь внести глобальные изменения (спелл какой пофиксить, скажем), то придётся редактировать оба модуля либо ещё как извращаться - с той же динамической подгрузкой скриптов через NWNX, например.

Автор: virusman Nov 20 2010, 12:09

Цитата(greye @ Nov 20 2010, 11:05) *
Так лучше сервер - можно редактировать различные модули и подгружать только их, не трогая основной сервер.
А для этого есть NWNX ResMan, который позволяет обновлять и добавлять ресурсы без перезагрузки сервера. smile.gif

Автор: elsefalse Nov 26 2010, 01:34

Кстати о переходах. Есть способ поменять Transition Target, или придется применять костыли?

Автор: virusman Nov 26 2010, 07:57

Цитата(elsefalse @ Nov 26 2010, 01:34) *
Кстати о переходах. Есть способ поменять Transition Target, или придется применять костыли?
Да, можно повесить скрипт на событие http://www.nwnlexicon.com/compiled/event.onareatransitionclick.html.
На дверях должно работать, на триггерах - не знаю.
Ещё за переходы отвечает скрипт NW_G0_Transition.

Автор: denis0k Nov 26 2010, 09:00

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

Автор: Ilerien Nov 26 2010, 10:31

Проще всего дописать nw_g0_transition - это не костыль, а вполне себе приличная реализация динамических триггеров.

Цитата
Можно сделать динамические триггеры, но мы в своё время отказались от этого - нестандартные триггеры у нас криво работали на забегание либо с мышки, либо с клавиатуры. С одного девайса - всё ок, с другого - как-то неестественно себя вело, не помню уже. Имхо там только часть кода в скрипте и часть в движке.
У нас были проблемы со скрытыми переходами - событие onEnter с клавы (или с мышки - тоже не помню) частенько не срабатывало.

Автор: elsefalse Nov 26 2010, 14:28

Да, еще вопрос. Если игрок выйдет с откопированной локи(NWNX_Areas), локу удалить, игрок возвращается в игру в эту самую удаленую локу. Что будет?

Автор: virusman Nov 26 2010, 15:26

Цитата(elsefalse @ Nov 26 2010, 14:28) *
Да, еще вопрос. Если игрок выйдет с откопированной локи(NWNX_Areas), локу удалить, игрок возвращается в игру в эту самую удаленую локу. Что будет?
Сервер валится. biggrin.gif
Если серьёзно, была такая проблема, но я не помню, фиксил ли я её или нет.

Автор: elsefalse Dec 3 2010, 04:05

Таки валится. swoon.gif

Автор: virusman Dec 3 2010, 07:56

На винде или линухе? В виндовой версии на пару багов больше. smile.gif
Когда освободится время - может, поправлю.

Автор: kiruhs Oct 20 2011, 09:16

Вот такой вопрос по нвнх. Допустим есть модуль на 250 локаций. Каждая локация представлена в вариантах зима, лето, осень, весна. Итого уже 1000 локаций, что не очень хорошо для производительности. Но одновременно в модуле используется только 250.

Возможно ли реализовать такой вариант: есть два модуля - main(скрипты, палитра, т.е. движок модуля) и support(локации). При загрузке main мы берем нужные локации из support и копируем их в main. Или может как-то возможно при запуске main копировать в темп файлы с локами из определенной папки? Думаю суть задачи понятна rolleyes.gif

Автор: virusman Oct 20 2011, 11:09

Можно просто держать один основной модуль без локаций, а все локи - в папке ресурсов ResMan (с разными префиксами или суффиксами для времён года). При загрузке модуля делать LoadArea для всех лок с нужными приставками.

Автор: Flaristan Oct 20 2011, 14:57

Цитата(denis0k @ Nov 26 2010, 09:00) *
Можно сделать динамические триггеры, но мы в своё время отказались от этого - нестандартные триггеры у нас криво работали на забегание либо с мышки, либо с клавиатуры. С одного девайса - всё ок, с другого - как-то неестественно себя вело, не помню уже. Имхо там только часть кода в скрипте и часть в движке.
Сделал у себя динамические переходы через двери (не триггер, а дверной проем «area transition») – вроде неплохо себя зарекомендовали.

Цитата(kiruhs @ Oct 20 2011, 09:16) *
Вот такой вопрос по нвнх. Допустим есть модуль на 250 локаций. Каждая локация представлена в вариантах зима, лето, осень, весна. Итого уже 1000 локаций, что не очень хорошо для производительности. Но одновременно в модуле используется только 250.
Как раз последнее над чем работал (и еще спрашивал в разделе по скриптам) – подсистема для придания локациям «зимнего» вида. ИМХО это перебор с локациями, гораздо проще и выгоднее с т.з. системных ресурсов ввести «киберкалендарь» (что я у себя и сделал и дорабатываю) который работает с имеющимися локациями и изменяет их в соответствии с временами года, месяцами, неделями, временами суток.

Автор: kiruhs Oct 20 2011, 16:08

Цитата(Flaristan @ Oct 20 2011, 14:57) *
Как раз последнее над чем работал (и еще спрашивал в разделе по скриптам) – подсистема для придания локациям «зимнего» вида. ИМХО это перебор с локациями, гораздо проще и выгоднее с т.з. системных ресурсов ввести «киберкалендарь» (что я у себя и сделал и дорабатываю) который работает с имеющимися локациями и изменяет их в соответствии с временами года, месяцами, неделями, временами суток.


Флэр тут как тут... С точки зрения системных ресурсов гораздо проще сделать разные локи, чем городить в одной кучу ненужных скриптов. Да и не представляю как летний тайл можно превратить в зимний. Вариант "Пусть игроки включают воображение и сами додумывают" не предлагать rolleyes.gif

Да и нужно это не для смены сезонов. Это был как пример

Автор: denis0k Oct 20 2011, 17:29

Цитата
ИМХО это перебор с локациями, гораздо проще и выгоднее с т.з. системных ресурсов ввести «киберкалендарь» (что я у себя и сделал и дорабатываю) который работает с имеющимися локациями и изменяет их в соответствии с временами года, месяцами, неделями, временами суток.
Для КЛ пробовали разные варианты, в результате пришли к выводу, что проще ретекстурить в зиму все тайлы и сделать 2 копии одной локи, чем городить плейсы и эффекты - всё равно по-человечески не сделать. Ни траву/крыши в снег не перекрасить, ни листья с деревьев не скинуть, ни ручьи льдом не покрыть.

Автор: Flaristan Oct 20 2011, 19:09

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


Автор: kiruhs Oct 20 2011, 19:26

Цитата(Flaristan @ Oct 20 2011, 18:09) *
Падающий снег, наметы, зимние скайбоксы - помоему вполне достаточно для придании локации зимней атмосферы...


Забыл табличку поставить "Сейчас зима" или лучше прямиком в лог писать biggrin.gif

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

Автор: Flaristan Oct 20 2011, 20:00

Не забыл – в логе комментируются события имеющие влияние на персонажей (непогода, заморозки, наступление светового дня…). smile.gif

Это лучше чем «ничего».
А с Края Лесов я помню систему дублирующихся локаций (зима – лето) – она вызывала значительные сбои в функционировании шарда (вплоть до того что сервер становился неиграбельным, зиму называли «ядерной», и чтоб продолжать нормально играть на шарде требовалось просить в письменном виде администрацию перекрутить игровое время на весну).pardon.gif

Автор: denis0k Oct 20 2011, 21:43

Цитата
Не забыл – в логе комментируются события имеющие влияние на персонажей (непогода, заморозки, наступление светового дня…).
Ммм.. Можно сделать MUD на движке нвн!
Цитата
она вызывала значительные сбои в функционировании шарда (вплоть до того что сервер становился неиграбельным, зиму называли «ядерной», и чтоб продолжать нормально играть на шарде требовалось просить в письменном виде администрацию перекрутить игровое время на весну).
Хостинг подкачал - на пг субд отваливается время от времени, а модуль на ней сильно завязан. Плагин был без реконнекта (хотя реконнект немногое бы решил).
Ну и когда я ушёл, систему поломали окончательно smile.gif Сайрус не синхронизировал скрипты в модулях, а потом вообще забил на зимнюю версию. Сейчас я бы сделал по-другому, через тот же ресман, было бы офигенно круто, но смысла нет некрофилией заниматься.

Автор: Ilerien Oct 20 2011, 22:30

Цитата
Хостинг подкачал - на пг субд отваливается время от времени, а модуль на ней сильно завязан. Плагин был без реконнекта (хотя реконнект немногое бы решил).
Сейчас проблему порешали - поставили мускулю таймаут побольше, а я простенький реконнект в плагин дописал.
Цитата
Падающий снег, наметы, зимние скайбоксы - помоему вполне достаточно для придании локации зимней атмосферы...
На скринах поздняя осень, но никак не зима, сорри ph34r.gif
Сама по себе идея смены времён года в экстерьерных локациях мне кажется очень интересной, но крайне трудной в полноценной реализации. Слишком сильно уменьшает количество юзабельных тайлов и плейсов. Мы от неё отказались в пользу разнообразия тайлов. smile.gif

Автор: denis0k Oct 20 2011, 23:14

Цитата
Сейчас проблему порешали - поставили мускулю таймаут побольше
Да, сурово Драгит работает smile.gif Его при мне 2 раза поднимали wacko.gif И как только нагрузка растёт, он там видимо ещё циферку подкручивает. Оригинальное решение, сродни хранению бекапов на одном винте с данными (поэтому бэд-блоки убивали найтсы 2 раза).
Цитата
а я простенький реконнект в плагин дописал.
А "потерянные" запросы пересылает до победного конца? Иначе смысла нет, простой реконнект был и так, на геме кажется очень редко ломались чары (если в момент регистрации дискало), на кл ломалось вообще всё и 100% smile.gif
Цитата
Слишком сильно уменьшает количество юзабельных тайлов и плейсов.
Некоторые тайлы довольно просто ретекстурятся smile.gif Но это десятки человекочасов, проверено на себе. Но зато результат довольно забавный, такое было кажется только в ультиме, остальные онлайновые миры статичны до мозга костей.

P.S. На скринах ранняя осень smile.gif Поздняя осень в далеко не северном Черноземье (по меркам, опять же, России) выглядит куда суровее.

Автор: Flaristan Oct 21 2011, 00:11

Цитата(Ilerien @ Oct 20 2011, 22:30) *
На скринах поздняя осень, но никак не зима, сорри ph34r.gif
Цитата(denis0k @ Oct 20 2011, 23:14) *
На скринах ранняя осень smile.gif Поздняя осень в далеко не северном Черноземье (по меркам, опять же, России) выглядит куда суровее.
Это вы еще новый год в Крыму не встречали.biggrin.gif
На самом деле да – смысла бороться со статичностью НВН нет никакого (со всем уважением к КЛ, но все же дублирование локаций для разных времен года – это всеравно извратский изврат). Но тем не менее мне кажется для переходных регионов (между теми где «вечная» зима и лето) такая «поздне-ранняя осень» вполне достойный компромисс (особенно учитывая что оно не подгружает особо модуль скриптами и создает хоть какую-то часть иллюзии «живущего» мира) – в модуле оно смотрится довольно неплохо, кому надо оценят. smile.gif

Автор: Flaristan Oct 21 2011, 00:11

//продублировался пост

Автор: Ilerien Oct 21 2011, 00:23

Цитата
Да, сурово Драгит работает Его при мне 2 раза поднимали И как только нагрузка растёт, он там видимо ещё циферку подкручивает. Оригинальное решение, сродни хранению бекапов на одном винте с данными (поэтому бэд-блоки убивали найтсы 2 раза).
Ахха, сурово. Постгрес-то ставить не хотят. rolleyes.gif
Цитата
А "потерянные" запросы пересылает до победного конца? Иначе смысла нет, простой реконнект был и так, на геме кажется очень редко ломались чары (если в момент регистрации дискало), на кл ломалось вообще всё и 100%
*пожал плечами* Один раз. Судя по логам, с того момента, как поставился фикс, фатальные потери были только раз за последние пару месяцев, причём там не СУБД была виновата, а связь между машиной с нвнсервером и машиной с базой. Будут нехорошие симптомы - дописать недолго. smile.gif
Цитата
Некоторые тайлы довольно просто ретекстурятся Но это десятки человекочасов, проверено на себе.
...и лишние гигабайт-полтора хаков.

Автор: kiruhs Oct 21 2011, 07:31

Цитата(Flaristan @ Oct 21 2011, 00:11) *
Это вы еще новый год в Крыму не встречали.

Встречали rolleyes.gif

Цитата
...и лишние гигабайт-полтора хаков

Во времена скоростного интернета это не проблема

Автор: denis0k Oct 21 2011, 07:33

Цитата
Ахха, сурово. Постгрес-то ставить не хотят.
Более крупные проекты на мускле крутятся и ничего. Просто, во-первых, там ещё что-то навешивали на ту же машину без апгрейдов, и, во-вторых, софт там тоже редко обновляют. Сейчас просто, а в момент популярности нвн кулхацкеры задалбывали smile.gif То форум положат, то в админку залезут, то ддосят за бан подсети. Весёлые времена были, в общем.
Цитата
...и лишние гигабайт-полтора хаков.
В принципе, это уже ничего не решает. Дисковое пространство стоит копейки, а если хаков уже гиг без зимнего дубля, то на помегабайтовом трафике его всё равно качать особо никто не будет. За пределами мкада мегабайт стоит около 50-60 коп (хотя за Уралом и не в крупных городах думаю побольше).

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)