Как всегда тот же исходничек )===>>> Please login or register to view links Проблемка такая,что ничего не понятно,но очень интересно.Вообщем суть проблемки такая,что когда юзаешь откат без перезапуска ГС,данж не обновляется и мобы не ресаются.В игре само время показано,что откачено и там всё гуд.Но после релога,данжики не обновляются заного.Если делаешь рестарт гс (выключить и включить),и у тебя был откат,он грузит тебя с откаченым данжем,ты в игре юзаешь откат данжа,заходишь и мобы реснуты и данж обновлён.Но после выхода и повторного отката,данжики не обновляются.Получается сервер в реальном времени не обновляет время данжей или тут что то другое((Подскажите пожалуйста,в какой сторонке копать такую интересную проблемку?
Это я находил,видать до меня туго доходит))Там как я понял отчетность кто юзал,адрес мапы,а вот reuse_time я хз что это.А как это связано с тем,что надо делать перезапуск ГС,чтобы ресались мобы)?Я думал трабла в ядре как обычно))
Если бы ты просто объяснял для чего и зачем тебе это нужно, возможно были бы ещё варианты ответа. А так сервер правильно работает, время откатов должно висеть даже после перезапуска. Например у тебя произошел какой то сбой в дц, а ты откатываешь данж у которого вход в раз неделю сразу после перезапуска. Если для личных тестов, то и перезапустить не проблема как бы, можно и таблицу очищать при выходе, если уж совсем ситуация требует воспроизвести условия . В общем не будем заниматься телепатией .
Цель банальная.Хочется,чтобы всё работало и научиться понимать,что к чему относится.Я со своей стороны как начинающий,предпологаю,что ошибка кроется либ в портал сервисе (из подсказок выше),либо в пакете (потомучто в реальном времени не определяет откат по итему),либо в контроллерах что то.Перезпустить не проблема.Просто сам факт,что проюз свитка времени на разные данжи,после релога не спаунит заного мобов.Требуется перезапуск ГС.Получается при проюзе итема не стирается откат в базе?Ну или я плохо понял подсказку.Если принцип как с итемами,то там если в игре удаляешь,то и в базе удаляется инвентарь.А тут засада,но очень интересная проблема))Хотел,чтобы помогли в каком направлении копать.Ничего запредельного))
Немного конкретизирую проблемку.Вообщем,я заметил,что проблема скорее всего в пересоздании данжа. 11:06:07.150 INFO [PacketProcessor:3]: - Creating new instance:300800000 id:2 owner:0 11:06:07.157 INFO [PacketProcessor:3]: - Spawned 300800000 [2] : 23 Вот такое при входе в данж. 11:18:37.174 INFO [pool-3-thread-8]: - Destroying instance:300800000 2 Это выходит спустя какое то время и время не всегда одно и то же.Может быть и 7 минут, а тут 12 минут. Получается что проблема после проюза отката в разрушении данжа,надо ждать какое то время.Сразу после проюза отката данжик не пересоздается.Вот так как то.
Получается всё вроде бы и работает,но хотелось бы этот процесс (11:18:37.174 INFO [pool-3-thread-8]: - Destroying instance:300800000 2) ускорить как то.Может проблема в мало выделенной оперативы,или где то надо изменить время обновления или как то там.
Вообщем с проблемкой разобрался,поделюсь опытом.Так называемая проблемка была в том,что в коде стояло время обновления большая,вот и долговато было всё это. InstanceService.java Ищем графу private static final int SOLO_INSTANCES_DESTROY_DELAY = 10 * 10 * 100; // 10 minutes и эту private static void startInstanceChecker(WorldMapInstance worldMapInstance) { int delay = 10000; // 2.5 minutes int period = 10000; // 1 minute тут правим время которое вам нужно.Возможно я не так выразился или обьяснил,но я начинающий,так что сорян)). Теперь пока релогаешься по логам ГС,видно что даже минуты не проходит и данжик пересоздается.
А нужно ли оно? Для самому побегать с админкой без отката и так пускает, для побегать с друзьями аналогично(притянул всех к себе админкой). Для сервера который открыт для игроков этого делать не нужно, при нормальных выходах из данжа, данжи нормально пере создаются и формируются. Суть создания темы так и не проявилась. Закрываю.