Эта статья проводит организатора через весь путь проведения соревнования: от создания старта в календаре сайта и онлайн-регистрации участников до судейства гонки на месте и публикации результатов. Весь процесс — от пары кликов в браузере до отсечки времени в поле — связан в единую цепочку, и при этом в день старта интернет не обязателен.
Картина целиком
- Организатор добавляет свой старт в календарь на сайте.
- В пару кликов включает регистрацию (с подтверждением заявок или без) и принимает участников онлайн.
- Перед гонкой закрывает регистрацию и синхронизирует финальный список участников на локальный компьютер судьи.
- На месте судит гонку связкой программ хронометража (регистрация на старте, отсечка времени, расчёт протокола).
- Готовый протокол выгружается обратно на сайт и виден всем — при необходимости в режиме реального времени.
Ниже — каждый шаг подробно.
Шаг 1. Создание старта и регистрация на сайте
Добавить соревнование в календарь
Залогиньтесь и откройте «Календарь → Добавить соревнование». Заполните название, дисциплину, дату и место. Организаторы и администраторы публикуют старт сразу; заявки от обычных участников проходят модерацию.
Включить регистрацию в пару кликов
На странице соревнования (для организатора) есть настройки регистрации. Ключевые параметры:
- Режим регистрации: «только за себя» (привязка к аккаунту участника) или «свободный» (можно зарегистрировать любого человека — удобно, когда заявку подаёт капитан команды или волонтёр).
- Подтверждение заявок: с аппрувом (каждую заявку организатор подтверждает вручную) или без (участник считается заявленным сразу).
- Дедлайн регистрации и лимит участников.
- Категории/группы (например, по возрасту и полу) и режим даты рождения (год или полная дата).
- Эстафета/команды с ограничением числа участников в команде.
Оплата стартовых взносов
Важно: автоматической онлайн-оплаты взноса участником на сайте пока нет. Если включён сбор взносов, факт оплаты подтверждает организатор вручную — кнопкой «Отметить оплаченным» в списке участников. То есть участник переводит взнос удобным вам способом (вне сайта), а вы отмечаете его как оплатившего. Это запланировано к развитию, но на данный момент работает именно так.
Приём заявок и управление участниками
В списке участников организатор видит все заявки и может подтверждать, отклонять (с указанием причины), отмечать оплату и удалять записи. Список можно выгрузить (CSV) и показывать болельщикам. Настройки отображения позволяют скрывать неоплативших/неподтверждённых до старта.
Закрытие регистрации перед стартом
Когда состав определён (прошёл дедлайн или вы выключили регистрацию), список участников зафиксирован и готов к переносу на компьютер судьи.
Шаг 2. Синхронизация участников на компьютер судьи
У каждого соревнования есть токен системы хронометража — его видно на странице соревнования организатору/админу. По этому токену судейские программы общаются с сайтом без логина-пароля.
В программе Start Protocol Maker откройте Settings → HTTP, укажите адрес сайта и токен — приложение вызовет GET /api/v1/participants/?competition_token=<токен> и заполнит стартовый список заявленными участниками. Дальше всё работает локально, интернет больше не нужен.
Шаг 3. Судейство гонки: система хронометража
Дальше в дело вступает связка из трёх настольных программ (Python 3.14, кроссплатформенный интерфейс). Они обмениваются простыми текстовыми файлами (стартовый протокол, список групп, результаты), поэтому их легко переносить между ноутбуками судей.
- Start Protocol Maker — регистрация на старте и выдача номеров. https://github.com/dchernykh1984/StartProtocolMakerPython
- Chronometer — отсечка времени старта и финиша участников и групп. https://github.com/dchernykh1984/ChronometerPython
- Finish Protocol Generator — расчёт протокола и выгрузка на сайт. https://github.com/dchernykh1984/FinishProtocolGeneratorPython
Как проходит гонка
- Регистрация и номера. В Start Protocol Maker отмечаете явившихся и выдаёте нагрудные номера. Номера можно раздавать автоматически («Get number»), а для раздельного старта — задать первый номер и интервал между участниками в секундах.
- Старт. Chronometer фиксирует время старта: индивидуально, по группам или общим масс-стартом.
- Финиш и круги. На финише судья нажимает отсечку для каждого участника. Поддерживаются многокруговые гонки (режим «finish / nextLap»), несколько финишных слотов, второй финишный пост и дисквалификация (DSQ).
- Протокол. Finish Protocol Generator сводит стартовый протокол и отсечки, считает места (с учётом кругов, контрольных точек, DNF/DNS/DSQ) и формирует красивый HTML-протокол — абсолютный и по группам.
Основные возможности
- Очная регистрация и выдача номеров: ручной ввод и автонумерация, группы/категории, раздельный старт с интервалом, сдвиг времени и номер этапа.
- Гибкая отсечка времени: индивидуальный, групповой и масс-старт; несколько финишных слотов; многокруговые гонки; второй финишный пост; DSQ.
- Умный расчёт протокола: сортировка по кругам и контрольным точкам/сегментам, корректная обработка DNF, DNS и дисквалификаций.
- Брендированные протоколы: HTML-шаблоны (нейтральный и под конкретный клуб), абсолютный и групповой зачёт.
Работа без интернета (офлайн)
На месте старта интернета часто нет — и это нормально. Все три программы работают локально: регистрация, отсечка времени и генерация протокола используют только файлы на ноутбуке. Связь с сайтом опциональна: список участников вы подтянули заранее, а протоколы можно выгрузить позже. Можно провести всё соревнование полностью офлайн и опубликовать результаты вечером.
Надёжность и бэкапы
Судейство — это ответственность, а ноутбук может зависнуть, разрядиться или пострадать. Поэтому практически каждое действие сохраняется на диск:
- Start Protocol Maker держит резервную копию протокола (
data/spm_backup.txt) и делает снимок при изменениях; при следующем запуске состояние восстанавливается автоматически. - Chronometer после почти каждой отсечки пишет снимок с отметкой времени в папку
temp/(temp/stc<время>.txt). При желании автобэкап отключается галочкой «Disable backup».
Практический итог: даже если ноутбук почти полностью выведен из строя, но жёсткий диск уцелел, вы извлечёте из этих снимков большую часть результатов и восстановите протокол.
Публикация результатов на сайте
Готовый протокол возвращается на сайт. В Finish Protocol Generator кнопка Upload отправляет HTML-протокол в POST /api/v1/protocols/upload/ (multipart, с тем же токеном соревнования и флагом is_live). Сайт сохраняет протокол и показывает его на странице соревнования. В режиме «live» протокол можно обновлять по ходу гонки — зрители видят результаты в реальном времени. Есть и альтернативная выгрузка по FTP.
Установка судейских программ (кратко)
Все три программы ставятся одинаково. Нужны Git, Python 3.14 и Poetry.
Предварительно — Python 3.14 и Poetry:
# macOS
brew install git python@3.14 pipx && pipx ensurepath && pipx install poetry
# Linux (Ubuntu/Debian)
sudo apt install git && sudo add-apt-repository ppa:deadsnakes/ppa && sudo apt update && sudo apt install python3.14 python3.14-venv
pip3 install pipx && pipx ensurepath && pipx install poetry
# Windows (PowerShell): установите Git и Python 3.14 (отметьте "Add Python to PATH"), затем:
pip install pipx; pipx ensurepath; pipx install poetryУстановка и запуск каждой программы (на примере Start Protocol Maker — для остальных замените URL и папку):
git clone https://github.com/dchernykh1984/StartProtocolMakerPython.git
cd StartProtocolMakerPython
poetry config virtualenvs.in-project true
poetry install --no-root
poetry run python -m app.mainАналогично: https://github.com/dchernykh1984/ChronometerPython.git (Chronometer) и https://github.com/dchernykh1984/FinishProtocolGeneratorPython.git (Finish Protocol Generator).
Для macOS есть готовые сборки-приложения (
.app), которые запускаются двойным кликом без терминала.
Возможность расширения
Система открытая (open source) и модульная, поэтому её легко развивать:
- Свои шаблоны протоколов — брендирование под клуб/федерацию добавляется отдельным HTML-шаблоном, без изменения логики расчёта.
- Новые форматы выгрузки — помимо HTTP на сайт есть FTP; по аналогии добавляются коннекторы к другим платформам.
- Новые источники участников и форматы стартовых протоколов — формат файлов простой и текстовый.
- Логика расчёта (круги, контрольные точки, очки) вынесена в отдельный модуль и расширяется под нестандартные форматы гонок.
Репозитории
- Start Protocol Maker — https://github.com/dchernykh1984/StartProtocolMakerPython
- Chronometer — https://github.com/dchernykh1984/ChronometerPython
- Finish Protocol Generator — https://github.com/dchernykh1984/FinishProtocolGeneratorPython
*Описание основано на исходном коде сайта и судейских проектов по состоянию на июнь 2026 года. Точные шаги установки и актуальные возможности смотрите в README соответствующих репозиториев.*
Комментарии (0)
Комментариев пока нет. Будьте первым!
Войти чтобы оставить комментарий.