Борьба с читерством в играх, когда стандартные средства не помогают

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

Предисловие

За долгое время, сколько я читаю хабр, я ни разу не встретил ни одной статьи по администрированию обычных сетевых игр, но ведь такие администраторы тоже есть. Они, как и другие администраторы собирают железо, ставят на него linux или windows, устанавливают apache, nginx, занимаются веб сервисами, читают хабр и т.д., но основная цель всего этого — поддержка игровых серверов, которые тоже имеют свои особенности в настройке.

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

Описание и особенности игры ARMA 2

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

Кроме уникального геймлея, самая большая особенность ARMA 2 в том, что она имеет очень гибкую систему скриптов, которая позволяет сделать из нее совсем не похожую на оригинал игру. Например, можно сделать сетевой режим с элементами РПГ! В основном все зависит от навыков и фантазии тех, кто делает миссии для данной игры.
Так же эта игра имеет огромную базу аддонов — техника, модели солдат, оружие, звуки и т.д.

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

В такой ситуации даже официальная защита начинает проигрывать эту борьбу. И кажется, что уже ничего кроме постоянного наблюдения за игрой не может помочь в поимке читеров.
Но зная особенности игры все же можно предпринять некоторые меры!

Борьба с нарушителями

Для борьбы с читерами в ARMA 2 применяется официальный античит BattlEye.
И в связи с тем, что игра имеет очень много аддонов, в том числе и тех, которые могут дать преимущество в сетевой игре, в ней реализована возможность пускать на сервер игроков только с одобренными аддонами «verifySignatures=1;» — аддоны проверяются по уникальной подписи.
Но все это не помогает. Если читер захочет, он может найти средства для обхода проверки уникальных сигнатур и попасть на сервер с читерским аддоном.
К счастью не все читеры достаточно умные и иногда в логах могут засветиться такие записи:
10:49:46 Player Dimt: Wrong signature for file expansion\addons\darky.pbo
В таких случаях администратору самому приходиться углубляться в знания читов и тогда будет очевидно, что название аддона darky.pbo указывает на его принадлежность к читерскому.

Лично я для облегчения анализа логов написал простейший скрипт:
#!/bin/sh
DETECTED="/usr/games/a2_bans/cheater.log"
DETECTEDTK="/usr/games/a2_bans/teamkill.log"
WRONGSIG="/usr/games/a2_bans/wrongsig.log"

echo "Последнее обновление (каждые 30 минут): `date "+%d.%m.%Y %H:%M:%S"` \n" > $DETECTED
grep GameHack /usr/games/arma2*/arma2_server_console.log >> $DETECTED

echo "Последнее обновление (каждые 30 минут): `date "+%d.%m.%Y %H:%M:%S"` \n" > $WRONGSIG
grep 'Wrong signature for file' /usr/games/arma2*/arma2_server_console.log >> $WRONGSIG

echo "Последнее обновление (каждые 30 минут): `date "+%d.%m.%Y %H:%M:%S"` \n" > $DETECTEDTK
grep teamkill /usr/games/arma2*/log.23* >> $DETECTEDTK

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

И тут в дело вступает самый интересный и основной метод — анализ трафика!

Wireshark в борьбе с читерами

Администрирование игровых серверов это далеко не всегда простое включение определенного серверного приложения. Здесь тоже помогают знания, которые напрямую к играм не имеют никакого отношения.
Так получилось и в данной ситуации. На помощь пришел анализатор трафика Wireshark. Я не буду углубляться в подробности использования этой программы — к ней прилагается хорошая документация.
Сбор трафика на наших серверах ARMA 2 осуществляется очень просто:
dumpcap -i 1 -f "udp port 2302 and dst x.x.x.x" -w /var/log/dumpcap/arma2co_1/a2co1.pcap -b duration:1800 filesize:200000

Собранная информация позволяет увидеть применение тех самых читерских команд, которые создают технику, убивают других игроков и т.д.
Нужно лишь предположить, какой код может быть использован читерским приложением, или же самому скачать некоторые читы, чтобы проанализировать их работу.
В итоге, когда уже знаешь по каким ключевым словам искать, можно обнаружить такую картину:
0040 00 00 0a 92 8f c5 00 68 45 78 65 63 43 6f 64 65 .......hExecCode
0050 00 3c 06 00 00 00 53 54 52 49 4e 47 22 4c 61 6e .<....STRING"Lan
0060 64 52 6f 76 65 72 5f 43 5a 5f 45 50 31 22 20 63 dRover_CZ_EP1" c
0070 72 65 61 74 65 56 65 68 69 63 6c 65 20 28 70 6f reateVehicle (po
0080 73 69 74 69 6f 6e 20 70 6c 61 79 65 72 29 sition player)

Как видно от игрока на сервер была отправлена команда hExecCode с кодом, который создает (createVehicle) автомобиль LandRover.
Разумеется, в данной ситуации без дополнительных средств (читов) такой код применить нельзя.
После этого уже не составит труда вычислить все необходимые данные для блокировки нарушителя.

В итоге мы имеем хоть и не автоматическую защиту моментального действия, но достаточно эффективную в плане распознавания читерского кода.
Метки:
Поделиться публикацией
Комментарии 147
  • +7
    Спасибо, очень познавательно! В очередной раз вспомнил как 5 лет назад, из-за онлайн игр сидя за компом по 20 часов в сутки несколько месяцев, чуть не сошел с ума. С тех пор больше не играю, чего всем остальным хабровчанам и желаю.
    • +2
      А можно поинтересоваться как вы бросили? А то есть тут у меня один друг…
      • +3
        А можно, наоборот, поинтересоваться, как начали играть по 20 часов в сутки?

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

        • +1
          есть масса игр, которые как тамогочи — не присмотришь вовремя — проиграешь.
          яркий пример — travian
          (не советую углубляться, на «быстрых» серверах игра идет около 3-4 месяцев, на обычных около года.)

          а принцип «завтра доиграю» подходит и для многих онлайн игр, и для кубика рубика.
          • +5
            так в том то и дело, что через пару-тройку часов не очень волнует то что проиграешь. у меня похожая с autorodik проблема. сколько игр перепробовал — поиграешь максимум день, и становится невыносимо нудно.
            • 0
              про травиан ничего не могу сказать, я пробовал в варкрафт (купил лицензию на 30 дней) и в Line of Age и еще какую-то, про космос от Сьерры. Интересно, но похоже по ощущениям как первый раз собираешь пакеты в Линуксе. Или Android -телефон патчишь. Если хоть немного освоился -уже мимо.
              • 0
                Все зависит от того, какие цели вы преследуете от игры: отдохнуть, посмотреть, понять — все эти параметры не дают игре шансов на выживание, но такие: стать круче всех, понять систематическую сюжетную линию (в том же линейдже ее можно чуточку уловить), убить свободное время, которое больше потратить реально некуда — эти параметры очень сильно влияют.

                Мой брат играл по второй цели. Играл он 5 лет.
                Я не выдержал больше 4 месяцев — хотелось найти сюжетную линию, которую я и смог найти, но только до 64 уровня.
                • 0
                  Вы забыли еще один фактор, актуальный больше для онлайн игр — общение. А так все верно.
                • 0
                  В ММОРПГ притягательное действие как правило можно разложить на 4 основных фактора — социальный (общение), манчкинство (стать круче всех, нафармить больше голда, выше уровень, лучше оружие, и т.п.), пвп (убивать других игроков) и исследование (открыть какие то секретные места, решить какую то головоломку и т.п.). Если вам неинтересно ничего из вышеперечисленного — игра и цеплять не будет.
                  Меня цепляют в основном манчкинство и исследование — WoW как раз подходит для меня (high-end PvE контент в частности), но все люди ведь разные)
              • +2
                Играл в браузерку. Дело в том, что я сразу же начал строить, организовывать и управлять кланом (около 100 человек).
                Сделал сайт клана и был активным игровым журналистом.
                В конце приглашали работать в игру, но нервов уже не было. Чтобы поддерживать свой авторитет у соклановцев приходилось качаться, а это тупое занятие мне никогда не нравилось.
                • +2
                  Сейчас просто не делают шедевров… Как в свое время Half-Life или Heroes of Might and Magic. Сейчас весь упор на графику и эффекты. Нет восторга от игры.
                  • +3
                    Half-Life или Heroes of Might and Magic в свое время имели очень даже высокий уровень графики.
                    • +1
                      Может быть вы просто устали от игр и вас уже сложно удивить?
                      • 0
                        Скорее возраст не тот… Да и в современных играх нет идеи или фишечки. Все одно и то же только оболочка разная. Вот например Borderlands это Дьябло на новый лад. Нет изюмики.
                    • 0
                      Мне кажется от человека зависит. Я могу по 3-4 часа максимум (обычно час-два) играть, потом меня это достаёт, какой бы интересной ни была игра. 20 часов долбить в WoW — вообще не представляю как это возможно.
                      • 0
                        То ест понимаешь, что можно и завтра доиграть, или через неделю.

                        будучи ранее ярым фанатом Doom I, Doom II, Quake 1, Quake 2, Duke Nukem и т.д. не могу осилить Doom3 уже третий(?) год :)
                        как поставил его в 2007м, так и играю по пол-часика раз в пол-года. дольше играть не позволяют обстоятельства, а вспоминаю о том что у меня еще есть не пройденная цацка не часто.
                      • +3
                        один мой друг, но не я…
                        • 0
                          Не смешно вообще то. Я из-за рода своей деятельности не склонен к зависимости от игр, т.к. сам их делаю. И когда играешь в игру и уже предсказываешь поведение то как то не интересно становится. А друг, он же брат жены, совсем завяз, а у него ребенок — его надо обеспечивать. Мозги есть у человека, но его слабости побеждают.
                          • 0
                            Мозги?
                            Могу вам посочувствовать, может переболеет. Ну хоть дома сидит, а не бродит где то.
                            • +1
                              Да уж. Вообщем каждый выбирает свой путь. Кто то в реальной жизни себя реализует, а кто то в виртуальной. Я понимаю когда человек в реальности заработал и от нечего делать сидит играет. А когда у тебя не очень удачно в реальности сложилось и ты ищешь утешения в другом «мире» — это немыслимо!
                      • –4
                        Отвратительно. Уверен, что многие люди и не против были бы сидеть в играх по 20 часов в сутки, но у них просто нет такой возможности. Желаю вам всего самого плохого.
                      • +2
                        кстати мне захватила однажды(5 лет назад) только одна игра. Morrowind. Сюжетом. Очень уж захотелось мне найти доспехи как на картинке к игре — в итоге понял что игра нереально большая, очень атмосферная, музыка и графа соответсвуют… Артефакты… Эх, впринципе я не против игр, но из последнего ставил mafia 2, prototype, minecraft — ну нафиг.

                        как бывает в детсвте дашь обещание — выйду на пенсию буду заниматься только этим.
                        Я выйду на пенсию буду смотреть хауса и проходить морровинд)
                      • 0
                        Отличный подход. Молодцы.
                        • –69
                          Отличная статья, но не для аудитории хабра. Я ничего не понял в технической части. Здесь в основном широкая IT публика, а не админы.
                          • НЛО прилетело и опубликовало эту надпись здесь
                            • +7
                              Это было длинно. Я так понял, админы теперь не принадлежат к IT-публкике? Печально, печально.
                              • +1
                                скользко
                              • +3
                                Вот для широкой публики и придумали «блоги». Например, «Администрирование»:)
                                • +5
                                  Админы тоже бывают широкими.
                                  • +6
                                    И толстыми)
                                  • –13
                                    Я имел ввиду, что проблема читинга в игре лежит на плечах разработчиков, а не админов. Поэтому технические детали, связанные с администрированием не ясны.
                                    • –2
                                      Минусовать без причины признак дурачины :) 68 человек подписалось. Печально.
                                      • 0
                                        А комментить не подумав тогда признак чего?
                                    • +1
                                      А еще — это самый эффективный метод борьбы с асько-джаббером. Хорошо, что не все админы им обладают)
                                    • +10
                                      >>Читеры в ARMA 2 могут творить все что угодно, начиная от создания любых предметов на карте, бессмертия, бесконечных патрон и заканчивая исполнением команд для управления сервером.

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

                                      Я-то думал, здесь будет про то, как отличить честного казуального игрока от ботовода (WoW, LineAge etc.), или как передавать клиенту необходимый для игры минимум данных, чтобы и игра не тормозила по сети, и невозможно было получить преимущество, типа открывания карты в Старкрафте.
                                      • 0
                                        Лучше всего бота отличит сам ботовод. Бота, в той же WOW видно ровно за 2 секунды. Если знать на что смотреть.
                                        • 0
                                          а для вов уже есть приличные боты? помнится, во времена wow:bc один только фишинг в паблике был. (или я плохо искал)
                                          • 0
                                            Ну я еще в классике видел фарм-ботов хантов, которые ходили кругами, убивали мобов и собирали лут.
                                      • +1
                                        ARMA — прикольная игра, но без тормозов я её видел наверное только на ЮТюбе. Дико тормозит при минимальных видео-настройках, несмотря на низкие заявленные системные требования.
                                        • 0
                                          у меня ARMA 2 нормально шла =) на средних настройках — комп не какой-то зверь…
                                          • +1
                                            У меня Athlon X2 3800+ (2GHz) и видеокарта NVidia GeForce 8800 GTS. 4Gb RAM. Игра больше напоминает слайд-шоу в powerpoint. :( Причём лицензия, купленная через Стим.
                                            • 0
                                              Квад 9550, 6970, 8гиг, летает на максимуме. Видеокарточку б вам обновить, 320 метров явно маловато. Возьмите ту же 240ую на гигабайт с DDR5, стоит копейки, прирост производительности увидите сразу.
                                              • 0
                                                У меня вроде SSC Edition, на ней 640 мегабайт DDR3 памяти. А комп по любому нужно обновлять… Как всегда, всё упирается в финансы.
                                                • –1
                                                  ЕМНИП, GTS — 320, GTX — 640, не?
                                                • 0
                                                  А надумаете обновлять — мамку гигабит на 770ом, феном 2 х2-25х, памяти 1600ой 4 км — встанет около 8к.

                                                  Процессор может стать или трёх-четырёхядерным, или трёх-четырёх гигагерцевым. ;)
                                                  • –1
                                                    Уже пора брать мамку гигабит на P67 и core i5 2500. :) интел выпустил обновленную линейку core i5 — i7 и по производительности они рвут лучшие из процов AMD.
                                                    • +1
                                                      Тут вопрос в ценнике, скорее.
                                                      • 0
                                                        Инфа 100%, ага? )
                                                        • 0
                                                          В бюджетном сегменте за равную сумму камни интела проигрывают по производительности камням АМД.
                                              • 0
                                                Чистая версия — да. После пары-тройки патчей производительность заметно повышается.
                                                • 0
                                                  Патчи все ставятся через Steam Autoupdate.
                                                • 0
                                                  В основном тормозят тени и постпроцессинг. Попробуйте отключить их — игра станет заметно резвее.
                                                • +4
                                                  Публичные рассказы как бороться с читерами — заколачивание гвоздей в крышку гроба честной игры.
                                                  Видимо поэтому об этом и не рассказывают.
                                                  • 0
                                                    Игра не очень известная. Основное читерское сообщество в этой игре иностранное — явно тут не ходит.
                                                    И я очень сомневаюсь, что эти данные помогут им каким-либо образом. Тем более, об этом способе уже написал другой человек на официальном форуме игры — кому надо скорее оттуда узнают, чем с хабра.
                                                    Так что никакой особой тайны я не выдал. А вот польза для других админов вполне может быть.
                                                    • 0
                                                      Да не, это я отвечал на Ваше вопрошание почему это тут не обсуждают. Понятное дело что общие случаи уже давно описаны.
                                                      Это конечно все мое ИМХО.
                                                      • 0
                                                        аа, я подразумевал, почему не обсуждают игровые сервера, а не именно защиту от читеров.
                                                        Например, про то, как поднять и грамотно настроить сервер CSS и т.д.
                                                        Я тут даже блога соответствующего не нашел)
                                                        • 0
                                                          А зачем? Весь интернет полон подобных гайдов, а грамотность настройки игровых серверов это четкое знание имен и значений пары настроек наизусть плюс игровой опыт.
                                                          • 0
                                                            Нет, это знание эксплоитов для данного сервера, методы борьбы с ними. Это знание плагинов которые позволят отсечь самые тупые читы. Это знание как собрать ядро правильно и осознание того что серверу не надо крутиться под рутом. Это кошерные скрипты для запуска сервера + кошерный мониторинг.
                                                            А то что обсуждается на тоннах форума это — ./steam -command update -game tf -dir /opt/games и как поменять два файла на сервере чтобы он стал nosteam.
                                                    • НЛО прилетело и опубликовало эту надпись здесь
                                                    • +3
                                                      Провал разработчиков должны чинить админы. Грустно это все. Если разработчики создают игру, которая не позволяет разграничить права между простыми игроками и админами в управлении сервером, то никакой ГИБКОСТЬЮ и ВОЗМОЖНОСТЯМИ это оправдать нельзя. Знаю несколько примеров игр с огромными возможностями моддинга интерфейса, управления и общего повышения удобства игры, но где проблема нечестных модов отсутствует напрочь благодоря продуманной политике разработчиков.
                                                      • 0
                                                        Разработчики армы всегда славились неумением нормально делать игры в плане стабильности, производительности и надежности. Особенно сетевой режим. У них получилось только одно — создать уникальную игру, в которую все равно будут играть, даже при всех этих проблемах.
                                                        Хотя, в последнее время они стали намного лучше работать. И я думаю, что это в основном благодаря простым амдинам/игрокам, которые вынуждены выступать в роли бетатесторов и постоянно писать кучи багрепортов — dev-heaven.net/projects/cis
                                                      • 0
                                                        Тема мне очень близка. Не знаю как в ARMA 2 — первый раз слышу про эту игру — но в mmorpg проблемы т.н. ботоводства очень актуальны. Вот там проблема шифрования трафика на стороне сервера, реверс-инжинеринг, его дешифровка, анализ алгоритмов и т.д. на стороне клиента (умного читера) и последующая подмена пакетов с целью получения профита выходит на первый план. На самом деле все это безумно интересно, словами не передать. Своеобразная игра в кошки-мышки, кто кого перехитрит.
                                                        • +1
                                                          Читеры всеравно всегда впереди)
                                                          • +1
                                                            Не скажите. Все зависит от игры и от конкретного сервера. Но успешных и реально толковых читеров единицы. Тех, для которых это искусство и вызов в первую очередь, а не тех, которые качают с левых сайтов читы вперемешку с вирусами.
                                                            В принципе, это те же хакеры уже получаются, просто с игровым уклоном.
                                                            • +2
                                                              Разработчики всегда закрывают те дыры, которые нашли читеры, так что читеры по определению на шаг впереди =)
                                                          • +1
                                                            Ботоводство, в отличии от других видов читерства, это, скорее, порождение неумения\нежелания разработчика построить незадротский геймлей. Так что проблема не столько в читерах…
                                                            • 0
                                                              Задротство — понятие растяжимое. Но в том смысле, в котором вы его употребляете, оно является основой большинства mmorpg. По крайней мере самых распространенных.
                                                              • 0
                                                                Если игра без абонентки, то как раз порождение умения и желания разработчика построить задротский геймплей в нужном количестве и в нужных местах.
                                                            • НЛО прилетело и опубликовало эту надпись здесь
                                                              • +3
                                                                как по мне, писать читы поинтереснее, чем поиграть. и умения дает поважнее.
                                                                • +2
                                                                  а кто-то еще и деньги на этом зарабатывает.
                                                              • +1
                                                                give all + noclip
                                                                ой-ой-ой, скупая мужская ностальгическая слеза скатилась по небритой щеке :)
                                                                • 0
                                                                  impulse 101 же
                                                                • +4
                                                                  Главное кикать только читеров :)
                                                                  з.ы. вспомнилось че-то
                                                                  www.youtube.com/watch?v=eyDcTHk0nas
                                                                  • +1
                                                                    Вы бы видели тонны античитерских аддонов, плагинов, программ, написанных комьюнити для Counter-Strike.
                                                                    Только как читерили, так и читерят.
                                                                    Пока самым действенным средством является команда из 20-30 игровых администраторов с банометом.

                                                                    У нас за сутки набирается 10-20 банов за читы и происходит штук 5 попыток завалить сервер эксплоитом. Подрастающее поколение меня пугает :)
                                                                    • 0
                                                                      Видел =)
                                                                      У нас пять CSS серверов, по сути одно и тоже, что и простой CS (раньше он тоже был, сейчас там уже не играют). Все ностимовые — это еще большая нагрузка на админов, как вы понимаете.
                                                                      Античит аддоны вполне неплохо банят + админы. На данный момент в бане более 1000 читеров =)
                                                                      Так же и простые игроки пишут и выкладывают демки в соответствующем разделе форума, а админы проверяют.
                                                                    • +1
                                                                      Ну хоть что-то. Я в BF Heroes перестал играть в том числе из-за этого. Но там разработчики требуют заснять читара на видео, залить на ютуб и выслать им линк.

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

                                                                      АРМА2 потрясная игра. Мы как-то проходили карту одного паренька в станартной команде и таком же оружии. 4 вечера подряд. Так и не прошли %)
                                                                      • 0
                                                                        Потому что есть такие люди, которые так умеют. Есть у меня знакомый, играл в Q2 на профессиональном уровне — его банили на ВСЕХ местных серверах, потому что никто не верил, что он живой человек. Знаете, это обидно, когда умеешь играть лучше всех, а ламерьё тебя банит, вместо того, чтобы учиться, учиться и ещё раз учиться. Большинство игроков играть нифига не умеет и когда вдруг из ниоткуда прилетает ракета прямо в голову, так сразу читер. И никому в голову не придёт, что своим шумом вы выдали своё местоположение и направление движения, а пуск ракеты в нужный проход уже отработан годами.

                                                                        Я не знаю как там в BF, но я отлично помню, что в Q2 на карте q2dm1 есть микродырочка в сплошной стене в одном месте и любой про игрок убьёт тебя «через стену» рельсой, если ты там пробежишь. И вывод прост — в том месте пробегать нельзя, если не уверен что противник в другой части карты. Я там не бегал и на читерство никогда не сетовал.

                                                                        Заодно можете посмотреть как наш соотечественник Полосатый рвёт читера с эймботом в пух и прах — www.youtube.com/watch?v=qHNyO_Z6fo8
                                                                        • 0
                                                                          Прикольно. Жаль он забил давно, как и другие наши дарования. Остался один Кулер.
                                                                          • 0
                                                                            И совершенно правильно банят. Если человек один рвет всухую всю вражескую команду, то он сам должен понять что ему на этой карте/сервере не место и не портить людям игру и настроение.
                                                                            А портит он не только чужой команде, но и своей.

                                                                            Я вот люблю поиграть часик на выходных. И таких людей как я знаю много. С моей точки зрения раунд должен заканчиваться в ± 0. То есть я хочу играть с такими игроками как я, чуть сильнее, чуть слабее. Мне не итересно умирать сразу после распана.

                                                                            А теперь супер фича! Так как я играю долго, но понемногу, у меня есть чар с уровнем 22(из 30). Это не значит, что я играю хорошо. Оно само так получилось.

                                                                            Теперь о реалиях BF Heroes. В теории игра бесплатная. На практике, бесплатное оружие довольно фиговое и действует только до 10го уровня. Так же там есть всякие эликсиры и украшения типа одежды, раскраски и графических эффектов.
                                                                            Это стоит реальных денег. Я вот иногда что-нибудь да покупал на пару $.

                                                                            Вот и получается, что разработчики потеряли небольшой, но стабильный доход (мне этот нарисованный шутер нравится до сих пор) и получили человека, с тем же успехом играющего бесплатным урожием.
                                                                        • 0
                                                                          Я как постоянно ищу сервера Arma 2 так там всегда как то мало народу. Можете дать линк, где действительно много народу играет?
                                                                          • 0
                                                                            Всегда есть сервера, где играет достаточно народу — советую пользоваться фильтром серверов в игре, так можно отсеить пустые.
                                                                            Например, у нас всегда играют — www.arma2.ru
                                                                            • 0
                                                                              ARMA2.RU PVE регулярно забит под завязку. Расширьте хотя бы до 50 человек :-)
                                                                              • 0
                                                                                Там миссия сбалансирована под 30 игроков. И увеличение слотов может вызвать лаги — 50 точно не потянет (слишком много ботов).
                                                                                Теоретически можно было бы добавить немного, но вряд ли WINSE (автор миссии) будет теперь этим заниматься. Он давно переключился на другие дела.
                                                                                Я ему написал — узнаю. Лично я не против увеличить слоты.
                                                                          • 0
                                                                            На World of Warcraft похожий античит показал свою бесполезность. Обходили всё время. Только там он ставился клиентом на компьютер игрока и мониторил текущие процессы, а на сервере анализировал логи в реалтайме (проксировал весь трафик).
                                                                            • 0
                                                                              >похожий античит
                                                                              >Только там он ставился клиентом на компьютер игрока и мониторил текущие процессы

                                                                              что-то я не вижу ничего общего. Клиентские античиты — полный бред. Людям вагон геморроя, и обойти их проще.
                                                                              • 0
                                                                                Ну зависит от уровня сложности античита, например на пермском ла2 сервере когда-то стояла (и уверен стоит и сейчас) интересная защита, трафик шифруется, при этом код для шифрования приходит в виде полиморфного кода при соединении как часть игрового трафика (к клиенту цепляется специальная обвязка), ну алгоритм до кучи постоянно меняется на сервере. Соответственно чтобы написать отвязанный от клиента бот, нужно затратить куда больше сил, чем получить профита.
                                                                                • 0
                                                                                  Полиморфный машинный код? Тогда клиент не кросслатформенным будет. Или какой-нибудь свой p-код?
                                                                                  • 0
                                                                                    С каких это пор ла2 кроссплатформенна?
                                                                                    • 0
                                                                                      Тогда машинный код — самое оно, да.
                                                                                • 0
                                                                                  Анализ трафика. Это общее.
                                                                                  В тот момент лучшего решения сделать было невозможно.
                                                                                  Про клиентские античиты скажите это близзардам с их варденом.
                                                                              • 0
                                                                                разрешение выполнения комманд игрокам — близко по смыслу с выполнением комманд в терминале *nix ОС. для того чтобы кто-то мог выполнять что-то, что создаст на карте оружие или будет добавлять патроны — у него должны быть на это права на протяжении данной игровой сессии.
                                                                                наиболее верным решением будет выделить набор комманд которые простой пользователь не должен исполнять и закрыть на них права доступа для простых пользователей. и дальше можно будет продолжить тюнинг набора комманд. пользователи-группы-уровни доступа- владелец/группа/остальные.
                                                                                ваше же решение похоже на костыль из серии «заказчик сказал что это должно было работать еще вчера, так что у вас 2 часа чтобы все исправить».
                                                                                • 0
                                                                                  Ну это серверные списки ГМ, которые, при желании, тоже надуваются подменой пакетов.
                                                                                  • 0
                                                                                    значит это недоработка серверной части и общей схемы взаимодействия. это как в онлайн казино слать игроку карты всех сидящих за столом. кстати онлайн казино тоже можно брать как хороший пример защищенной от взлома многопользовательской игры. попробуйте-ка там добавить себе лэндровер или 10^6 фишек.
                                                                                    • 0
                                                                                      у онлайн казино геймплей проще. и лендровер и фишки скорее не элемент игры, а результат. в ММО тоже вроде экспу/деньги/фраги нельзя напрямую прибавлять.
                                                                                • 0
                                                                                  man ngrep
                                                                                  • +2
                                                                                    То что клиент может послать хер те знает какую команду на сервер, и сервер ее выполнит это баг сервера. И нужно править серверную часть, а не трафик шерстить.

                                                                                    • +1
                                                                                      Я в своё время исследовал протоколы Starcraft и Broodwar. Пассивным сниффингом сети видно всё, что делают противники. Они только выбирают место для постройки здания, а я уже вижу, что за здание они выбрали. Естественно, никакими античитерскими программами такой хак выявить невозможно. Одним глазом глянул на Warcraft3 — на вид там аналогичный протокол. Если интересно, могу рассказать.
                                                                                      • 0
                                                                                        Интересно.
                                                                                        Здесь намного интереснее посмотреть что да как, чем играть.

                                                                                        Хотя как раз к продуктам Близарда это не имеет никакого отношения.

                                                                                        • +5
                                                                                          Вот код сниффера: aml.rulezz.ru/download/starsniff-lan-utf8.cpp

                                                                                          Сервер участвует только во время создания игры и присоединения к ней. Он доставляет карту клиентам, у которых её нет, проверяет совпадение версий у всех и т.д. Когда начинается игра, сервер уже не нужен. Все клиенты соединяются каждый с каждым.

                                                                                          В игре есть единое игровое время. Оно условное, считается в тиках. У каждого тика есть свой номер. Логика игры обсчитывается на каждом клиенте индивидуально и полностью детерминированно. Единица обмена информации — действия игрока за 1 тик. Каждый клиент принимает команды игрока, формирует из них пакет и раз в тик отправляет всем остальным компьютерам. Если действий не было, то всё равно посылается пустой пакет с номером тика. Пока все клиенты не передадут свои действия за тик, обсчёт тика не начинается. Как только клиент получил от всех других клиентов данные по тику, он его обсчитывает. Поскольку всем передаются идентичные данные, и логика обсчёта детерминированная, рассинхронизации не происходит.

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

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

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

                                                                                          Есть ещё Tk-версия сниффера. Там визуально на карте отмечаются действия разных противников разными цветами. И ещё была идея сделать голосовое оповещение о действиях противника, чтобы не отвлекаться на соседний монитор.
                                                                                          • 0
                                                                                            Вы сами все эти исследования проводили и протокол разбирали?
                                                                                            • +1
                                                                                              Угу
                                                                                              • 0
                                                                                                Снимаю шляпу. Сам знаю, насколько это кропотливая и утомительная работа.
                                                                                            • 0
                                                                                              Доработайте тк версию. С рюшками и возможностью смены скинов! ОБЯЗАТЕЛЬНО!
                                                                                              И с помпой выложите в сеть.

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

                                                                                              • 0
                                                                                                Мне почему то кажется, что протокол HoMM3 чем то подобен этому…
                                                                                            • 0
                                                                                              Тут помогает только уникальная шифрация трафика от клиента к серверу. Которую надо периодически менять, т.к. находятся умельцы которые любят взламывать это дело.
                                                                                              Также необходима защита клиента, что бы ни кто не мог манипулировать с ним (ведь можно вытягивать данные не только из трафика, но и используя перехватывая функции клиента).
                                                                                              • 0
                                                                                                любую защиту клиента рано или поздно поломают. а на что-то сильно хакерское пользователи наверняка будут ругаться. вот неизвестно почему много покеррумов используют какой-нибудь opensll который очень даже перехватывается. и не особо о защите вроде заботятся (хотя могу и заблуждаться, конечно).
                                                                                                • 0
                                                                                                  Вот именно. Какой-нибудь асимметричный протокол шифрования, чтобы перехватом не ломали, и мониторинг клиента на предмет внедрения. Близзард ничего такого не сделал.
                                                                                                  • +1
                                                                                                    это ломается также легко, когда писали эмулятор вов и шифрование трафика ломалось и сам траффик снифался.
                                                                                                    Сначала был инжект, то есть просто трафик дампался с самого клиента
                                                                                                    Потом написали проксю, то есть весь трафик вовки шёл через проксю и логировался, обнаружить этот способ уже невозможно.
                                                                                                    Потом был дамп с самой сетевухи пкапом.
                                                                                                    И в самом конце был свой сетевой драйвер с которого все дампалось.
                                                                                                    • 0
                                                                                                      wowcore?
                                                                                                      • +1
                                                                                                        не ) но вариант с драйвером от RomanRoman2 ) и классификация по поколениям снифферов тоже от них. Правда пкап они не использовали. А помимо их прокси еще было на базе античита от ЛостАнгела.

                                                                                                        delfin ;)
                                                                                                        • 0
                                                                                                          Супер.

                                                                                                          Расскажите чем всё закончилось, если не сложно. У вовкор так и не наступил коммунизм и они перестали разрабатывать. Мангос по сей день пилится, опенсорс же. Дельфин получается тоже загнулся, а лидер у вас был авалон/алан (?). Всё что я знаю.
                                                                                                          • +1
                                                                                                            Первоначальная идея и реализация была user456, который был core developer WoWWoW. Начал писать своё так-как его идеи и коммиты не были восприняты тогдашним лидер гавгав Др.Нексусом. Лидер делфина был Авен, это сокращение от Avenger. Хотя мангос и его комунити постоянно ныло что мы якобы просто транслируем код мангоса в делфи это естественно была не правда от начала и до конца. Вообще как сказал то ли Munche то ли сам Wad (WoWEmu, WADEmu) самое говнистое комунити у WoW и это верно. Самой узкой у нас была сетевая часть, но с приходом Ска3ки был реализован настоящий кластер и модульность, и все стали завидовать ). То есть Чат сервер, Чар сервер, Реалм сервер, Логин сервер и мап сервер (обычно два делали, азерот и калимдор) могли физически быть разными машинами. Плюс Мап сервер мог отдельный выделяться под любую карту или Инст(подземелье). Потом WoWCore сделали кластер, потом все кому не лень пытались. Примерно в это время (время релиза бурнинг крузейд) мой интерес к вов упал так-как он скатывался в задротство и казуальщину. Наверно все таки загнулся пару месяцев назад, пропал репозиторий (http://opensvn.csie.org/OpenDelfin/trunk/), жаль.
                                                                                                            Это если кратенько, можно задавать вопросы )
                                                                                                            • 0
                                                                                                              Я начал следить за вов сценой со времен ухода вада. Успел застать рождение и закат воввов, рождение в ирке дельфина, мангос с владимиром, был глубоко в теме. Потом времени на всё это не стало и я забросил всё.

                                                                                                              Юзер456 опубликовал сорцы дельфина на вовемупедии или как назывался тот забугорный сайт. И он хотел чтобы дельфин был открытым, но потом дельфин стал закрытым, а сейчас получается опять опенсурс.

                                                                                                              Было бы здорово, если бы вы создали пост про вов-эмуляцию. Замешали бы человеческие отношения (один вад или мангос вс асцент чего стоит) и техническую часть и проблемы реализации (а их было полно).
                                                                                                              • 0
                                                                                                                дельфин никогда не был закрытым, просто после множественных инцедентов с продажей сорцев и билдов дельфина неизвестно кем и неизвестно кому (развод короче) что естественно вредило проекту причем в основном репутации. То доступ к сырцам был ограничен, но получить их мог любой, зайдя на канал и провисев там некоторое время доказав что соображает. Сначала давались отдельные юниты на руки, если дело шло то давался весь проект.

                                                                                                                Ну я могу подумать над статьёй. В какой её блог только пихать?
                                                                                                                Первый эмулятор что я увидел это еще Python WoW для утёкшей WoW alpha. А начал я с вадему, и быстро стал тех. админом и главой гм на нашем локальном сервере. Потом был скрипетром wowwow и уже свой локальный сервер, ну и в конце концов один из девов дельфина.
                                                                                                                • 0
                                                                                                                  В логове оффтопиков полно блогов для такой статьи, но хотелось бы, чтобы она висела в общедоступном, то опенсурс, интервью (сделаете интервью с самим собой, а тут и рассказ о вов-сцене), практика сообществ.

                                                                                                                  Было бы крайне интересно почитать. Вон и тоже в теме :)
                                                                                                                • +1
                                                                                                                  С вовему были веселые времена. Интересное время, когда все только начиналось.
                                                                                                                  У меня даже осталось немного логов из ирц, когда wad закрывал проект:
                                                                                                                  [04.11.05/16:38:49] <~wad> думаю, что сделаем так
                                                                                                                  [04.11.05/16:39:17] <~wad> когда выйдет крек на 1.7-1.8 — на этом и остановимся.
                                                                                                                  [04.11.05/16:39:33] <~wad> остатки денег если у кого заплачено надолго — верну
                                                                                                                  [04.11.05/16:39:46] <~wad> и разбежимся как в море корабли
                                                                                                                  [04.11.05/16:39:52] <~wad> без обид, ок?

                                                                                                                  [04.11.05/18:42:00] <+Valsha> ну ты закрываешь проект?
                                                                                                                  [04.11.05/18:42:16] <~wad> когда выйдет крек на .1.7 — 1.8 тогда
                                                                                                                  [04.11.05/18:42:26] <+Valsha> уже вышел)
                                                                                                                  [04.11.05/18:42:32] <~wad> я на крекеров работать не собираюсь
                                                                                                                  [04.11.05/18:42:55] <~wad> где уже вышел, Valsha?
                                                                                                                  [04.11.05/18:43:11] <+Valsha> на DS.ru почитай

                                                                                                                  И у меня до сих пор есть архив почти всех версий этого эмулятора)
                                                                                                                • 0
                                                                                                                  Потом WoWCore сделали кластер
                                                                                                                  SKY, совесть есть? :) WoWCore первыми сделали кластер. только через несколько лет вы смогли его повторить. кстати, единственные кто смогли, о других реализациях не слышал.

                                                                                                                  • 0
                                                                                                                    прюветствую, не уж чего чего, а совести у меня нет )
                                                                                                                    сойдёмся на примерно одновременной реализации? Уж разницы в несколько лет не было, были некоторые проблемы с mapcell И апдейтами )
                                                                                                                    Как там кстати ваши вовкорские дела? )
                                                                                                                    • 0
                                                                                                                      не, не сойдемся :) я реализовал это в апреле 2006го: www.wowcore.ru/history/cluster/
                                                                                                                      ваша реализация была в феврале 2007го, в подверждение у меня есть логи вашего svn и с irc :)
                                                                                                                      2.0.6.6337-rev258 от 04.02.07 test
                                                                                                                      +Реализован кластерный режим работы сервера.…
                                                                                                                      так шооо… :))) не угадал с «несколько лет», но тем не менее, повторить его смог только cka3ka. и только через год :)

                                                                                                                      вовкорские дела возвернулись в работу тока в этом году, с полной сменой состава. заходи на сцайтег :)

                                                                                                                      ЗЫ. в аську написал, не отвечаешь. антибот? :)
                                                                                                                      • 0
                                                                                                                        нууу дев билды то гораздо раньше ) то ужо релиз ведь )
                                                                                                                        загляну!
                                                                                                                        ну антибот у меня суровый, а аська в данный момент оф, тружусь тут чтоб не отвлекали спрятался ото всех )

                                                                                                                        п.с.
                                                                                                                        что-то в словах мунче есть )))
                                                                                                                        • 0
                                                                                                                          нууу дев билды то гораздо раньше ) то ужо релиз ведь )
                                                                                                                          ну дык, про себя я могу сказать тоже самое: то — релиз. а по факту оно уже работало гораздо раньше. все равно, как ни отмазывайся — разница в реализации в один год. не позволю каверкать историю! :)))
                                                                                                                          • 0
                                                                                                                            ладно, ладно чуть позже, чуть-чуть )
                                                                                                            • +1
                                                                                                              а, забыл про инжект. Первоначально идея и реализация была от Охотника (RunWoW), также как и снятие шифрования.

                                                                                                              Эх, хорошие были времена )
                                                                                                            • 0
                                                                                                              Добавить простенькую PKI, чтобы сервер подписывал сертификаты клиентов, и MITM более не получится. Бороться с инжектами научились достаточно эффективно, хотя это как раз самое слабое звено, которое, в конце концов, по-любому получится обойти.
                                                                                                              • 0
                                                                                                                всё бесполезно, по той причине что клиенту в любом случае придется дешифровать траффик чтобы обработать, а сдампить уже дело техники.
                                                                                                                • 0
                                                                                                                  Для этого надо инжектить код в клиент. Против этого есть всякие античиты, которые умеют проверять целостность кода. Обмануть можно всё, конечно. Но это дело весьма нетривиальное.
                                                                                                                  • 0
                                                                                                                    дампи с оперативы. Но дело в другом, клиенту надо как-то дешифровать траффик. Если это может клиент на машине, это можно воспроизвести.
                                                                                                                    Видите ли, тут шифрование не поможет потому как клиенту нужен дешифрованый траффик, для проверки пароля годится шифровка потому как нужно только проверить совпадение пароля который никогда не хранится на клиенте, а с траффиком совершенно другая история.
                                                                                                                    • 0
                                                                                                                      Кстати, почитал комменты — вы ведь в вове разбираетесь. Там вообще есть какая-то информация, которая приходит на клиент, но не показывается игроку? Что-то, что может помочь читерам?
                                                                                                                      • +1
                                                                                                                        почти вся )) сервер заведует статами и общением. Клиент сам обрабатывает мир и реакции на него, просто синхронизирует с сервером координаты. Именно потому и были возможно инжекты, на телепорты, на абилки хантера (видеть всех гуманоидов на минимап), climbing (беганье по вертикальным поверхностям) ну и т.д. Потом ввели в игру warden и некоторые пофиксили штуки, но это не мешало нам пробегать весь мир со спидхаком чтобы потом из траффика создать базу респауна мобов.
                                                                                                        • 0
                                                                                                          тут опять же похоже на проблему сервера/протокола. непонятно зачем слать всем игрокам информацию про здание которого не видно, (хотя близзарду конечно виднее :-)).
                                                                                                          • 0
                                                                                                            Хоты бы потому что он может писать демку, а в режиме просмотра демки fow = fog of war = туман войны можно отключать, насколько я знаю. Но я могу и ошибаться.
                                                                                                            • 0
                                                                                                              демку сервер, например, может писать, а потом рассылать после игры. или это нагрузка большая на сервер?
                                                                                                              • 0
                                                                                                                Нет, это бредовая идея по своей сути. Здесь появляется куча всяких «если». Насколько я знаю, во всех нормальных играх демки пишет именно клиент.
                                                                                                                • 0
                                                                                                                  В старкрафте точно демку пишет сам клиент. Более того, формат демки наверняка повторяет сетевой протокол.
                                                                                                            • 0
                                                                                                              Есть режим кооперативной игры, где пунктиром видно, каких юнитов выделил твой союзник (чтобы вы не мешали друг другу). Учитывая особенности протокола (см. коммент выше), все клиенты должны получать идентичную информацию. Поэтому просто всё это транслируется всем.
                                                                                                              • 0
                                                                                                                Тогда «По этой причине, если например потюнить себе редактором памяти деньги» станет возможным, а это большее зло, чем просто мапхак.
                                                                                                                • 0
                                                                                                                  Зло все, что не контролирует сервер.
                                                                                                                  • 0
                                                                                                                    В MMO'шках да. А в обычных сетевых играх кого сервером-то делать? Выделять одного игрока — ещё большее зло. Строить кластер на ресурсах самого близзарда — дорого будет. Уже бесплатной сетевой игры не получится.
                                                                                                            • 0
                                                                                                              Хочется пожелать автору терпения в борьбе с читерами.
                                                                                                              Сам администрировал сервер КС (на всевозможных модах) и понял одно — всем не угодить.
                                                                                                              ставлю свежий античит и защиту, посещение падает на минимум ( 90% игроков даже античит не могут установить ) и бегают только «фазеры»
                                                                                                              убираю античит полный сервер читеров ( все становятся фазерами)
                                                                                                              у нас в сети игрокам АРМА2 повезло, их немного и они довольно дружны читы не используют.
                                                                                                              Успехов вашем нелегком и неблагодарном труде.
                                                                                                              • 0
                                                                                                                Всегда ставим последние апдейты и защиту.
                                                                                                                Для танкистов — делаем фак в картинках.
                                                                                                                Двух видов. Для начинающих танкистов.
                                                                                                                И для матерых. Которым каску ничем не пробить. Можно даже видео-фак сделать. С большими кнопками, большим шрифтом и большими стрелочками.
                                                                                                                Система работает.
                                                                                                              • 0
                                                                                                                У меня после прочтения остался только один вопрос:
                                                                                                                Вы упоминаете нгинкс, настройки и прочие радости. Лично я, когда в нгинксе включаю логи, рискую нарваться на падение сервиса. Это я не трафик пишу, а только некую выжимку… А вы предлагаете весь трафик писать идущий на сервер на определённый порт. Скажите, это нормально? Сервера у вас держат подобное? Или всё же вы пишете далеко не весь трафик?
                                                                                                                • 0
                                                                                                                  Собирается UDP трафик идущий через определенный порт — на одном компе сразу для 5 серверов.
                                                                                                                  И все отлично, даже остается большой запас производительности.

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

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