MadWars
БАЗА ЗНАНИЙ · Q3

OSP 1.03a: полное руководство и оригинальная документация

Проверенный дистрибутив, установка, режимы, competition workflow, referee, enemyModel, HUD, логи и противоречия старых документов.

MadWars · 28.07.2026

Что такое OSP

Orange Smoothie Productions 1.03a — финальная версия классического турнирного мода Quake III Arena. Для стандартных режимов OSP стремится сохранить механику VQ3, добавляя match workflow, referee, расширенный HUD, статистику, камеры и серверные инструменты.

Это перестаёт быть чистой VQ3 при включении CPM, CQ3, Instagib, Clan Arena или FreezeTag.

Проверенный дистрибутив

OSP 1.03a FULL:

  • файл osp-Quake3-1.03a_full.zip;
  • размер 55 882 759 байт;
  • MD5 автора 8b2b4925cce1895067bc617b86c62ea5;
  • контрольная сумма проверенного архива совпадает;
  • SHA-256 af9a184134733fc24c308b4f8790932d30dc70b6c8a36e050223ba16ba2ac2b3.

В финальном пакете находится zz-osp-server3a.pk3 от 4 марта 2003 года. Не удаляйте его при очистке старых zz-osp-server0.pk3.

Версии:

  • 1.0 — 14.12.2001;
  • 1.01 — 25.01.2002;
  • 1.02 — 16.02.2003;
  • 1.03 — 28.02.2003;
  • 1.03a — 04.03.2003.

Патч 1.03a исправил Godmode exploit, выпадение holdable items вне FreezeTag и два дефекта server_freezetag.

Совместимость

Оригинальный README указывает Q3 1.30+. Современная базовая точка — финальные данные 1.32c.

ioquake3 сетево совместим с Q3 1.32c и поддерживает большинство модов этого поколения. OSP использует QVM, поэтому на x86_64 обычно не нужна старая нативная DLL. Однако официальной матрицы «OSP × каждая версия ioquake3» нет: корректно говорить «обычно совместим через QVM», а не «гарантирован».

Установка

1. Поместите полный каталог osp/ рядом с baseq3/. 2. Установите легальный baseq3/pak0.pk3 и patch data pak1pak8. 3. При обновлении удалите старые z-osp-cgameXXX, extra, players и старый zz-osp-server0.pk3. 4. Оставьте актуальный zz-osp-server3a.pk3.

Оригинальный запуск:


q3ded +set dedicated 2 +set bot_enable 0 +set fs_game osp +set vm_game 2 +exec team.cfg

ioquake3:


ioq3ded.x86_64 +set dedicated 2 +set fs_game osp +set vm_game 2 +exec team.cfg

В комплекте есть ffa.cfg, 1v1.cfg, team.cfg, ctf.cfg, ctf-public.cfg, clanarena.cfg, freezetag.cfg, freezetag-vanilla.cfg, instagib.cfg.

Встроенные режимы

  • mode_start 0 — FFA;
  • 1 — duel;
  • 2 — QIL TeamDM;
  • 3 — TeamDM;
  • 4 — CTF;
  • 5 — Clan Arena;
  • 6 — FreezeTag OSP;
  • 7 — FreezeTag vanilla 1.51b;
  • 8+ — custom modes.

server_availmodes — bitmask 1, 2, 4, 8, 16, 32, 64, 128. Задавайте его явно: старые документы противоречат друг другу по default.

Custom mode описывается в mode_customfile. Имя и cfg разделяются настоящим TAB, не пробелами. Не задавайте sv_maxclients внутри custom mode: оригинальный manual предупреждает о серьёзной нестабильности.

Матч

Базовый цикл:


/callvote mode <id>
/callvote map <map>
/lock
/speclock
/ready
/time

При g_doWarmup 1 работают ready, notready, time, timeout, timein. g_warmup 0 в OSP означает ожидание ручного ready.

Основные параметры:

  • match_readypercent, match_minplayers;
  • match_timeoutcount, match_timeoutlength;
  • match_overtime, match_overtimecount, match_overtimelength.

Капитаны и команды:

  • lock, unlock, joincode;
  • invite, remove, resign;
  • specinvite, speclock;
  • teamready;
  • coachinvite, coach, coachkick.

Подробная шпаргалка: OSP: быстрый старт матча.

Referee — не RCON

ref <password> использует отдельный ref_password. Значение none отключает вход referee.

Полезны:

  • r_help, r_abort, r_allcaptain, r_allready;
  • r_ban, r_kick;
  • r_map, r_restart;
  • r_putred, r_putblue, r_remove, r_promote;
  • r_lock, r_unlock;
  • r_speclock, r_specunlock;
  • r_mutespecs, r_pause.

Referee может принудительно выполнить доступный vote через ref <vote_option> <param>, но это ограниченный внутриигровой уровень, не полный engine RCON.

Полный список: команды игрока, капитана и судьи.

Enemy model и цвета


seta cg_enemyModel "keel/pm"
seta cg_enemyColors "iiii"

Формат cg_enemyColorsRHSL:

  • R — rail при cg_teamRails 2;
  • H — голова;
  • S — торс;
  • L — ноги.

Допустимы 0–9, a–z; цвет применяется к pm skin. В оригинальном ClientReadme заголовок ошибочно говорит <HSL>, но описание и четырёхсимвольный пример подтверждают RHSL.

Также важны color1 RHSL, color2, cg_forceColors, cg_swapSkins, cg_teamRails, cg_truelightning, cg_nomip, cg_enableOSPHUD, ch_ и cf_.

Подробно: клиентские настройки и HUD.

Ограничения клиента

OSP может принудительно исправлять:

  • com_maxfps в диапазон 1–125;
  • cg_fov и cg_zoomFov максимум 140;
  • cg_shadows 0–1;
  • r_fullbright 0;
  • r_subdivisions не выше 80;
  • r_znear 4;
  • r_showtris и r_shownormals 0.

Исправление renderer-cvar вызывает vid_restart, поэтому при входе карта иногда визуально загружается дважды. Ограничение FPS снимается vote capfps 0 или соответствующим битом server_customclient.

HUD, chat и наблюдение

Документация OSP включает:

  • cg_enableOSPHUD, cg_q3compScoreboard;
  • ch_CrosshairColor, ch_drawSpeed, ch_Teamoverlay, ch_Weaponswitch;
  • cf_* для размеров и позиций шрифтов;
  • team-chat tokens #A #C #D #F #H #I #K #L #M #P #R #S #T #U #W;
  • multiview, ViewCam;
  • stats, topshots, bottomshots;
  • auto demo/screenshot через cg_autoAction.

OSP Viewcam и генератор CFG вынесены отдельно.

Логи и статистика

OSP расширяет обычный g_log:

  • подробные match events;
  • weapon statistics;
  • admin log;
  • данные для исторических parsers и VoodooStats.

Не отдавайте raw logs через веб: они могут содержать IP и административные события. Парсеру нужен read-only доступ только к нужному файлу и отдельная политика хранения.

Первичный формат: osp-q3-Logging.txt.

Важные противоречия старых документов

  • русские файлы в дистрибутиве относятся в основном к 1.0/1.01 и не покрывают 1.02/1.03;
  • корневой README подписан 1.02, INSTALL — 1.03, а version truth дают History.txt, description.txt и zz-osp-server3a.pk3;
  • default mode cfg частично старые;
  • server_availmodes имеет разные defaults в разных файлах;
  • пример Instagib CTF ошибочно пишет mode_start 7 вместо 9;
  • старые советы com_hunkMegs 56/64 не являются современным universal default;
  • server_ospauth — историческая проверка, не полноценная современная anti-cheat система.

Оригинальная документация

Дополнительные MadWars-справочники: серверные переменные, фильтры игроков, серверная графика.