Синхронизация config данных

Версия Minecraft
-
2,505
81
397
Возник вопрос, делают ли основные моды гиганты синхронизацию своих данных из config файла с сервера на клиент или забивают на это и оставляют эту обязанность на лаунчер?
 
Решение
Юзвери требуют больше кастомизации :) Кастомизация возможна только через конфиг. Вот я и думаю, стоит ли передавать данные конфига на клиенты, или оставить эту обязанность на чужой лаунчер, который самостоятельно чекнет конфиг файл и скачает его.


Пример с радиусом визуализации немного хреновый. Прочитай еще раз мой пример про maxLvl.
7,099
324
1,510
А зачем синхронизация? Если в моде можно в конфиге что-то настроить для клиентской стороны, то на это и клиентские параметры, что они остаются на рассмотрение "клиентского" пользователя. А если серверные, то они ведь применяются только для локальных миров пользователя, значит, тоже нет смысла.
 
7,099
324
1,510
эмм, ну можно же конфиг загружать в прокси(частично), или юзать @SideOnly для разных перегрузок preinit
 
2,505
81
397
Простейший пример. Есть параметр maxLvl. Допустим на сервере его установили 20, а на клиенте 10. Из-за этого не удастся даже послать запрос на LvlUp с клиента на сервер (не надо давать мне "полезные" советы не делать проверку на клиентской стороне). Думаю, из примера суть проблемы видна. Просто некорректная работа всего и вся.


Agravaine написал(а):
Ну, скажем, я делал как бы "создание" брони через конфиг и там если на клиенте защиту изменить, то на сервере неправильно работает.

Оочень странный пример. Как вообще клиент у тебя умудряется влиять на сервер.
 
7,099
324
1,510
Нее, у него, наверное, игроку показывает, что у него еще есть сердца, а на самом деле их меньше, потому, что броня хуже защищает


"не надо давать мне "полезные" советы не делать проверку на клиентской стороне"
Как будто сервер может клиенту отправить значение больше серверного maxLvl и вследствие придется на клиенте проверять...
 
7,099
324
1,510
"Клиент может в конфиге у себя установить большее значение."
Если клиент установит в своем конфиге, то какая разница, если этот конфиг только на клиенте, для локальных миров применяется?
Но кажется, я тебя понял: тебе нужно какое-то значение навязать клиенту, например, радиус визуализации какого-то эффекта. Но конфиг немного не для этого, такие параметры лучше передавать при подключении к серверу(и сохранять смысла не много).
 
2,505
81
397
Юзвери требуют больше кастомизации :) Кастомизация возможна только через конфиг. Вот я и думаю, стоит ли передавать данные конфига на клиенты, или оставить эту обязанность на чужой лаунчер, который самостоятельно чекнет конфиг файл и скачает его.


Пример с радиусом визуализации немного хреновый. Прочитай еще раз мой пример про maxLvl.
 
7,099
324
1,510
Ок, перечитал, в первый раз показалось, что происходит передача lvlUp с сервера. Но зачем же его передавать с клиента?(приведи, плиз, более жизненный пример такой передачи. у меня щас на уме натяжение лука. т.е. игрок зажал пкм, лук натягивается и на серве натянулся сильнее, хотя на клиенте кажется, что в два раза меньше и остановился натягиваться раньше)
Про визуализацию я написал потому, что мне казалось, что пакет передает сервер.

"Вот я и думаю, стоит ли передавать данные конфига на клиенты"
Мне кажется, это зависит от назначения каждого параметра конфига
 
7,099
324
1,510
Так сделано, чтобы лишние пакеты не слать? Ну для таких параметров лучше сделать синхронизацию
 
2,505
81
397
Ок, еще пример. Все равно есть maxLvl. Делаем в гуи условие, что если currLvl == maxLvl, то писать не число текущего уровня, а "max". И получается, что если maxLvl на серверной и клиентской стороне разные, то получится хрень.


В итоге я сделал эту передачу. Получился пакет в 50 кБ :rolleyes: из максимально возможных 64 кБ (как я понял)


hohserg написал(а):
Почему? Может же быть лук с кастомизацией

А ну да. Уловил проблему) Я просто не до конца прочитал предложение про лук)
 
Сверху