diff --git a/svdemo.txt b/svdemo.txt new file mode 100644 index 0000000..f414aa8 --- /dev/null +++ b/svdemo.txt @@ -0,0 +1,147 @@ +=========================================================================== + Серверные демо-записи (SVDEMO) + Руководство пользователя +=========================================================================== + +ОПИСАНИЕ +-------- + +Система серверных демо-записей позволяет записывать полное состояние +игрового сервера (все сущности, все игроки) и воспроизводить запись +с возможностью свободного перемещения камеры или просмотра от первого +лица любого игрока. + +В отличие от обычных клиентских демо (запись только того, что видит +один игрок), серверная запись содержит полную картину матча. + + +КОНСОЛЬНЫЕ КОМАНДЫ +------------------ + + svdemo_record <имя> + Начать запись серверного демо. Файл сохраняется в + svdemos/<имя>.svdm внутри игровой директории. + + svdemo_play <имя> + Воспроизвести серверное демо. Загружает карту из записи, + подключает зрителя автоматически. + + svdemo_stop + Остановить текущую запись или воспроизведение. + При остановке воспроизведения происходит отключение от сервера. + + +НАСТРОЙКИ (CVARS) +----------------- + + svdemo_autorecord <0|1> (по умолчанию: 0) + Автоматическая запись демо при каждой загрузке карты. + Файлы именуются автоматически: <карта>_ГГГГММДД_ЧЧММСС.svdm + Пример: q3dm6_20260323_141530.svdm + + Для включения: set svdemo_autorecord 1 + Значение сохраняется в конфигурации (CVAR_ARCHIVE). + + +ЗАПИСЬ +------ + +1. Запустите сервер и начните игру как обычно: + devmap q3dm6 + +2. Начните запись: + svdemo_record mymatch + +3. Играйте. Все действия всех игроков записываются. + +4. Остановите запись: + svdemo_stop + + Запись также автоматически останавливается при: + - Смене карты (map, devmap, nextmap по таймлимиту/фраглимиту) + - Выключении сервера + Перезапуск карты (map_restart) НЕ прерывает запись. + + +ВОСПРОИЗВЕДЕНИЕ +--------------- + +1. Запустите воспроизведение: + svdemo_play mymatch + +2. Карта загрузится автоматически. Вы подключитесь как зритель + со свободной камерой (полёт по карте). + +3. Управление зрителем: + - Свободная камера: перемещайтесь как обычный спектатор + - Следование за игроком: нажмите MOUSE2 (USE) для входа + в режим следования + - Переключение между игроками: MOUSE1 (ATTACK) + - Выход из следования: MOUSE2 снова + +4. В режиме следования вы видите игру от первого лица выбранного + игрока с полным HUD: здоровье, броня, боеприпасы, оружие. + +5. Табло (TAB) показывает счёт записанных игроков. + +6. Остановка: + svdemo_stop + Также воспроизведение останавливается автоматически при + достижении конца записи. + + +ФОРМАТ ФАЙЛА +------------- + +Расширение: .svdm +Директория: svdemos/ + +Файл содержит: +- Заголовок: название карты, настройки сервера, конфигстроки + (имена игроков, модели, настройки игры) +- Покадровые данные: дельта-сжатые состояния сущностей и игроков, + изменения конфигстрок + +Дельта-сжатие значительно уменьшает размер файла: типичная +10-секундная запись занимает ~50 КБ. + +Одна запись = одна карта. При смене карты запись останавливается. + + +ОГРАНИЧЕНИЯ +----------- + +- Нельзя перематывать запись вперёд или назад. +- Если в записанной игре было 64 игрока (MAX_CLIENTS), один + из них не будет виден при воспроизведении (его слот занят зрителем). +- Воспроизведение требует наличия тех же pk3-файлов (карты, модели), + что использовались при записи. +- Демо несовместимы между разными версиями движка, если изменился + формат сетевых структур. + + +ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ +--------------------- + +Автоматическая запись всех матчей: + + set svdemo_autorecord 1 + devmap q3dm17 + + (все матчи на этом сервере будут записываться автоматически) + + +Запись конкретного матча: + + devmap q3tourney2 + svdemo_record duel_finals + (играть...) + svdemo_stop + + +Просмотр записи: + + svdemo_play duel_finals + + +===========================================================================