Contest Arbitrator GIT
Contest Evaluation software for RU-QRP Club and others
Status: Beta
Brought to you by:
ur4mck
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 | ***** Contest Arbitrator ("Судья Соревнований") ***** версия 0.3.2 РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ Программа Contest Arbitrator (contesta) предназначена для выполнения судейства радиолюбительских соревнований. Изначально программа была написана по заказу и для облегчения судейства мероприятий клуба RU-QRP. Открытые исходные коды, а также модульная структура программы contesta позволяет использовать ее для судейства и любых других соревнований. Программа contesta находится в стадии разработки и тестирования. Любые замечания и предложения по ее улучшению принимаются по адресу: ur4mck@gmail.com I, УСТАНОВКА На данный момент программа contesta работает на платформах Linux и Windows (Проверено на Linux Debian, CentOS Linux, Xubuntu и Microsoft Windows XP SP 2). Если Вы собираете программу из исходных кодов, обратитесь за инструкцией к файлу INSTALL внутри директории с исходным кодом. Если Вы используете готовые исполняемые файлы, то следуйте инструкциям ниже. Программа contesta является самодостаточной. Это означает, что для ее работы требуется только операционная система и минимальный объем оперативной памяти. Для запуска программы на платформе Win32 требуется Windows 95 или выше. Для запуска программы на платформе Linux требуется библиотека libc-2.5 или выше. Программа contesta не требует установки, она может работать из любой директории. Однако, для упрощения работы с ней рекомендуется скопировать все файлы в специально созданную для программы директорию на локальном диске, например, в C:\contesta Таким образом, в этой директории у Вас будут находиться: contesta.exe - программа Contest Arbitrator /conf - примеры конфигурационных файлов для соревнований RU-QRP Эти файлы откомпилированы для операционной системы Windows. Если Вам они нужны для Linux, то Вам необходимо откомпилировать программу самостоятельно (см. инструкции в файле INSTALL). Проверьте, что программа запускается на Вашем компьютере. Для этого выполните следующие действия: 1. Откройте командную строку (Пуск -> Выполнить -> в поле "Открыть" напишите cmd) 2. В появившемся черном окне перейдите в директорию, в которую Вы скопировали .exe файлы программы contesta (в нашем примере это "C:\contesta"). Для этого в командной строке наберите: cd C:\contesta и нажмите [Enter]. После этого Вы должны увидеть, что сменилась текущая директория (последняя строка в консоли будет такой: C:\contesta> 3. Теперь попробуйте запустить программу с ключом "-h". Так Вы увидите доступные опции программы и убедитесь, что программа запускается на Вашем компьютере. Для этого в командной строке наберите: contesta -h и Вы увидите краткую справку по опциям программы: c:\contesta>contesta -h Contest Arbitrator version 0.3.2 (c) 2009-2013 by Dmitry Gorokh, UR4MCK This program is FREEWARE Usage: contesta [options] [files] Available options are: -h - Show usage information -c <file> - Specify configuration file -d <path> - Specify directory with log files (default is current directory) -o <file> - Specify output file with results (default is stdout) -r <path> - Specify directory for log analyzis reports (default is ./reports) -u <path> -Specify directory for UBN files (default is ./ubn) Please report bugs to ur4mck@gmail.com c:\contesta> II. КОНФИГУРАЦИЯ Программа Contest Arbitrator является консольной программой и требует указания параметров того или иного соревнования в конфигурационном файле. Файл конфигурации представляет собой обычный текстовый файл в удобочитаемым для человека формате. Пример файлов конфигурации для вы найдете в директории /conf. Прежде чем начать судейство нового соревнования, нужно обязательно создать для него файл конфигурации. Для этого можно просто скопировать файл-пример conf/general.conf в другой файл и отредактировать его. Ниже приведено краткое описание формата файла конфигурации. ОПИСАНИЕ ФОРМАТА ФАЙЛА КОНФИГУРАЦИИ Файл конфигурации состоит из пары "имя параметра" и "значение", а также из комментариев к ним. Каждый параметр, определяющий соревнование, начинается с имени параметра, после чего через пробел указывается его значение. Числовые значения указываются как есть (без кавычек или скобок), строковые параметры (нечисловые или такие, в которых присутствует пробел) ОБЯЗАТЕЛЬНО указываются в кавычках. Символ '#' (без кавычек) означает, что до конца строки написан комментарий и этот текст игнорируется программой. В файле конфигурации могут присутствовать пробелы и табуляторы в любых местах, они, также как и пустые строки, игнорируются программой contesta. Описанный формат совместим с принятым в операционных системах семейства *nix и мире OpenSource. Откройте в текстовом редакторе файл conf/general.conf и посмотрите, какие параметры там присутствуют. Параметр "name" - определят название соревнований. Это название фигурирует в результатах анализа отчетов и итоговой рейтинговой таблице. Пример: name "RU-QRP Wake-Up! Sprint" Параметр "id" - определяет условный идентификатор соревнований. Он используется внутри программы contesta для выбора того или иного контестового модуля. Перечень идентификаторов указан в комментариях в файле conf/general.conf: Пример: id 1 Параметр "start" - указывает на начальную дату и время соревнований. Формат такой: "год-месяц-день часыминуты". Время указывается в UTC. Пример: start "2009-06-06 0600" Параметр "end" - указывает на конечную дату и время соревнований. Формат такой же, как и для "start". Обратите внимание, что конечная дата и время указывает следующую минуту сразу после последней минуты соревнований. Так, если в конфигурационном файле указано окончание соревнований в 2009-06-06 0800, то последняя минута соревнований будет 2009-06-06 0759 (точнее время - 07:59:59) Пример: end "2009-06-06 0800" Параметр "rounds" - определяет количество туров (раундов) в соревнованиях. Если раунды не используются, удалите этот параметр из файла конфигурации или укажите его равным 1 или 0. Все раунды делят время проведения соревнований на равные интервалы. Пример: rounds 4 Параметр "max_dt" - устанавливает для соревнований максимально допустимое время расхождения во времени в отчетах участников. Время указывается в секундах. Так, 3-х минутное допустимое расхождение будет иметь значение 180 (сек). Пример: max_dt 180 Параметр "band_list" - определяет перечень допустимых в соревновании радиолюбительских диапазонов. Список состоит из названий диапазонов перечисленных через запятую. Допустимые диапазоны: 160M, 80M, 40M, 20M, 15M, 10M, 6M, 2M, 222, 432, 902, 1.2G, 2.3G, 3.4G, 5.7G, 10G, 24G, 47G, 75G, 119G, 142G, 241G, Light, ALL. Список диапазонов соответствует описанию формата Cabrillo v3. Пример: band_list "40M,20M" Параметр "mode_list" - также как и band_list, этот параметр определяет список допустимых в соревновании режимов работ. Допустимые режимы: CW, SSB, DIGI, RTTY, MIXED, ALL. Пример: mode_list "CW" Параметр "signature" - для обеспечения возможности ручного редактирования судьей отчетов участников требуется указание этого параметра. Эта своеобразная подпись судьи, которая должна совпадать со значением, вручную добавляемого в отчет тэга "SIGNATURE:". Подписью может являться любая строка символов. Редактирование отчетов с использованием подписи может потребоваться, когда судья решает, что какое-либо конкретное QSO в отчете требуется отметить для того, чтобы программа contesta форсировала решение засчитывать или нет это QSO для очков и(или) для множителя. Подпись с тэгом "SIGNATURE:" (без кавычек) в отчете может располагаться в любом месте между тэгами "START-OF-LOG:" и "END-OF-LOG:". Для отметок QSO в отчетах определены следующие символы (без кавычек): '+' - засчитывать QSO для очков '-' - не засчитывать QSO для очков '*' - засчитывать QSO для множителя '%' - не засчитывать QSO для множителя Допускается указание нескольких отметок сразу (без пробелов), но не более двух. Например, '+*' (без кавычек) означает не делать автоматическую проверку этого QSO, а сразу засчитывать его для очков и для множителя. Отрицательные отметки ('-', '%') имеют приоритет над положительными. Так, если будет указана отметка '+-' или '-+' это будет означать не засчитывать очков. Отметки указываются в самом конце значения тэга "QSO:" Примеры: QSO: 14000 CW 2009-06-06 0749 DL9ZP 599 040 CBS RX3PR 559 042 AA/9 + QSO: 14000 CW 2009-06-06 0757 DL9ZP 599 041 PR UA1AFT 599 052 JMG -* В первом примере - засчитывать QSO без проверки. Во втором - не засчитывать QSO для очков, но засчитывать для множителя. При отсутствии тэга "SIGNATURE:" в отчете с отметками они не распознаются программой. Если в отчете присутствует тэг "SIGNATURE:" со значением отличным от подписи в конфигурационном файле, программа предупреждает о мошенничестве выводом сообщения в результат анализа. Пример: signature "UR4MCK signature" Параметр "skip_rst_snt" - если значение равно 1, то при перекрестной проверке не сверяется отправленный RST. Если значение равно 0 или отсутствует в файле конфигурации, то проверка осуществляется. Пример: skip_rst_snt 1 Параметр "skip_rst_rcv" - аналогично: 0 - проверять принятый RST 1 - не проверять принятый RST Пример: skip_rst_rcv 0 Параметр "skip_num_snt" - аналогично: 0 - проверять отправленный порядковый номер 1 - не проверять отправленный порядковый номер Пример: skip_num_snt 1 Параметр "skip_num_rcv" - аналогично: 0 - проверять принятый порядковый номер 1 - не проверять принятый порядковый номер Пример: skip_num_rcv 0 Параметр "skip_chk_snt" - аналогично: 0 - проверять отправленный контрольный номер (или слово) 1 - не проверять отправленный контрольный номер (или слово) Пример: skip_chk_snt 0 Параметр "skip_chk_rcv" - аналогично: 0 - проверять принятый контрольный номер (или слово) 1 - не проверять принятый контрольный номер (или слово) Пример: skip_chk_rcv 0 Параметр "uniq_mult" - управляет подсчетом множителей: 0 - все множители 1 - уникальные множители Пример: uniq_mult 1 Параметр "strict_eval" - Определяет используется ли строгий режим судейства: 0 - обычный режим 1 - строгий режим Пример: strict_eval 0 Параметр "allow_dupes" - разрешает повторные связи: 0 - Повторные связи запрещены и обозначаются ошибкой 1 - Повторные связи разрешены Пример: allow_dupes 1 Параметр "report_dir" - директория для размещения файлов с результатами предварительного анализа Пример: report_dir "reports" Параметр "ubn_dir" - директория, в которой будут размещаться UBN-файлы Пример: ubn_dir "ubn" Параметр "log_emails" - список e-mail адресов, на которые следует высылать исправленные отчеты Пример: log_emails "contest@qrp.ru, rw3ai@mail.ru" Параметр "cfm_unresolved" - задает минимальное кол-во непроверенных QSO, чтобы засчитать их как правильные QSO и для множителя. Минимальное: 2 По-умолчанию: 2 Пример: cfm_unresolved 3 Параметр "search_tags" - определяет нужно ли пытаться искать подходящие теги для тех из них, которые были написаны в отчете с ошибкой. Работает только при ignore_tags 0. 0 - не искать и не исправлять ошибочные теги 1 - искать и пытаться исправлять ошибочно написанные или недопустимые теги Пример: search_tags 0 Параметр "ignore_tags" - игнорировать любые ошибки в неизвестных тегах. 0 - не игнорировать неизвестные теги (сообщать предупреждение) 1 - игнорировать неизвестные или ошибочно написанные теги Пример: ignore_tags 1 Параметр "www" - URL (ссылка) на ресурс в сети, где публикуется информация по контесту Пример: www "http://qrp.ru/contest" Другие параметры конфигурационного файла появятся по мере необходимости. Теперь, когда Вы знакомы с параметрами конфигурации программы contesta, создайте (или отредактируйте) файл конфигурации для своего соревнования. Обязательными параметрами являются: name, id, start, end, max_dt, band_list, mode_list. Разместите Ваш файл конфигурации в одной директории с программой contesta. (На самом деле этот файл может находиться где угодно, но, размещая его рядом с программой Вы упрощаете указание пути к нему). III. СУДЕЙСТВО СОРЕВНОВАНИЙ После того, как Вы познакомились с программой и ее конфигурацией, можно приступать к главной цели - выполнению автоматического судейства. Естественно, что для судейства требуются отчеты участников. На данный момент поддерживаются отчеты в формате Cabrillo (v2, v3, Ermak). Желательно (но необязательно) чтобы отчеты располагались в одной директории. Имена отчетов и их расширения могут быть любыми. Перечень отчетов указывается программе contesta в командной строке. В качестве примера создайте директорию logs и скопируйте туда отчеты участников (например, за Wake-Up). Теперь снова вернитесь к командной строке и вызовите программу contesta с такими параметрами: contesta -c conf/wakeup.conf -d logs/ -o results.txt Как видно, Вы передаете программе файл конфигурации wakeup.conf с помощью опции '-c', указываете на директорию с отчетами с помощью опции '-d' и указываете файл для записи результатов с помощью опции '-o'. Если разные отчеты хранятся в разных местах, их нужно перечислять в командной строке через пробел. После нажатия на [Enter] Вы запускаете судейство программы. Все результаты анализа отчетов, а также итоговый рейтинг записываются в файл указанный в опции '-o' (results.txt в этом примере). О критических ошибках и предупреждениях программа contesta сообщает в командную строку. Остальные сообщения направляются в файл с результатами. Откройте файл результатов в текстовом редакторе и ВНИМАТЕЛЬНО просмотрите все результаты. Возможно, какие-то отчеты содержат ошибки и нуждаются в ручной правке. По окончании исправления ошибок в отчетах, снова запускайте программу contesta как указано выше. Имеет смысл держать оригинальные и правленые отчеты раздельно. В зависимости от конфигурации того или иного контеста, программа судейства может создавать файлы с результатами анализа каждого отчета в отдельности. По-умолчанию результаты предварительного анализа размещаются в директории ./reports, а UBN-файлы - в директории ./ubn. Эти файлы могут рассылаться участникам при необходимости. В самом конце файла результатов располагается итоговая таблица соревнований. Каждый раз, когда программа судейства запускается с новым набором отчетов, эти результаты динамически обновляются. Имейте ввиду, что если для каких-то QSO невозможно рассчитать кол-во очков, то они не входят в итоговую таблицу. По этой же причине, когда получены не все отчеты, для некоторых участников в таблице количество очков может быть равным нулю. Итоговая таблица результатов соревнований после ее проверки главным судьей подлежит публикации в официальных источниках. IV. РЕШЕНИЕ ПРОБЛЕМ Работа над программой Contest Arbitrator продолжается. Ваша помощь в тестировании и улучшении программы обязательно будет полезна разработчику. Каждая новая версия проходит тестирование в разных условиях, однако без всестороннего испытания разными людьми с разными входными данными нельзя гарантировать полное отсутствие ошибок и правильность результатов соревнований. Если Вы обнаружили ошибку, то повторите и опишите все действия с программой. Также не забудьте указать какую версию программы contesta Вы используете, какая у Вас установлена операционная система, какой тип процессора и количество оперативной памяти. Обязательно распишите по шагам, какие действия приводят к возникновению ошибки и как, по Вашему мнению, должна вести себя программа. Любая подробная информация может оказаться полезной в деле скорейшего устранения ошибок! V. ОБРАТНАЯ СВЯЗЬ По любым вопросам относительно программы Contest Arbitrator Вы можете связаться с автором по адресу: ur4mck@gmail.com Приветствуются сообщения об ошибках и предложения по улучшению программы. Программа Contest Arbitrator выпускается под свободной лицензией GNU GPL v3. Если Вы собираетесь использовать исходный код программы Contest Arbitrator в своем продукте, то ссылка на проект Contest Arbitrator обязательна. Также обязательно условие чтобы Ваш новый продукт предоставлялся с исходными кодами по лицензии GNU GPL. Программа Contest Arbiitrator является свободной (freeware) и Вы можете свободно копировать и изменять ее в соответствии с лицензией GNU GPL. Подробная информация о GNU GPL на сайте: http://www.gnu.org/licenses/gpl.html ----- Written by UR4MCK 06.09.2009 Revision: 11.03.2015 |