Вернуться   МПМ Былины - Мир Древней Руси > Для игроков > Ф/\Ей|\/|

Ф/\Ей|\/| Ну сами понимаете... должно быть место, которое не модерируется... Но не злоупотребляйте...

Ответ
 
Опции темы Опции просмотра
Старый 25.05.2009, 16:07   #1
prool
Занятой мадер
 
Регистрация: 25.09.2007
Адрес: Харьков
Сообщений: 149
По умолчанию Программистам: очень редкий, но зловредный глюк

Я кажется нашел причину очень редкого глюка моего мада, построенного на коде Былин, проявлявшегося в виде пропадания вещей у игроков. Глюк предположительно происходит из-за неудачного стечения обстоятельств при перезагрузке мада (выходе из мада), когда не все файловые буферы успешно сбрасываются на диск. При выпадениях мада в корку вероятность этого глюка немного больше, а при нормальных шатдаунах меньше. Иногда он проявляется в виде пропадания игрока или дружины (эти файлы тоже постоянно перезаписываются).

На всякий случай тупо вставил команду fflush(NULL) в модуль comm.cpp в процесс выхода из мада (после вызова free_db())

Посмотрим, чо будет

Еще раз повторюсь, глюк очень редко проявляется, чем чаще перезагрузки, тем больше вероятность глюка, а я перезагружаю свой мад несколько раз в день (экспериментирую, код правлю), но и то, глюк проявился 3-4 раза за два года. Былины перегружаются, как я понимаю, раз в неделю, у них вероятность этого глюка еще ниже (хотя больше юзеров и кланов, больше файловых буферов). Возможно это связано также с особенностями моей ОС (Free BSD 5.3 release p2) или даже с нагрузкой хостинговой машины
__________________
Prool

http://prool.kharkov.org
prool вне форума   Ответить с цитированием
Старый 13.06.2009, 17:00   #2
prool
Занятой мадер
 
Регистрация: 25.09.2007
Адрес: Харьков
Сообщений: 149
По умолчанию

Дальнейшие события и их анализ показал, что может дело и не в буферах. При перезапуске мада происходит ресинхронизация времени и удаление предметов, за постой которых не заплачено. У меня в маде постой бесплатен, но кажется плату за постой я удалил не из всех мест кода. И с кланами примерно то же самое было.

Но лишний fflush все равно не помешает
__________________
Prool

http://prool.kharkov.org
prool вне форума   Ответить с цитированием
Старый 24.12.2009, 16:34   #3
prool
Занятой мадер
 
Регистрация: 25.09.2007
Адрес: Харьков
Сообщений: 149
По умолчанию Сделал в своей версии мада защиту от неловкого билдера

Я сделал защиту в онлайновом редакторе olc от неловкого или злонамеренного билдера. Теперь номера комнат, мобов, объектов, оканчивающиеся на 98 или 99 запрещены.

Вообще, комнаты хх99 - это виртуальные комнаты и они есть в каждой зоне. Если их редактировать, то после перезагрузки они все равно вернутся в первоначальное виртуальное состояние.

Зачем это сделано в CircleMUD/Былинах, я не понял, но то, что номер 98 и 99 у комнат и объектов вызывают трудноуловимые глюки, например с неработой магазинов (обычных магазинов, не моих магазинов-2), это я уже заметил

Поэтому таких номеров быть не должно!

А комната хх98 - это не виртуальная комната, но ее делать все равно нельзя, это не бага, это фича!

И не моя, а Circle!
__________________
Prool

http://prool.kharkov.org
prool вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 23:44.


Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot