Пользуюсь CLion с первого EAP билда.
Воюем с коллегой на тему CLion+Cmake vs QTCreator+Qmake. Без удалённой отладки я разгромно проигрываю эту битву :) В трекере уже за всё нужное проголосовал.
И релизу радуюсь. Куплю на днях. Но вот каждый раз выходит новая версия и думаешь, то ли сам успел куда-то влезть и функция перестала работать, то ли погибла в процессе разработки. EAP упоминать не буду, там это нормально. А вот в релизе…
Точно помню, что в старых EAP версиях я использовал ctrl+c в консоли «Run» и сигнал благополучно уходил в программу. А теперь получаю копирование из консоли, хоть ты тресни. И теперь не знаю, это такую фичу для удобства сделали (тогда бы кнопочку какую, для отправки сигналов в программу, или возможность запустить её в полноценной консоли) или случайно отломали?
Кстати способ взлетит и в windows под mingw.
Файл .gdbinit кладётся в домашний каталог пользователя (для свежих версий винды C:\Users\)
В строке sys.path.insert(0, '/usr/share/gcc-4.8/python') пишется абсолютный путь для текущей версии mingw, например sys.path.insert(0, 'C:\MinGW\share\gcc-4.8.1\python').
В самом MinGW вместо mingw32-gdb ставится mingw32-gdb-python. Требует питона 2.7.
Соответственно отладчик становится не gdb а gdb-python27.
Наличие собственных скриптов характерно не только для QT. Вон в CodeBlock тоже свои скрипты. Благополучно отвалились, после обновления MinGW до версии компилятора свежее, чем в сборке CodeBlock.
Спасибо за статью. Если бы не она — так и не полез бы разбираться, почему в CodeBlock строки криво отображаются :)
Базы, люди… А если начать с простого? Луна, ангар, источник энергии, канал связи с землёй и десяток радиоуправляемых машинок. И сервис из серии «покатайся по луне». Или гоночный трек сделать. Лунная формула 1. Под это дело и создавать сначала обслуживающую технику. Потом короткии миссии персонала. То объекта провести. Потом экскурсии на первую лунную гоночную трассу…
А кстати, по чём сейчас доставка тонны груза на луну в одну сторону?
Будет здорово, когда догадаются делать через workshop локализацию и альтернативную озвучку игр.
Идеально, если доступ к локализации из workshop станет стандартом в игровой индустрии.
Автор, поздравляю. Вы изобрели autoit и тысячи других аналогичных программ.
Первый вид ботов самый практичный, а не гипотетический как вы считаете и позволяет организовывать действительно полезные ботофермы.
Shildconsole запущенная на ОБТ. Отработала пару недель. Потом прошло обновление после которого стало всё дико лагать. Через пару дней очередное обновление и все проблемы как рукой сняло.
На тематических форумах обсуждалось. Проводился эксперимент с дополнительным шифрованием трафика. Неудачный. Остальные системы Shieldconsole работали всё время. И только после ОБТ, если мне не изменяет память, появился фрост. Какие проблемы были у фроста и как решались я не знаю.
Теоретически да. Но если рассуждать в таком ключе — отрезать отладчик так же легко как снифер. Смотреть надо как сделано.
Я считаю что по возможности надо использовать методы не трогающие процесс игры. А внедрение в код, это уже крайние меры.
Я пока не сталкивался с проектами в которых было бы грамотно сделано шифрование. Хорошие надёжные шифры требуют много ресурсов.
Фогейм когда только запустил сервера Ла2 проводил эксперименты с шифрованием. Включили на пару дней. Сервера стали лагать адски. Шифрование выключили и не включали уже до фроста. Чего в фросте в итоге сделали — не знаю.
Вам стоит разобраться как игра формирует ключи. Как минимум из академического интереса :)
Автор, не верным путём вы идёте.
Получать игровые данные надо чисто, иначе бан не заставит себя ждать. Ваше вмешательство должно быть невычислимо. Единственный способ этого достичь (и конкретно для вашей задачи — получить данные не вмешиваясь в игру — он подходит идеально) — снифер.
Посмотрите в сторону библиотеки pcap. В итоге вы будете разбирать трафик игры параллельно с клиентом, никак не вмешиваясь в его работу.
Для этого метода придётся приложить чуть больше усилий — потребуется разобраться как осуществляется шифрование трафика и обмен ключами. Зато вам не надо будет при каждом обновлении игры искать куда переехали адреса функций, в которые вы ставите брекпоинты.
Большое спасибо за статью.
Читается очень легко.
В статье по строковым ресурсам вы затронете локализацию приложения? Интересует такой момент, как язык по умолчанию. Если я пишу приложение только на русском языке я могу размещать строки прям в values или я должен разместить всё в values-ru?
Подумываю зайти к вам поближе к новому году, вот только боюсь глаза разбегутся. Сам всего в пару игр играл. И после обзора и комментариев, идея подарить друзьям на новый год настольные игры уже не кажется такой замечательной :(
После написания статьи желание высказаться пропало :)
Воюем с коллегой на тему CLion+Cmake vs QTCreator+Qmake. Без удалённой отладки я разгромно проигрываю эту битву :) В трекере уже за всё нужное проголосовал.
И релизу радуюсь. Куплю на днях. Но вот каждый раз выходит новая версия и думаешь, то ли сам успел куда-то влезть и функция перестала работать, то ли погибла в процессе разработки. EAP упоминать не буду, там это нормально. А вот в релизе…
Точно помню, что в старых EAP версиях я использовал ctrl+c в консоли «Run» и сигнал благополучно уходил в программу. А теперь получаю копирование из консоли, хоть ты тресни. И теперь не знаю, это такую фичу для удобства сделали (тогда бы кнопочку какую, для отправки сигналов в программу, или возможность запустить её в полноценной консоли) или случайно отломали?
Файл .gdbinit кладётся в домашний каталог пользователя (для свежих версий винды C:\Users\)
В строке sys.path.insert(0, '/usr/share/gcc-4.8/python') пишется абсолютный путь для текущей версии mingw, например sys.path.insert(0, 'C:\MinGW\share\gcc-4.8.1\python').
В самом MinGW вместо mingw32-gdb ставится mingw32-gdb-python. Требует питона 2.7.
Соответственно отладчик становится не gdb а gdb-python27.
Если используется CodeBlock — необходимо дополнительное шаманство wiki.codeblocks.org/index.php?title=Pretty_Printers
Наличие собственных скриптов характерно не только для QT. Вон в CodeBlock тоже свои скрипты. Благополучно отвалились, после обновления MinGW до версии компилятора свежее, чем в сборке CodeBlock.
Спасибо за статью. Если бы не она — так и не полез бы разбираться, почему в CodeBlock строки криво отображаются :)
А кстати, по чём сейчас доставка тонны груза на луну в одну сторону?
Идеально, если доступ к локализации из workshop станет стандартом в игровой индустрии.
Первый вид ботов самый практичный, а не гипотетический как вы считаете и позволяет организовывать действительно полезные ботофермы.
На тематических форумах обсуждалось. Проводился эксперимент с дополнительным шифрованием трафика. Неудачный. Остальные системы Shieldconsole работали всё время. И только после ОБТ, если мне не изменяет память, появился фрост. Какие проблемы были у фроста и как решались я не знаю.
Я считаю что по возможности надо использовать методы не трогающие процесс игры. А внедрение в код, это уже крайние меры.
Фогейм когда только запустил сервера Ла2 проводил эксперименты с шифрованием. Включили на пару дней. Сервера стали лагать адски. Шифрование выключили и не включали уже до фроста. Чего в фросте в итоге сделали — не знаю.
Вам стоит разобраться как игра формирует ключи. Как минимум из академического интереса :)
Получать игровые данные надо чисто, иначе бан не заставит себя ждать. Ваше вмешательство должно быть невычислимо. Единственный способ этого достичь (и конкретно для вашей задачи — получить данные не вмешиваясь в игру — он подходит идеально) — снифер.
Посмотрите в сторону библиотеки pcap. В итоге вы будете разбирать трафик игры параллельно с клиентом, никак не вмешиваясь в его работу.
Для этого метода придётся приложить чуть больше усилий — потребуется разобраться как осуществляется шифрование трафика и обмен ключами. Зато вам не надо будет при каждом обновлении игры искать куда переехали адреса функций, в которые вы ставите брекпоинты.
Вот так у меня накопилось десяток игр, в которые я уже никогда не поиграю :)
Читается очень легко.
В статье по строковым ресурсам вы затронете локализацию приложения? Интересует такой момент, как язык по умолчанию. Если я пишу приложение только на русском языке я могу размещать строки прям в values или я должен разместить всё в values-ru?