Насёт сервера - скорей всего он написан на чём-то типа php, который для меня тёмный лес
Серверная часть, как и клиент, написана на шелле, а php только для отдачи информации через браузер (и это логично, хотя можно было бы написать и веб-сервер на шелле, но см. далее). Это многокомпонентная система, которая между собой увязана определенным образом, используя при этом части кода, которые уже написаны и работают. В этом смысле система по максимуму антиNIH :)
- необходимые функции для обмена между сервером и клиентом
- формат обмениваемых данных
Это уже более-менее утряслось, причем функции (функционал) задаются больше на стороне сервера, а на стороне клиента надо только формат и структуру данных задать для отправляемых данных по-сути, отправка и все остальное уже есть и не требует изменений.
Так что не надо бежать впереди паровоза и всему свое время. Серверную часть я не открываю по одной простой причине - мне ее стыдно показывать в том виде, в котором она сейчас есть. Как только я почувствую, что её показать не стыдно и она при этом будет работать без существенных замечаний, можно будет подумать и о том, как её показать. Там будет ещё проблема с упаковкой в пакет, т.к. для соблюдения всех условий потребуется хорошо её переписать с учетом максимального сохранения безопасности данных.