Страница 1 из 1

Сервер для Tactics ищится энтузиаст

Добавлено: 26 апр 2014, 23:03
@!!ex
Открытие 2014 показало серьезную проблему в работе тестового сервера Tactics.
По неизвестной причине при слишком высокой плотности запросов(несколько в секунду) он умудрился вешать систему.
В итоге сегодня вместо участия пришлось просто заниматься поддерживанием его работоспособность, чтобы использующие его люди не отвалились.
Тестовый сервер никогда не предполагался для серьезного боевого использования, но сейчас стало очевидно что и для мелких задач он не годится.

К сожалению я не являюсь веб программистом и не смогу эффективно и правильно решить эту задачу.
Ищится человек, который сможет реализовать следующий(в общем-то не сложный) сервер(Далее краткое тех задание для ознакомления потенциальным энтузиастам):
Задача сервера в том, чтобы принимать и отдавать сообщения. Протокол крайне примитивный.
Логика поведения основывается на двух типах запросов:

1) UDP запрос с данными. Содержит 5 информационных полей:
Info field
Info password
Callsign
Callsign Password
Data

Сервер ищет у себя Info field. Если находит - проверяет что пароль совпадает. Если не находит - создает с указанным паролем.
Далее внутри инфо поля ищет Callsign. Если не находит - создает. Если пароль совпадает, то Data записывается в свойства указанного Callsign.
Callsign живет 12 часов. Если в течении 12 часов не было обновления - Callsign из инфо поля удаляется и забывается все что с ним было связано.
Info field живет 25 дней. Если в течении 25 дней не было ни одного запроса - Info field удаляется.

2) HTTP GET запрос инфо поля. Содержит два поля:
Info field
Info password
но может быть указано несколько инфо полей и паролей через запятую. количество инфо полей и паролей должно совпадать

Сервер ищет у себя Info field. Если находит - проверяет что пароль совпадает. Если не находит - создает с указанным паролем.
Формирует ответ в виде текста:
Количество инфо полей(соответствует количеству правильных пар инфополе/пароль)
далее для каждого поля:
количество позывных
далее перечисление для каждого позывного:
callsign
data



В целом сервер очень простой по функционалу.
Но нужен человек, который сможет адекватно это реализовать на каком нибудь php или другом распространенном веб языке.