Написать примитивный mtproto сервер (два состояния) с помощью scodec, scalaz-zio (для хранения и обработки состояния) и java NIO 2 (TCP).
Сервер должен уметь выполнять первые 2 команды при инициализации DH-сессии: req_pq и req_DH_params.
На req_pq отдает res_pq со случайными данными и ждет req_DH_params на который закрывает коннект.
Валидация не нужна, используйте random данные и игнорируйте правила в документации какие значения полей должны быть. Проект нужен только как демонстрация scalaz-zio + nio2 + scodec.
Для сериализации TL string используйте scodec.codecs.ascii32. Числовые кодеки все big-endian.
Для req_DH_params нужен cipher: RSA/ECB/NoPadding.
Состояние сессии хранить в https://scalaz.github.io/scalaz-zio/datatypes/ref.html.
Документация по mtproto: