В одной теме писалось что если бросить и поднять вещь много раз, произойдет дюп, актуально ли это на офе сейчас?
Так же дюп работающий во множестве ММОРПГ основан на моменте сетевого лага, неоднократно об этом писалось.
Отсюда две технические возможности которые я скромно предполагаю.
Ошибка сетевая
1) одновременно приходит два и более пакета на сервер (бросание вещи), как бы видим две вещи на земле. Вещи находятся в памяти сервера, в базе еще не внесен дюп, когда поднимаем вторую вещь делается "легальное" обновление в таблицу.
К сожалению у меня нет программ, которые могут такое сделать, попробуйте?
Ошибка СУБД
2) Если таблица не индексируемая или MSSQL работает в режиме параллельности - то идет нарушение транзакционости, получаем две вещи стразу.
Второй способ получается актуален, когда идет большая нагрузка на СУБД<-игровой сервер->, здесь нужно ловить момент, например когда админы подключаются например профайлером, либо когда меняют рейты? Вообще таблица вещей с первичным?
Проверить думаю будет просто, если первый вариант не проходит, тогда остается второй, более интеллектуальный что ли.
Смысл поста сузить поиски лага.
Сильно не пинайте, так как это не более чем предположение, но было бы интересно если бы кто то проверил первый вариант и отписался.
Последний раз редактировалось asahka; 24.08.2011 в 13:10.
Причина: уточнение
Лучше всего пост засунь под хайд хотябы на 50 сообщений.
Читеры отпишутся , просто если не поставишь будут отписывать нубы и тупо флудить а не дискуссировать.
Последний раз редактировалось Звеpье; 24.08.2011 в 12:37.
Именно этим народ и занимаеться. Только не лага, а способ либо положить сервер, либо вызвать какую-либо ошибку. Так же дюп не возможно осуществить только одним персонажем
Именно этим народ и занимаеться. Только не лага, а способ либо положить сервер, либо вызвать какую-либо ошибку. Так же дюп не возможно осуществить только одним персонажем
Получается бросить подобрать 10900 раз уже не работает? И чел писал про дюп, во времена сетевых лагов, причем он один это делал.