Здравствуйте, хотел попросить помощи в установке PCMS2 сервера. Скачал его с официального сайта, но не знаю что делать дальше.
Заранее спасибо!
№ | Пользователь | Рейтинг |
---|---|---|
1 | tourist | 3993 |
2 | jiangly | 3743 |
3 | orzdevinwang | 3707 |
4 | Radewoosh | 3627 |
5 | jqdai0815 | 3620 |
6 | Benq | 3564 |
7 | Kevin114514 | 3443 |
8 | ksun48 | 3434 |
9 | Rewinding | 3397 |
10 | Um_nik | 3396 |
Страны | Города | Организации | Всё → |
№ | Пользователь | Вклад |
---|---|---|
1 | cry | 167 |
2 | Um_nik | 163 |
3 | maomao90 | 162 |
3 | atcoder_official | 162 |
5 | adamant | 159 |
6 | -is-this-fft- | 158 |
7 | awoo | 155 |
8 | TheScrasse | 154 |
9 | Dominater069 | 153 |
10 | nor | 152 |
Здравствуйте, хотел попросить помощи в установке PCMS2 сервера. Скачал его с официального сайта, но не знаю что делать дальше.
Заранее спасибо!
Название |
---|
Увы. Единственное, что можно - обратиться к кому-нибудь из ИТМО. Либо еще можно попробовать eJudge (но он под линукс), либо обратится к Лопатину для получения Testsys.
Можете попробовать у меня. Работает быстро, настраивается просто, но нужен Perl (либо писать свою веб-морду).
Там еще фишка (в eJudge и PCMS2 вроде нет такого), что она на IOI контестах проверяет решения по ходу. Проверка на samples имеет самый высокий приоритет, и если таких посылок нет, то проверяются остальные на всех тестах. Это позволяет сразу по окончанию контеста увидеть резы даже при большом количестве участников (если нет шквала посылок в последние минуты).
p.s. Да, считаю Java медленной :)
Главная штука в том, что клиент TestSys держит постоянный коннект с сервером. То есть, сервер сам посылает ответ клиенту, а не клиент спрашивает его у сервера. Ответ приходит быстро, но подход принципиально не масштабируется (т.е. работает только для мелких соревнований) - число портов у сервера и число поддерживаемых сетевых соединений не бесконечно.
P.S.: А в вашей дельфе даже сравнение строк на равенство в 8 раз медленнее, чем на C++.
2)Про скорость - верю :) Просто у меня такое отношение к PCMS2, когда на весенних сборах (два-три года назад) он постоянно падал и его приежал поднимить либо ФЦ, либо Дворкин. Либо вообще по телефону. Результаты появлялись лишь к вечеру.
3)Насчёт постоянного коннекта - standard-alone клиент уже очень редко используется. Обычно tsweb. Насчёт масштабируемости - мне рассказывали историю, как спонтанно подняли на TestSys контест на 200 человек (потому что оригинальная система вешалась намертво) и ничего не тормозило.
p.s. Не в восемь, а в два с половиной ::)
p.p.s Зато компилируется в 120 раз быстрее
p.p.p.s Ваш ход и прекращаем холиварить на тему языков :)
p.s.: Я тут решил все затестить, и что-то на моих тестах под никсами fpc работает чуть-чуть медленнее gcc с сишными строками, но уделывает g++ с плюсовыми строками раз в 10. Под виндами дельфи делает оба сишных способа где-то раза в полтора, но там Visual C++ 2008, MinGW у меня нет. Хотя на какой-то задаче я видел именно восьмикратное соотношение - сказывается то, что C++ знает о всяких SSE, а дельфи - нет (жестко прошитые ассемблерные инструкции).
p.p.s.: Bat-файлы компилируются за 0 миллисекунд - поразительный результат, не правда ли? Зато у "нас" есть нормальная сортировка в библиотеке, а у "вас" - нет.
p.p.p.s.: И вправду, прекращаем :-)
Немного погонял тесты на сравнение строк. Результаты - треш тот еще.
Сишный код.
Паскалевский код.
Для длины строки 511 результаты:
fpc: 9.287 gcc: 2.844
Для длины строки 512 результаты:
fpc: 7.244 gcc: 4.695
Разные строковые библиотеки - разные показатели :-)
А остальное - на C.
Важно: не забудь в переменную path добавить:
1) путь к папке lib - чтоб вообще работало
2) C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE
C:\Program Files\Microsoft Visual Studio 9.0\VC\bin (или аналогичные пути) - чтобы решения на C++ работали
У меня, и не только, в свою очередь, вопросы возникли:
1) Как делать интерактивные задачи?
2) Как сделать, чтоб на Java проходили решения с собственными классами? (там что-то совсем чуть-чуть надо поменять, но я так и не подобрал)
3) Как избегать CRASH_ACCESS_VIOLATION?
2) Чтобы было совсем хорошо, надо иметь JavaCompiler.jar (могу выслать) и запускать не javac, а именно его (в системе, правда, должен быть lib/tools.jar, где и лежит содержимое javac. То есть, JRE не подойдет).
3) Смотря где. Если речь идет о случайных падениях решений на Java, то это про опцию -Xifce в run.exe и options = "ignore-first-chance-exceptions=1" в тегах executable-types. На самом деле, в новых версиях run/invoke (которые с сервером пока несовместимы) все сделано наоборот - такое поведение предполагается по умолчанию, а падение по генерации исключения надо включать отдельно (наверняка только для Delphi).
Хотя я точно не знаю, но похоже вот это новая версия... посмотри, тут даже кажется с руководством
http://neerc.ifmo.ru/uc/pcms2-v2.html
Update: еще ничего не работает. Факт запуска сервера под линуксом сам по себе еще ничем не примечателен :-)
svn co ...
ant ...
Про Invoker'ов ничего не знаю. Но шансы есть)
Возможно это для школы не подойдёт, но у себя мы пользуемся системой контестер
http://www.contester.ru/
Устанавливается как Виндовс приложение (можно и линукс) имеет Веб интерфейс, подхватывает уже установленные компиляторы и имеется возможность запуска как модуль под Апач.
Единственный минус это то, что там только ACM правила.
Пример системы можно увидеть здесь:
http://judge.suiai.edu.ua/ru/
http://online.contester.ru/ru/
Провёл на ней 2 олимпиады у себя в ВУЗе. Очень непритязательна в использовании и имеет много возможностей.
возможно, это решение будет лучше:
http://codeforces.me/blog/entry/120
0) Скачал и распаковал архив
1) Скопировал папку с PCMS2 на диск D (на диске C почему-то не запускается)
2) Добавил строку "C:\Program Files\Java\jdk1.7.0\bin" в переменную PATH (версия Java не имеет значения, но должна быть свежее чем 1.3.0)
3) Добавил строку "C:\Program Files\Java\jdk1.7.0" в переменную JAVA_HOME
4) В переменную PATH добавил путь к папке lib
5) Запустил r.bat.
У меня все компоненты зеленые :)
Объясните, пожалуйста, что за переменные Path и Java_Home ?
Google в помощь :)
Выдержка из самодельного мануала, может, поможет.
Для настройки компиляторов GNU C и C++ надо дописать в Path путь к MinGW\bin.
\vfs\sites\train.xml
Здесь задаются логины и пароли участников, а также выбираются доступные компиляторы.
\config\judging\compiler.xml
Настройки компиляторов (их строка запуска) хранятся здесь.
\config\judging\invoke\virtual-invoke.xml
Здесь у нас настройки запуска. Не забываем, если надо, исправить путь к java, fpc, ...
Если что, у меня gcc работал.
Доставлено: http://pastebin.com/fmdKbMbG
(problems\org\acm\icpc\seerc\2004 - это осталось от когда-то настроенного сервера)
Настройки ниже.
compiler.xml:
<language
id = "java.sun"
link = "java.compiler [temp] {source:!.jar} {sources}"
binaries = "{source:!.jar}"
require-zero = "false"
executable-id = "java.jar"
map-crash-to-ce = "yes"
/>
<language
id = "java.jar"
binaries = "{source:!.jar}"
executable-id = "java.jar"
/>
virtual-invoke.xml:
<executables-type
id = "java.compiler"
command = "java [-cp] [C:\_pcms\server\lib\JavaCompiler.jar;"C:\Program Files\Java\jdk1.6.0_14\lib\tools.jar"] [pcms2.jc.JavaCompiler]"
/>
<executables-type
id = "java.jar"
command = "java [-Xss64M] [-Xmx64M] [-jar] {exec}"
options = "ignore-first-chance-exceptions=1"
/>
Все остальное работает, сервер взят из надежного источника.
Блин, похоже, что чем больше -Xss и -Xmx, тем реже возникают эти эксепшены. Это было крайне неожиданно.
А что за pcms-tools-java-agent.jar, он зачем? У меня его нет.
И как настроить аккаунты жюри и гостя? В какой-то старой версии мы это сделали с помощью параметра party-id в sessions.xml: ( <session id = "guest" party-id = "guest" /> ), но теперь это почему-то не прокатило. Там что-то изменилось или руки кривые?
При попытке отправки решения в сервере вердикт UD(отправляю MS C++ 6.0) в комментарии (Problem `org.acm.icpc.seerc.2004.bridge` not found: org.acm.icpc.seerc.2004.bridge), bridge это название задачи. В чем может быть проблема в PATH все добавил
UPD: Еще ругается в комментарии Linker Error, далее к сожалению кодировка не позволяет прочитать =(
Прошу помощи, необходимо поставить и настроить PCMS2 сервер под win server 2008 r2.
Раньше с ним дел не имел, подскажите пожалуйста где можно забрать рабочую версию и какой-нибудь начальный мануал по настройке.
http://pastebin.com/fmdKbMbG - уже почитал, пока не успел попробовать, вроде всё понятно, только бы версию взять где-то как у автора.
Есть еще несколько вопросов:
Как настроить логин жюри (чтобы во время контеста можно было сдавать задачи, но в мониторе этих самбитов видно не было)?
Как настроить логин гостя (гость умеет только смотреть монитор, а задачи сдавать не может)?
Как замораживать монитор?
В более старой версии, имевшейся у нас, пункты 1-2 работали, а в более новой — перестали, копирование из xml-ников ничего не дало.
Ответа не дождался, пришлось воспользоваться хардкорными методами. Нашел ответ на третий вопрос.
Чтобы заморозить монитор, надо в файле
client-connection-server.xml
в тегеprovide-settings
дописать атрибутfreeze-time = "4h"
. Должно выглядеть примерно так:В настройке контеста в contest.xml можно удалить ссылку — тогда в мониторе этого участника не будет.
В site для контеста можно прописать:
Спасибо. Все получилось. Странно, что значение
false
включает гостя (назвали быallow-to-submit
хотя бы)Вообще,
<rule login = "guest" allow = "false" />
трудно заметить, никак не ожидал, что это настраивается именно в этом xml-никеА как из файлика server/local/standings/standings.xml, который генерируется xml-publisher-ом, получить html-страницу, которая подхватывается парсером тренировок CF?
Старый клиент вроде не умеет генерировать html страницу. Новый ставь
Поздно, я уже парсер написал
Надо в компоненте xml-publisher прописать в строке генерации <publish-standings ... /> еще свойство stylesheet = "ссылка на stylesheet", например: stylesheet = "/local/stylesheets/standings-with-time.xsl". Ну и чтобы результат писать не в файл .xml, а в .html.
А можете выложить xsl?
http://pastebin.com/d5truWPm
Кто знает где можно найти coact.exe для тестирования? Срочно нужен.
Помогите пожалуйста, никак не удается заставить скомпилировать решение на С++. Сделал все по Инструкции от dalex. Использую Microsoft Visual Studio 2008. Ошибка: Compiler crashed: EXCEPTION_UNKNOWN: e0005031 (Скрин).
Я помню, мы вместо cl.exe прописывали какой-то большой путь, который какие-то библиотеки в себя еще включал. Сейчас PCMS на компе нет, и посмотреть не могу.
Можно проверить, работает ли текущая строка компиляции из командной строки.
Еще из-за антивируса иногда бывают проблемы.
Спасибо. с С++ разобрался. Ошибка была в не подключенных библиотеках, добавил vcvarsall.bat и все заработало
У меня та же проблема, расскажите, пожалуйста, по-подробней как вы решили ее.
В файле virtual-invoke.xml пути нужно немного изменить. Для 2008 студии будет примерно так:
Спасибо. Но теперь он у меня все равно не компилирует. Пишет: Compilation error. Exitcode: 255
Проблему поправил, но теперь такая вещь: AbstractInvoker IO error: invoke\3\solution.exe (Отказано в доступе) (проходит 4 теста и потом падает)
При компиляции плагин compiler становится красным( то есть отключается)
Настораживает, что в одном случае расширение .cc, а в другом — .cpp
прописал в переменных средах путь к invoke.dll.
C:\Users\ahvahsky2008>java -D java.library.path=invoke.dll Error: Could not find or load main class java.library.path=invoke.dll
указывал полные пути. Тоже самое.
dalex сказал что если путь к библе занесен в переменную среду, то java.library.path указывать не нужно.
получается java -D invoke.dll ?
Не знаю насчет нужно/не нужно, но у меня (после того как в Path дописал путь) без всяких java.library.path все работало. Уберите всякие -D. И кстати между -D и свойствами не надо пробел ставить
просто java invoke.dll ?
Просто к чему я это спрашиваю.У меня при запуске сервера вот такая картина
Как тут советовали изменил в native-invoke-java.xml never na always и все поменялось.
кроме native-invoke-nt. Оно по прежнему красным горит.**Component's class is not specified.** Для этого я и пытаюсь подключить native.dll/ Вот тут описано оно тыц
Самый грубый и точно работающий способ — положить invoke.dll в C:\Windows\System32 (ну или аналог).
А вообще, надо просто путь к каталогу, где лежит invoke.dll добавить в переменную среды окружения PATH — эта штука не имеет отношения к Java, а чисто виндовая.
я указал ее в path.
Если компонента все еще не работает, возможно проблема в несовместимости версий :-(
В какой-то момент invoke.dll был немного переписан (в том числе под x64), а потом PCMS вроде научился новую версию использовать.
Какая точно версия у вас — не знаю...
Где можно найти последнюю версию?