Geekcom
Всем привет, народ! Давно меня тут не было, да и даже когда был - почти не писал. А тут повод появился. И даже не один и не два.
Во-первых, я Килопапа. Дважды в одну реку не войдёшь, вот и отцом дважды не стать. Поэтому Килоапа. Будет третий - стану Мега. (тут, надеюсь, каламбуры и закончатся).
14 лет назад родился сын, теперь я закрываю блэкджек дочерью.
Пришлось полторы недельки в роддоме полежать, супруге в реанимации с потерей трёх литров крови, но в остальном всё круто.
Начнём с истории: мы с супругой @Treenite уже давно развиваем своё мини-комьюнити Geekcom. В котором собираем людей, которые схожи с нами взглядами. Когда-то с первым Деком (сейчас их три) мы влились в большое комьюнити по Steam Deck и долго были там админами. За три года чат вырос со ста человек до восьми тысяч, новостной и игровой каналы - до двух тысяч каждый. А потом решили, что пора в своё, и вернулись в Geekcom, где уже почти год развиваем игровое направление, особенно связанное с Steam Deck, SteamOS, и прочими экспериментами от Габена.
Во-вторых: Игровой канал, которому уже два с половиной года.
В сообществе когда-то было слишком много сообщений о том, что люди не понимали, как запускать игры, откуда их качать, ставили PortProton - бесполезный (имхо), а поначалу ещё и способный убить систему. Ругались и ставили винду. Поэтому в игровом канале я сперва сконцентрировался на том, откуда брать игры и как их ставить. Делал короткие гайды, торренты (осуждаю), потом завели файловую помойку на SMB и дальше понесло. Закончилось всё тем, что купили сервер, на котором сейчас крутится то, ради чего я сюда и пришёл. Сперва красивая картинка:
И наконец-то в-третьих
Изначально я на основе InstallBuilder от VMware с кастомными скриптами сделал установщик. Он был простой: привычный для виндовс-пользователей интерфейс, распаковка игры, добавление в стим, преднастройка (картинки, параметры запуска, протон, настройки префикса). Потом он оброс скриптами: правка реестра, русификация, запуск сложных игр в обход Steam, нативные линукс-игры. В определённый момент я устал от неудобного интерфейса, от бешеного количества скриптов, от того, что это всё могло сломаться (и оно уже сломалось! буквально в августе-сентябре мне пришлось чинить свыше 500 игр на сервере, благодаря программистам Валв и кривому клиенту стим). Поэтому было решено, засучив рукава, окунуться в болото вайбкодинга. Я ещё тогда знал, что хочу не просто замену тому, что уже есть. Я хотел развиться. Сделать удобно. Сделать то, чем хочется пользоваться. Ну и начало получаться.
Самым сложным было сделать с нуля свой установщик, который будет иметь ряд нужных мне свойств:
Интерфейс. Удобно как жмакать пальцем, так и кликать мышью.
Нормальная распаковка. Честный прогресс-бар, игровые архивы, разбитые на чанки, чтобы впоследствии была возможность "установки на лету".
Модули. Русификаторы, моды, какие-то исправления. Чтобы это можно было легко интегрировать в игру в момент установки. Чтобы выбирать было просто, а конфликты исключались.
Несколько языков. Зная, что проблема не только у ру-комьюнити, я старался также переводить всё на английский.



Пара окон для примера и сравнения мышь/тач
Это заняло у меня полгода. С февраля по август, длинные бессонные ночи продумывания архитектуры, вайбкодинга и прочих побочек Безумного Учёного.
А потом как попёрло... Появился Claude Code. Благодаря ряду принятых решений в установщике на этапе разработки, у меня появился билдер этих самых установщиков (его я показывать не буду), появился инструментарий для помощи стим-играм запускаться без этого самого стима, и мы наконец-то перешли к Geekcom Launcher.
Сперва в качестве "тренировки на кошках" появился Geekcom как плагин для Decky Loader.






Умеет он уже довольно много из того, что ему надо уметь:
Фильтры, поиск, установка и удаление с очередями, информация об игре - это всё базовые возможности, и они были реализованы в первую очередь.
Пауза, докачка, проверка установки, проверка и резервирование места под установку, модульная установка, выбор версии игры (если у игры есть нативная линукс-версия и вин-версия, к примеру) - это тоже ядро, как и
Добавление в стим: параметры запуска, префикс, Протон, медиа, добавление в коллекцию Geekcom, возможность удаления прямо из интерфейса стима. Удаляются как файлы игры, так и кэши/префиксы. И это с возможностью бекапа сохранений (работает не во всех играх, но в основном - работает успешно). Для игр Sony и игр с проблемами Steam Input всё заранее настроено так, чтобы этих проблем не было видно.
Обновления игр. Отдельная установка модулей (обновился или добавился позже).
Чистка мёртвых префиксов и кэшей шейдеров
Отправка скриншотов в тг (оказалось, что этого много кто ждал, хотя для меня это была фишка чтобы просто удобно перекидывать скриншоты и видео во время разработки)
Кнопка "Есть в Geekcom", если вдруг набрели на игру в магазине, и решили её попробовать
Различного рода уведомления и другие штуки, которые не то чтобы достойны упоминания, но точно нужны.
Во время разработки и тестирования плагина я понял, чего мне не хватает.
Во-первых, мне не хватает навыков программирования. Вайбкодинг - это хорошо, но кроме понимания того, как это должно работать и видения того, чем это должно стать - у меня ничего нет.
Во-вторых, мне не хватает бэкенда. На момент написания плагина у меня был SFTP, сервер с 32ТБ на дисках и rclone. Нужна была своя система доставки и надо было этим всем как-то управлять.
А раз надо чем-то управлять, то логично, что третьим стало то, чем всем этим управлять:















мини-апп в тг.
Единый хаб Geekcom-каналов. В котором сразу собран и каталог, и сообщество и информация с полезными гайдами и возможность управления. Даже добавлен элемент социальной сети =)
Фактически, аппа - это личный аккаунт. За счёт привязки к тг мы получаем связку дека с бэкендом. А это уже расширяет возможность взаимодействия
Твой дек - только твой. Удалённая установка (нажал в аппе кнопочку "установить" и когда устройство появится в сети, оно сразу начнёт проверку и установку), отправка скриншотов и видео, бекап сохранений, раскладки сообщества (скоро).
Личная статистика. Какие игры уже прошёл, какие хочешь пройти. Оценки игр.
Обратная связь. Прямо из плагина и лаунчера можно отправить лог для того, чтобы я мог разобраться в проблеме. Можно попросить добавить игру, обновить, добавить модуль.
Возможность следить за интересующими играми и их скидками. Да, есть куча сервисов, будет ещё один там, где это к месту.
Аппа помнит о том, что у тебя установлено, и если вышло обновление, то услужливо напомнит о нём
Потом пришла панель управления (админка, где я всем управляю как заправский злодей). Показывать не буду. Скажу лишь, что она удобная =)
И наконец-то Geekcom Launcher. Причём к моменту выпуска gcl вырос вширь, и теперь годится не только для всяких иммутабл-систем типа Bazzite и SteamOS, но и для Windows. За что спасибо одному из подписчиков =)








Красивый, тактильный. Картридж можно крутить, вертеть. Можно вставить в ридер. Всё это работает именно так, как вам кажется.
Он умеет почти всё то же самое, что и плагин, но есть два существенных отличия:
1) не умеет следить за скриншотами/видео. Это не его стезя. Его задача доставить и запустить.
2) Он умеет скачивать оффлайн-пакеты, а на Windows/Linux ещё и может работать полноценным лаунчером из других магазинов. Steam и EGS, к примеру.
Ну и стоит сказать, что это форк Carthage с множественными доработками. А ещё у моей версии есть пасхальные яйца =)
Хотелось бы ещё отметить, что технически всё это делаю я один. Но без поддержки @Treenite я бы, наверное, уже давно всё бросил. Все игры, что можно увидеть, делаются и проверяются. Иногда спустя рукава, иногда заглядывая под каждый листик. В первую очередь весь этот ресурс был сделан для того, чтобы научить людей, как запускать игры. А вылился в то, что я написал выше.
Ссылок на нас не будет, и это не реклама. Просто захотелось показать своего кибер-ребёнка кому-то, кроме своих (это что же получается, я всё таки Мегапапа?).
И ещё про людей. Один подписчик как-то вздохнул: «Эх, было бы хорошо, если бы появилась вин-версия». Я ответил: «Без проблем, только Claude не оплачен». Блямс - и вот уже два месяца он оплачивает мне нейросеть, а у лаунчера есть версия для Windows. Вот о таких людях я и хотел сказать: они есть, и их больше, чем кажется.
Закончим на приятной ноте - нашим маскотом Каджитом
А так - хороших выходных, приятных игровых сессий, надёжных партнёров и
𝑺𝑬𝑬 𝒀𝑶𝑼 𝑺𝑷𝑨𝑪𝑬 𝑪𝑶𝑾𝑩𝑶𝒀














