Долго думая над способами дюпа решил попросить о помощи у вас.
В этой статье я постараюсь раскрыть тему отката, что это, как он происходит, и, может быть, это натолкнет вас на ту или иную идею.
Итак начнем сначала.
Что такое дюп?
Дюп (от англ. dub) - означает "дублировать, в значении размножать".
Осуществляется путем использования недоработок, ошибок ( багов ) сервера в своих целях.
Способы дюпа можно разжелить на два основных вида:
1. Откат сугубо персонажа.
2. Откат определенной месности (данж\мир\другие локации).
Сначала разберёмся как происходит "откат".
Так как наши сервера отнюдь не сервера воинской части китайцев
, изменения происходящие в игре записываются на сервер через определённые промежутки времени. В пв это 10 минут. Итак, если мы "положили" сервер, а последнее сохранение было 9 минут назад, то нас и откатит на 9 минут, если сохранение было две минуты назад - откатит на две минуты. Всё логично.
С первым всё вроде понятно, но вот откатить персонажа гораздо сложнее чем откатить часть сервера. Почему? Потому что действия персонажа очень ограничены, и в большинстве своем очень легко фиксятся.
Но всё же можно попробовать следующие методы:
а. Закидывание сервера большим обилием пакетов. (закликивание шопа и т.п.)
б. Поиск "битых статов" на вещах. К примеру давно был баг: при крафте определённой вещи с определённым "битым статом" (он может быть любым - как +1 тело, -3 пения и т.д.) и её использования откатывало персонажа. Поискать "битые статы" можно на своём сервере. Это несложно.
Теперь второе. Тут всё несколько сложнее.
В основном, локации падают из за дыр в квестах (tasks.deta), а проверить все квестовые действия персонажа очень проблематично даже с своего сервера.
Есть немало известных дыр в тасксдате приведу несколько:
а. При попадание в закрытую зону ("Не открыто") падает мир. Этот баг уже давно профикшен тем, что ввели гм квест, проверяющий гм ли вы, если нет - вас телепортирует на середину карты.
Между прочим, гм квест можно избежать, если полететь волхаком выше верхней границы ( высота 85+). Можете пробовать уронить сервер, это уже мало где профикшено.
б. При нескольких десятков "провоцированиях" (сагрить\убрать агро, резко снова сагрить) пб, падают некоторые данжи.
в. Искать "битые" места. К примеру, если волхаком залезть в левую стену 59 данжа падает мир (почти везде фикшено), или при отмене в кубе определённого квеста падает куб (почти нигде не фикшено, можете искать вручную - узнает пабик, прикроют сразу. На оффе неработает, на фришках с кубом - работает, я бы дюпал этим способом, да только редко замечают падение куба, и дюпать становится из за этого долго слишком : D ).
Теперь пришла пора разобраться с тем как визуально происходит вылет с игры. Многие вводятся в заблуждение видя окно "репортбагз", думая что их откатывает, это всего лишь ошибка клиента - дюпа из этого выйти неможет. Когда персонаж ложит сервер вылетает ошибка "Соединение с сервером разорвано, попробуйте зайти позднее", что - то в этом роде.
Как именно дюпать описывать нету смысла (складывать вещи в банк \ бросать на землю \ передавать кому то и т.п.), поэтому писать об этом не буду. : )
Надеюсь что это натолкнет вас на ту или иную мысль в отношении дюпа, или вы что- то вспомните. В этом случае буду рад услышать ваши мысли или идеи. Так же хотелось бы услышать конкретные замечания или дополнительную информацию, будем пополнять статью. Итак, давайте сотрудничать.