данянул <3
Открыть в Telegram
Блог (щитпостинг) разработчика Null's Brawl и других проектов. Мои подписчики лучшие. Основной канал по NB: @nulls_ru
Больше9 255
Подписчики
+1124 часа
+127 дней
+13430 день
Архив постов
9 251
Помните о Mo.co? Новая игра Supercell, которая сейчас в бете. Они ее очень долго не обновляли, однако на днях произошел невероятный завоз контента, а именно:
1. Техперерыв на 24 часа. Я не шучу! Очевидно, ни один деплой не может длиться так долго и его растянули искусственно — но зачем?
2. Я зашел в игру и сразу же заметил, что моего собственного персонажа заменили на инвалида с темной кожей и кривым лицом. Какого черта вообще? У них совсем крыша на инклюзивности поехала или мне просто не повезло?
3. Раньше мыльным был только геймплей, а теперь еще и половина интерфейса.
4. Чат в игре лагает и дергается так, как будто бы сделан на Flutter или в WebView. Хотя внутрь я не смотрел еще и надеюсь, что это не так.
5. Каждый раз когда хочется свернуть приложение на iOS, оно пишет мне про дисконнект из-за неактивности. Даже если я был просто в главном меню...
И ладно бы мелкие баги, но со второго пункта меня вообще разнесло. Даже в Squad Busters разработчики себе такого не позволяли!
9 251
Опросы по картам снова открыты!
Ссылка и процесс прохождения остались прежними: dnull.xyz/polls.html.
9 251
Интересные факты о будущем Brawl Stars:
1. Кодовое имя одного из персонажей следующего (v68) обновления: KatanaKid. Его логика частично присутствует уже в текущей версии.
2. Кажется разработчики воодушевились нашим режимом на 50 игроков и добавили в игру скрытый режим "LargeShowdown". При этом глобальный лимит на количество команд повышен до 31 (было: 15), а на количество игроков аж до 63 (было: 15), но лимиты на размер карты (63x63) не увеличивались.
Если хотите, могу еще что-нибудь рассказать... может быть о новой физике мяча в v67?
9 251
блять а прикиньте они накрутку устраивают с аккаунтов тех, кто скачал их клиент... если честно это даже крипово...
9 251
ладно знаете в чем еще ебанина? они еще и ПОДПИСЧИКОВ накручивают пидарасы
а что если сделать платную подписку на канал...
9 251
кстати если че напоминаю
если вдруг вы скачали это приложение Telega то удалите немедленно!!
их сервера получают ключи для расшифровки всех ваших сообщений (если очень упрощенно)
9 251
КУХАХВХАЫХВАХВАЗЫВХА блять представьте ебальнички людей которые такие "нам нужен БЮДЖЕТ на накрутку дизлацков"
9 251
Блокировка накрутка Роскомнадзор.
Обход VPN блокировка РКН — накрутка накрутка, VPN Дуров Телега. Обход Дуров обход Дуров VPN, Роскомнадзор РКН. Дуров обход, Роскомнадзор ВПН Роскомнадзор Телеграм.
Vpn Телеграм прокси Дуров. Телеграм Телега накрутка обход ВПН, Телега РКН РКН Роскомнадзор Роскомнадзор. Накрутка VPN накрутка Роскомнадзор, Телеграм ВПН блокировка блокировка блокировка.
Прокси ВПН. Телега Даль.
Даль Даль Телега VK Group.
9 251
Как вы там, замедлили вам Telegram?
Надеюсь, здесь никому не надо объяснять, как обходить подобные блокировки. Однако бывает так, что по какой-то причине делать это невозможно — и тогда приходится рассматривать альтернативные решения. Но не спешите переходить в СКАМ, ведь есть решения получше!
И одним из таких решений я периодически пользовался в течение последних трех месяцев, встречайте — Element и протокол Matrix.
У этого протокола есть несколько заметных преимуществ, которые могут быть актуальны при всей сложившейся ситуации:
1. Децентрализованность: в Matrix нет единого сервера, который можно заблокировать. Вы создаете аккаунт на любом сервере по вашему выбору, и затем можете общаться с людьми с других серверов в одной общей сети. Amazing!
2. Адекватное E2E-шифрование: в отличие от Telegram, здесь им можно пользоваться, и в ЛС, и в групповых чатах. И в отличие от WhatsApp, у вас есть больше контроля над ключами и возможность использовать несколько устройств.
3. Как мне показалось, спецификация протокола выглядит довольно хорошо, в неё даже приятно погружаться и вникать. Это вам не Telegram Bots API какой-нибудь, здесь все продумано!
Также существует несколько разных клиентов на выбор: Element, Nheko, FluffyChat, много их разных и всяких. Фактически "дефолтным" клиентом сейчас стал Element, поскольку он наиболее feature-complete с протоколом Matrix, а также полностью поддерживает звонки. Тем не менее, к сожалению, он не идеален: не самый лучший интерфейс (но в целом выглядит приемлемо) и нет некоторых привычных функций (например, обрезания картинок при отправке).
Так, и что дальше? В целом, просто хотел рассказать об этом интересном мессенджере (точнее даже о протоколе), чтобы вы знали о его существовании.
Лично я сейчас не пользуюсь им, как основным. И вам не очень советую переходить в него полностью. Но время от времени он оказывается довольно полезен, в нем даже сидят некоторые участники моего чата. А еще я там созваниваюсь с родственниками без VPN😑
Если вы хотите попробовать, учтите, что стандартный сервер (matrix.org) уже давно заблокирован. Но помните про децентрализацию? Вы можете поднять свой сервер, либо воспользоваться моим (dnull.xyz), чтобы иметь возможность общаться (и даже созваниваться) без ограничений. Вот так вот.
А так, пиздец, до чего же мы докатились...
9 251
У меня новый год наступил еще 4 часа назад, капец... успел не только напиться, но и протрезветь, так сказать.
Из забавного: в 2025 году я провел в России чуть больше 4 месяцев. Хорошо это или плохо? Сказать сложно😑
Итоги года есть в большом канале, добавить особо, кажется, и нечего(
А так... поздравляю с новым годом, что ли? Тех, у кого он наступил, и тех, у кого только наступает. Желаю вам как обычно — чтоб было веселее и лучше в новом году. Чтобы точно скучно не было, вот вам елка из Тайланда (да, там нет снега и вообще она странная)
9 251
Внимание: сейчас я потратил почти 3 часа чтобы понять, что вторая пассивка Кольта не увеличивает скорость его снарядов, но только если у Кольта есть скин. Я в шоке... всё это время искал проблему у себя, а всё оказалось как обычно!
9 251
Supercell как обычно: попробуйте создать карту в режиме Награда за поимку в редакторе карт😑 (спойлер: игра просто вылетит)
Просто смотрите:
1. При входе в редактор карт, игра пытается заспавнить синюю звезду в центре карты
2. Тем самым, она создает новую сущность класса Item
3. Начиная с версии 64.226, при создании сущности этого класса пытается проверить способность AddBulletSizePercent у текущего игрового персонажа (бравлера)
4. В редакторе карт не просто нет "текущего персонажа", в нём даже никакого состояния боя нет — и игра успешно падает с попытках разыменовать нулевой указатель, полученный от функции BattleMode.getInstance()
Выводы? Их редактор карт это просто идеальный пример, как очень хорошую идею можно реализовать очень плохо. Я в шоке. Опять придется фиксить это за них.
9 251
Сегодня в Clash Royale случился МЕМ ДНЯ: какой-то человек попробовал повыпускать карты на поле за 0 эликсира и у него... получилось! Я серьезно, вот видео: https://x.com/sk__555/status/1979011746590339076.
Я разобрался почему возникла такая ошибка и теперь готов рассказать и вам.
tl;dr: в последней версии игры ребята начали в запросе клиента передавать стоимость карты, а сервер использовать это значение без должной валидации.
Начнем с того, что бои в Clash Royale полностью эмулируются на стороне сервера. В начале боя и на сервере, и на клиентах создается одинаковый экземпляр LogicGameMode. Любое действие в бою — это та или иная команда (LogicCommand). Сначала она отправляется на сервер, который пытается ее выполнить в рамках локального LogicGameMode, после чего уже сервер рассылает её всем клиентам, которые выполнят команду в тот же самый момент времени (тик). Таким образом между всеми клиентами и сервером достигается одинаковое состояние в каждый момент времени.
Можно ли выполнить так любую команду? Едва ли. Зачастую внутри каждой команды код выглядит следующим образом:
/* LogicDoSpellCommand.execute */
int execute(LogicGameMode mode) {
/* ... */
LogicSummoner summoner = mode.getSummoner(this.playerId);
LogicSpell spell = summoner.getSpell(this.spellIndex);
int cost = spell.getElixirCost();
if (summoner.getElixirPoints() < cost) {
/* Возвращаем ошибку и ничего не делаем больше */
return -13;
}
/* ... */
summoner.useElixir(cost);
summoner.castSpell(spell, this.x, this.y);
return 0;
}
LogicSummoner здесь представляет короля (игрока), а LogicSpell — конкретную карту в его колоде. Это каноничные названия, так уж сложилось.
Код выше — упрощенный пример. Каждая команда при её выполнении проверяет свою корректность, и выполняется только в том случае, если игрок действительно мог сделать соответствующее действие.
Даже если каким-то образом убедить свой локальный клиент в том, что выпустить "Рыцаря за 0 эликсира" — можно, то остальные клиенты и сервер такую команду не выполнят. А затем, после сверки чексуммы, сервер еще и заставит такого игрока-"читера" загрузить настоящиее состояние. Визуальный "Рыцарь за 0 эликсира" пропадет спустя полсекунды.
Чтож, это была предыстория, рассказывающая, почему читерить в боях в Clash Royale нельзя. Но у кого-то получилось, автор, ты что, нас обманываешь??7🙂
Нет-нет, что вы... вы еще не забыли пример кода, который я скинул выше? Это был реальный отрывок кода, только вот в последней версии его решили отрефакторить и переписать.
Раньше LogicDoSpellCommand содержала в себе координаты (x, y), порядковый номер карты (spellIndex) и всё такое. А вот начиная с последней версии (12.169) ситуация поменялась: вместо старого-доброго spellIndex пришел новый 32-битный Int32, в который запаковали сразу несколько полей:
22 lower bits: unknown purpose
6 bits: spell index (от 0 до 31)
4 bits: elixir cost (от 0 до 15)
Давайте назовем этот волшебный Int32 — SpellReference. Хотя доподлинно неизвестно, как эта структура называется на самом деле.
И как вы можете догадаться — да, стоимость карты (эликсир) теперь берется из этой структуры. Которая в свою очередь формируется клиентом. Очень умно, блинкласс!👍
Из забавного — они пытаются проверять эту структуру на корректность. То есть сначала они берут, достают spellIndex, по нему получают Spell, из Spell получают SpellReference. Только вот код сверки выглядит примерно так:
return ((command.reference ^ spell.reference) & 0x39FF8F) == 0;
Да, это какое-то безумие. Комментарии излишни.9 251
Если бы по играм Supercell появилась новая вики (например, supercell.wiki), то я бы...
9 251
Помните про опросы по картам? Давненько их не было, да... в общем, вот, думаю вы разберетесь: dnull.xyz/polls.html
(механизм немножко поменялся, но суть всё та же)
Уже доступно! Исследование Telegram 2025 — ключевые инсайты года 
