Техническое задание: Разработка TCP-сервера для эмуляции игрового клиента

Цель проекта

Создать простой TCP-сервер для приёма и анализа подключения от специфического игрового клиента (версия 2.074). Сервер должен подтверждать соединение, позволяя клиенту успешно подключиться к локальному адресу.

Этапы работ

1. Анализ и исследование

  • Изучить конфигурационные файлы клиента (hostlistdat, clientinidat) для определения IP-адреса, порта и параметров подключения по умолчанию.
  • При наличии возможности, запустить клиент с перехватом сетевого трафика (например, с помощью Wireshark) для анализа запросов к оригинальному серверу.
  • Определить начальные байты (заголовок/хендшейк), которые клиент отправляет при установке соединения.

2. Разработка сервера

  • Написать TCP-сервер на одном из языков: C++ (предпочтительно), C# или Python.
  • Сервер должен прослушивать порт (предположительно 2106, либо уточнённый в ходе анализа).
  • Принимать входящее подключение от клиента.
  • Считывать первые N байт от клиента и выводить их в консоль в шестнадцатеричном формате (HEX).
  • Отправлять клиенту минимальный ответный пакет (достаточно 1-2 байт) для подтверждения соединения.
  • Корректно закрывать соединение после обмена.

3. Тестирование

  • Настроить игрового клиента на подключение к адресу 127.0.0.1 (localhost).
  • Запустить разработанный сервер и клиент.
  • Убедиться, что клиент успешно обнаруживает сервер и не выдаёт ошибку "Не удалось подключиться".
  • Зафиксировать и проверить лог обмена данными между клиентом и сервером.

Технические требования

  • Язык программирования: C++ (в приоритете), C# или Python.
  • Целевая ОС: Windows 10/11.
  • Архитектура: Сервер должен быть максимально простым, без избыточной функциональности.
  • Логирование: Обязателен вывод первых принятых байт в HEX-формате для анализа протокола.

Критерии приемки

  • Игровой клиент подключается к локальному серверу на 127.0.0.1.
  • Сервер отображает в консоли как минимум 1 байт полученных от клиента данных.
  • Клиент не отображает критическую ошибку о невозможности подключения.
  • Предоставлен полный исходный код сервера.
  • Приложена краткая инструкция по запуску сервера и настройке клиента.

Доработка и поддержка веб-приложения на Next.js и Nest.js

Требуется разработчик уровня Middle+ для постоянных доработок сложного веб-приложения. Проект построен на микросервисной архитектуре с использованием Docker и состоит из 6 взаимодействующих контейнеров. Подробное ТЗ предоставлю в личной переписке.

Разработка макета меню для шаурмы

Требуется срочно подготовить макет меню для заведения общественного питания. Вся необходимая информация будет предоставлена заказчиком. Срок выполнения - 1 день.