Программка

Роман15 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
21.06.2012

Для игрового хостинга необходимо написать новый backend обработчик на удаленные сервера.

Язык программирования - любой, приоритетные - java, C/C++, python, ruby, erlang.

1. Программа должна слушать определенный порт, принимать запросы и обрабатывать их (сейчас например используется xml-rpc, есть что-то лучше — предложите)

2. Язык разработки значения особого не имеет, главное, чтобы все работало быстро (сейчас используем обработчик на java)

3. По возможности, если это стоит того, программа должна обрабатывать каждый запрос в отдельном потоке (но это не принципиально)

4. Программа должна осуществлять проверку подлинности отправителя

5. Список основных команд ниже. Подробности по запросу.

Список команд:

- запуск и остановка игрового сервера (сейчас просто вызывается внешний shell скрипт)

- установка игрового сервера (несколько этапов)

* создание unix юзера

* создание папки в /home для него

* копирование в эту папку файлов шаблона игры (шаблон — директория с файлами, путь получаем от отправителя)

* создание файла конфигурации (смотрите ниже)

* установка chown на папку юзера (сейчас идет простой вызов chown -R)

- создание и редактирование файла конфигурации:

* берем шаблон файла, в котором необходимо заменить переменные вида %port% (или любой другой шаблон) на параметры из запроса от отправителя

* записать/сохранить файл в определенное место (параметры в запросе — путь и название файла)

* при редактирование просто перезаписываем файл (хотя лучше сделать то, что быдет быстрее)

- обновление игрового сервера:

* просто копируем файлы из папки в папку с игровым сервером (путь передается в запросе)

- удаление игрового сервера:

* удаляем юзера

* удаляем все его файлы

- переустановка игрового сервера:

* удаляем сервера

* устанавливаем сервер

- получение статуса сервера (сейчас идет простой вызов внешнего shell скрипта)

- получение лога сервера:

* берем последние 100 строк из файла лога (путь до файла — в запросе)

- листинг определенного каталога, поиск всех файлов с определенным расширением и возвращение отправителю списка этих файлов без расширения (например поиск в каталоге /home/s1 файлов *.so)

Вроде это все, если не забыл что-то…

Есть вопросы — задавайте.

Просьба указывать сразу примерные сроки, когда можете начать и примерную стоимость разработки.