Помощь - Поиск - Пользователи - Календарь
Полная версия: Инстансы?
Город Мастеров > РЕДАКТОРЫ > Шарды рунета
denis0k
Один диалог привёл меня к такому вот вбросу smile.gif

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

Реально?
Ilerien
Зачем запускать каждый раз новый сервер? Проще скопировать локации из шаблона, благо NWNX Areas позволяет, навесить на переходы нужные теги - и вуаля. Как это отразится на производительности - другой вопрос, но, думаю, что не сильно.
greye
Цитата(Ilerien @ Nov 19 2010, 01:01) *
Зачем запускать каждый раз новый сервер?

Так лучше сервер - можно редактировать различные модули и подгружать только их, не трогая основной сервер.
Ilerien
На вкус и цвет, конечно, но мне запуск нескольких процессов нвнсервера нравится значительно меньше, чем копирование локаций с шаблона. smile.gif
Цитата
Так лучше сервер - можно редактировать различные модули и подгружать только их, не трогая основной сервер.
Вообще, в этом есть и обратная сторона медали - если ты хочешь внести глобальные изменения (спелл какой пофиксить, скажем), то придётся редактировать оба модуля либо ещё как извращаться - с той же динамической подгрузкой скриптов через NWNX, например.
virusman
Цитата(greye @ Nov 20 2010, 11:05) *
Так лучше сервер - можно редактировать различные модули и подгружать только их, не трогая основной сервер.
А для этого есть NWNX ResMan, который позволяет обновлять и добавлять ресурсы без перезагрузки сервера. smile.gif
elsefalse
Кстати о переходах. Есть способ поменять Transition Target, или придется применять костыли?
virusman
Цитата(elsefalse @ Nov 26 2010, 01:34) *
Кстати о переходах. Есть способ поменять Transition Target, или придется применять костыли?
Да, можно повесить скрипт на событие OnAreaTransitionClick.
На дверях должно работать, на триггерах - не знаю.
Ещё за переходы отвечает скрипт NW_G0_Transition.
denis0k
Можно сделать динамические триггеры, но мы в своё время отказались от этого - нестандартные триггеры у нас криво работали на забегание либо с мышки, либо с клавиатуры. С одного девайса - всё ок, с другого - как-то неестественно себя вело, не помню уже. Имхо там только часть кода в скрипте и часть в движке.
Ilerien
Проще всего дописать nw_g0_transition - это не костыль, а вполне себе приличная реализация динамических триггеров.
Цитата
Можно сделать динамические триггеры, но мы в своё время отказались от этого - нестандартные триггеры у нас криво работали на забегание либо с мышки, либо с клавиатуры. С одного девайса - всё ок, с другого - как-то неестественно себя вело, не помню уже. Имхо там только часть кода в скрипте и часть в движке.
У нас были проблемы со скрытыми переходами - событие onEnter с клавы (или с мышки - тоже не помню) частенько не срабатывало.
elsefalse
Да, еще вопрос. Если игрок выйдет с откопированной локи(NWNX_Areas), локу удалить, игрок возвращается в игру в эту самую удаленую локу. Что будет?
virusman
Цитата(elsefalse @ Nov 26 2010, 14:28) *
Да, еще вопрос. Если игрок выйдет с откопированной локи(NWNX_Areas), локу удалить, игрок возвращается в игру в эту самую удаленую локу. Что будет?
Сервер валится. biggrin.gif
Если серьёзно, была такая проблема, но я не помню, фиксил ли я её или нет.
elsefalse
Таки валится. swoon.gif
virusman
На винде или линухе? В виндовой версии на пару багов больше. smile.gif
Когда освободится время - может, поправлю.
kiruhs
Вот такой вопрос по нвнх. Допустим есть модуль на 250 локаций. Каждая локация представлена в вариантах зима, лето, осень, весна. Итого уже 1000 локаций, что не очень хорошо для производительности. Но одновременно в модуле используется только 250.

Возможно ли реализовать такой вариант: есть два модуля - main(скрипты, палитра, т.е. движок модуля) и support(локации). При загрузке main мы берем нужные локации из support и копируем их в main. Или может как-то возможно при запуске main копировать в темп файлы с локами из определенной папки? Думаю суть задачи понятна rolleyes.gif
virusman
Можно просто держать один основной модуль без локаций, а все локи - в папке ресурсов ResMan (с разными префиксами или суффиксами для времён года). При загрузке модуля делать LoadArea для всех лок с нужными приставками.
Flaristan
Цитата(denis0k @ Nov 26 2010, 09:00) *
Можно сделать динамические триггеры, но мы в своё время отказались от этого - нестандартные триггеры у нас криво работали на забегание либо с мышки, либо с клавиатуры. С одного девайса - всё ок, с другого - как-то неестественно себя вело, не помню уже. Имхо там только часть кода в скрипте и часть в движке.
Сделал у себя динамические переходы через двери (не триггер, а дверной проем «area transition») – вроде неплохо себя зарекомендовали.

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


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

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

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


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

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

Это лучше чем «ничего».
А с Края Лесов я помню систему дублирующихся локаций (зима – лето) – она вызывала значительные сбои в функционировании шарда (вплоть до того что сервер становился неиграбельным, зиму называли «ядерной», и чтоб продолжать нормально играть на шарде требовалось просить в письменном виде администрацию перекрутить игровое время на весну).pardon.gif
denis0k
Цитата
Не забыл – в логе комментируются события имеющие влияние на персонажей (непогода, заморозки, наступление светового дня…).
Ммм.. Можно сделать MUD на движке нвн!
Цитата
она вызывала значительные сбои в функционировании шарда (вплоть до того что сервер становился неиграбельным, зиму называли «ядерной», и чтоб продолжать нормально играть на шарде требовалось просить в письменном виде администрацию перекрутить игровое время на весну).
Хостинг подкачал - на пг субд отваливается время от времени, а модуль на ней сильно завязан. Плагин был без реконнекта (хотя реконнект немногое бы решил).
Ну и когда я ушёл, систему поломали окончательно smile.gif Сайрус не синхронизировал скрипты в модулях, а потом вообще забил на зимнюю версию. Сейчас я бы сделал по-другому, через тот же ресман, было бы офигенно круто, но смысла нет некрофилией заниматься.
Ilerien
Цитата
Хостинг подкачал - на пг субд отваливается время от времени, а модуль на ней сильно завязан. Плагин был без реконнекта (хотя реконнект немногое бы решил).
Сейчас проблему порешали - поставили мускулю таймаут побольше, а я простенький реконнект в плагин дописал.
Цитата
Падающий снег, наметы, зимние скайбоксы - помоему вполне достаточно для придании локации зимней атмосферы...
На скринах поздняя осень, но никак не зима, сорри ph34r.gif
Сама по себе идея смены времён года в экстерьерных локациях мне кажется очень интересной, но крайне трудной в полноценной реализации. Слишком сильно уменьшает количество юзабельных тайлов и плейсов. Мы от неё отказались в пользу разнообразия тайлов. smile.gif
denis0k
Цитата
Сейчас проблему порешали - поставили мускулю таймаут побольше
Да, сурово Драгит работает smile.gif Его при мне 2 раза поднимали wacko.gif И как только нагрузка растёт, он там видимо ещё циферку подкручивает. Оригинальное решение, сродни хранению бекапов на одном винте с данными (поэтому бэд-блоки убивали найтсы 2 раза).
Цитата
а я простенький реконнект в плагин дописал.
А "потерянные" запросы пересылает до победного конца? Иначе смысла нет, простой реконнект был и так, на геме кажется очень редко ломались чары (если в момент регистрации дискало), на кл ломалось вообще всё и 100% smile.gif
Цитата
Слишком сильно уменьшает количество юзабельных тайлов и плейсов.
Некоторые тайлы довольно просто ретекстурятся smile.gif Но это десятки человекочасов, проверено на себе. Но зато результат довольно забавный, такое было кажется только в ультиме, остальные онлайновые миры статичны до мозга костей.

P.S. На скринах ранняя осень smile.gif Поздняя осень в далеко не северном Черноземье (по меркам, опять же, России) выглядит куда суровее.
Flaristan
Цитата(Ilerien @ Oct 20 2011, 22:30) *
На скринах поздняя осень, но никак не зима, сорри ph34r.gif
Цитата(denis0k @ Oct 20 2011, 23:14) *
На скринах ранняя осень smile.gif Поздняя осень в далеко не северном Черноземье (по меркам, опять же, России) выглядит куда суровее.
Это вы еще новый год в Крыму не встречали.biggrin.gif
На самом деле да – смысла бороться со статичностью НВН нет никакого (со всем уважением к КЛ, но все же дублирование локаций для разных времен года – это всеравно извратский изврат). Но тем не менее мне кажется для переходных регионов (между теми где «вечная» зима и лето) такая «поздне-ранняя осень» вполне достойный компромисс (особенно учитывая что оно не подгружает особо модуль скриптами и создает хоть какую-то часть иллюзии «живущего» мира) – в модуле оно смотрится довольно неплохо, кому надо оценят. smile.gif
Flaristan
//продублировался пост
Ilerien
Цитата
Да, сурово Драгит работает Его при мне 2 раза поднимали И как только нагрузка растёт, он там видимо ещё циферку подкручивает. Оригинальное решение, сродни хранению бекапов на одном винте с данными (поэтому бэд-блоки убивали найтсы 2 раза).
Ахха, сурово. Постгрес-то ставить не хотят. rolleyes.gif
Цитата
А "потерянные" запросы пересылает до победного конца? Иначе смысла нет, простой реконнект был и так, на геме кажется очень редко ломались чары (если в момент регистрации дискало), на кл ломалось вообще всё и 100%
*пожал плечами* Один раз. Судя по логам, с того момента, как поставился фикс, фатальные потери были только раз за последние пару месяцев, причём там не СУБД была виновата, а связь между машиной с нвнсервером и машиной с базой. Будут нехорошие симптомы - дописать недолго. smile.gif
Цитата
Некоторые тайлы довольно просто ретекстурятся Но это десятки человекочасов, проверено на себе.
...и лишние гигабайт-полтора хаков.
kiruhs
Цитата(Flaristan @ Oct 21 2011, 00:11) *
Это вы еще новый год в Крыму не встречали.

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

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

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