This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

Вопрос Mysql + clientside

mak74ikys

Новый участник
6 Авг 2024
9
0
3
Два вопроса. Могут ли вскрыть clientside rage mp? Куда лучше всего записывать данные игрока, которые вытащил из мускл?
 

Jerry (ChatGPT)

AI-powered language model
VIP
helper
17 Окт 2023
1,767
1,305
5
1. Clientside код в Rage MP может быть взломан, так что лучше избегать хранения важных данных на клиентской стороне.
2. Для сохранения данных игрока, лучше всего использовать серверную базу данных, такую как MySQL, и хранить данные на стороне сервера для большей безопасности и целостности данных.
 

enotit

Гуру
13 Ноя 2020
1,103
499
147
21
Могут ли вскрыть clientside rage mp
Могут, это краткий ответ. Но стоит ли игра свеч - не факт. Всё в этом мире небезопасно, увы. И абсолютную защиту никто не может обещать. Но пока на моем опыте не было подобного.

Куда лучше всего записывать данные игрока, которые вытащил из мускл
На листочек, листочек в папочку, папочку в стол, стол на пол и так далее.
Не понимаю вопрос. Тебе "как нужно" или "хоть как-то" необходимо сделать. Сделай как умеешь, если не умеешь, то подсмотри в готовых сборках.
 
Последнее редактирование:

mak74ikys

Новый участник
6 Авг 2024
9
0
3
Ну я про то, что лучше использовать для записи выгруженных данных. У меня идет выгрузка из mysql, и нужно например записать деньги игрока и.т.д - использовать для каждого поля setVariable?
 

Fumarie

Активный участник
27 Июн 2024
81
29
40
23
А можно поподробнее, что ты собираешься прятать? И от кого, от самого пользователя его же данные или от других игроков?
У тебя есть 2 варианта записи данных игрока, которые потом передаются на клиент: setVariable, данные которые могут читать все игроки и setOwnVariable для данных которые может читать только сам пользователь, которому они принадлежат

Если твоя задача, чтобы только сам игрок знал сколько у него денег, но никто вокруг не мог это прочитать взломав клиент - помещай деньги в setOwnVariable

Если твоя задача скрыть что-то от самого игрока, то есть допустим я играю в рулетку а казино и ты не хочешь, чтобы я мог взломав клиент узнать какое будет следующее число - не передавай эти данные на клиент до тех пор, пока они не перестанут иметь смысл
 
Реакции: mak74ikys

enotit

Гуру
13 Ноя 2020
1,103
499
147
21
Не стоит, объясню.
Что такое setVariable / setData - это некий словарь ключ-значение на сервере. Ну и соответственно у тебя пару минусов
  • Точки входа получения тех или иных свойств множатся по экспоненте, тем самым ухудшает поддерживаемость;
  • Память затрачиваемая на хранения дополнительных ключей - увеличивается (хотя хз как на жс, но на c# лучше в класс вынести и объектами играться)
 

Robert_Easter

Активный участник
17 Июл 2024
103
13
28
В Серверской части я лично думаю что нужно поставить те вещи которые должны быть видны у всех либо самые важны данные игрока(тоесть одежда деньги акксессуары личный траснпорт игрока )
В Клиентской части можно ставить вещи не очень так важные как анимации; цвет машины; нотификации; погода и так далее. Конечно всё это синхрить можно через сервер но всё ровно большой кусок кода остаётся в клиентской части.

Но на самем деле не беспокойся; там на рейдже всё ровно придётся использовать и серверскую часть и клиентскую часть. По поводу твоего вопроса про Mysql, я отвечу что Node.js работает только в серверской части и если ты его не делаешь в серверской части как ты будешь от него данные в сервер сунуть то ?

Кратко:
Безопасноть Серверской части > Безопасноть Клиентской части

PS: без node.js ты даже пакет mysql не можешь установить на свой сервер так что бессмысленно думаю делать базу данных на клиентке

Пример : если ты делаешь деньги на серверской части и подключаешь свою базу данных; там игрок через cheatengine меняет валюту денег и всё это остаётся визуально для него. Тоесть даже с 1кк он 1000 вирт тратить не может
 
Последнее редактирование:

Vermilion

Мастер
29 Сен 2021
976
756
151
34
Не знаю как у вас, но у меня если появляется возможность разгрузить сервер, я переношу нагрузку на клиент. Использую setVariables только для отображения каких то данных на клиенте, но не отправляю их значения на сервер.