Делаю на Qt со статик-сборкой с QtQuick3D, анимациями и эффектами, никаких проблем. Бинарник весит около 50 мегабайт. Дизайн редактируется легко и интуитивно-понятно - и в визуальном режиме, и в режиме разметки на QML.
Зачем? Каким боком здесь API и джава? И, тем более, authlib. Пропатчить авторизацию можно и из нативного кода. Или взять готовую пропатченную аутлибу от
@alexandrage.
И сколько будем искать коллизии для 64х-битных хэшей, чтобы файл чита оставался валидным? Месяц? Год? 10 лет?
Никто и не говорит про Qt на серверсайде. Для серверов и надо брать заточенные под сервера языки. Например, Go.
На каждую хитро закрученную жoпy найдётся xeр с винтом.
Если пакет валидный - он и должен обрабатываться полноценно. Если пробили хостинговые антиддосы и cloudflare, останется простая проверка в вебчасти на частоту пакетов с клиента. Больше ты уже ничего не сделаешь.
Бинарный протокол - это лишь способ упаковки. Нет разницы, передавать в джейсонах или в сыром потоке байтов - принципиально ничего не изменится, и все атаки, справедливые для бинарных протоколов, останутся справедливыми и для текстовых. Только бинарный протокол очень экономный и его парсинг гораздо быстрее.
Это справедливо для любого языка. Не знаешь язык - хороший продукт не напишешь. Разве C++ намного сложнее джавы? На джаве тоже можно наворотить всякого.
Решается упаковкой системы сборки в докер.
Что значит "привыкли к Java лаунчерам"? Какая админам разница, какие команды выполнять для сборки, если есть инструкция? Любой лаунчер на любом языке настраивается по-своему. Можно привыкнуть к конкретному лаунчеру, но нельзя привыкнуть к лаунчерам на каком-то конкретном языке.