Posts: 20
Threads: 3
Joined: Apr 2012
Reputation:
0
После перехода с версии R6 на R7, которые, как всем известно, отличаются поточностью, возникла проблема с сохранением данных аккаунтов. Дело в том, что аккаунту, могут записаться чужие данные (в момент выхода игрока с сервера).
Полезная информация:
Возникает это чаще всего при большом онлайне на сервере.
Функция сохранения разбита на 4 запроса к базе.
На R6 такого не было.
Данные аккаунта сохраняются в базу только при отключение игрока с сервера.
Кто встречался с этим? Как решили?
Posts: 793
Threads: 16
Joined: Sep 2009
Reputation:
0
проблема у меня такая же.
Решения ещё не нашёл.
Причина я думаю, в том что данные не успевают сохраниться, как по циклу приходит новая операция сохранения, и поэтому третий игрок сохраняет данные на половину от второго игрока.
При загрузке такой проблемы не обнаружено.
Posts: 1,912
Threads: 5
Joined: Feb 2007
Reputation:
0
вероятно запросы кривые у вас.
Posts: 793
Threads: 16
Joined: Sep 2009
Reputation:
0
запросы прямее нету.
если бы они были кривые то не работало во всех случаях.
А речь идёт про редкие случаи сбоя работы.
Posts: 733
Threads: 16
Joined: Feb 2009
Reputation:
0
eakwarp верно говорит. Дело в ваших кривых запросах. Подразумевается не самостоятельная строка запроса, а её составляющая в целевой системе.
Я так понял в определённом месте у вас есть несколько mysq_query, но т.к. они не привязаны к потокам а формирование строки запроса может происходить позже чем первый запрос, соответственно и позже чем зайдёт уже новый игрок под тем же ID. Выход: Формируйте строку или все строки сразу. В общем проблемы в самом плагине нет 100%
p.s. Использование потоков MySQL на самом деле кроет в себе ОЧЕНЬ много интересных моментов. Ваш случай такая мелочь на фоне остального, что наверное вам лучше следует вернутся к использованию по старинке.
Posts: 793
Threads: 16
Joined: Sep 2009
Reputation:
0
У меня запрос один, т.е. для каждого игрока один запрос, но проблема такая имеется.