- 224
- 5
- 28
На данный момент имеется плагин дополнительной защиты аккаунтов - PIN-код. Если у игрока установлен PIN-код, то при входе в игру его телепортирует в специальный мир, где стоит приват WG, которые не позволяет делать практически ничего кроме как ввести PIN-код и у него есть 15 секунд, чтобы ввести PIN-code иначе он будет кикнут. так же там реализована система возвращения на последнюю локацию, от куда игрок был телепортирован из мира для ввода PIN-кода.
Я хочу это сделать ввиде мода, и исключить этот ненужный контроль локаций, но для этого мне нужно полностью исключить взаимодействие игрока с миром и мира с игроком, поэтому меня возник ряд вопросов:
Игрок входит на сервер, сервер проверяет, установлен ли у этого игрока PIN-код и если да - посылает ему пакет, который прикажет моду на стороне клиента показать GUI для ввода.
Вопрос #1
Пакет был принят клиентом, требуется показать GUI для ввода PIN-кода, но такое, чтобы его нельзя было закрыть. Как это сделать?
Вопрос #2
Пакет был отправлен клиенту, но ничего в ответ не приходит. Конечно возможно игрок просто вышел/был кикнут, а может он всё таки как то смог закрыть GUI. К примеру если игрок закрыл GUI можно отправить пакет о том, что GUI было закрыто и если игрок до сих пор не был авторизован, то кикнуть его. Т.е. предусмотреть момент, если попытаются обойти GUI.
Смысл подобной защиты в том, что пока игрок не подтвердил PIN-код (если у него он конечно установлен) - максимально исключить любые взаимодействия игрока с миром и мира с игроком.
Вопрос #3
Любые дамаги можно отменить - это легко. Еда? Я думаю в Forge есть эвент, где меняется еда и его можно отменить. Ходить игрок вроде как не сможет, так как у него будет включён GUI. Что ещё? Смысл в том, чтобы предусмотреть и отменить любые попытки взаимодействия с игроком. Так же сюда относится к примеру если игрока начнёт передвигать вода - на стороне клиента слушать событие движения и отменять его, если моду ещё не пришла информация о том, что игрок успешно авторизовался?
Вопрос #4
Пока что думаю...
Я хочу это сделать ввиде мода, и исключить этот ненужный контроль локаций, но для этого мне нужно полностью исключить взаимодействие игрока с миром и мира с игроком, поэтому меня возник ряд вопросов:
Игрок входит на сервер, сервер проверяет, установлен ли у этого игрока PIN-код и если да - посылает ему пакет, который прикажет моду на стороне клиента показать GUI для ввода.
Вопрос #1
Пакет был принят клиентом, требуется показать GUI для ввода PIN-кода, но такое, чтобы его нельзя было закрыть. Как это сделать?
Вопрос #2
Пакет был отправлен клиенту, но ничего в ответ не приходит. Конечно возможно игрок просто вышел/был кикнут, а может он всё таки как то смог закрыть GUI. К примеру если игрок закрыл GUI можно отправить пакет о том, что GUI было закрыто и если игрок до сих пор не был авторизован, то кикнуть его. Т.е. предусмотреть момент, если попытаются обойти GUI.
Смысл подобной защиты в том, что пока игрок не подтвердил PIN-код (если у него он конечно установлен) - максимально исключить любые взаимодействия игрока с миром и мира с игроком.
Вопрос #3
Любые дамаги можно отменить - это легко. Еда? Я думаю в Forge есть эвент, где меняется еда и его можно отменить. Ходить игрок вроде как не сможет, так как у него будет включён GUI. Что ещё? Смысл в том, чтобы предусмотреть и отменить любые попытки взаимодействия с игроком. Так же сюда относится к примеру если игрока начнёт передвигать вода - на стороне клиента слушать событие движения и отменять его, если моду ещё не пришла информация о том, что игрок успешно авторизовался?
Вопрос #4
Пока что думаю...