Жадный гном: Как я писал аналитику рынка в Lineage 2

    Вот и наступила осенне-зимняя пора. За окном дожди и желания проводить время на открытом воздухе все меньше и меньше. И вот приходит мне сообщение от товарища "А давай поиграем в Lineage 2?". И опять я, поддавшись ностальгии, согласился. Выбрали мы свеженький сервер на ру-офе и создали персонажей.



     
    В отличии от World of Warcraft в Lineage 2 совершенно другая система добычи игровой валюты. Нужно круглыми сутками охотиться на монстров с целью получения наживы. Для меня было даже открытием, что для некоторых людей RMT (Real money trading) является чем то вроде работы. Также, в игре присутствует экономика, которую формируют игроки. Иными словами, можно заработать на купи-продай или же покупать дешевые ресурсы, из них делать вещи и продавать с наценкой. Так как для нас игра остается чем то вроде отдыха именно такой способ получения игровой валюты был выбран нами.


    Чтобы покупать и продавать предметы игрок должен находиться online (Скриншот сверху). Соответсвенно, кто-то хочет побыстрее продать (дешевле) а кто-то побыстрее купить (дороже). А что если разница продать — купить положительная? Как раз этот пример и будет рассмотрен в статье как итог.


    Однако, цены на рынке достаточно нестабильны и часто меняются. По этому существует вероятность купить что то "дешево" и потом еще дешевле продать с отрицательной прибылью. Этого мы и стараемся избежать. В общем было решено написать систему аналитики рынка и разобраться с парочкой интересных мне технологий.


    Spoiler:
    В статье будут использованы следующие технологии
    Docker, DigitalOcean, NodeJs, Ktor, Prometheus, Grafana, Telegram bot notification


    Сначала была Data


    Чтобы "что-то" анализировать, нужно сначала нам это "что-то" получить. Было рассмотрено 2 варианта получения информации.


    Sniffing — написать приложение, которое будет слушать трафик и его анализировать. Минусы данного подхода очень просты. Нужно быть постоянно онлайн и смотреть рынок да и по политике сервера могут забанить. Однако, хотелось бы минимальных действий от пользователя и желательно максимально все автоматизировать.


    Parsing — есть сайт, который как раз специализируется на сниффинге для этой игры — l2on.net. Как раз то, что нам нужно! Мы отдаем роль собирателя сырых данных этому сервису. Осталось только как то получить данных и начать с ними экспериментировать.
     



     


    Исходя из строки запроса мы понимаем что нам необходимо передать id ресурса для получения информации по нему. Однако, если мы это будем автоматизировать, то необходимо передавать еще и id игрового сервера. Покопавшись минуту в исходном коде страницы было найдено следующее:
     



     
    Пробуем… Отлично! Получаем список цен покупки и продажи.
    Теперь нужно думать с помощью чего будем парсить сайт.


    Выбор пал на Puppeteer для NodeJs.
    На его основе был создан первый модуль подсистемы — Scrapper. Его основная задача — пойти на сайт, открыть, распарсить и вернуть данные в виде JSON. Берем выборку из последних N элементов, считаем среднюю, минимальную и максимальную цену. (Забегая вперед скажу что нужно доработать percentile для редактирования шума если какой то игрок ставит слишком высокую цену на продажу или низкую на покупку) Получаем ответ по данным вида:
     



     
    Теперь мы можем двигаться к следующей части — хранение данных.


    Предположим, у нас будет 2-3 потребителя наших данных и мы хотим отдавать их массивом. Также мы хотим избежать частых запросов на l2on чтобы не быть добавленным в черный список. Значит нам нужно создать второй модуль, который будет выполнять роль посредника между l2on и нашими агентами.


    Методика опроса была выбрана простая. Раз в 5 минут модуль должен запрашивать все предметы из установленного списка и предоставлять на выход данные как по одному ресурсу так и выход для аналитики.


    Для этой системы захотелось попробовать Ktor — сервер решение на Kotlin.
    Базу данных использовать не стал, а последние данные решил хранить в Singleton. Да, решение не самое изящное, но на скорую руку подойдет, а оптимизировать всегда успеем.


    Так появился второй модуль системы — Harvester.
    Harvester предоставляет для пользователя два endpoint'a /item/{id} и /metrics
    Если с первым все понятно, то последний возвращает данные в формате для следующей системы — Prometheus




    Хранение данных для аналитики


    Промежуточным звеном был выбран Prometheus — Open Source база данных для аналитики которая работает через Pull подход. Другими словами при конфигурировании вам необходимо указать в yaml файле набор поставщиков данных и частоту опроса. В нашем случае — это как раз тот самый /metrics endpoint.


    Пробуем запустить Prometheus (по умолчанию это 9090 порт) и если видим в Target что то похожее на:
     



     
    Значит мы идем по правильному пути. Это значит что каждый 30 секунд Prometheus идет в Harvester и забирает последнее состояние по всем интересующим нас товарам.


    Отображение данных


    Следующий этап — это красивое отображение графиков


    Для отрисовки была выбрана Grafana которая тоже Open Source.
    Плюсы Grafana и Prometheus — они доступны в виде Docker контейнеров, которые требуют от пользователя минимум действий.


    При первом запуске Grafana (стандартный порт 3000) она попросит указать доступную базу данных. Выбираем Prometheus как базу и прописываем адрес. Если все пройдет успешно — то увидим:
     



     
    Следующий шаг — отрисовать графики.


    Пример запроса на отрисовку графика по продаже:
     



     
    Таким образом мы в любой момент времени видим среднюю цену для закупки и продажи а также динамику цен.
     



     
    Однако, бывают моменты, когда минимальная цена продажи выше максимальной цены покупки. Это означает, что мы можем получить легкую наживу в виде "купи продай". Для канала отправки нотификация был выбран Telegram. Создаем бота и добавляет его токен в Grafana (да да, она поддерживать нотификации)
     



     
    Достаточно просто установить условие, при котором нам будет приходит данное уведомление.
     



     
    Как мы видим сходя из графика, такие ситуации случаются на рынке.
     



     


    Облако


    Каждую подсистему мы пакуем в Docker container и загружаем в DigitalOcean или другие сервисы по вашему вкусу. Но это не мешает нам и запускать всю эту систему без выделенного IP. Сейчас минимальный контейнер на DO стоит 5$ в месяц.


    Запускаем сначала Scrapper
    docker run -d -p 6661:6661 --name scrapper l2/scrapper:latest


    За ним Harvester
    docker run -d -p 6662:6662 -v /root/harvester:/res --link scrapper:scrapper l2harvester:latest
    В папке /harvester должен находиться файл ids.txt с форматом


    id1 name1
    id2 name2


    Заключение


    В конечном итоге система выглядит следующим образом:



    Планируется в будущем добавить агента чтобы обновлять google docs, и считать стоимость крафта на лету.


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


    В качестве дополнения прикладываю ссылки для ознакомления с кодом:
    Scrapper
    Harvester
    (Собрать контейнеры можно командами
    docker build -t scrapper.
    docker build -t harvester .)


    Я очень надеюсь, что данная статья навеяла кому то ностальгические чувства, или же дала вдохновение для какой то новой идеи. Спасибо за то, что дочитали статью до конца!

    Поделиться публикацией

    Комментарии 58

      0
      А покупать автоматически как то можно? Или что бы сделать покупку надо:
      1. получить сообщение в инстаграм о низкой цене чего-то
      2. зайти онлайн и найти того самого единственного кто продаёт за эту низкую стоимость
      3. написать тому сообщение, и надеясь что это чтото еще доступно совершить покупку через обмен
      ?

      Если то так: то как по мне: мне кажется что процесс слишком долгий и в большиснтве случаев окажется что уже всё распродано
        0
        Процесс покупки в игре нельзя автоматизировать. Мы можем лишь получить оповещение о возможной выгоде. А дальше уже все зависит от удачи.

        1. Получаем оповещение
        2. Заходим на l2on и смотрим игровые ники персонажей (платная опция около 60 рублей в месяц)
        3. Сообщения писать не надо. Трейдинг производится через «Торговые лавки» пример на первом скриншоте.
          +1
          Процесс покупки в игре нельзя автоматизировать

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

            0
            Опять же замечу что это Ру-Офф и вероятность получить бан за стороннее обеспечение не равна нулю
              +1
              Можно было отработать технологию на пиратских.
              Ловить надо не только, что в продаже/покупке.
              Но и «крики» по маскам типа «Вася: куплю coal по 500!»; «Vova: sell SSb 300g»

              Кроме того для «захвата рынка» надо прикручивать функционал для гибкой скупки/ продажи и крафта, а его без бота тоже никак не сделать.
                0
                крики по маскам ловить бесполезно. все кто кричат продают дороже рынка и покупают дешевле рынка. Иначе бы они не кричали, а закупились бы у сидящих на площади торговцев молча.
                  0
                  >крики по маскам ловить бесполезно

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

                    Я зарабатывал в линейке двумя гномами, один покупал камни стихий по 2.1кк, второй продавал по 2.4кк (примерно). Примерно раз в сутки перегружал деньги и камни друг на друга
                    из 35кк сделал 300кк за месяц.
                      0
                      >да, шмотками прибыльнее торговать, но требует активных действий.

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

                      >Примерно раз в сутки перегружал деньги и камни друг на друга
                      из 35кк сделал 300кк за месяц.

                      У меня было вроде 5 ботов для крафта и продажи.
                      Пара покупала ингры, которых не хватало для крафта, по низкой цене, все купи/продай писались в логи, поэтому если соклановец продал боту разница ему возвращалась по логам.

                      Еще пара крафтила по списку включая SS (с приоритетами — чем меньше товара тем больший у него приоритет на крафт) и продавала по высокой цене. Разница межу купленной и рыночной также отдавалась сокланавцам.

                      Был смешной случай когда я «0» забыл добавить в цене продажи SSC, и уехал на дачу :) профукал довольно много, но как результат обрушил демпингом все цены и выдавил всех продавцов и крафтеров SSC с рынка, и за следующие 2-3 дня вернул все потери, причем многократно.

                      И еще пара вроде бегал закупала ингры для SS у НПС и тащили крафтерам, но точно я уже не помню — давно это было.

                      В конце концов забанили казначея — сказали, что так много денег нельзя заработать трейдом, а только читами.
                        0
                        на руоффе больше двух окон требовало больше одного оплаченного аккаунта :)
            0
            Консольные клиенты наверное сушществуют.
          +2
          Оо, годно годно. Как раз хотел себе что-то подобное, но не для линейки.
            0
            На то и был расчет! Линейка — это лишь обертка. Когда с чем-то хочешь разобраться то нужно придумать для чего и потом изучать.
              +2
              Но самое интересное на самом деле — это как раз методика получения данных для анализа. Хотя в вашем случае этот момент отдан на откуп внешнему сервису.
                0
                «Ну это уже совсем другая история...» — ибо сниффинг данных достаточно сложная задача. Цель данной статьи рассказать про возможности аналитики.
            0
            DertyPervert ?))))

            Есть 1 косяк из-за чего все это работать не будет :)
            Л2он не в «онлайне» работает, а с задержкой, иногда весьма большой. Также, поэтому и по платным просмотрам трейдеров — они могут висеть, но товара уже нет или цена изменилась.

            P.S.> А еще некие прошаренные гномы специально ставят цену в волну чека и меняют обратно, чтоб быть в топе статистики :)
              0
              Я вообще писал эту аналитику чтобы иметь возможность проверять актуальные средние цены на ресурсы. Нотификации это скорее дополнение.

              А вопрос с завышенными ценами решается с помощью перценталей.
                0
                Средняя цена редко меняется вообще, кроме первых 2-3х недель от старта сервера и до масс-крафта бест Б на заточку.
                В этом и косяк — на л2оне будет одно(можно и вообще подделать пакет зацепившись на его нетио), а в игре совсем другое
                  0
                  Так в чем спор? Что можно скомпрометировать любую систему и найти граничные случаи?
                  Я не поставляю готовый продукт в виде ПО, а лишь рассказываю про возможности аналитики. А там дальше кто что хочет и куда. Может кто то сделает себе аналогичное для ВОВ и тд. А Lineage 2 в данном случае — прикладное. Так сказать обертка от конфетки.
                    0
                    Так ни в чем))) Я именно про Ла2 реализацию источника данных имел ввиду конечно же
              +2
              Немножечко оффтопа и вопрос к играющим в Линейку: Чем людям она так заходит? Я искренне не понимаю. Да во время своего появления она была в чем-то свежей и не обычной, но все убивал классический корейский гринд. Но теперь-то: куча народу играет в неё, хотя она никак не обновлялась ни графически ни по игровым механикам. А по сути основная механика это тупой гринд. Есть же более современные и интересные корейские клоны, типа Теры. Чем она так манит? Чисто ностальгией? Я бы кстати поиграл в Ультиму, но чисто для удовольствия, а не проводя в игре по 6 часов как сейчас в линейке многие.
                +3

                Есть мнение, что простой гринд это что то вроде игр 3-в-ряд, только в другой обертке. Интересна не сама механика, а ощущение потока с постоянным подкреплением.

                  +1
                  Всё так. Многие играют именно из-за гринда.
                  А ещё музыка шикарная была, не помню ни одного проекта за последние годы где она так же цепляла.
                  И, как ни странно, дизайн. Сейчас на рынке ММО засилье азиатской стилистики, разве что только BDO спасает своим европейским дизайном.
                    0
                    hunter village theme
                    (ушел обновлять классику)
                  0
                  Ультима? Кто сказал ультима?
                  Эх… жаль что не осталось нормальных серверов. Те что есть или с высоким пингом или без онлайна или с какими-то кастомными приблудами которые по мнению администрации ресурса, должны приносить изюминку, а по факту или вносят дисбаланс или убивают всю ту ламповость за которую многие игру и любят.
                    0
                    Да, я бы в классику поиграл.
                      0
                      UO Outlands. Открылся 27 Октября этого года. 1800 игроков стабильно онлайн
                      +2
                      Для меня это прежде всего ностальгия. Видели бы вы мой аккаунт в Steam...Red Alert, Age of Empires, Half Life…
                        0
                        Это понятно. Но не может же быть столько «ностальгирующих», особенно если взять во внимание фразу: для некоторых людей RMT (Real money trading) является чем то вроде работы
                        0
                        Кстати, Lineage по сути то из ультимы и вышла, это один разраб :)

                        Ну, как сказать — для большей части заходит мейн версия аля вовлейдж(ГоД+), там и графика подтянута(через пень колоду) и прочие казуальные вещи в виде броне-бикини.
                        Но, собственно, эти люди с нее и начинали, по-большей части не застав старого доброго хардкора. Там все просто легко и за вмз.

                        А вот все старички на Классике :) Он, по сути, вдохнул на некоторое время новую жизнь. Но… Корейцы упорно не могут в развитие и логический контент и все начинают снова беспощадно оказуаливать и вводить бредовые инстансы и прочее приходя о5 к эдакому Классик-ГоДу :(

                        А, вообще имхо все всеравно возвращаются после проб новых ММО в ла2\вов(ева тут отдельно все же стоит) ибо ну нету нормальных преемников. Одни вовлейджы под разным соусом или, что еще хуже, бессмысленные тайтлы или такие же гриндилки в которых один графен.
                        У Арчейджа не плохо получалось(хотя название намекает кто разработчик:) ), но и он слился туда же. Надежда была на TESO, но… все те же грабли, только в купе еще и с тем, что она не смотрится, как мморпг, а скорее как сингл с возможностью ко-опа
                          0
                          после вова приятно вспомнить ваху с группой из пары оаешников и саппортов, проходящих через зерг как нож через масло, а как довелось в аионе на вражеской территории воевать можно было б не одну комедию в стиле Бенни Хилла снять, таких адреналиновых погонь я больше нигде не встречал.
                            0
                            Мне очень зашел игромеханикой Blade and Soul.
                            Я бы в него даже играл, но на европейских серверах блочат наши IP из-за договора с русским паблишером, а у русского паблишера античит ВНЕЗАПНО не поддерживает Win10TS.
                            А с прокси мне возиться было лень.
                            Все другие ММО как-то сразу мимо прошли.
                            +3
                            10 лет как «завязал» и не думал, что онлайн до сих пор есть. Могу предположить, что онлайн до сих пор есть за счет того, что это единственная игра с возможностью ПК/нормального ПВП.
                            А гринд — ну это имхо вообще элементарно. Достаточно только начать и психологически ты «подсаживаешься» на достижение новых «уровней\предметов\игровых достижений». Одни только сундуки ака «честы»(Chests) это уже за гранью добра и зла и современные лутбоксы это жалкая тень былого поиска «заточек» и неудачных заточек оружия на +много.
                            p.s. написал всё это и захотелось как в старь, прокачаться «красным» персонажем до 70+
                              +1
                              Чем она так манит?

                              Во времена расцвета евро сервера Teon манила самым суровым хардкорным PvP и конечно социальными аспектами. BigWar на теоне до сих пор тепло вспоминаю. Непрерывные бойни за Баюма между топовыми альянсами по 40+ часов это вам не WoW казуальный
                                0
                                Я любил Ла2 за хардкор и играл на хрониках C4 и Interlude с рейтами x1-x4. Добрая доля жизни была потрачена на игру, которая, как оказалось, дала самое важное в моей работе качество ‒ усидчивость. Ностальгия.
                                  +1
                                  1. Хардкорная система PvP и PvE: потеря набранных процентов при смерти, фуллдроп, массовые мероприятия.


                                  2. Общий для всех игровой мир без инстансов — как следствие, борьба за вкусные места для прокачки имела большой интерес.


                                  3. Сложный, и потому интересный, игровой геймплей. Полная партия — 9 человек в классической L2, причём многие классы по управлению были весьма сложны.



                                  А по сути основная механика это тупой гринд.

                                  В основе любой онлайн-игры лежит бесконечное улучшение характеристик персонажа.

                                    0
                                    Ну вот эти доводы уже понятнее. А насчет гринда: Да он везде есть это понятно, но в том же Вове он сделан как-то более гуманно что ли, ты не сильно устаешь следуя ветке квестов, и там хоть какое никакое разнообразие в заданиях. А у корейцев это тупа: пойди туда, убей 200 монстров.
                                      +1
                                      А у корейцев это тупа: пойди туда, убей 200 монстров.

                                      Простите, но раз уж мы о L2, то 1000 мобов минимум :)
                                    0
                                    Линейка — это про «развлеки себя сам». Качаешься долго и упорно, вступаешь в хороший адекватный небольшой клан, который умеет в политику, проявляешь себя в клане, выбиваешься в руководство (это не так сложно), и начинается Большая Игра. С одним кланлидом наедине встретился, пошептались, другому помог в материальном плане, с третьим в реале встретился, погудели в баре :) Руофф же, все свои. Это сложно, это ответственность, от каждого твоего шага зависит удовольствие от игры нескольких десятков игроков. Ну и от сокланов многое зависит, будете ли вы отрядом коммандос и желанными гостями на любой осаде, или шайкой собутыльников в списках kill-on-sight у половины сервера. Ну хотя тоже вариант, кому-то и он заходит.
                                    Я лично видел, как тихая и скромная в реальной жизни 22-летняя девочка из Германии в игре вела за собой банду из 200+ человек, заключала какие-то немыслимые союзы, была крышей для ботоводов, перетряхивала политику всего сервера и… где-то каждые полгода-год выводила в реал по 9-10 тысяч евро. «Мама может» :)
                                    0
                                    Что то сборная солянка из всего) А можно было это на одной ноде написать?
                                      0
                                      Можно было и на одной ноде. Но хотелось именно на нескольких контейнерах и различных языка. Так сказать «поиграться» на выходных.
                                      +2
                                      Как то десяток лет назад я админил компьютерный клуб. Ночами приходили клиенты от13 до 45 лет и садились толпой играть в линейку. Ночью, если заказать всю ночь, было дешевле вдвое. Так вот эти товарищи неплохо зарабатывали, иногда по 400-500$ за ночь. Они по большей части делали то, о чём говорит автор в статье. Покупали дешевле, продавали дороже. Некоторые промышляли обманом и мошенничеством (в игре). Заводили отношения с игроками, входили в доверие, брали что то в долг или из серии «дай поиграть оружие, завтра верну...». Я лично не раз был свидетелем, когда приезжали люди на такси из других городов и прямо у меня в игротеке покупали топовое оружие у этих парнишек/девчёнок за реальные достаточно крупные деньги, на которые можно было прожить месяц-два.
                                        0
                                        Как раз с десяток лет назад мне тяжело давался очередной кризис, бесперспективняк вокруг и тяжелый гринд на работе… Вот отдушиной и была Ла2, после работы «побегать» пару часов (на самом деле часто за полночь), пообщаться с сокланами (играл саппортом). Ну и посадить гномов торговать в свое отсутствие, это обязательно )))
                                        Эх, вспоминаю иногда с ностальгией! Иногда даже снится. Соскочил с трудом, пока держусь )))
                                          0
                                          Соскочил с трудом это прям в точку))
                                          Тоже было тяжело слезть, и довольно часто хочется как в старые добрые…
                                            0
                                            это точно. Бросить курить было легче и обратно не тянет, в отличие от
                                              0
                                              Раз в 2-3-4 года у меня нарастает желание и я «срываюсь» на месяц-полтора :). Побегал, пофармил, попвпшился и очередной сервер сдох. Увы (или не увы)), сейчас из фришек чего-то долгоиграющего х5-х25 нет.
                                          0
                                          Там давно уже донат решает. Лет 7 назад еще был какой то смысл ботов заводить. (Плюсанул за воспоминания)
                                            0
                                            Ну, это не аналитика, а мониторинг. Кстати, название статьи совпадает с сайтом по продаже игровой валюты, сперва думал, как-то с ним связано будет.
                                              +1
                                              Не совсем понимаю почему в статье упоминается избыточный для этой задачи
                                              puppeteer, а в исходниках используется более рациональный jsdom? Это был рефакторинг?
                                              p.s. Причем в package.json puppeteer остался, надо бы убрать, а то он в зависимостях тянет с собой chromium. =)
                                                0
                                                К сожалению я не являюсь NodeJs разработчиком. Основная моя специфика — мобильные приложения. Буду рад Pull Request'ам на гитхабе.
                                                  0
                                                  Кстати спасибо за замечание. Случайно не залил другую версию scrapper.
                                                  +2
                                                  Забавно увидеть подобную статью, прям мурашки прошли!

                                                  Дело в том, что у меня есть аналогичный опыт, я уделил этому очень много времени и очень ценю весь опыт что я получил.

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

                                                  Увы, л2он — самый слабый компонент этого процесса, потому что данные там начали появляться очень редко. Иннова начала вести активную борьбу против л2она.
                                                  Что взять с худшего локализатора. Вместо принятия хоть каких-то мер против РМТ (из-за чего 100 рублей могут покрыть месяц игровых усилий среднего игрока), они пресуют сайт благодаря которому можно было играться хотя бы в рынок. Вручную уйдет целый час лишь на то, чтобы просмотреть все что продается.

                                                  В моем решение каждую минуту данные парсились с л2она, затем проводился автоматический анализ по ряду критериев (рыночная цена, нужная мне цена, цена при разбивке кристаллов, возможность выгодного крафта, редкая вещь и тд) и отображались выгодные предложения.
                                                  Все что мне нужно было — держать в фоне ексель, в который на ходу можно было дописывать нужные мне вещи/цены/критерии.

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

                                                  Благодаря своей разработке, я тратил минимум времени и получал внутренней валюты для оплаты 7 окон каждый месяц (классический сервер) и жизни очень богатого гнома. Да что говорить, я чувствовал себя королем рынка.

                                                  Забросил это все дело из-за проблемами со своим пк (крашились окна, из-за чего не мог сидеть на продаже), максимально бездарной и наплевательской политики Инновы и окончательного заболачивания геймплея.

                                                  Знаю что кроме меня были и другие люди кто делал похожие вещи (при чем со своими ботами парсерами), но у меня почему-то получалось хватать все быстрее :)

                                                  В мечтах как-то вернуться к этому, для полного счастья не хватет только своего ингейм бота парсера (увы, без понятия как это сделать) и бота бегунка (сгоняй — купи — продай, чтобы вручную это не делать). Если кто-то может предложить разработку этих решений — напишите в личку, пожалуйста.

                                                  Если кто-то будет рассматривать идею врыва на классические сервера — то игра по сути есть только на американских серверах. Играть на серверах Инновы не имеет вообще никакого смысла. Повторюсь, месяц игровых усилий покупается за 100 рублей.
                                                    +3
                                                    Для тех кому интересно, чем хороша линейка и почему альтернатив для нее по сути нету:

                                                    В моем понимании, это полноценный симулятор мира.
                                                    Это игра с очень развитой социальной, экономической и пвп/пк системой. Это хардкорная игра с минимум казуальщины, с серьезными последствиями своих решений (вернее, когда-то она такой была). Эта игра сформировала много дружественных, семейных и даже враждебных отношений, имела много интересных личностей и историй связанных с ними.

                                                    Во время игры можно испытать любую гамму эмоций, во время сражений чувствуешь адреналин, любые потери воспринимаются как потери, а награды — как награды. Боевка в игре очень крутая, после пвп линейки и олимпа в частности, пианинить в моба играх не составляет вообще никакого труда. В целом боевка линейки это не press x to win, а постоянное оценивание ситуации и принятия верных решений (хотя можно подобрать классы для спама 2 кнопок, но это не будет реализацией полного потенциала героя).

                                                    Игра чрезвычайно многогранна и продуманна, имеет отличную атмосферу (музыка — отдельный шедевр, графика, ландшафты, взаимотношения между игроками)

                                                    К примеру, мне вов не зашел из-за своей мультяшности, и тоже самое касается третьей Диаблы. Атмосфера не способствует погружению, по крайней мере у меня.
                                                    Зато нравится атмосфера линейки, диаблы второй и титан квеста.

                                                    Увы, все эти прелести исчезают когда в игру перестают играть, и вместо этого начинают в ней работать.

                                                    Реальность такова, что на росийских официальных серверах очень много людей, которые играют по 8-16 часов ради того, чтобы продавать игровую валюту за реал. Если раньше это делалось скрытно и втихую, и влияние на игру было не очень большим, то сейчас под бездействие Инновы это делается в открытую. РМТшники держат все лучшие игровые ресурсы и составляют топовые сайды, не оставляя вообще шансов обычному игроку, у которого нету времени жить в игре. Из-за этого вся экономика игры катиться в мусорку, добиться хоть чего-то в игре можно исключительно вливая реал.

                                                    Линейка была отдельным изумительным миром во времена четвертых хроник — во времена интерлюда практически на всех фришардах (я лично играл на украинском Blacksun, который прожил 3 года).
                                                    Линейка была хороша на офе, пока подписка была платной.

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

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

                                                    Недавно открылись американские сервера классика. Считаю их единственными возможными для игры.
                                                    Также недавно увидел, что сервер который принес мне лучшие времена в линейки спустя долгих лет тоже планирует открыть новый сервер — как по мне, это вторая потенциальная возможность хорошо поиграть. Проект пилится энтузиастом, который не ставит перед собой цель побыстрому срубить бабла на «эпическом недельном открытии года». Но так как он один, процесс идет не очень быстро. Было бы здорово если бы на хабре нашлись люди с похожими идеями и приняли участие в разработке. На форуме можно с ним связаться и обсудить чем можно помочь проекту.
                                                    www.blacksun.com.ua

                                                    Помимо этих двух вариантов в линейке ловить нечего. Все, что я описал — вы там не встретите и не почуствуете. Ибо альтернативы это либо казуальная бесплатная л2, либо классические русские сервера, где игровые усилия обесцененны полностью, либо фришарды которые живут неделю.
                                                    +4
                                                    Зачем какие-то странные и жутко тяжелые контейнеры в докерах с базами данных и рисовалками графиков на их основе? Всё описанное в статье (1)вытягивание данных с сайта, складывание на диск, структурирование, анализ, оповещения в tg 2)построение графиков), можно легко реализовать как небольшой скрипт на <любом из адекватных скриптовом языке> с выводом данных в csv и последующим построением графика в <любой из утилит>. С первой частью справился бы любой калькулятор, подключенный к интернету, а для второй с него можно было бы стаскивать данные хоть телефоном, хоть компьютером. Я для похожего проекта использовал домашний wifi-роутер и тонкий клиент со старым монитором, итоговая цена конкретно для этого проекта — 0$, а не 5$. И я очень сомневаюсь, что у меня 50 строк на perl заняли больше времени, чем вся эта мутотень с кучей ненужно.
                                                    Но если забыть про все эти придирки — классная штука, но только не очень понятна её «законность» в линейке (скорее всего, она запрещена ToS).
                                                      0
                                                      Самое интересное здесь — сниффинг. Я играл на евро, и там никакой проблемы разобрать протокол не было: достаточно было просто взять исходники Java-сервера.

                                                      А ещё можно было пользоваться социальной инженерией. Посадить одного перса продавать что-то по завышенной цене, а другим орать в чат «WTB ***» по ещё более завышенной цене.
                                                        0
                                                        Жаль собачий корм убрали, а то под видом варниша бы на ура заходил
                                                      • НЛО прилетело и опубликовало эту надпись здесь
                                                          +1
                                                          Возможно, кого-то заинтересует тоже достаточно популярная игра про гринд с живой экономикой Path of Exile.

                                                          В ней торговля изначально осуществлялась через чат и официальный форум. Через какое-то время начали появляться сайты которые мониторили форум. Эти сайты существуют до сих пор, например, poe.trade. Через несколько лет разработчики запустили аналог этого сайта.
                                                          Более того, разработчик ввел в игру вкладки сундука (за реальные деньги), в которых можно не только хранить предметы, но и выставлять на продажу. И всё это завернул в публичный API

                                                          Сообщество конечно же пошло дальше и начали появляться простые и не очень инструменты аналитики. Один из самых популярных это poe.ninja. Ведёт простой мониторинг цен на всё что можно продать и купить.

                                                          Вообще эта игра и сами разработчики достаточно своеобразны, да и комьюнити в целом, которое сделало огромное количество полезного ПО. Чего только стояло то что хаки выкладывали в публичный доступ на гитхаб. А в последствии разработчик ввел часть функционала подобных программ в игру.

                                                          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                          Самое читаемое