Формат появился как способ передать турнир целиком одним текстовым файлом: и параметры соревнования, и всех участников, и каждую сыгранную партию. Используется он в двух сценариях.
Отсюда две разновидности файла. Для жеребьёвки достаточно минимума - номера игроков, очки и история туров. Для отчёта нужна заполненная шапка и полные данные каждого участника: без ID ФИДЕ, пола и даты рождения отчёт не примут.
Актуальная версия - TRF-2026, при этом сохраняется совместимость со старым вариантом TRF(bx).
Файл начинается со строк описания турнира. Каждая начинается с трёхзначного кода, дальше идёт значение.
012 Vibe Chess Cup Perm — название турнира
022 Perm — город
032 RUS — федерация
042 2026/03/14 — дата начала
052 2026/03/14 — дата окончания
062 24 — число участников
072 18 — из них с рейтингом
082 0 — число команд
092 Individual: Swiss-System — тип турнира
102 Ivanov Petr — главный судья
122 10'+5" — контроль времени
XXR 5 — число туров
XXC white1 — цвет первого стола в первом туре
Строки XXR и XXC - служебные, они нужны движку жеребьёвки. Без XXC движок не знает, каким цветом играет первый номер в первом туре, и отказывается считать пары.
Контроль времени записывается в принятом виде: 10'+5" означает 10 минут на партию и 5 секунд добавки на ход.
Главная часть файла - по одной строке 001 на каждого участника. Здесь важно понимать: поля определяются позициями символов, а не пробелами. Лишний пробел сдвигает колонку, и файл читается неправильно.
| Позиции | Что там |
|---|---|
| 1-3 | код строки 001 |
| 5-8 | стартовый номер участника |
| 10 | пол: m или w |
| 11-13 | звание (GM, IM, FM и т.д.) |
| 15-47 | фамилия и имя латиницей |
| 49-52 | рейтинг |
| 54-56 | федерация (три буквы) |
| 58-68 | ID ФИДЕ |
| 70-79 | дата рождения в формате ГГГГ/ММ/ДД |
| 81-84 | набранные очки |
| 86-89 | итоговое место |
| от 92 | история туров, блоками по 10 символов |
Имена пишутся латиницей: формат считает символы, а кириллица в кодировке UTF-8 занимает по два байта на букву и разъезжает колонки у тех, кто читает файл побайтово. Идентичность игрока в отчёте несут ID ФИДЕ и код федерации, а не написание фамилии - поэтому транслитерация не проблема.
После основных полей идёт история партий - по блоку на каждый тур. В блоке номер соперника, цвет и результат.
0012 w 1 — играл с 12-м номером белыми и выиграл
0007 b = — играл с 7-м номером чёрными вничью
0003 w 0 — играл с 3-м номером белыми и проиграл
0000 - U — пропуск тура с начислением очка (BYE)
0000 - + — победа за неявку соперника
0000 - - — поражение за собственную неявку
Коды результатов:
1 - победа, 0 - поражение, = - ничья;U - пропуск тура, назначенный жеребьёвкой, с полным очком;+ и - - победа и поражение за неявку: такие партии учитываются в таблице, но не идут в обсчёт рейтинга.Важная деталь: результат записывается с точки зрения самого игрока, а не белых. Если вы пишете свою программу, это первое место, где обычно возникает ошибка - партия отражается в двух строках, и у соперников коды должны быть зеркальными.
Вторая частая ошибка - ссылка на снятого участника. Если игрока убрали из турнира, а история партий на него ссылается, движок споткнётся. Корректный выход - записать такую партию как игру без соперника: 0000 и прочерк вместо цвета.
Иногда турнир начисляет очки не по классической схеме: например, 3 за победу и 1 за ничью. Для таких случаев в формате есть расширения - коды вида BBW, BBD, BBL, задающие свои значения за победу, ничью и поражение, а также коды для пропусков и неявок.
Для обычного турнира они не нужны, но полезно знать об их существовании: встретив такую строку в чужом файле, вы поймёте, почему сумма очков не сходится с привычной арифметикой.
Вручную такой файл собирают только в исключительных случаях: одна ошибка в колонке - и отчёт разъезжается. Обычно его выгружает турнирная программа.
В приложении Vibe Chess завершённый турнир выгружается в TRF одним нажатием: шапка собирается из параметров события, данные игроков - из их профилей, история туров - из сыгранных партий. Чтобы отчёт получился полным, участники заполняют в профиле раздел стандартов ФИДЕ и ФШР: ID ФИДЕ, код ФШР, звание, пол, дату рождения и федерацию.
Тот же формат используется и внутри приложения для жеребьёвки: перед каждым туром состояние турнира отдаётся движку bbpPairings, который возвращает пары. То есть отчёт не «собирается в конце» - он живёт с турниром всё время.
XXR совпадает с фактически сыгранным;Что ещё входит в пакет документов - комплект документов организатора.
Формат обмена турнирными данными ФИДЕ, он же формат Краузе. Текстовый файл, где в шапке записаны параметры турнира, а дальше по строке на каждого участника с его данными и историей всех партий. Используется для отчёта на обсчёт рейтинга и для обмена с движками жеребьёвки.
Формат строго позиционный: значение поля определяется номером символа. Кириллица в UTF-8 занимает два байта на букву и сдвигает колонки у программ, которые считают байты. Идентичность игрока несут ID ФИДЕ и код федерации, поэтому транслитерация допустима.
Как блок 0000 с прочерком вместо цвета и кодом U - пропуск, назначенный жеребьёвкой, с начислением полного очка. Неявки записываются кодами + (победа за неявку соперника) и - (поражение за собственную неявку); эти партии в обсчёт рейтинга не идут.
Для жеребьёвки достаточно минимума: номера участников, очки и история туров - движку больше ничего не нужно. В отчёте для федерации дополнительно заполняются шапка турнира и полные данные игроков: пол, звание, рейтинг, федерация, ID ФИДЕ, дата рождения и итоговое место.
Технически да, но на практике это источник ошибок: каждое поле привязано к позиции символа, и один лишний пробел ломает разбор. Файл выгружают турнирные программы - в приложении Vibe Chess это делается одним нажатием после завершения турнира.
TRF-2026, с сохранением совместимости с предыдущим вариантом TRF(bx). Движок bbpPairings версии 6.0.0 работает с обеими.
Судейские навыки не понадобятся. Приложение берёт на себя ту часть, из-за которой турниры обычно и не проводят: кто с кем играет в каждом туре и кто в итоге первый.
Бот постоянно дорабатывается под реальные турниры. Если вам нужна возможность, которой пока нет, - командой /support прямо в боте напишите разработчикам. Многие функции появились именно по просьбам организаторов, и полезные идеи внедряются быстро.
Движок, который читает TRF - bbpPairings. Обсчёт рейтинга - ФИДЕ и ФШР. Требования - регламент ФИДЕ. Документы - комплект организатора.