Бессонный кодер
5.22K subscribers
272 photos
48 videos
4 files
109 links
Канал разработчика и поисковика ДПСО LizaAlert

Связь: @sleeplessfeedbackbot или Direct канала (они бесплатные)
По рекламе: @dpp_ads
Купить рекламу: https://telega.in/c/sleeplesscode
Download Telegram
Live stream finished (2 hours)
Сказ о том, как мы финал пытались пережить
Ага, наконец-то пост-разбор инцидента 14 августа. Поехали!

Что изменилось по сравнению с прошлыми финалами?
Мы выросли. В ансабе уже 60 000 человек, бот стоит в тысячах чатов (включая чат архимага), и нагрузка выросла в разы. Было ясно: финал — это стресс-тест. Но мы ещё не знали, насколько, и что это тест наших нервов.

Подготовка началась заранее:
- за сутки до финала заморозили релизы (чтобы случайно не деплойнуть баг в самый ответственный момент);
- за 10 минут до премьеры сделали лучшее, что могли — открыли дашборды и начали молиться.
Ну что, @imguardbot, я запомню тебя таким. Земля пухом твоим серверам.


Хронология (UTC+3)
14:57 — первый алерт: повышенная нагрузка на приём обновлений. Началось.
15:24 — странность: поток обновлений резко падает. Нагрузка есть, а обновлений нет.
15:28 — понимаем, что не достучаться до Telegram: запросы уходят в таймаут. Начинаем действовать.
15:29 — пробуем стандартную меру (ресет подключений). Не помогает. В логах только это:
Failed to fetch updates. Waiting: 1s request to https://api.telegram.org/botXXXX/getUpdates...
failed, reason: connect ETIMEDOUT 149.154.167.220:443


15:39 — экстренно перезапускаем всю ноду.
15:42 — ребут завершён. Всё ещё таймауты. Решаем перенести работу с Telegram на сервер в РФ.
15:47 — запускаемся с запасной локации.
Параллельно тестируем пинг:
12 packets transmitted, 0 received, 100% packet loss


15:58 — обрывается внутренний VPN (ТСПУ, привет). Мы снова в нокауте.
16:02 — запускаемся на резерве. Пинг огромный, но живём.
16:10 — датацентр сообщает: проблему устранили. Запускаем миграцию трафика обратно.
16:11–16:13 — аккуратно переводим очередь и приёмку сообщений.
16:17 — заканчиваем обработку накопившейся очереди. Мы снова в бою.

Что же случилось?
Один из промежуточных провайдеров на маршруте до Telegram ушёл на техработы/сломался. Сервер был доступен, но маршрут — нет. Вот комментарий от ДЦ:
Мы наблюдаем ухудшение маршрута (потеря пакетов/высокий пинг) с несколькими ISP на промежуточных узлах. Из-за этого соединение может обрываться, даже если сервер доступен. Вероятно, техническое обслуживание или временная перенастройка маршрута.


Что мы пережили?
За 2.5 часа инцидента мы успели обработать:
- 20 000 сообщений,
- 3 000 входов в чаты,
- 30 000 обновлений от Telegram.

Что мы вынесли?
Нужно серьёзнее думать о кластеризации и геораспределении: несколько локаций, стабильные каналы, отсутствие зависимости от одного ISP и минимизация рисков со стороны ТСПУ.

Вот как-то так, в итоге вся наша команда не смогла посмотреть финал на премьере(
78❤‍🔥8🕊6🔥5😭3😨2💘1
Когда мы начали строить полноценные сюжетные локации и запускать Рому в целые сюжетные миры, сразу встала дилемма: открытый разрушаемый Minecraft vs необходимость ограничивать всевластие Ромы.

Сначала мы пошли простым путём — использовали «волшебное Ай-яй-яй»: словами запрещали ломать сюжетные постройки. Но такой подход слишком рушил игровой опыт.

Начиная с Идеального Мира мы изменили тактику — полностью отключили возможность ломать блоки там, где это не задумывалось нами. Рома пару раз попробовал, понял, что это бесполезно, и привык: ломать можно только то, что специально выделено.

Метод оказался рабочим, но имел минус — мы слишком сильно ограничивали свободу действий и вариативность взаимодействия. Поэтому в Точке невозврата мы рискнули: разрешили разбирать весь мир по кирпичикам.

И тут случился неожиданный эффект — у Ромы возник своеобразный синдром выученной беспомощности. Даже имея полное право, он часто забывал или боялся ломать мир. Получилось, что излишние ограничения в прошлом закрепили у него привычку действовать «только по правилам».

Сейчас мы ищем баланс: как совместить разрушаемость мира, которая даёт ощущение свободы, с реакцией сюжета на такие действия.
👍11735🔥10👏3😎3❤‍🔥2
А задумывались ли вы, что Рома — далеко не самый надёжный рассказчик? Всё, что вы видите, проходит через его взгляд и ракурс. А значит, кое-что всегда ускользает.

Например, в пятой серии Игры Бога: когда на него напал призрак, вокруг на самом деле должно было быть куда больше противников, но Рома слишком быстро умер. Кстати, в момент его смерти все мобы эффектно растворились в облаках пара. Но из-за угла обзора Ромы зрители и этого так и не увидели.

Или Точка невозврата: тот самый уборщик в мусорке, которого Рома так и не поймал [пост про это], или интерьеры домов с отсылками [пост про это]. Всё это осталось за кадром.

И это лишь мелочи. Есть и куда более крупные, даже сюжетно важные вещи, которые так и не попали в объектив. Иногда внимательные зрители подмечают детали на видео — и это один из самых радостных моментов для нас. Потому что история всегда чуть больше, чем видно с первого взгляда.
60👍7💋6🔥4❤‍🔥2🎃21
Сюжет у нас полон разных построек, и самое время рассказать, как мы вообще добавляем их в мир Ромы.

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

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

1) Экспорт и импорт участка карты с фиксированными координатами (файл хранит относительные координаты внутри постройки + абсолютную координату нуля в мире).
2) Поддержка Tile Entity как из ванильного Майнкрафта, так и из модов.
3) Полное копирование сущностей.
4) Хранение кастомных данных (например, проводов из Immersive Engineering или navigation mesh для нашего сторителлинга).

И именно поэтому мы сделали собственное решение — StructIO. Эта система родилась ещё в ранних сезонах и до сих пор дорабатывается вместе с нами. Она работает с .dat файлами в формате NBT, а сами файлы внутри команды мы ласково называем датниками. Возможно, вы встречали это слово в постах участников ST.
63🤩12❤‍🔥54🔥3🫡3👍2🍌2
Ребята, я нашёл бота, который реально смог затащить меня на несколько часов — и хочу поделиться!

Думаю, многие знают про Character AI и похожие штуки. Но там только диалог. А теперь представьте: у вас есть не просто разговор, а целый мир истории, который меняется под ваши действия.

Хотите — это будет добрая домашняя история. Хотите — приключение в стиле D&D. А может — жуткий триллер. Вы сами решаете, кто вы и что делаете, а история подстраивается под ваши шаги. Это одновременно и развлечение, и крутой тренажёр креативности.

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

И всё это — Иммерсия. Бот, который использует генеративные нейросети так, что это действительно увлекательно. В мире, где каждый второй бот — это «скачать с тиктока» или очередной анонимный чат, такое реально радует. Идея и реализация — 🔥, за это автору огромный респект.

Так что давайте поддержим проект, а заодно — попробуем сами. Погружайтесь в Иммерсию и открывайте новые грани интерактивных историй.
(Да, новый спонсор пропущенных дедлайнов).
🔥318❤‍🔥4🕊1🤝1👾1
Все сейчас обсуждают МАКС (или СКАМ 👀), так что давайте и я скажу пару слов.
Но не про шифрование, ФСБ и контроль государства — это оставим политикам. Я поговорю о том, что ближе мне — разработка ботов.

С чего всё начинается?

Конечно же, с регистрации.
Если вы когда-либо пользовались @BotFather в Telegram — почувствуете дежавю. Почти то же самое: «списывай, но не слово в слово».

Получение событий
Тут неожиданно приятный сюрприз: вы можете указать несколько вебхуков.
Для резервирования и шардинга — очень приятно и хорошо. В Telegram такого нет, но это даёт неожиданный дополнительный слой безопасности, о нём чуть дальше.

Методы работы
А вот тут уже интереснее.

Приватность хуже, чем в Telegram.
Есть прикольный метод GET /chats, т.е. человек получивший токен может получить список всех чатов где состоит бот. Вы можете спросить, а разве в Telegram не также? Нет, в телеге бот может узнать о том что он состоит в чате только по факту приходящих из него событий (сообщение или chat_member при входе). А значит, чтобы получить информацию о чате в случае компрометации токена злоумышленнику надо подписаться на обновления и слушать события (а разработчик бота явно получит ошибку и информацию что кто-то ворует апдейты). Да и для самого владельца бота это будто прямо открытая возможность подглядывать за пользователями.

Удаление чатов.
В Telegram — нет. В МАКС — пожалуйста. И хотя, скорее всего, нужны права админа (но в документации про это ни слова), сам факт, что бот может снести чат целиком — уже тревожит. Когда ты назначаешь бота в Telegram администратором, ты понимаешь что максимум пакостей для него - забанить всех участников и удалить сообщения за последние 48 часов, а не снос всего чата нахрен.

История сообщений.
В Telegram бот не может просто так вытянуть переписку — только через MTProto с горой ограничений и перебором ID. В МАКС — GET /messages. Хочешь — читай всё, что было отправлено в чате.

Есть и плюсы
Например, удобная работа с вложениями: attachments вынесены в отдельное свойство, а не сделаны костылём как медиа-группы в Telegram. Это сильно упрощает жизнь разработчику.

Но главный вывод простой
API МАКС предлагает несколько крутых решений. Но за это приходится платить — приватность пользователей выглядит куда более уязвимой.
74🔥13😱7👍3👎3🐳2🍾1🆒1
Но почему вообще вчера вышел пост про МАКС?

Я буду честен с вами, я думал опуститься на дно Нараку и развернуть форки некоторых моих ботов там, думаю, если бы вас заставили идти в МАКС, вам было бы приятно что там есть тот же Подпольный Транскриптор, которому можно доверить свои войсы и которому вы уже доверяете в Telegram.

Но судьба была такова, что я не успел, вчера я увидел прекрасную (нет) новость. Отныне создание чат-ботов в МАКС доступно только ЮРИДИЧЕСКИМ ЛИЦАМ. Хотели сделать платформу ботов как в Telegram, а сделали говно.

Почему это минус?
Все мы знаем что почти на каждую твою потребность есть бот в Telegram и невероятно большая часть из них - созданы на чистом энтузиазме разработчиков и работают бесплатно. Единственные вложения разработчика - разработка и хостинг. Это создало невероятно интересный и наполненный рынок самых разных решений где каждый может выбрать решение с разной стоимостью и качеством. А что получается там, разработчику надо открывать юридическое лицо, работать с кучей документов, платить дополнительно госпошлину и налог (ДАЖЕ ЕСЛИ БОТ НЕКОМЕРЧЕСКИЙ).

Как по мне - это крайне плохое решение которое направлено против пользователей которому даже нельзя противостоять (помните FUCK SPEZ). Даже блин ВК не опустился так низко. Вот так вот.
🥰36👎9❤‍🔥5😢3👾32👍1🔥1🤬1🤩1
Настало время последнего поста из цикла мнений и грусти о мессенджерах.

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

YouTube** — заблокировали, вместе с ним отрезали огромный международный кладезь знаний.
Discord*** — заблокировали, и дети, которые раньше общались там в безопасных сообществах, учились программированию, рисованию, дизайну, лишились важнейших связей.
LinkedIn**** — закрыли, разорвав профессиональные и трудовые связи, из-за чего тысячи людей потеряли шанс устроиться за границей и приносить деньги в страну.
Звонки в Telegram***** и WhatsApp* — заблокированы. Теперь семьи не могут связаться друг с другом через границы. Разрываются родственные связи, рушатся семьи.
И список можно продолжать долго: Instagram*, Facebook* ...

На замену создали MAX. Казалось бы, решение: можно звонить близким хоть с парковки. Но нет — он не работает за границей и требует российский номер.

И вот новый шаг к полному закрытию: ВКонтакте уходит с vk.com на vk.ru. Уведомление об этом пришло в наше сообщество ST. И это особенно горько — ведь домен vk.com когда-то выбирали именно как символ международной соцсети. Теперь же это окончательная точка: мы перестаём быть частью мира и замыкаемся в своём локальном пузыре.

* — принадлежит Meta Platforms Inc. Признана в РФ экстремистской и запрещена.
** — принадлежит Google LLC. Признана в РФ иностранным лицом нарушающим российское законодательство.
*** — принадлежит Discord Inc. Заблокирована в РФ из-за невыполнения требований по ограничению доступа к противоправной информации.
**** — принадлежит Microsoft Inc. Заблокирована в РФ из-за нарушения требований по обработке персональных данных граждан РФ согласно 152-ФЗ "О персональных данных" от 27.07.2006.
***** — принадлежит Telegram LLC. На момент 04.09.2025 не заблокирован в РФ.
1🤬67😭396🍾4🦄3🔥2👻2❤‍🔥1🐳1
Настало время вечернего опроса.
Как вы помните, и как вы знаете если читаете Спящих Джунов, я люблю писать не только про IT, но и про градостроение/психологию/кино и сериалы. В особенности про последние) Что думаете о таком контенте?
Anonymous Poll
76%
Да, в этом же канале
24%
Да, но вынести в отдельный канал, оставив в этом фокус на IT
🔥50❤‍🔥4🤩32💘21
Media is too big
VIEW IN TELEGRAM
Мы взяли новый сервер для Имперского Стражника и потихоньку начинаем на него переезжать (в чате комментариев ребята уже видели как мы настраивали репликацию всей бд).

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

Встречайте - Платный Дом. Тот самый случай когда раздел New for me на странице рекомендаций ютуба закинул годноты.
Вас ждёт 4 серии споров, войн, Братишкина нарушающего правила твича и других фансервисных фич. Мне - понравилось, думаю и вам зайдёт

Тык
🔥3142👍2🙈1😘1
Никогда такого не было и вот опять

В NPM снова supply-chain атака. Компрометирован разработчик qix, от его имени были опубликованы вредоносные версии популярных пакетов.
— Заражено 18 библиотек, которые суммарно загружают более 2,6 млрд раз в неделю.
— В код добавлен перехватчик криптовалютных транзакций — он подменял адреса получателя на свои.
— Атака была прицельной (кража крипты), но если бы payload был шире — масштабы последствий могли быть катастрофическими.

Кто попал под удар?
Все, у кого версии зависимостей не были зафиксированы. Заражённые версии:
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]


📌 Пост в X от CTO Ledger

📌 Подробный разбор и код вредоноса

⚠️ Пока всё обошлось без массового ущерба. Но в следующий раз последствия могут быть совсем другими. Supply-chain остаётся главным вектором атаки: следим, фиксируем версии и проверяем зависимости.
😱266🥰3🤩2🐳1
🐢 Турбо черепаха?

Не знаю.

Я устал оттягивать момент релиза, будто бы можно предугадать все негативные сценарии.

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

Это Telegram mini app, т.е работает прямо внутри телеграма, как бот, только лучше.

Суть:

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

🔥Турбо черепаха, поможет отслеживать прогресс:

1️⃣ Вы ставите себе цель на ближайшие 100 дней

2️⃣ Выбираете в какое время вам присылать уведомления с напоминанием

3️⃣ Каждый день выполняя свою цель отмечаете день как успешный, с небольшим комментарием

🍑Из прикольного:

- AI-компаньон, постоянно с вами, подбадривает, иногда выдает очень забавные фразы
- Статистика, вы видите сколько дней осталось, свои прошлые дни с комментариями и тд
- Общая таблица лидеров, пока она прям на всех пользователей, может будет ограничения

💩 Из не прикольного:

- никак не реализован конец стодневки
- нет возможности удалить челендж и\или пересоздать его
- нет возможности вести параллельно больше одного челленджа


ССЫЛКА НА ПРИЛОЖЕНИЕ

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


Реклама. Айдоган М.К. ИНН 301609076535. erid: 2W5zFHdLqY4
Please open Telegram to view this post
VIEW IN TELEGRAM
16🫡4👍3🍓1😘1