Pull to refresh

Comments 175

Главное, что европейских (куда относятся и русская версия игры) серверов не коснулось, т.к. патч выходит на сутки позже, и уже вышел без бага.
Да даже если бы и с багом, собрать 6 лярдов денег, даже имея слаженную пати из 4х60(100) просто пролетаея см8-см10 пекло третьего акта практически нереально, подобные суммы есть только у голдселл-фармеров, то есть воспользоваться им (багом) можно, активно фармя деньги в 4 окна через Multibox, и имея пул в 6ккк, что, согласитесь, не мало. А еще есть черный рынок золота, на котором цены плавают от 6-7 рублей за 1 млн до 2-3 рублей за 1 млн, в зависимости от фазы луны, погоды и удачи. А это — существено дешевле, чем на аукционе, и рынок этот в евро-регионе цветет и пахнет.

Самое главное, что hardcore-часть игры не пострадала — там проходит основная острая борьба, а не на софткоре, и там же цены до сих пор находятся на более-менее разумных уровнях, и в целом экономика не в пример здоровей. А RMAH в хардкоре попросту отсутствует (что, в принципе, понятно и хорошо, особенно учитывая похерестическое отношение близзарда к саппорту по проблемам D3), и из реалмани трейда на хардкоре только если голду или очень рарные вещи на черном рынке брать, но там и ценник кусачий — от 20 до 30 рублей за 1 млн, а вещи — вообще за дурные деньги. Но там над ними трясутся очень. Как-то так.
Первый абзац вызвал у меня паралич мозга.
Ага, «На инсте гейта минусовый хуррик, в бубле, в агре.»

Что касается моего первого абзаца:

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

Воспользоваться багом могли те люди, кто владеют «фермами» по добыче золота. Фермы работают через специальную сотфину, которая позволяет управлять четырьмя клиентами, как одним. Собираются максимально похожие персонажи по одежде, им назначаются одинаковые Area of Effect атаки, и они идут радостно пылесосить под предводительством одного игрока. Быстро и эффективно. Вот у таких людей мог быть запас необходимого золота (на продажу и выкуп вещей с аукциона, для последующей перепродажи за реальные деньги), чтобы хотя бы раз провернуть баг и получить выгоду.

А простым смерным оставалось только чл… лапу сосать, или скидываться всем селом.
Все равно половины не понял…
В двух словах — все как в обычной жизни — богатые стали богаче, бедные ничего не заметили. :)
Не-не, всё действительно, как в обычной жизни — богатые стали богаче, а бедные заметили лишь ускорившийся рост цен.
А… я-то думаю, чего цены все время растут?! А это у нас все время целочисленное переполнение в жизни…
Как раз таки откатить базу данных было бы самым правильным путем.
Конечно, было бы недовольство — недовольные всегда есть, но такое часто случается после выпуска обновлений. Все ситуации предвидеть сложно.
Откат в данном случае неправильный путь (более 5 лет администрирования WoW говорит об этом).
Люди платят свои деньги за игру, и совершенно непонятно, почему их должны откатить. Это не «фришка». Так что Близзы сделали верное решение.
Ну, вообще-то тут зависит от масштабов проблемы. Откат — плохое решение, но сломанная экономика куда хуже.
В части «забанила всех, кто читерил» очень сомнительно. Попали ли в их число все те, кто увидел на форуме «попробуй такую фишку» и попробовал?
То есть, когда человек получил из ниоткуда большое количество золота, он может недоумевать, «за что меня забанили? Мне же не говорили, что это плохо!» да?
Ну то есть игра, за которую я заплатил, и вовсе не моя проблема, что у разработчиков кривые руки. В EVE, например, такие вещи поощряют.
А что меняет то, что это где то пооширяют? Только если вашу точку зрения. Надо не смотреть со стороны «какие плохие разработчики», надо смотреть со стороны «Зачем они это делают?»Разработчикам нужно чтобы не рухнула экономика, и что бы играть было интересно как прежде. Поэтому они просят в EULA не пользоваться багами во благо большинства.
Я не читал EULA Blizzard, т.к. не играю.
НО, как мне кажется, откат более правильная затея, т.к. это всё равно, что купить обогреватель, обжечься об него и не получить медицинской помощи, т.к. в инструкции к его использованию было написано, что вы можете обжечься.
Не корректный пример. Не получить компенсацию за ущерб здоровья от производителя обогревателя, он же писал, что вы можете обжечься.
Ну тогда при том, что обогреватель был дефектным
Все зависит от того, при каких обстоятельствах это произошло:
1. В инструкции написано если вы накроете обогреватель одеялом, он взорвется и нанесет повреждения всему что находится вокруг. Категорически запрещается накрывать обогреватель одеялом. Вы решили посушить одеяло и он таки взорвался.
2. Обогреватель взял и взорвался сам. Без вашего участия.
Во втором случае вы имеете право спросить у производителя: WTF??? Но тут как раз первый случай.
Надо бы заканчивать спор, но мне всё же интересно к чему мы придем.
В таком случае в EULA должно быть дано точное определение того, что такое баг и его использование.
В данном случае это был баг и это было очевидно. Тебя попросили им не пользоваться, понятно по каким соображениям. И всегда можно сказать даааа? А что у вас не написано что если при продаже 6ляродв голды я получаю прибыль 4млрд то надо об этом сообщить вам? Нигде так и идите отсюда! Вопрос в том что невозможно прописать все.

Тогда в инструкции должно быть перечислено все, чем нельзя накрывать обогреватель. Включая какую нибудь наноткань из сколково. Должны быть рамки здравого смысла. А то мы рискуем при покупке воды в ларьке начать расписываться на 350 листах предупреждений чего делать нельзя с бутылкой воды.
В EULA Близзарда нет формализованного определения, что такое «баг», и что такое «злонамеренное использование» «бага». Даже в УК РФ с этим все не очень хорошо. Даже у американцев. Так что, по сути, все отдано на откуп чисто субъективному мнению техподдержки. Которая по хреновости сравнится только с поддержкой SWTOR в EA.
В EULA у Близзарда строго прописана, что использование любых эксплоитов карается независимо от ситуации.
Как сказать… В EVE как-то был баг, позволяющий получать феррогель и некоторые другие дорогие материалы «из воздуха» в прямом смысле слова. Они вырабатываются на специальных реакторах и, при некоторых условиях, становилось возможным запустить его так, что она начинал работать не потребляя сырье.

Реакция CCP заключалась в изъятии у игроков всех заработанных таким путем сумм и купленных за них вещей, включая корабли-носители (mothership). Были ли изъяты самые дорогие корабли в игре — титаны, а не помню.
ну 6 миллиардов тоже для начала надо как-то заработать в игре. И это очень непростая задача для честной игры. Так что врядли это совсем уж честных игроков коснулось.
Покупаем 6 млрд. за $250. «Ксерим» (Fallout 2 все помнят?:) ), скупаем предметы, продаём за $$. Профит! В общем-то, на ровном месте:)
Ну т.е. на лицо не совсем честные намеренния, далекие от уничтожения Мирового Зла, так ведь? :)
Потому и не страшно, раз таких наказали.
А можно поподробнее про «ксерим» в Fallout 2?
Есть у нас в инвентаре, к примеру, 100 патронов от гаусски. Но мы жадные и хотим больше.

1. Сохраняемся
2. Находим ближайший шкаф
3. Кладём туда наши 100 патронов
4. Сохраняемся на новый сейв
5. Сворачиваемся и идём в папку с сейвами
6. Копируем новый сейв в старый, заменяете.
7. Загружаемся в старый сейв. Теперь 100 патронов есть в шкафу и ещё 100 у нас в инвентаре:)
8. Повторяем до устранения чувства жадности

PROFIT

Вот, как-то так:) Мелочи могут отличаться от реальности — давно дело было, могу в чём-то ошибаться. Если не сработает, то правильный вариант гуглится легко:)
Так не интересно, ведь используем внеигровые сущности. Вот если сам движок позволял бы ксерить…
ну, это уже явно не ко мне:)
А такой баг был в первом Диабло.
Аналоги этого бага и во втором диабло встречались, но там их быстро фиксили.
в сингле второй дьяблы сундук был отдельно от «персонажных» сейвов, например.

P.S. Небольшой оффтоп: мне одному кажется, что общеаккауньный сундук в «трёшке» маловат? :)
> недовольные всегда есть

Тут дело в другом — такого знатного факапа не было даже во времена клонирования топовых шмоток. А вся суть в том, что на тестовых серверах нет аукциона «за реальные деньги», который работал бы хотя бы на фантики.
Я считаю, что они не правы, забавнив читеров. По крайней мере, тех, кто не наживался на этом в RMAH. Нечего неоттестированные патчи выкладывать.
согласен. просто отменить транзакции было бы более верным решением.
в диабло не играл, так что имхо
Нет, не согласен. Читерство остается читерством вне зависимости от повода, его породившего. Вот применрная аналогия из реальной жизни: следует ли освободить вора от ответственности, если украденная вещь «плохо лежала»? Близзард все правильно сделал, действия читеров есть нарушение EULA, в части запрета эксплуатации багов и уязвимостей игры.
Слишком сурово. Обнулить золотые счета тех, кто эксплуатировал уязвимость, было бы достаточно. А Близзард понимают, что люди никуда не денутся, вот и банят направо и налево.
В каком смысле никуда не денутся? Играть в дьябло дело добровольное, или я чего-то не знаю?
Перед тем как начать играть в Дьябло игрок кровью подписывает договор о продаже себя компании.
Добровольное, но я не об этом. А о том, что забанив игрока Близзард ничего не теряет — деньги за ключ остаются у неё, комиссии с рмаха тоже, ботовод купит еще десяток ключей (ура, прибыль из ниоткуда), ну а кто не купит так и фиг с ним. Имхо.
Обнулить золотые счета тех, кто эксплуатировал уязвимость, было бы достаточно.

А как же быть с теми, кто получил реальные деньги за продажу игровых вещей, купленных ранее за призрачные игровые деньги? Или продажа шмота предполагает возможность возврата денег при вмешательстве Администрации?
PS: я в Диабло не особо разбираюсь, если что) Пока ~17 лвл.
Что у всех за привычка проводить аналогии с реальным миром? Давайте за мат в комментах давать денежный штраф как за нецензурную брань в общественных местах. За баг должен платить разработчик, а не клиент. Я плачу им свои деньги за то, чтобы играть у них. И это их обязанность тестировать все и давать мне качественный продукт.

Очень понравился подход EVE к этой проблеме:

«Аферистам» обычно оставляют заработанное состояние как своеобразную награду за найденный баг и за сообразительность.
Цитата про еву тут не к месту. ССР(разработчики евы) оставляют «заработанное» только тем кто баг нашел и сообщил о нем, а не юзал ради собственной выгоды пока это не обнаружили. Остальных банят.

Что же до данной новости про диабло: автор не выяснил(или просто не указал) как читтеров забанили — перманентно или на время. Близы любят за эксплуатацию багов давать баны по 3-7 дней и это как по мне слишком мягко, но зато спасает от ошибок в наказании тех кто не понимал что нарушает еулу.
На счет цитаты — не уверен. Она была взята из статьи, ссылка на которую есть в данном посте. В этой статье говорится, что человек вполне себе спокойно провернул аферу и нажился на ней. Ничего он не сообщал. В той же статье говорится как они нашли баг:

Компания-разработчик поставила перед штатными экономистами задачу разобраться, что происходит.
Неверная аналогия. Вот если бы человек в реальном мире обнаружил уязвимость в законах физики и нафигарил себе золота — в тюряжку?
Интересная история, спасибо, посмотрел фильм по ссылке. Тут есть важный нюанс — чувака шлепнули за подделку монет, а не за разработку процесса получения золота из препаратов «жидкого золота».
Согласен. Его шлепнули за то что он нафигарил себе золота, а оборот золота контролируется государством.
UFO just landed and posted this here
Это-то тут при чём? Наводить порчу или там с Дьяволом совокупляться — это, конечно, вредительство.
А вот золото добывать или там порох изобрести(не такой как у китайцев, что для феерверка только, а нормальный, чтоб из пушки по соседскому барону можно) — это как раз в почёте.
Из поисков философского камня химия и выросла вообще-то.
> А вот золото добывать или там порох изобрести

С одним небольшим дополнением — в пользу тех, у кого в данный момент власть. А иначе — см. п.1.
UFO just landed and posted this here
Нет, взлом замка — это брать чужое, а тут оно из ниоткуда бралось. И вообще, нельзя сравнивать игры и реальную жизнь в этом ключе.
UFO just landed and posted this here
Ну если смотреть под таким углом, то внутреигровой банк напечатал кучу банкнот, в чём сам и виноват
UFO just landed and posted this here
Вообще-то насколько я знаю, смертным людям, в России запрещено свободно торговать золотом без лицензии, а также хранить 999 пробу. Ходит такая история: один умелец нашел баг в канализации ювелирного завода и отмывал из канализации золото. Его повязали и в тюрягу.
Обычным людям можно (слитки 999 пробы продаются свободно, у самого несколько грамм есть), нельзя обычным фирмам, насколько я знаю — нужна лицензия ЦБ, что на практике означает что только банки могут продавать населению золото и покупать у него.
Если это так, то как же вы законно получили 999 золото? Я год работал с ломбардом в одной комнате, так вот они рассказывали, что хранить золото 999 нельзя, если это не банковские слитки, ювелирные украшения. 999 можно получить сделав царскую водку, но хранение, перевозка такого золота незаконна.
Согласно ч. 1 ст. 191 уголовная ответственность устанавливается за совершение сделки, связанной с драгоценными металлами, в нарушение законодательства РФ, а равно незаконные хранение, перевозку или пересылку драгоценных металлов в любом виде и состоянии, за исключением ювелирных и бытовых изделий и лома таких изделий.
Это именно банковские слитки. Пошел в банк и купил (надо же и о старости как-то заботиться). Их покупка и хранение законны для частных лиц. И не надо представлять слитки обязательно как штабеля килограммовых (или каких там) чушек в банковских хранилищах. Слитки могут быть и весом в один грамм, размером с ноготь. Ещё законный вариант — золотые монеты, в тех же банках продаются. А УК предполагает ответственность за незаконные сделки, а не за все подряд. Грубый ориентир для быта — есть или нет проба.
UFO just landed and posted this here
UFO just landed and posted this here
А откуда можно знать, что это бага? Ну захотелось мне купить на 6 лярдов.
Ну то есть, когда вместо шести миллиардов выставилось полтора — это было нормально. Это не баг. И когда после отмены вернулись не полтора, а шесть — тоже всё логично?

Увидели, что вместо шести выставилось полтора. Ваши действия? Отменил аукцион и сообщил разработчикам? Или отменил, увидел набежавшие деньги, смекнул и давай эксплуатировать? Ещё и другим на форумах рассказывать…
На самом деле, близы банят даже если сообщить. И потом не докажешь, что верблюд — не ты :)
Вы как-то интересно применили аналогию. Если следовать вашей логике, то за украденную в реальной жизни вещь должны лишать жизни (бан аккаунта) с правом начать жизнь с самого начала (не играл в эту игру, так что насчет второго даже не уверен).

Кроме того, наверняка были игроки, которые про баг и не знали, а просто выставили большие суммы на торги.
Прямая аналогия из реальной жизни — олигархи. Украли много. Никто не отнял.
UFO just landed and posted this here
Они всегда так делают. Так и в EULA написано. Даже если ты знаешь о баге – не эксплуатируй.
Как отличить баги от фитч там тоже написано?
UFO just landed and posted this here
Фичи описаны, в каждом патче есть список изменений. Не описано — значит баг.
Они играют на том, что проще купить новую копию игры, чем идти в Small Claims Court ради 60 долларов. Или даже, если человек не купит, то в итоге хотя бы будут экономить на электричестве для серверов.

Элементарно им финансово выгодно банить.
А после бана прежняя копия игры перестает работать? О_о А деньги за неё возвращают в таком случае?
Перестаёт. Деньги не возвращают.
В том и изюминка.
Хотя лично знаю одного человека, который получил деньги через тот самый Small Claims Court за Мир Варкрафта. Не помню, почему его забанили, было это лет пять тому назад, если не больше.
Мне кажется, что даже если это прописано в EULA, то все равно нарушает законодательство любой страны, а значит добиться возврата денег можно без особых проблем.
Сомнительно. Продают не товар и даже не услугу, а права.
А как-же диск с копией игры, который становится бесполезен после бана?
Диск (но не копия игры на нем) остается вашей собственностью, можете с ним делать что угодно.
Поставил бы плюс, если бы мог.
Меня примерно аналогично забанили в WOW, когда вышел какой то патч. Самое интересное, я сходил в подземелие (даже не рейдовое...), на следующий день бан с формулировкой «за нарушение игровой механики». Ну и ладно, отпуск, написал тикет с вопросом и уехал не неделю. Приезжаю — добавлен перманентный бан с описанием «за обмен игровой валюты на настоящую». Что за бред? Вот так пропал гильдмастер с 6 летним аккаунтом.
Куда только не писал жалобы — «мы считаем решение правильным»… Теперь даже не захожу на battle.net, и зарёкся не покупать ничего у близзарда. Особенно обидно что у меня WOW был проплачен на год!
Как то это неправильно!
UFO just landed and posted this here
Нет, не считаю, а при чем тут это? Баги будут эксплуатироваться всегда, решение банить или не банить не меняет разрушительного эффекта от этого или количество эксплуататоров. Выложили версию с багом — расхлёбывайте. И впредь не делайте так. А параллельно наверняка пострадало n юзеров, что просто решили продать 6 ярдов золота.
Баги с переполнением всплывают по многу раз практически во всех онлайн играх (в той или иной вариации). Самый простой пример: есть игровой магазин, в нем продаются предметы за игровую валюту. Покупаем разом столько предметов, чтобы цена перевалила за 4,294,967,296, и получаем очень много за копейки, а потом продаем обратно в магазин порциями.
Бывает так, что у предметов есть «вес», поэтому нельзя купить очень много с переполнением суммы (сработает лимит по весу). Тогда надо просто купить такое количество, чтобы переполнить и цену, и вес одновременно.
Если кажется, что таких простых багов в серьезных проектах быть не может, то скажу только, что это работало в Lineage 2.
В mud'ах и в ragnarok online тоже было.
Хм, а у какого нпц в л2 вы нашли товаров на такую сумму или закупали к примеру сс в огромно кол-ве. (раньше играл в л2, просто интересно)
У обычных NPC в торговой лавке. Какие-нибудь Gemstone.
И если привысить значение int32 то товар получить можно почти без платно?
Да, можно было когда-то (если переполнится одновременно и цена, и вес). Потом на фришках установили лимит на количество товара, но и его можно было обойти, разбив покупку на несколько слотов, играя с пакетами (покупать одновременно можно несколько товаров, но через клиент только разных типов). Потом само собой и это пофиксили. А вообще багов было множество, это только один из самых простых.
В л2 это обычно через снифферы делали
Облажались, а забанили игроков. Обожаю современных игроделов.
А вы знаете людей которые пробовали? :)
я читал когда игра только вышла.
Были пункты про читерство и последствия оного.
хотел дюпать во время первой волны — но когда угрозы воплотились на «первопроходцев» и их забанили желание читить пропало.
первое правило дюпера: Никогда не дюпай на основной аккаунте.
я к тому что они заранее предупреждают про читерство в любом его проявлении — не только подмена битиков в пакетах или модифицирование клиентов и т.д, а так же использование эексплойтов и несовершенной механики игры тоже может привести к отлучению от игры.
Большинство даже конституцию не читали, какие уж там EULA ) Но незнание не освобождает от ответственности )
А если человек реально хотел продать столько золота?
Написать в поддержку.
Но оно ж не выставилось на продажу? Не выставилось. Следующий логичный шаг — обращение в поддержку.
Читеры есть читеры и их нужно банить. При чем здесь ошибки игроделов? Нельзя же, например, оправдывать неспортивное поведение ошибками организаторов олимпиады.
Но это не Олимпиада! А всего лишь компьютерная игра.

Должно быть, я отстал от жизни, но за iddqd никого не банили. Читы — это такая же часть игры. Моя девушка всегда играет в Симс только с читами, чтобы у неё были бесконечные деньги, а персонажи не старели. Думаю, что если бы не эти читы, то она бы и не купила игру вовсе.
А вы сравниваете намеренно существующий читкод в single player игре и онлайн игру с реальной (!) экономикой.
Экономикой и онлайном, которые всем навязали. Всё же это дико, когда вы покупаете копию игры и не можете играть в неё так как хочетса вам лично, а не так как решает игродел.

Тут же после блокировки ваша копия становится просто мусором.
Вас никто не заставляет покупать такую игру. Покупая вы получаете такой продукт который был задуман разработчиком, а не который будет удобен вам. Перед запуском вам показывают еулу где все условия расписаны. Если не согласны — жмите отмена и верните игру в магазин.
Конкретно в данном случае нечестные игроки использовали баг для личного обогащения не только в игре, но и в реале — мешая честным игрокам(а у некоторых можно сказать воруя реальные деньги) — за такое нужно наказывать.
Ну, это не совсем так. Продавая мне копию игры, разработчик вступает со мной в отношения, которые вдоль и поперек регулируются законами. Он может писать в EULA очень много чего, но далеко не факт, что это будет иметь силу. Скорее всего, суд обяжет компанию разбанить человека, но просто всем лениво идти в суд из-за 60 баксов или сколько там копия сейчас стоит.
UFO just landed and posted this here
Что удивительно, каждый подобный игровой проект неизменно наступает на одни и те же грабли. Помимо фокусов с переполнением, самые распространённые проблемы такие:
  1. Дюп. Т.е. копирование предметов. Даже и не припомню MMO, в которой бы его не было. Diablo III исключением не стала — не так давно там вовсю клонировались топовые вещи. Причём в Blizzard'е очень долго не хотели признавать проблему, и только когда клонами завалили весь рынок, только тогда начали хоть как-то шевелиться.
  2. Игра с пакетами. Обычно выражается в виде спид-хака и волл-хака (возможность сверхбыстро перемещаться и проходить сквозь препятствия, в том числе проникая в недоступные локации).
  3. Радар. Самый идиотский ляп разработчиков, который только можно себе представить, состоит в том, чтобы передавать клиенту полную информацию обо всех окружающих игроках, причём даже о тех, которых данный игрок по логике видеть не должен (спрятавшихся, ушедших в инвиз и т.п.). Мало того, зачастую клиент получает о таких игроках куда больше информации, чем отображается на экране (например, точные уровни, количество экспы до следующего левела, эквип, количество ХП и т.д.).
    Что удивительно, подобная ошибка проявляется в большинстве клиентов и фиксится потом долго и вдумчиво.
Не припомню дюпа в вове.
Да и переполнения тоже.
Дюп был, даже несколько раз. 1) баг в клиенте. 2) клонированием и правкой пакетов идущих от клиента серверу.

Был еще забавный баг с не очисткой буфера, был найден случайно, сначала на пиратских серверах, но заработал и на официальных. Можно было получить любое заклинание любого класса любому классу ) Суть в следующем с панели действия мышкой брался закл с целью его перенсти, то есть сам закл помещался в буфер. Далее не отжимая левой клавиши мыши (которой мы держим закл) делался логаут клавиатурой и логин в любой другой класс. Далее наведя курсос на панельку действий и отпустив мышь мы наблюдали внезапно появившийся закл )
UFO just landed and posted this here
На самом деле, примерно так и делается. Всем этим видимым объектам все равно часто приходится пересылать статус апдейты. Более того, на них можно здорово сэкономить, пряча невидимых. Но делать скрытие чревато другими проблемами — движок видимости в ММО по сложности и нагруженности одно из самых узких мест. Кроме того, следует отличать видимость персонажу и видимость игроку (если вид от третьего лица, как обычно в большинстве ММО).
UFO just landed and posted this here
Почему без? Очень даже с. Каждый игрок должен получать информацию о каждом из N игроков в радиусе видимости плюс о M NPC. Получается примерно N*(N+M).

А это еще большой вопрос. Отправка статус апдейта практически наверняка будет тяжелее одной проверки видимости.
1) к таким ошибкам приводит исключительно лень разработчиков.
2) В данном случае тут выбор либо загрузить сервер постоянными проверками пройденного пути клиентом и тем самым снизить число игроков которых данный сервер может обслужить либо верить клиенту. Тут все на совести и кошельке разработчика. Проверка делается элементарно.
3) Тут также как и со вторым пунктом только еще более ресурсоёмко. И требует довольно много кода.

Пишу как один из разработчиков эмулятора сервера ВоВ, довольно продолжительное время.
2) Первое правило разработки ММО — не верить клиенту.
Это в параллельной вселенной так. А в нашей вселенной не верить клиенту лишь там где это жестко необходимо. Все упирается в железо и удешевление обслуживания одного игрока. Да можно на каждого клиента выделять больше ресурсов, но тогда абон. плата будет не 100-200 рублей в месяц, а 999 рублей.
Я, конечно, не специалист, но мне кажется, что вычислительные ресурсы в абонентской плате занимают очень небольшую долю, в основном там зарплаты художников, сценаристов, программистов, менеджеров всех уровней, поддержки, а также реклама и прочий маркетинг. Так-то, за 100-200 рублей можно целую нормальную виртуалку под каждого пользователя выделять (я сужу по ценам облачных провайдеров).
Вы судите не правильно. Чтобы выделить виртуалку, Нужно купить сервер на котором вы её запустите.

Допустим, сервер (только железо) стоит 500 000 тугриков.
Его обслуживание в месяц стоит 5 000 тугриков

Сервер способен поддерживать комфортную игру для 1000 человек.
Абонентская плата в месяц 50 тугриков для человека.

Итого получается что для того чтобы окупить только железо и его обслуживание(без работы художников дизайнеров и остальных)
нам понадобиться:
500000/(50*1000)=10(месяцев)
10*5000=50000/(50*1000)=1(месяц)
Итого целый год мы только будет окупать железо.

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

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

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

Вот на том же Rackspace можно получить виртуалку за 10 долл./мес. Пусть на ней считаются действия всего десяти игроков. И это уже получается всего по доллару с каждого на оборудование. А это розничные цены, да еще и на самые дешевые инстансы, ясно, что более мощные машины будут выгоднее + возможно, оптовые расценки.
Оставляя за скобками качество виртуалок у RackSpace, хотел бы сказать, что по-моему гораздо сложнее распараллелить игру на 1000 серверов с 10 пользователей на каждом, чем на 10 серверов с 1000 пользователей на каждом. Кроме того, значительно усложняется деплоймент, мониторинг, вот это всё.
Я это понимаю. Я беру расклад с виртуалками в качестве реперной точки для расчета цен, с целью показать, что даже при таком тупом раскладе оборудование получается очень дешевым на общем фоне, так что тот же Blizzard вполне может без особых затрат увеличить машинные ресурсы в полтора-два раза.
и опять неверно.
Обычно сервер обслуживает территорию. Это проще в плане инфраструктуры. Например мы когда реализовали кластеризацию. У нас можно было запустить на разных машинах.
1) бд сервер
2) реалм сервер
3) логин сервер
4) чат сервер
5) ворлд сервер. Ворлд сервер в свою очередь можно было запустить еще на десятке машин и каждый сервер обслуживал бы свою територию. Обычно 1 шел на Калимдор, 1 на Азерот и еще 1 на данжи.
Основная нагрузка конечно же идет на ворлд сервера и на реалм сервер, который занимается синхронизацией игроков между всеми ворлд серверами.

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

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

Ну и конечно те виртуалки которые предлагает рэкспейс не потянут игровые сервера. Чудес не бывает.
Я вот тут написал ответ, что я не предлагаю так делать, это была попытка оценить расходы на оборудование сверху.
вы берете неверную отправную точку. Если вам требуются небольшие вычислительные мощности, то да купить виртуалку самое то.
Но если вы намерены развивать свой проект в течении долгого времени и поддерживать его. Гораздо дешевле купить оборудование, а не арендовать его.
Делаю поиск по строке yandex.ru/yandsearch?clid=9582&text=dedicated+server&lr=1091
Беру первое же попавшееся предложение Сервер SuperMicro Intel Core 2 Quad Q6600 2,4 ГГц, 2 GB, 2 HDD × 500 ГБ за 4000 рублей в месяц.
Пробую оценить стоимость железа
Intel Core 2 Quad Q6600 2,4 ГГц цена на ибее 55$ ~ 1500 рублей
2 GB цена 1000 реблей
2 HDD × 500 ГБ цена за оба ~4000 рублей
Добавим сюда еще мат. плату ~3000 рублей
И блок питания ~2000
итого 1500+1000+4000+3000+2000=11500 рублей.
то есть хостер окупит железо уже за два месяца! А вы за два месяца отдадите ему деньги еще на 1 сервер. А через год вы подарите ему уже 5 серверов. Хотя могли купить это все сразу (5 серверов) и через год намазывая бутерброд икрой удвоить число серверов при желании.
Я сказал же, что я делаю оценку сверху и рассматриваю самый невыгодный способ. Любые более выгодные способы только подтверждают то, что я говорю.
1) Какие любые более выгодные способы?
2) Выгодный способ в долгосрочной перспективе это своё железо. Что более выгодно?
3) Что конкретно эти мифические более выгодные способы подтверждают?
bazzilic взял самый невыгодный способ и показал, что даже он выгоден.

А в своих подсчетах «хостер окупит железо уже за два месяца!» вы забыли про то, что дается не просто сервер в аренду, а и место в дата-центре со всеми вытекающими типа канала, электричества и кондиционеров. Ну или наоборот, купив свой сервер нужно ещё его в дата-центр воткнуть, а там цены вполне сравнимы с арендой подобного сервера. Грубо говоря, из 4000 в месяц аренды, 3000 идет на место в стойке, а лишь 1000 за само железо. То есть окупаемость уже год составляет. Ну и цены на ебее смотреть как-то не тру.
Спасибо, а то у меня уже начали кончаться слова, чтобы объяснить, что я имею в виду :)
Доказал? Как? не вижу ни одного расчета.
он выгоден лишь в одном случае. если у вас 1 сервер. Если их тысяча, то нет.
скорее 50/50, и да я утрировал.
А что ибей не отражает реальных цен?
Расчет:
Вот на том же Rackspace можно получить виртуалку за 10 долл./мес. Пусть на ней считаются действия всего десяти игроков. И это уже получается всего по доллару с каждого на оборудование. А это розничные цены, да еще и на самые дешевые инстансы, ясно, что более мощные машины будут выгоднее + возможно, оптовые расценки.


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

В большинстве случаев нет. Б/у, неликивды, может даже ворованное, во многих случаях доставка, а цены для частных лиц без учета таможни, а то и сертификации, а в худшем случае разрешения на экспорт. Попробуйте импортировать даже для собственных нужд юрлица хотя бы один более-менее современный процессор. А тем более полную партию комплектухи достаточной для сборки 1000 серверов :)

И вообще, корректнее было бы сравнивать цену покупки современного брендового сервера и цену его же аренды.
Так вот и я о том же, сам термин Massive Online RPG сам по себе предполагает больше масштабы. Сама по себе аренда выгодна лишь в краткосрочной перспективе, в долгосрочной она убыточна по своей природе.
Ну я взял первый попавшийся vds и цены на комплектующие старые быстрее из ибея вычленить.
Игра с пакетами — основа всего. И дюпов, и радаров. Во всех играх есть шифрование трафика, но алгоритмы довольно быстро становятся общедоступными.
Пример «пакетного бага». В клиенте Lineage 2 предусмотрена синхронизация перемещений персонажа с сервером. Клиент периодически шлет пакет ValidatePosition с указанием своих координат, сервер ему отвечает реальными координатами. Если погрешность большая, то сервер посылает пакет на затемнение экрана, прячет персонажа от других игроков и шлет пакет о перемещении. В конце клиент сообщает, что «готов» (локация прогружена и т. д.) и сервер отключает режим невидимки. Так вот, можно было в любой момент послать пакет ValidatePosition с заведомо неправильными координатами, чтобы сервер спрятал игрока, а потом просто не отправлять пакет «готов». Имеем режим невидимки, который можно включить в любой момент на любое время.
Не обязательно с дюпами. И совсем не нужно с радарами…
Интересно, какая логика использовать 32-битные числа в 2013 году, при повсеместной 64-битной архитектуре? Экономия на спичках?
А зачем хранить в 8 байтах то, что влезает в 4?
А если не влезет?
К тому же невыровненный доступ тоже вносит дополнительные затраты — поэтому например в .NET размер boolean равен машинному слову.
UFO just landed and posted this here
long double не очень хороший способ хранить денежные суммы из-за возможных ошибок связанных с особенностями формата плавающей запятой (далеко не всегда число, которое как бы записали будет равно числу, которое прочитали). Если стандартных целочисленных типов не хватает, то правильное решение писать свой тип на основе целочисленных, возможно используя BCD формат.
UFO just landed and posted this here
Вспомнились Аллоды 2. Отредактировав цены на предмет в файле, можно было придти в магазин и купить его за -2.5 млрд игровых денег. Насчет цены не уверен. Она высчитывалась из базовой цены и float модификатора, да и был это 2006 год. Соответственно раз был минус в цене, продавец помимо предмета отдавал его стоимость :)
Думаю если бы в д3 был signed тип данных, это бы еще сильнее убило экономику.
Такие баги часто случаются в онлайновых играх, так что это не новость и шумихи не надо делать. Типичная практика так же — бан игрокам, так что большинство людей думали знали о последствиях.
Как любительница PvE я совсем не против такого рода багов =)
Карательная операция Blizzard выглядит несколько чрезмерной.
<для d2-моддеров>Третья дьябла тоже залезла в капы, лол.</для d2-моддеров>
Мальчик, иди в школу. Учись правильно писать.
Написано правильно, но с использованием сленга. Для этого никуда идти не надо.
<сарказм>А ну тогда пардоньте, епта. Сленг есть гуд. Чмоки.</сарказм>
UFO just landed and posted this here
В многопользовательских играх, где игроки могут торговать, обязательно должны быть механизмы, мониторящие увеличесние благосостояния каждого игрока. Ведь статитстика есть, можно установить некоторый порог, после которого экономистам игры сыпятся алерты: «Обратите внимание на игрока такого-то, за последний час рост благосостояния превысил среднестстистический на 400%. Не к добру. Вот вам логи операций».
99% вероятности что эти механизмы и так есть. Но в данном случае баг распространился стихийно, и что должен был делать сотрудник, производящий мониторинг логов (если предположить, что такой сотрудник есть и он работает полный восьмичасовой день)?
Обрисуйте алгоритм, как в таких случаях останавливать эпидемию, да и вообще, как отличать эпидемию от умеренного багоюза небольшой группой игроков или от вообще штатной игровой ситуации, когда кто-то законным способом резко разбогател.
Может пролить чашку кофе на сервер и отключить в связи с форс-мажорными обстоятельствами?
По порядку:

В данном случае можно было приостановить продажу золота до багфикса.

Обрисую алгоритм:
1. Диагностика (определение проблемы)
2. Выявление причины
3. Приостановка процессов, вызывающих проблему
4. Устранение причины

Эпидемия от умеренного багоюза отличается масштабами.

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

Для выявления таких ситуаций на помощь приходят различные статистические методы.
>>В данном случае можно было приостановить продажу золота до багфикса.
Если у сотрудника который мониторит логи, нет такой возможности? Если движок игры не позволяет этого сделать? Если этого нельзя организовать не наложив патч?
А если такого сотрудника не существует? А если он не заметил? А если ему по пути на работу встретился черный кот с длинными ушами и белой кисточкой на хвосте? Слишком мало информации и слишком много если, чтобы ответить вам по существу.

Зачем мониторить логи, если у тебя нет инструментов воздействия на игру? Разработчики должны закладывать возможность отключать отдельные фичи игры без патчей в случае такого нежданчика. Не обязательно все подряд, но критические для балланса области игры должны быть под контролем.
Инструмента есть минимум три почти в любой ситуации — , даун, патчи и баны. Отключать отдельные фичи — во-первых опционально, а во вторых иной раз хуже чем отключить всю игру целиком. Даже не по каким-то политическим соображениям, а чисто потому чтоесли она критически вляет на баланс, то её отключение тоже на него повляет.
В данном случае можно было приостановить продажу золота до багфикса.
Считаете что нужно дать этому сотруднику права мгновенно вырубать целые области игры?

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

1. Диагностика (определение проблемы)
Допустим проблему выявить легко. Самые критичные области игры (количество денег у игроков, количество вещей и особенно редких/дорогих вещей и т.д.) разработчикам известны и их вполне заранее можно взять под контроль, выведя на отдельный экран.

2. Выявление причины
Но вот с причиной всё намного сложнее. Если команда разработчиков, отдел тестирования пропустили баг, с чего вы взяли, что наблюдатель быстрее их локализует баг? Он может и кода вообще не видит, не говоря уже о том, чтобы в нём разбираться.

3. Приостановка процессов, вызывающих проблему
Тоже всё нетривиально. В системе слежения можно предусмотреть все известные способы получения голда, например дроп/аук/передача от другого игрока. Но в сабже голд приходил бажным путём, который по понятной причине предусмотреть не представляется возможным. Вполне вероятно, что в интерфейсе наблюдателя напротив «метод получения денег» стоял бы вопросительный знак.

4. Устранение причины
Это тем более в компетенции разрабов, а не наблюдателя.

Эпидемия от умеренного багоюза отличается масштабами.
Где бы вы провели границу между этими понятиями? Стали бы действовать по разному в каждом случае?

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

Подытоживая: я не против наличия наблюдателя — только «за». И да, его наличие это действительно оперативный способ отловить багоюз, в отличие от случая, когда наблюдателя нет и разрабы узнают о баге через N часов/дней по репортам других игроков. Но мне кажется вы переоцениваете его способности, он не смог бы решить проблему, например через 10 минут после обнаружения. Ну а если бы и смог — резким отрубанием части игры, это этой самой игре на пользу бы, по-моему, не пошло. Как раз из-за ложных срабатываний или даже саботажа (случай конечно очень редкий, но тем не менее).
Глупо было бы полагать, что экономист сможет разобраться с багом сам. Обрисованный мною алгоритм — самый общий, всего 4 простых пункта, как в таких случаях можно останавливать эпидемию. Можно опустить один-два пункта или даже решить это одним четвертым.
Интересен момент насчет бана.
С одной стороны, я в принципе согласен с политикой бана читеров.
Однако, в данном случае вместе с аккаунтом теряются также выигранные вещи, которые могут торговаться за реальные деньги, то есть имеющие рыночную стоимость.
На мой взгляд, тут всякие EULA уже перестают контролировать ситуацию, и, при желании, можно было бы подать иск на всю сумму утраченного имущества. Главной проблемой в данном случае, разумеется, было бы доказательство наличия этого имущества на момент закрытия аккаунта, учитывая, что все доказательства находятся в распоряжении ответчика и он может при малейших подозрениях все удалить подчистую. Впрочем, мне такая ситуация интересна лишь теоретически ;)
Просто если уж разработчики игр вводят реальную экономику с реальными деньгами, то, наверное, должны нести и соответствующую ответственность, а не только проценты стричь…
Думаю юристы близзарда всё это предусмотрели и речь идет о договоре вида «права и обязательства сторон» без передачи прав собственности, а только временное право распоряжения передается. Ну и один из основных (по смыслу) пунктов договора «нарушил любое обязательство — теряешь все права».
И это уже второй баг в игровой экономике, о котором стало известно менее чем за неделю
Скорее не «стало известно», а «описали на хабре». Тот баг из EVE Online был почти год назад, в июне. И в конце июня об этом писали в девблоге. И на официальном форуме есть отчет о проделанной работе от тех, кто обнаружил баг.
Я думаю, после этого случая кто-то явно лишился премии, а возможно и был уволен.
Помнится мы с друзьями эксплуатировали баг, когда можно было рыбачить в еще не открытых регионах. Рыба эта уходила с аукциона за сумасшедшие деньги. Когда локации все же открыли всю нашу рыбу удалили, но никого не забанили.
Это ребята ещё дешёво отделались — в нашем мире такие баги решаются полным вайпом всех игроков (обычно разработчик оставляет по паре каждой твари для нового заселения).
В моей игре был похожий баг с переполнением на аукционе.
Лечил очень просто: проверял положительный расход денег.
Если расход отрицательный (игрок получал деньги при покупке) — сделка не проходила.
Sign up to leave a comment.