Передача больших объемов данных

Версия Minecraft
1.7.10
API
Forge
235
3
21
Всем привет
Встал такой вопрос, как правильней будет передавать большие объемы данных между серверов и клиентом майна
Что лучше юзать, обычные пакеты с сериализацией из строки, что-то чего я не знаю или веб, сокеты и все, что поднимать уже нужно отдельно от майна
Есть 2 разных ситуации


Скриншоты экрана
Впринципе можно гонять и через веб, тк нет ничего ультра секретного, но все же тогда их проще будет отсекать всяким ПО

Данные античита
Скажем есть бинарный файл с данными для классовой проверки всего майна и всех модов, классы, методы, поля и тд
Гонять через пакеты, хз насколько это будет бить по оптимизации, даже если вынести на клиенте в отдельный поток сериализацию из строки и тд
Через веб, тогда еще острее ощущается проблема возможности отсечения или модификации через ПО, можно кнч шифровать

Нагрузка на сеть сервера не интересует, важна нагрузка на главный поток майна и все что может понизить tps
Подскажите, что думаете, как будет правильнее на ваш взгяд?
 
Как часто ты это передавать собираешься? Сомневаюсь что скриншот экрана будет летать очень часто. Подойдут и обычные майнопакеты.
Для чего он тебе нужен? Античит? Урезай максимально качество картинки, jpeg позволяет.
Бинарные данные? По логике, тебе их надо один раз принять при заходе игрока и все. Тогда тоже майнопакеты.

Если уж надо много и часто пересылать, я бы поднял нетти сервак на другом порте и через него обменивался данными. Только нужно что-то типа авторизации, иначе заспамят нафиг. Не понимаю для чего здесь вебсокеты вообще и http сервер. Лишний оверхед.
 
Подойдут и обычные майнопакеты.
я пробовал. там придется разбить картинку и слать 50-80 пакетов...
Хотя вариант с jpeg я почему-то не рассматривал.

Кстати, не подскажешь как нетти серв поднять? пытался найти доки - чет не нашел(мб просто слепой)
 
пробовал. там придется разбить картинку и слать 50-80 пакетов...
Я увеличивал максимальный размер пакета хуком и норм 😄
У майна максимальный размер пакета 32кб, FULL HD скриншот в jpg с 30% качества весит 150-200кб. Так что даже разбить на части не так уж и сложно. Можно даже еще меньше поставить качество при желании.
22RWZj5.jpg

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

Вложения

  • classes.json.txt
    930.4 KB · Просмотры: 6
Заюзав 7z у меня получилось сжать 930кб до 135кб
Потом я заменил коллект классов с new HashSet<>() на new TreeSet(new HashSet<>()) чтобы классы сразу были отсортированы в алфавитном порядке, просада по времени сбора я не заметил, зато уже отсортированный дамп классов 7z сжал до 101кб

1612795056249.png
 
Зачем их вообще пересылать? Храни на клиенте в зашифрованном виде. Разницы никакой, ибо если человек залезет в код, то всё равно сможет изменить твой список классов.
Да и вообще хз насчет такой защиты, что мешает взять имеющийся класс и добавить в него свой код?
 
Назад
Сверху