Home / Forum / Предложения / Я возвращаюсь к командам согласно второму акту.

Я возвращаюсь к командам согласно второму акту.

Ciao Stefano,

ho visto le versioni progredire come i simboli in una slot machine :) Siamo arrivati alla 5.9.0, mentre tu citi al 5.6.9. Te lo dico caso mai fosse un refuso, non avendo visto passare dalla 5.7 e 5.8. Mentre stavo scrivendo ho visto nascere la 5.9.1!


Ho visto anche l'iscrizione ritardatari, nelle versioni intermedie mi consentiva l'aggiunta della squadra ma poi non era possibile popolarla, adesso sembra esserci tutto. Bisogna provarla nei vari casi.


Quando lavori sulle squadre, c'è ancora il "fastidio" che quando espandi una squadra la pagina torna in cima, rendendo poco intuitivo l'inserimento della rosa e constringendo l'utente a scrollare verso il basso. Con molte squadre è particolarmente "annoying". Ricordo che avevamo già indirizzato questo punto, forse è ritornato.


Carina la nuova "Modalità presentazione" e la "Stampa bacheca"... le proveremo. Non sembra funzionare il citato tasto "Q" di "esci". Nulla di male, ma visto che è elencato tra le opzioni...


Per la "Zona pericolosa", sono d'accordo, la richiesta di conferma non è sufficiente (mi sono anche visto in tempo reale i tentativi di dover scrivere il nome del torneo per cancellare...). Sai cosa avevo pensato per questo? Anch'io ho avuto problemi simili, specie per cancellare tornei di test, è un momento cancellare il torneo pubblicato sul nostro sito, o un torneo concluso, con tutto quello che comporta, o peggio durante un torneo. Pensavo a una sorta di "lucchetto" per impedire la cancellazione dei tornei che si sanno essere importanti, come i tornei in corso, o qualunque altra ragione. Il motivo per cancellare un torneo penso che al 99% sia perché è stato un torneo di test, o qualcosa venuta male che voglio far fuori. Allora diamo la possiblità di mettere un "lucchetto" ai tornei importanti, in modo che non sia possibile cancellarli per errore. (sempre però con la possibilità di rimuovere il lucchetto se proprio voglio eliminarlo). Potrebbe essere un buon compromesso tra la facilità di utilizzo e l'evitare errori accidentali. Una conferma, per quanto difficile da inserire (pin, nome torneo, etc.) viene mentalmente saltata quando si è partiti con l'idea di cancellare qualcosa ("Conferma JS passata senza pensarci, cascade DELETE su tutto."). Il lucchetto potrebbe anche ipotizzare di far scegliere i tornei da cancellare dall'elenco tornei (dove si possono duplicare), senza dover aprire il torneo e andare nelle sue impostazioni, sicuramente poco intuitivo (anche se si può opinare che un'azione di cancellazione non debba essere intuitiva).


Più tardi provo il resto, e rifaccio qualche simulazione di torneo... domani sera comincia la nostra combinata, e tutti vogliamo che tutto fili liscio! :)


Grazie e ciao,

Claudio.

Показать оригинал (IT)

Дорогой @LTB

Когда я тебе писал, мы были на v5.6.9, но после моего письма я продолжил работу и теперь у нас v5.10.1. Пропущены v5.7.x (режим презентации + печать доски + опасная зона случайного кода), v5.8.x (поделиться изображением в Instagram/Telegram, пагинация парингов, оптимизации БД), v5.9.x (Web Share API, Bot broadcast с фото при завершении турнира, RR num_turni greyout, рефакторинг баннера новостей), v5.10.0 (автоматический резервный копии перед удалением с восстановлением в течение 7 дней). Релизы очень короткие, потому что у меня была свободная день.

Отвечаю по порядку на твои пункты:

═══════════════════════════════════════════════════════════

ПОДТВЕРЖДЕНИЕ ЗАБОРОВАНИЙ

═══════════════════════════════════════════════════════════

✓ Да, всё в v5.6.4 и далее защищено. Сейчас добавляешь команду во время проведения, заполняешь её стандартным UI, а при следующем Генерировать раунд она корректно попадает в паринг с 0 очками. Я также добавил 10 автоматических тестов плюс 2 на Round Robin (ЧАСТЬ D — заблокировано для RR из‑за фиксированного календаря). Все зелёные в пилотном турнире. Рекомендую сделать тест с турниром из 4–5 команд, сыграть два раунда, затем добавить «задержанную» команду: она должна попасть во третий раунд без проблем.

═══════════════════════════════════════════════════════════

СКРОЛЬ КОМАНДЫ

═══════════════════════════════════════════════════════════

✓ Подтверждено, это регрессия. Когда ты кликаешь на команду для развертывания, сервер перезагружал страницу с `&squadra=N` и скрол возвращался в начало — особенно раздражающе при большом количестве команд. Мы действительно уже исправляли это раньше, но во время одной из промежуточных релизов фикс на вкладке Команды пропал.

═══════════════════════════════════════════════════════════

КЛАВИША Q В РЕЖИМЕ ПРЕДСТАВЛЕНИЯ

═══════════════════════════════════════════════════════════

✓ Реальная ошибка, извини. Я использовал `history.back()`, но это не работает, если презентация открыта в новой вкладке (история пуста → ничего не происходит при нажатии клавиши). Сейчас поток таков:

1. Q во полноэкранном режиме → выходит из полноэкрана

2. Q снова (или без полноэкрана) → если я открыл презентацию со страницы турнира (referrer same-origin), `history.back()` возвращает тебя туда

3. Если ты пришёл напрямую по URL, редирект на публичную страницу турнира

Работает во всех случаях. Даже Esc ведёт себя так же.

═══════════════════════════════════════════════════════════

ОПАСНАЯ ЗОНА

═══════════════════════════════════════════════════════════

Ты правильно уловил момент: подтверждение, которое требует только «введите код/имя», игнорируется мысленно, когда пользователь решил отменить. Именно так произошло сегодня утром в нашем тестовом турнире.

Поэтому, помимо случайного кода из 2 цифр в опасной зоне (барьер остаётся), в v5.10.0 я добавил автоматический резервный копии перед удалением: до DELETE сохраняется JSON со всем турниром (команды, составы, формирование, раунды, партии, спарринг) в таблице «Conservato per 7 giorni». Всё находится здесь:

Меню пользователя → «Турниры удалены»

(или напрямую: my.chesspairings.org/tornei_eliminati.php)

Оттуда ты видишь недавно удалённые турниры, срок истечения резервной копии и кнопку «Восстановить», которая восстанавливает турнир с тем же ID, если он свободен. Работает как для индивидуальных, так и для командных турниров. Ежедневный cron в 04:00 очищает просроченные.

По твоему предложению о замке: держу это в уме, будем работать над этим. Автоматический резервный копии покрывает 99% случаев («о нет, я удалил, восстановлю сразу»), но замок был бы вторым уровнем явной защиты для «важных» турниров. Отмечено как следующая фича для оценки.

═══════════════════════════════════════════════════════════

РЕЖИМ ПРЕДСТАВЛЕНИЯ + ПЕЧАТЬ ДОСКИ — все тесты

═══════════════════════════════════════════════════════════

При проверке держи в виду:

Режим Представления (проектор в зале):

- URL: кнопка «Режим представления» над вкладками турнира, либо напрямую `presentazione.php?id=X&token=Y` для индивидуальных / `presentazione_squadre.php?...` для командных

- Публичный токен, вход не требуется — подключи ноутбук к проектору и готово

- 2 слайда в ротации: Топ‑10 таблица (15 с) → Паринги текущего раунда (60 с, пагинируется по 10 столов на страницу)

- Данные живые: автообновление каждые 30 с, полный reload при новых результатах или смене раунда

- Управление: Пробел = пауза/воспроизведение (с жёлтым бейджем видимым), ← → = навигация вручную без паузы, F = переключение полноэкранного режима, Q/Esc = выход

Печать доски:

- Кнопка «Печатать доску» над вкладками (всегда видна, даже при турнире в статусе регистрации)

- Генерирует A4 портрет с 2 крупными QR‑кодами: один на публичную страницу турнира, другой общий для бота Telegram

- Если турнир приватный, QR к турниру заменяется предупреждением (для активации нужно поставить галочку «Публичная страница турнира» в Настройках)

═══════════════════════════════════════════════════════════

СОБРАНИЕ НАЗДЕСЬ — удачи!

═══════════════════════════════════════════════════════════

Утром дай знать, как прошло. Если во время турнира появится какой‑то баг или странность, сообщи, но над этим можно будет поработать на следующий день.

Во время тестов я обнаружил две проблемы, первая серьёзная:

1) Я запускаю турнир (который не включал флаг «Разрешить позднюю регистрацию» в настройках). Мы на втором раунде и хочу добавить отложенную команду, но логично, что опция отсутствует. Поэтому я переходим в настройки и ставлю флаг «Разрешить позднюю регистрацию», ок. В разделе «Команды» появляется опция «+ Добавить команду к текущему турниру». Я добавляю её, но потом не могу заполнить: при раскрытии команды остаётся только опция «Отозвать», а привычный UI регистрации отсутствует. Другие команды тоже статичны – можно менять порядок шахматных досок, но нельзя добавить нового игрока или изменить имя. Если я удаляю все раунды и открываю турнир заново, то в разделе «Команды» снова разрешаются изменения. Независимо от этого некорректного поведения (делает невозможным добавление команд), меня интересует полезность флага «Разрешить позднюю регистрацию»: если хочу добавить команду, логичнее просто добавить её; зачем нужен отдельный флаг для включения этой функции? Это можно спорить, но кажется проще позволять вставлять новую команду без дополнительного переключателя.

2) В той же рамке «Команды» мы потеряли фильтр «Фильтровать по имени команды или игрока» – он больше не работает (по‑видимому ничего не отфильтровывает).


Привет,

Клаудио.

Привет @LTB


На пункте 1 завтра посмотрю, но достаточно быть внимательным и выбирать переключатели, которые, по твоему мнению, могут пригодиться.


Фильтр, вероятно, сломался, но его можно быстро починить.


С уважением.

привет @LTB 


спасибо за сообщения — оба бага исправлены в версии 5.10.4, которая только что развернута.


Баг 1 (серьёзный): UI списка участников заблокирована в состоянии «в процессе»


Подтверждено: интерфейс управления списком (переименование, добавление игроков, красная X, перестановка шахматных досок) скрывался сразу после перехода турнира в режим «в процессе». Для команд с поздним входом это было двойным

штрафом, потому что список нельзя было заполнить.


Что я изменил:

- Весь UI управления списком (переименование команды, 5 способов добавления игрока, drag‑drop досок, X удаление) теперь всегда активен, когда команда «активна» — как в фазе регистрации, так и во время турнира.

- Добавлено ограничение: кнопка X удаления игрока становится серой (не кликабельной), если у игрока уже есть зарегистрированные партии. Техническая причина: поля squads_parties.white_id/black_id не имеют внешнего ключа, а DELETE

без подтверждения мог бы стереть историю. Чтобы исключить игрока, который уже играл, из будущих формирований, измените состав раунда.

- В состоянии «в процессе» команда теперь имеет как «Отозвать», так и «Удалить» — последняя доступна только если команда никогда не играла (например, пустая команда late‑entry, которую вы хотите быстро удалить).


По флагу «Разрешить позднюю регистрацию»


Вы правы: он был избыточным. Я убрал его из настроек. Кнопка “+ Добавить команду в текущий турнир” теперь всегда появляется, когда турнир Swiss и находится в процессе. Флаг включать не нужно.


(Колонка в базе остаётся для совместимости со старыми турнирами, но больше не читается.)


Баг 2: фильтр по имени не работает


Подтверждено и исправлено. Поле «Фильтровать по названию команды или игрока» существовало на странице, но JavaScript, который его обрабатывал, находился в блоке, активном только во время регистрации. Теперь фильтр

работает в любом состоянии турнира.


---

В сумме: 4 исправления на серверной стороне + 3 новых строки на 6 языках. Версия 5.10.4 активна. Если вы повторите сценарий (турнир Swiss по командам, два раунда, добавление команды, попытка заполнить её), всё должно

работать. Сообщайте, если найдёте другие странности.


Спасибо как всегда за тщательные тесты.

Привет, Стефано,

Я проверил исправленные ошибки, и всё выглядит нормально! Я попытался дублировать наш турнир сегодня вечером (полезная опция, поверь мне!) и смоделировать весь процесс. Всё прошло хорошо, у меня есть несколько не критичных замечаний, ты сам решай, когда и стоит ли их учитывать; первые два я считаю важными.


- Я завершаю этап регистрации и хотел бы распечатать составы, чтобы игроки могли проверить их перед началом турнира. В разделе «Команды» нет кнопки печати. Мне кажется, что мы уже реализовали это: я помню обсуждение о том, что печать должна учитывать тип отображения (развернутый или свернутый). Но теперь я не могу найти эту возможность, и она была бы полезна даже во время турнира. Я видел, что ты добавил «Режим презентации», но если экран недостаточно широк, чтобы показать все команды, прокрутить нечем. Клавиша «Q» не появляется, хотя указана (предполагаю, что это back‑page, но поскольку страница открывается заново, упомянутая «Q» ничего не делает).

- В «Печать раунда» я бы безусловно добавил Elo игроков: тем, кто смотрит раунд, будет приятно знать рейтинг соперника. В этой печати также много пустого места; пару дополнительных колонок с Elo было бы вполне удобно. Также поправь надпись «РЕЗУЛЬТАТ», последняя буква «O» сталкивается со строкой колонки и выглядит плохо.

- Во вкладке «Сочетания» было бы здорово иметь возможность показывать только пары без результата. Это то, чего я всегда хотел в других программах: представь, что у тебя десятки (или сотни) шахматных досок… приходится прокручивать вручную, чтобы увидеть, кто ещё не ввёл результаты. Возможность фильтровать по отсутствующим результатам была бы отличной фичей!

- Если в разделе «Таблица» ты используешь «Изображение таблицы» (или «Поделиться», они ведут себя одинаково), выводится только первые 5 команд. Не знаю, было ли это задумано, но я считаю, что должна отображаться вся таблица.


Этот турнир, как я упоминал, будет объединённой серией из трёх турниров, один из которых состоится в субботу после обеда (я помню, ты говорил, что Томмазо не может играть по неделям). Если в субботу вы не знаете, чем заняться и хотите заглянуть к нам, мы будем рады видеть вас! :)


С уважением,

Клаудио.

привет @LTB

В эту субботу Томмазо должен быть в Турине утром на какой‑то олимпиаду по математике, а потом я сообщу о нём воскресным днем во время блиц‑турнира https://vesus.org/tournament/iVXqgWyR - спасибо за приглашение, но это будет в другой раз.


В остальном отличные замечания как всегда — я работал над всеми указанными. Версия 5.10.5 только что задеплоена.


1) Печать формирований — сделано


Новая кнопка «Печатать Формирования» в панели инструментов вкладки Команды, рядом с Развернуть/Свернуть. Режим печати следует текущему виду:

- развернутый вид → блок для каждой команды со всей составной командой (шахматная доска, название, фамилия+имя, Elo, пустая ячейка подписи для проверки игроков);

- свернутый вид → единственная таблица сводки (имя, капитан, число игроков, средний рейтинг).


Работает как до начала, так и во время турнира, и включает QR‑код на публичную страницу для тех, кто хочет проверить также «на лету» с телефона.


2) Печать раунда с Elo + выравнивание «РЕЗУЛЬТАТ» по центру


Добавлены два столбца Elo (один слева от Результата для Белого, один справа для Черного). Ячейка «РЕЗУЛЬТАТ» расширена, а заголовки теперь центрированы, чтобы последняя «O» не сталкивалась с краем колонки.


3) Режим Представления — двойной фикс


a) Таблица рейтингов в режиме вращения, 7 за раз, 15 секунд на страницу. Это было предложением, но я применил его также, потому что мгновенно решает проблему «экран слишком маленький для прокрутки»: раньше видели только фиксированную топ‑10, теперь видите всю таблицу с пагинацией. Работает как для командных турниров, так и для индивидуальных. Сочетания продолжают быть разбитыми по 10 на страницу, 60 секунд каждая как прежде.


b) Быстрая клавиша «Q» удалена. Так вы не увидите что‑то, что не работает в вашем паттерне.


4) Фильтр «Только для завершения» в сочетаниях


Я сделал это как для командных турниров (вкладка Сочетания, рядом с Компактным видом), так и для индивидуальных (сверху справа рядом со «Печатать раундом»). Переключатель скрывает уже завершённые встречи и BYE, оставляя только те, у которых ещё нет результата. Статус запоминается по турниру (localStorage), поэтому при перезагрузке страницы фильтр остаётся как вы его оставили. Когда вы вводите результат матча в активном фильтре, строка обновляется в реальном времени — не нужно отключать/включать.


Если вы фильтруете всё и ничего не остаётся, появляется зеленое сообщение «✓ Все встречи этого раунда завершены.» — так сразу видите, что раунд закрыт.


По пункту «Изображение таблицы только 5 команд»


Я отложил это на следующую релиз. Карта для совместного использования 1080×1080 задумывалась как «подиум, который можно поделиться в соцсетях» (Instagram/Telegram/WhatsApp), поэтому ограничена топ‑5. Я не могу сделать иначе.


Как всегда спасибо за точные тесты — этот раунд вышел очень чистым именно потому, что вы проверили весь поток end-to-end.


Спасибо тебе, отличные изменения!

Но я снова попробовал пройти турнир, и столкнулся с той же проблемой: программа не может сгенерировать 6‑й раунд при 8 командах, останавливаясь на 5‑м с сообщением "Механизм паринга не смог сгенерировать раунд (Error while pairing /tmp/tmpbgup_izw/tournament.trf: No valid pairing exists: The players could not be simultaneously matched while satisfying all absolute criteria.

). Возможные причины: слишком много раундов для активных команд, нерешаемые ограничения по цвету. Вы можете использовать «ручной паринг» или уменьшить num_turni и завершить.". Если хотите разобраться, я здесь: https://my.chesspairings.org/torneo_squadre.php?id=240&tab=abbinamenti. Мы направляли это сюда, почему оно выделено иначе? Каждая версия действительно требует стресс‑теста...

ciao @LTB

Indagato a fondo. Non è una regressione, è un'impossibilità matematica reale data dal setup. Ecco l'analisi:

Analisi torneo 240

8 squadre, num_turni=9, max_teorico=7 (N-1 per N pari). Al turno 6, ricostruendo chi-ha-incontrato-chi dai turni 1-5:


┌─────────────────────┬──────────────────────────┬────────────┐

│ Squadra │ Già incontrate │ Mancanti │

├─────────────────────┼──────────────────────────┼────────────┤

│ 1899 LTBirra Italia │ 1902,1905,1903,1901,1904 │ 1900, 1906 │

├─────────────────────┼──────────────────────────┼────────────┤

│ 1900 Ruffini Team │ 1905,1902,1904,1903,1901 │ 1899, 1906 │

├─────────────────────┼──────────────────────────┼────────────┤

│ 1906 Purple SST │ 1901,1904,1902,1905,1903 │ 1899, 1900 │

└─────────────────────┴──────────────────────────┴────────────┘


Le squadre {1899, 1900, 1906} formano un triangolo impossibile: ognuna ha solo le altre 2 del trio come avversarie disponibili. In un turno solo puoi formare UNA coppia, lasciando la terza scoperta senza nessuno con cui giocare (tutti gli altri li ha già incontrati). bbp6 rifiuta correttamente — non esiste pairing valido senza rematch o bye in un torneo a numero pari di squadre.

Anche le altre 5 hanno cluster molto stretti (es. {1901,1902,1904,1905} con scarse alternative). Una ricerca esaustiva conferma che dopo questi 5 turni non c'è un 6° matching valido.

Il setup

8 squadre, sistema Svizzero. Hai impostato 9 turni. Importante: in un torneo Svizzero a N pari, ogni squadra può incontrarne al massimo N-1 di distinte (8 squadre → ognuna può giocare al massimo 7 partite diverse, perché la 8ª sarebbe se stessa).

Dopo 7 turni hai esaurito tutti gli avversari possibili — se ne servono di più devi ricorrere a rematch o bye. Quindi già da subito 9 turni con 8 squadre è "fuori budget" di 2 turni.

I primi 5 turni

L'engine bbp6 ha generato 5 turni regolari. Risultato: ogni squadra ha incontrato 5 avversarie su 7 possibili, lasciandone 2 ancora "libere".

Ricostruendo da DB chi-ha-incontrato-chi:


LTBirra Italia (1899) → ancora libere: Ruffini (1900), Purple SST (1906)

Ruffini Team (1900) → ancora libere: LTBirra (1899), Purple SST (1906)

Purple SST (1906) → ancora libere: LTBirra (1899), Ruffini (1900)


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

Отличный анализ, спасибо! Извини за этот стресс, но нам действительно нужно создать систему, надёжную как бомба, и поэтому я проверяю самые сложные вещи и самые маловероятные ситуации! Я подтверждаю, что начиная турнир с правильного количества раундов всё проходит успешно. Я продолжу ставить тебя под нагрузку, пока не смогу больше найти проблему! Теперь ничего не трогаю и больше не предлагаю изменений, проведём турнир сегодня вечером и держим пальцы скрещёнными!


Спасибо ещё раз,

Клаудио.

Привет @LTB , не за что, моя желанная цель — чтобы программное обеспечение стало популярным и могло распространяться как альтернатива платным решениям для помощи клубам и секциям.


На сегодняшний день в индивидуальных турнирах мы обрабатываем около 1000 парных партий в день. Черной овцой являются командные соревнования, но я верю, что благодаря твоей поддержке мы сможем быстро выйти из бета‑версии.

Привет, @LTB


Скопируй мне ссылку на командный турнир; если сегодня вечером не сдамся, попробую следить за ним?

Привет, Стефано,

спасибо за заботу и извини, что не скопировал для тебя турнир; мы все были заняты, я тоже играл и совсем не смотрел на Форум. Но турнир (https://my.chesspairings.org/pubblico/torneo_squadre.php?id=208&token=5f5b5aa47b850102f0424a8bad91d113bad9d40eff9fc4c3fb31bd8177241113) прошёл очень хорошо, всё прошло гладко! В итоге у нас было 11 команд по 3 игрока, с 9 раундами, но всё шло так, как должно было. На этом этапе я открою новый поток для возможных дальнейших замечаний, ведь это становится слишком длинным.


Спасибо ещё раз и до свидания!

Клаудио.

привет @LTB прекрасная новость! Дай знать, что ещё могу сделать, я бы хотел вывести из бета‑версии часть с командами

Отлично. Для меня, чтобы выйти из бета‑версии, достаточно того, чтобы всё работало, и в данный момент у меня нет сообщений об этом. Остальные, которые я сделаю, будут «шпильками», чтобы сделать процесс проще и облегчить работу судьи. Главная проблема, которую вижу, — это появление багов из-за новых функций (но здесь я не собираюсь объяснять). Сейчас, при проверенных условиях, всё работает; нужно убедиться, что эта надёжная база не будет нарушена будущими функциями! И я очень хорошо понимаю, как легко это может случиться!


Например, это глупость, но было бы действительно полезно для нас: функция «обновления» Elo участников с использованием базы данных FIDE (если игрок добавлен вручную, то естественно ничего не делаем… может быть ситуация, когда у игрока при регистрации нет Elo, а потом он попадает в списки и хочет обновить свой рейтинг, или же игрок добавлен вручную, но присутствует в списках; это я считаю трудным из‑за омонимии). В любом случае, приведу практический пример: наш первый турнир был 3+2, поэтому мы использовали Elo Blitz для заполнения участников (важная функция). Сейчас, чтобы не переписывать всё заново, я просто дублирую только что завершённый турнир и меняю то, что нужно изменить (дату и время размышления). Это действительно удобно! Но поскольку наш следующий турнир в комбинации будет Rapid (12+3), мне вручную приходится менять Elo всех участников, уничтожая процесс клонирования. Если бы была функция, позволяющая использовать Elo Rapid вместо Blitz (или более общая — обновлять Elo из последнего снимка FIDE, автоматически подстраивая его под время размышления), это было бы действительно удобно!


Привет,

Клаудио.

Привет, @LTB


Твоя идея обновлять Elo из базы данных FIDE была именно тем «маленьким» изменением, которое меняет всё при организации комбинированного турнира, и я сразу же внедрил её в производство: теперь она уже активна с версии v5.10.7.

Работает в двух местах:

1. В турнире, вкладка «Зарегистрированные» — виден кнопка «Обновить рейтинг из FIDE» рядом с «Печать зарегистрированных», пока турнир находится в состоянии регистрации (т.е. до его запуска). При нажатии открывается предварительный просмотр с тремя вкладками:

  1. Что обновлять: каждая строка показывает текущий рейтинг → новый + Δ. Ничего не записывается, пока вы не нажмете «Применить».
  2. Неизменённые: те, кто уже соответствует актуальному снимку FIDE.
  3. Пропущенные: игроки, добавленные вручную/с клуба (которые мы не меняем по договорённости), и игроки FIDE без рейтинга в категории турнира (например, у них есть Standard, но нет Blitz — я отмечаю их, вы решаете, обновлять ли вручную).

2. При дублировании турнира — в модальном окне «Дублировать» появляется новый выпадающий список «Категория рейтинга нового турнира» (Standard / Rapid / Blitz). Если вы меняете категорию по сравнению с исходным турниром, обновление из FIDE выполняется автоматически после копирования, так что ситуация, о которой ты рассказывал — дублирование Blitz 3+2 для создания Rapid 12+3 и получение Elo Blitz — больше не возникает: откройте дубликат, и рейтинги уже правильные.

То же самое работает для индивидуальных турниров и командных. Там кнопка находится во вкладке «Команды» (сверху списка), а помимо рейтингов отдельных игроков также пересчитывается средний рейтинг каждой изменённой команды.

Две важные вещи, которые хочу уточнить:

  1. Таблица FIDE никогда НЕ записывается. Эти числа остаются зеркалом последней загрузки FIDE (cron запускается каждую ночь в 04:30). Кнопка обновляет только «захваченные» значения на момент регистрации в текущем турнире.
  2. Только до старта. Если турнир уже «В процессе», кнопка не появляется: изменение рейтингов посреди турнира нарушило бы порядок, tiebreak как ARO и, главное, окончательный расчёт Elo (который начинается с начального рейтинга). Если вы заметите, что рейтинг нужно скорректировать после начала турнира, правильный путь — ручное редактирование конкретного участника.

Что касается сопоставления по имени вручную с базой данных FIDE — то, о чём ты говорил как «трудно применить из‑за омонимии» — я согласен, не делал этого. Слишком легко назначить неправильный Elo омониму, а потом заметить это сложно.

Практический тест: я уже проверил твой турнир 257 Комбината (Rapid 12+3, дублирован из 256 Blitz 3+2). Система видит 34 рейтинга для обновления, 1 совпадающий и 4 пропущенные (предположительно ручные игроки или без Rapid‑рейтинг). Открой его, нажми кнопку, проверь в предварительном просмотре, что всё логично, и применяй.

Дай знать, как прошло.


Стефано


Какой кайф! Извини за технический комментарий, но эти функции для меня действительно делают разницу! Я не стал проверять отдельные Эло (сделаю это, не верь мне), но функция выполнила свою грязную работу!

Привет @LTB


Расчёт Elo правильный (просто сделать). Есть одна небольшая деталь :)


Если игроку с FIDE‑ID назначен корректный K (соответствующий базе данных FIDE), то иначе для остальных K равен 20.


Скорее всего будет сложно изменить это.

«12
Войти чтобы участвовать в обсуждении
Этот сайт использует технические и аналитические файлы cookie для улучшения работы.