Login form

Forum latest

  • death parsing (0)
  • Crash after using g_gents[arg0] (4)
  • Maybe useful for kill tracker (2)
  • How to simulate a server command for a client? (4)
  • Date in logs (1)
  • Mini-chat

    200

    Statistic


    Total online: 1
    Guests: 1
    Users: 0




    Tuesday, 19.03.2024, 11:45
    Welcome Гость
    Register | Login | RSS

    Jedi Academy Server Security

    Что такое JASS?



    JASS — Jedi Academy Server Security — (в переводе с анг. «Защита сервера Академии Джедаев», сокр. «Джаз»). Коротко говоря, джаз — проект, направленный на защиту серверов на так называемом базовом моде — «basejka». Основан на исходном коде QMM. Он представляет из себя несколько динамических библиотек. Исходный код джаза открыт, но исходники защитного модуля не будут опубликованы.
    Однако, вас наверняка интересует, почему джаз не влияет на урон, лаги и блоки сервера, как этом делают моды вроде JA+. Дело в принципе работы, который совершенно отличается от всех ныне существующих модов — более подробно о нем написано ниже.

    Возможности

    Изначально джаз защищал сервер от всех видов атак, однако перед релизом пришлось вынести защиту в виде подключаемого к джазу плагина. Так что сам по себе джаз ничего не защищает. Он является ядром, к которому подключаются плагины. Защитный плагин называется Protection, он включает в себя защиту от всех распространенных и секретных методов обвала и взлома сервера. Так же он включает в себя сильнейшую на сегодняшний день защиту от поддельных игроков. Все существующие на сегодняшний день методы обмана различных анти-фейк защит бессильны против джаза.
    Однако, сами по себе возможности джаза намного шире, и глупо было бы ими пренебрегать. Поэтому в джазе реализована поддержка плагинов, расширяющих его возможности. При помощи этих плагинов можно разнообразить геймплей, ввести новые особенности в игру — от забавных сообщений до вполне масштабных изменений. Однако возможности плагинов ограничены — изменения геймплея возможно только с серверной стороны. Поподробнее о создании плагинов можно будет узнать на форуме.

    Принцип работы

    Вот как выглядит принцип работы обычного сервера (движок — jamp.exe/jampded.exe, мод — jampgamex86.dll, в данном случае оригинальный):

    Движок ↔ Мод

    При загрузке исполняемый файл вызывает jampgamex86.dll и использует его код, обмениваясь с ним данными. Большинство модов попросту заменяют jampgamex86.dll, и именно этим вызывают нестабильную работу, и схема выглядит так:

    Движок ↔ Кривой мод

    Джаз не изменяет оригинальный файл jampgamex86.dll, а лишь становится своего рода посредником между движком и модом:

    Движок ↔ JASS ↔ Мод

    При загрузке игры она грузит в память джаз, полагая, что это и есть мод. Джаз при загрузке грузит мод, и мод полагает, что джаз и есть исполняемый файл. Во время работы сервера джаз проверяет все входящие данные с исполняемого файла и фильтрует их. Именно на этой стадии производится защита сервера. Затем джаз в зависимости от ситуации либо передает данные дальше, в мод, либо блокирует их.
    Благодаря такому принципу работы игра ведется через оригинальный, базовый мод, и именно поэтому сервер сохраняет стабильность. Так же благодаря этому принципу игрокам не нужно устанавливать себе какие-либо моды — для игры на серверах с джазом достаточно оригинальных файлов.