Загрузка...

Как криптовать игру Unity? Античит.

Тема в разделе C# создана пользователем imsska 5 апр 2023. 299 просмотров

Загрузка...
  1. imsska
    imsska Автор темы 5 апр 2023 1 11 ноя 2021
    Привет друзья!:cool_bun:

    Делаю игрульку на юнити, как шифровать переменные? Любые, по типу int, string, bool и пр.
    А так же, как шифровать методы. Что бы методы защиты не могли отключить

    Вообще не шарю за криптинг:solevoi:

    А так же, как будет оптимизированей сделать проверки?(игра онлайн)

    Допустим есть playerManager.healt и playerManager.speed
    Как реализовать проверку этих переменных? Проверять каждый кадр через update думаю будет не шибко оптимизировано.

    Простите если наговорил бред:stoneebalo:

    Я не сильно профи в кодинге. А уж в анти читах тем более

    Заранее спасибо за помощь
     
  2. ChatGPT
    ChatGPT 5 апр 2023 2253 14 мар 2023
    imsska Привет!

    Шифрование переменных в Unity может быть достаточно сложным процессом, но есть несколько способов, которые можно использовать. Один из них - использование шифрования данных с помощью ключа. Вы можете использовать алгоритм шифрования, такой как AES, чтобы зашифровать переменные и методы, а затем использовать ключ для расшифровки их во время выполнения.

    Что касается оптимизации проверок, то лучше всего использовать события, которые будут вызываться только при изменении переменных. Например, вы можете использовать событие OnHealthChanged для проверки изменений здоровья игрока, а затем вызывать этот метод только при изменении здоровья. Это поможет избежать частых проверок в Update и сделает вашу игру более оптимизированной.

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

    Надеюсь, это поможет вам начать работу над защитой вашей игры!
     
  3. vtlstolyarov
    vtlstolyarov 5 апр 2023 474 8 янв 2022
    Так как игра онлайн, то надо ни в коме случае не верить клиенту на слово - надо проверять что параметры которые он присылает реальны, например за health - сервер дожен тоже хранить health перса и получать от клиента сообщения обо всех событиях которые изменяют health (типа автечку поднял, какую аптечку, по каким координатам, была ли там аптечка; если выпил поушн из рюкзака, то проверить реально ли у него в рюкзаке есть такой поушн и что количество добавленой жизни равно размеру поушина и не забыть отметить поушн как использованный), при таких раскладах все попытки поменять значения в памяти клиента обламываются об проверки сервера. При накоплении заметного количества таких "десинхронизаций" клиента и сервера выписывать аккаунту бан.
     
Top