Dossier в беседе

Инструкция

Полная инструкция использования рендер-движка Dossier

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

Часть 1

Отрендерить реплей

  1. Попроси доступ

    Пока доступ выдаётся вручную, по одному человеку. Напиши автору бота — он тебя добавит.

    Как понять, что доступа ещё нет: ты кидаешь боту файл реплея, а он молчит. Это не поломка, просто тебя ещё не добавили.

  2. Привяжи свой osu! аккаунт

    Напиши в беседе два слова, по очереди:

    reg никнейм
    link

    В первом случае бот сделает базовую привязку. Во втором — открываешь ссылку, где ты войдёшь в osu! аккаунт и разрешишь боту тебя видеть.

    Без этого видео тоже сделается. Но не будет трёх вещей:

    • Таблицы игроков беседы слева в видео;
    • Больших разрешений — выше 1080p60 бот их не даст;
    • Галочки «Отправлять реплеи разработчику».
  3. Кинь боту реплей

    Нужен файл .osr. Именно файлом — не пересылкой из другого бота и не скриншотом.

    Где его взять: реплеи лежат в папке Replays там же, где установлена osu!. Ещё их можно сохранить с экрана результатов сразу после игры или при переходе к результатам скора при помощи клавиши F2.

    Бот прочитает файл, сам найдёт карту и покажет карточку с твоим результатом. Карту искать не надо — он делает это сам, по одному только реплею.

    Если видео вышло без музыки, значит карту не удалось скачать целиком, и звука в ней просто нет. Бот об этом предупредит заранее. Это редко.

  4. Нажми «Отрендерить»

    Под карточкой будет четыре кнопки:

    КнопкаЧто будет
    🎬 ОтрендеритьВидео всего прогона, от начала до конца.
    ✂️ ЭкспозиторБот сам выберет самые интересные куски и склеит из них короткий ролик. Удобно для длинных карт.
    🗺 КартаСсылка на карту.
    🏆 Топ картыКто из беседы что набил на этой карте.

    Дальше бот будет писать, сколько осталось. Рядом кнопка ✖️ Отменить, работающая в любой момент.

    Видео делается от нескольких секунд до нескольких минут. Это нормально.

    Если в этот момент рендерит кто-то ещё, ты просто встанешь в очередь и увидишь, сколько человек впереди. Ждать у экрана не надо, бот напишет, когда будет готово.

Настройки: приложение или кнопки

Есть два способа, и они делают одно и то же. Настроил один раз — бот запомнит и будет так делать всегда.

Приложение — быстрее. Нажми кнопку меню слева от поля ввода (там, где скрепка) и выбери приложение бота. Все настройки на одном экране, скины — сеткой с картинками, и отдельная вкладка Ферма: кто сейчас помогает с рендером.

Второй способ — кнопками в чате: напиши sts и открой вкладку Рендер. То же самое, но листать дольше.

ВкладкаЧто там можно поменять
РендерСкин. Таблица игроков. Фон карты. Убрать весь интерфейс. Убрать звук.
КачествоРазмер видео. Кадры в секунду. Затемнение и размытие фона. Размер шкалы точности и курсора.
ЗвукГромкость музыки, громкость ударов, общая громкость.
ЭффектыЧто рисовать поверх игры, а что не рисовать.
СкиныЗагруженные — твои. Общие — доступные всем.

Числа не выбираются кнопками, а пишутся руками. Нажимаешь на строку, а затем бот спрашивает значение, обязательно отвечая ему числом. Какие числа можно, он скажет сам.

ЧтоОт и доКак написать
Размер видеоот 256 до 3840, обе стороны чётные1600x900
Кадрыот 15 до 24060
Шкала точностиот 25 до 300 %150
Курсорот 40 до 200 %120
Затемнение, размытиеот 0 до 100 %80
Общая громкостьот 0 до 200 %100

Свой скин

Кинь боту файл .osk. Он его распакует и положит к себе. Потом stsРендерСкин и выбери.

Если скин слишком большой, бот так и скажет. Предел зависит от Telegram, а не от бота.

Значок ⚠ у скина означает, что его распаковали старой версией кода. Он работает, но часть файлов могла не доехать. Лечится одним движением: пришли этот .osk ещё раз, и он перепакуется заново.

Галочка «Отправлять данные реплея разработчику»

Лежит в stsРендер. По умолчанию выключена, и пока ты её не поставишь, никуда ничего не уходит.

Если поставишь — после каждого отрендеренного реплея на сервере бота сохраняются два файла: сам .osr и то, что о нём сказал движок. Больше ничего: ни твоего Telegram, ни беседы. Ник osu! и так лежит внутри самого реплея.

Зачем: найти места, где движок судит неправильно. Реальный реплей, на котором расходятся счёт или комбо, стоит десятка придуманных тестов. Выключить можно в любой момент, на остальное это не влияет.

Таблица игроков в видео

Та самая табличка слева, как в игре. Чтобы она появилась, нужны все четыре вещи:

Если чего-то не хватает, бот напишет, чего именно.

Пишешь боту в личку? Тогда он не знает, чью беседу собирать. Напиши ему group — он предложит выбрать из тех, где вы оба есть, и дальше будет считать её твоей. Поменять — switch.

Ограничения

ЧтоСколько
Файл реплеядо 8 МБ
Больше 1080p605 раз в сутки, и только с привязанным аккаунтом
Сразу несколько видеоодно на человека за раз

Если видео получилось слишком большим, чтобы его отправить, бот не выкинет его, а напишет, где оно лежит.

Часть 2

Стать рендер-воркером

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

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

Выключать свой компьютер можно когда угодно. Задача, которую ты не успел доделать, вернётся в очередь и достанется следующему.

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

Если у тебя уже стоит старый воркер

Раньше воркер ставился долго: git, Python, Rust, сборка движка из исходников. Ничего этого больше не нужно. Программа теперь скачивается готовой.

Сначала убери старое, иначе две копии будут спорить за одни задачи. Останови работающий воркер — Ctrl+C в его окне, — и удали папку проекта:

# Windows
rmdir /s /q "%USERPROFILE%\1984"
rmdir /s /q "%USERPROFILE%\Dossier"
# macOS и Linux
rm -rf ~/1984 ~/Dossier

Папку могли назвать и иначе — удаляй ту, в которую делала git clone. Если не помнишь, где она, ничего страшного: старая копия просто не запустится сама и вреда не принесёт.

Настройки удалять не надо. Папка ~/.dossier (на Windows — %USERPROFILE%\.dossier) остаётся: там лежат скачанные скины, журнал и твои настройки нагрузки. Новая программа их подхватит.

Rust, git и Python можно оставить — они не мешают. Если ставил их только ради воркера и больше нигде не используешь, удаляй смело.

Что понадобится

Одна программа и один код. Всё.

Поставить ffmpeg — одна команда, выбери свою систему:

# Windows
winget install ffmpeg
# macOS
brew install ffmpeg
# Linux
sudo apt install ffmpeg

После установки закрой терминал и открой заново. Новые программы попадают в PATH только в новых окнах — это причина половины случаев «поставил, а оно не видит».

  1. Скачай программу

    Открой страницу релиза и возьми архив для своей системы:

    ФайлДля чего
    …-windows-x64.zipWindows 10 и 11
    …-macos-arm64.zipMac на Apple Silicon — M1 и новее
    …-linux-x64.zipLinux

    Распакуй целиком, куда удобно. Внутри лежат сам движок, программа-воркер и шрифт, которым рисуются цифры.

    Не растаскивай папку по частям. Движок ищет шрифт рядом с собой, и без него видео выйдет без счёта, точности и комбо — на вид готовое, а на деле нет. Перемещай папку целиком.

  2. Разреши системе её запустить

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

    macOS — сначала сними карантин, иначе просто не запустится:

    xattr -dr com.apple.quarantine .

    Точка в конце — это «здесь». Выполнять из распакованной папки: перетащи её в окно терминала после cd , и путь подставится сам.

    Windows — на экране «Система Windows защитила ваш компьютер» нажми «Подробнее», потом «Выполнить в любом случае».

    Linux — если пишет Permission denied:

    chmod +x dossier dossier-worker
  3. Запусти и введи код

    Windows — двойной щелчок по dossier-worker.exe. Mac и Linux — из терминала, из распакованной папки:

    ./dossier-worker

    При первом запуске она спросит две вещи:

    Адрес бота [https://onenineeightfour.ignorelist.com]:
    Код:

    Адрес уже подставлен — просто жми Enter. Код тебе даёт автор бота: он пишет боту cltoken и присылает восемь знаков вроде K7M2-QPRS.

    Программа сама обменяет код на ключ и запомнит его. Больше вводить ничего не придётся никогда.

    Код живёт десять минут и годен на один компьютер. Просрочился — попроси ещё, это ничего не стоит. Если код не подошёл, программа скажет об этом сразу, а не через три дня молчания.

    Если тебе когда-то давали длинную строку на 64 знака — она по-прежнему работает, вводи её в то же поле. Ничего перенастраивать не надо.

  4. Начни работу

    Дальше появится меню:

    1  начать работу
    2  проверить, всё ли готово
    3  сколько отдавать этой машины
    4  подключение — сервер и код
    5  журнал — что было и что сломалось
    0  выход

    Жми 1. Окно можно свернуть. Пока оно открыто — компьютер берёт задачи; закрыл или выключил — ничего не сломается, задача вернётся в очередь.

    Если что-то не так, начни с пункта 2: он проверяет всё сразу и говорит, чего не хватает, не забирая при этом ничьей задачи.

Сколько отдавать компьютера

Пункт 3 в меню. Машина и так сама сбавляет обороты на батарее, в жару и когда ты за клавиатурой; здесь ставится потолок поверх её решений:

ЧтоКогда пригодится
вполсилы, когда я за компьютеромчтобы совсем не замечать работу
не больше N ядержёсткий потолок, если играешь параллельно
паузастоять и не брать задачи, оставаясь на связи
работать только в часынапример с 22 до 6 — ночью

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

Журнал

Пункт 5. Показывает, что происходило в последнее время, и внизу пишет путь к полному журналу:

Mac и Linux:  ~/.dossier/worker.log
Windows:      %USERPROFILE%\.dossier\worker.log

Если что-то сломалось — присылай этот файл, а не снимок экрана. В нём есть время, версии и то, что сказал сам движок, когда рендер не удался. Пишется он всегда и сам себя подрезает — больше шести мегабайт не займёт.

Если пропал интернет

Ничего делать не надо. Программа напишет одну строку и будет сама пробовать подключиться:

Потеряно соединение с ботом..  Повторяю подключение..

Точки бегут — значит она жива и пробует. Когда связь вернётся, напишет «Соединение восстановлено!» и продолжит работу сама.

Если написали «сборки не совпадают»

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

Бот работает на версии v0.2.0, а эта — другая.
Скачать нужную и перезапуститься? (да/нет) [да]:

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

Чтобы работала сама, без окна

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

Как выключить

Ctrl+C в окне, или просто закрыть его. Если нужно не насовсем, а на вечер — лучше пауза в пункте 3: компьютер останется на связи и будет виден в списке.

Сколько места это займёт

ЧтоСколько
Сама программаоколо 30 МБ
Карты, которые скачиваются под задачирастёт, зависит от карт
Скиныдо 2 ГБ, дальше старые удаляются сами
Журналдо 6 МБ

Посмотреть, кто сейчас работает

Напиши боту rdrw — он покажет все подключённые компьютеры, что каждый делает и сколько отдаёт.

Если что

Что это значит

Что видишьЧто делать
Бот молчит на реплей Тебе ещё не выдали доступ. Напиши автору бота.
«Уже рендерю другой реплей» У тебя уже идёт одно. Чужие рендеры тут ни при чём — дождись своего или нажми «Отменить».
«Сейчас ни один компьютер не на связи» Никто из ребят не включён. Задача ждёт: включится кто-нибудь — видео придёт само. Через полчаса ожидание прекращается, тогда попроси заново.
«Жду свободный компьютер» Машины есть, но все заняты. Это просто очередь, она движется.
Видео без музыки Карту не удалось скачать целиком. Ничего не поделать, это редко.
«Скорборда нет: …» Причина написана прямо там же. Чаще всего — реплей отправлен в личку, а не в беседу.
Не даёт большое разрешение Больше 1080p60 — пять раз в сутки и только с привязанным аккаунтом. Выбери размер поменьше в sts.
«код не подошёл» Код уже использован, просрочен или набран с ошибкой. Попроси новый — они бесплатные и выдаются мгновенно.
«это код, а не ключ» Осталось от прошлой попытки: старая версия программы записала код на место ключа. Просто нажми Enter — она обменяет его сама, или введи новый код поверх.
the token was rejected Ключ не тот. Введи заново — проще всего взять свежий код у автора бота.
«сборки не совпадают» Движок обновился. Программа сама предложит скачать нужную версию — согласись, дальше она всё сделает.
ffmpeg: not on PATH ffmpeg не установлен или не виден. Поставь его командой из раздела «Что понадобится» и открой терминал заново.
font: not found Папку растащили по частям. Верни файлы обратно или распакуй архив заново целиком — без шрифта видео выйдет без счёта и комбо.
Программа не запускается, окно моргнуло и закрылось На Windows — «Подробнее» → «Выполнить в любом случае». На Mac — сначала xattr -dr com.apple.quarantine . из распакованной папки.
Не понимаю, что такое ~ Домашняя папка: C:\Users\твоё_имя на Windows, /home/имя на Linux, /Users/имя на Mac. Писать можно и полный путь — ~ просто короче.
Команда не найдена сразу после установки Закрой терминал и открой заново. Программы попадают в PATH только в новых окнах.
Не понимаю, что происходит Пункт 5 в меню — журнал. Пришли файл, путь к которому там написан.
И ещё

Остальное у бота

Здесь только про рендер. Бот умеет заметно больше — профили, лидерборды, титулы, сравнение с другими игроками. Полный список он покажет сам:

help