Топ-5 багов в Lineage 2: от макросов до проходов сквозь замок

История Lineage 2 — это не только хроники, классы и эпики. Это ещё и история ошибок: одни баги ломали экономику серверов, другие позволяли захватывать замки без единого выстрела, третьи неофициально становились «фичами» и считались просто частью опыта старожилов. На частных серверах часть из них работает до сих пор — и многие игроки даже не догадываются, что их «секрет мастерства» это на самом деле опечатка в коде из 2004 года.

В этой статье разберём пять самых известных багов в истории Lineage 2 и один бонус — инцидент с утечкой логинов и паролей, который вошёл в историю как худший в плане безопасности. Все случаи опираются на материалы, давно публично разобранные комьюнити, в первую очередь самим Мастер Томой.

#1. Макрос в макросе — легальная автоохота (C2, 2004)

Когда: 11 августа 2004 года, корейские сервера. Хроника: C2.

До C2 любая автоматизация в Lineage 2 шла через запрещённые бот-программы — разработчики с ними воевали, периодически выкатывая баны и античит-проверки. Но в C2 NCsoft сами выкатили в игру систему макросов, призванную упростить рутинные действия: повторяющиеся атаки, использование расходников, переключение целей.

Самые внимательные пользователи быстро заметили: один макрос может запускать другой. А если макрос А запускает макрос Б, а макрос Б — снова макрос А, получается бесконечный цикл. Персонаж работает сам, без участия игрока, и формально никакой запрещённой программы не использует — просто пользуется встроенной игровой механикой.

Совпало это с введением системы Манора — производства ресурсов. Возможность круглосуточного легального фарма обрушила и без того нестабильную экономику серверов. РМТ-обороты выросли резко: персонажи фармили в одно лицо, спали и работали, а ресурсы и адена утекали на чёрный рынок.

NCsoft в итоге добавили проверку на зацикливание макроса, но к тому моменту сервер уже захлебнулся в притоке адены, ресурсов и тех самых «первых миллионеров», которые получили базовое преимущество, благодаря которому держались годами вперёд. Это первый случай в истории Lineage 2, когда легальная игровая фича сделала больше для роста РМТ, чем все «нелегальные» боты вместе взятые.

#2. Проход сквозь двустворчатые ворота замка (T4 Interlude)

Хроника: Interlude T4 и предположительно позже.

Один из самых элегантных багов в истории игры — захват замка без единой сломанной двери. Чтобы понять, как это работало, нужно немного про устройство клиента и сервера.

Что такое геодата и почему двери — особый случай

Геодата — это карта препятствий, которую сервер использует для определения возможных направлений движения из каждого квадрата на карте. Генерируется она заранее и только по статическим объектам: стенам, скалам, постоянным препятствиям.

С дверями проблема: они могут быть открыты, закрыты или сломаны. В геодате их зафиксировать нельзя — состояние динамическое. Поэтому сервер обрабатывает прохождение через двери отдельными алгоритмами: проверяет угол движения персонажа относительно плоскости двери, считает ортогональные проекции и решает, может ли игрок пройти.

Для одностворчатых дверей это работало корректно. Под каким углом ты бы ни пересекал дверь, алгоритм понимал: если она закрыта, пройти нельзя.

Где сломался алгоритм

Проблема возникла с двустворчатыми воротами замка. Разработчики опирались на простую логику: «пересечь дверь, двигаясь параллельно ей, невозможно». Это правда. Но при этом они не учли, что сами створки имеют толщину — у них есть торцы. И между створками двустворчатых ворот, даже без видимого зазора, существует условный «центр».

Если игрок шёл точно по центру между створок строго перпендикулярно воротам, алгоритм начинал считать его движение относительно торцов створок, а не их основных плоскостей. По торцам персонаж двигался по касательной — а такое движение алгоритм трактовал как «параллельное двери, дальше проверки можно не выполнять, всё равно пройти нельзя».

Только пройти как раз можно было — по самому центру.

В результате игрок зажимал движение строго на ворота, попадал в нужный пиксель и спокойно проходил насквозь. Дальше — стандартная процедура захвата пустого замка, без единого выстрела по дверям и без шумной осады.

Этот баг особенно ценился на Interlude серверах: цена замка с фермой и налогами в Interlude была огромной, а возможность забрать его без боя превращала тактическую игру в чистый эксплоит.

#3. Заточка на cost — путь к 85 левелу скилла

Хроника: T4 Interlude.

С появлением заточки умений в T4 связан, пожалуй, самый долгоживущий баг в истории игры. На многих фришардах он работает до сих пор, и часть игроков считает это не багом, а «опытом и пониманием игры».

Как должна была работать заточка

При заточке умения растёт его уровень. У бафов это критично: чем выше уровень эффекта, тем выше резист к Кэнселу — шанс, что цель противника сорвёт твой баф.

Логика разработчиков: уровень умения должен расти каждые три уровня заточки. То есть:

  • Заточил скилл на +1 → 76-й уровень умения.
  • На +4 → 77-й уровень.
  • На +7 → 78-й уровень.
  • И так далее до максимума на +30 — это 85-й уровень.

Этот шаг в три заточки появился по простой причине: изначально NCsoft планировали 10 уровней заточки и каждую — на отдельный уровень умения. Потом решили расширить систему до 30 уровней заточки, но 85-й уровень умения остался потолком. Чтобы не упереться в потолок раньше времени, рост умения растянули по три заточки.

В чём ошибка

Когда расширяли систему, забыли поправить таблицу для одного варианта заточки — на стоимость (cost). Для cost остались старые значения: один уровень умения на одну заточку.

В результате при заточке на cost:

  • На +1 → 76-й уровень умения.
  • На +2 → 77-й.
  • На +10 → 85-й уровень, максимальный возможный.

Игроки, знающие про баг, точили исключительно на cost и уже на +10 получали максимальный резист к Кэнселу. Все остальные, кто точил «классически» — на время, на шанс или на эффект, — для того же результата должны были доводить заточку до +30, что по затратам и шансам несравнимо.

Бонусный курьёз на +11

Поскольку значений в таблице оставалось всего 10, на +11 заточка переходила к следующему слоту, где было записано значение нового скилла, заточенного на +1 — то есть снова 76-й уровень. И опять начинала расти по одному уровню за заточку. На +21 — то же самое.

То есть оптимальная стратегия абьюза была: точить только до +10 на cost. Дальше любая дополнительная заточка ухудшала характеристики.

Это, пожалуй, лучший пример того, как халатность разработчиков на годы вперёд превратилась в часть PvP-меты.

#4. Майт и Кэнсел — баг Check Magic 2 (C4)

Хроника: C4.

На C4 на офе долго ходил слух: «мобы не умеют кидать Кэнсел» или «Майт реально защищает от Кэнсела». На самом деле верно было второе — но не потому, что Майт был задуман как защита, а потому что в коде новой версии игры была опечатка в проверке.

Как работает Cancel и проверки скиллов

У каждого умения в Lineage 2 есть Abnormal Type — категория эффекта, которая определяет стак и замену с другими бафами. У Майта Abnormal Type — PA_UP (Physical Attack Up), его числовое значение — 0.

Когда моб собирается кинуть Cancel, он сначала проверяет цель — нет ли там эффектов, при которых атака не нужна. До C4 у мобов была одна проверка — Check Magic — на наличие Silence (значение Abnormal Type — 38). Алгоритм запрашивал у моба «по какому Abnormal Type проверять?», получал 38, искал такой эффект на игроке. Есть — Cancel не кастуется.

Где сломалось в C4

В C4 разработчики усложнили интеллект двух конкретных мобов, добавив им вторую проверку — Check Magic 2 — на наличие эффекта Bleed. И в сам скилл Cancel прописали обращение к этой второй проверке.

Дальше произошло следующее. Скилл Cancel начал использоваться всеми мобами, включая старых. Алгоритм при кастe запрашивал у моба «что у тебя записано для Check Magic 2?». У двух новых мобов был ответ — Bleed. У всех остальных мобов этой записи не было. Алгоритм получал «ничего» и подставлял значение по умолчанию — 0.

А 0 — это Abnormal Type Physical Attack Up. То есть Майт.

В результате старые мобы перед каждым Cancel проверяли цель на наличие Майта. Есть Майт — Cancel не кастуется. То есть Майт буквально защищал от Cancel от всех мобов C4, кроме тех двух, которым проверку обновили на Bleed.

На офе этот баг быстро пофиксили. Но в сеть утекла тестовая версия C4, и на её основе строилось большинство C4-сборок для частных серверов. Поэтому на фришардах баг живёт уже два десятка лет, и значительная часть игроков считает Майт реально полезным бафом против рейдовых мобов с Cancel.

#5. Композитный доспех в Prelude — 400 миллионов адены за вечер

Когда: 24 сентября 2003 года, корейские сервера OB. Обновление: Prelude.

Самый громкий баг с экономическими последствиями произошёл буквально за неделю до релиза Lineage 2. И повлиял даже на акции NCsoft.

Что добавили в Prelude

В обновлении в Люксоре открылись продажи предметов C-grade. Покупались они не за адену, а за C-Crystal — кристаллы, получить которые можно было только кристаллизацией других предметов C-grade. Стоимость C-кристаллов на чёрном рынке была огромной, и владельцы кристаллов внезапно стали самыми обеспеченными игроками сервера.

Параллельно с этим в Prelude впервые ввели систему квестов на профессии, поэтому крафтеров с второй профессией на серверах было катастрофически мало — буквально по 3–4 на сервер.

В чём была ошибка

Игроки обнаружили: если купить в Люксоре композитный доспех за C-кристаллы и тут же разбить его на кристаллы, кристаллов получается примерно в два раза больше, чем было потрачено на покупку. Бесконечный цикл: купил, кристаллизовал, удвоил, снова купил.

За несколько часов самые упорные игроки накручивали около 400 миллионов адены. Курс на чёрном рынке в Prelude составлял ~$100 за миллион — то есть выходило до $40 000 виртуальной валюты на персонажа. Часть предметов распределялась внутри кланов, остальное выставлялось на рынок по запредельным ценам.

Реакция NCsoft

26 сентября, через два дня, NCsoft экстренно выпустила патч и временно убрала из Люксора неверно оценённые предметы. В саппорт пришли тысячи писем с требованием конфисковать незаконные предметы или провести полный вайп.

NCsoft заявила, что никакого массового абуза не было: благодаря малому числу C-crafter им «удалось провести тщательное расследование», и были забанены ровно 12 аккаунтов. Игроки, которые показывали через скриншоты, что у других участников за эти двое суток внезапно появились предметы стоимостью более $600, получали в ответ обвинения в «лжи и заговоре против компании».

Контекст у такой реакции был простой: на следующей неделе игра выходила в релиз. Любая публичная неуверенность в безопасности экономики могла обрушить продажи подписок. NCsoft нужно было любой ценой закрыть тему — и они закрыли её банами 12 аккаунтов и официальными опровержениями.

Бонус: утечка логинов 11 мая 2005 — худший инцидент по безопасности

Этот случай не баг в самой игре, поэтому в основной топ-5 он не входит. Но по последствиям он опередил всё, что было до и после.

11 мая 2005, корейские сервера. Очередной патч, и в нём — отсутствие шифрования для части файлов клиента. Простой просмотр одного файла раскрывал логины и пароли игроков.

Для тех, кто играл с домашнего ПК, ситуация была не критична. Но в Корее подавляющее большинство игроков сидели в компьютерных клубах — а это сотни и тысячи аккаунтов на каждом ПК клуба. После патча на этих клубных машинах оказались доступны учётные данные десятков тысяч игроков. Последовала массовая волна взломов, которой Lineage 2 не знала ни до, ни после.

NCsoft заявила пострадавшим, что «ничего не может поделать». Игроки подали коллективный иск, и в итоге компания обязалась выплатить компенсацию — примерно 3,5 ежемесячных подписки. На фоне реальных потерь персонажей и предметов это выглядело как насмешка, но юридически дело было закрыто именно так.

Итог

Пять багов выше — это не курьёзы, а часть генетики Lineage 2. Макросы в макросе сформировали культуру 24/7-фарма и косвенно — рост РМТ. Двустворчатые ворота показали, что геодата и логика мира — не одно и то же. Заточка на cost годами влияла на PvP-мету и доход кланов от продажи бафов. Майт против Кэнсела до сих пор живёт на фришардах как «фича». А история с композитным доспехом в Prelude показала, как корпоративные интересы могут перевесить честное расследование — за неделю до релиза игры.

Если интересует, как развивались сами хроники Lineage 2, где зародились эти механики и почему именно Interlude стал «золотым стандартом» — есть отдельный материал про историю хроник от C1 до Interlude. А свежие проекты, на которых живут многие из этих багов и сегодня — в каталоге новых серверов L2GM.

Часто задаваемые вопросы

Какой самый известный баг в истории Lineage 2?
Самый влиятельный — баг с многократной кристаллизацией композитных доспехов в обновлении Prelude (сентябрь 2003). Игроки покупали в Люксоре композитный доспех за С-кристаллы, разбивали его и получали в два раза больше кристаллов, чем потратили. За часы можно было поднять до 400 миллионов адены. На фоне предстоящего релиза Lineage 2 ситуация даже краткосрочно повлияла на акции NCsoft.
Как работал баг с макросами в C2?
В августе 2004 в C2 разработчики ввели систему макросов. Игроки обнаружили, что один макрос может запускать другой, и таким образом можно зациклить макросы между собой до бесконечности — фактически получить легальную автоохоту 24/7. До этого автоматизация шла только через запрещённые бот-программы. Баг быстро заметили и добавили проверку на зацикливание, но к этому моменту экономика уже получила огромный приток ресурсов.
Можно ли было пройти через закрытые ворота замка в Interlude?
Да. В T4 Interlude существовал баг геодаты: алгоритм проверял угол вектора движения персонажа относительно плоскости двери, но не учитывал, что у двустворчатых ворот есть торцы. Если зайти точно по центру между створок строго перпендикулярно, проверка проходила по торцу, и алгоритм пропускал персонажа. Этим багом захватывали пустые замки без единого сломанного объекта.
Почему точить умения на cost было выгодно?
При заточке скилла на стоимость (cost) уровень умения рос после каждой заточки, тогда как при остальных вариантах — каждые три заточки. Уже на +10 cost скилл получал 85-й уровень и максимальный резист к Кэнселу. Это давало огромное преимущество в PvP и считалось «секретом мастеров», хотя по сути было опечаткой разработчиков в файле значений.
Защищал ли Mighte от Кэнсела от мобов на самом деле?
Да, на C4 это работало — но не как фича, а как баг. В код старых мобов забыли добавить проверку Check Magic 2, которой пользовался обновлённый скилл Cancel. Алгоритм возвращал значение по умолчанию (0), которое соответствовало Abnormal Type «Physical Attack Up» — то есть Майту. Поэтому Майт реально защищал от Кэнсела почти от всех мобов. Исключение — два моба, которым в C4 проверку обновили на Bleed.
Какая утечка считается худшим инцидентом в истории Lineage 2?
Утечка 11 мая 2005 года на корейских серверах. После очередного патча разработчики забыли зашифровать часть файлов клиента. Простой просмотр файла раскрыл логины и пароли десятков тысяч игроков — в первую очередь тех, кто играл из компьютерных клубов. Последовала массовая волна взломов. NCsoft в итоге выплатила пострадавшим компенсацию в размере примерно 3,5 ежемесячных подписок.
Поделиться: