Сразу скажу что защиту нужно дорабатывать, в шаре есть "затычка". Защита может не спасать от нубов, а будет только плодить у них вопросы.
Поэтому перед установкой её на сервер лучше разберитесь в коде и составьте документацию для пользователей. Это спасёт ваши нервы и душу. В противном случае игроки просто поймают вас в тёмном переулке и продадут в рабство!
Сам процесс установки делится на три части. Каждый человеческий индивид сможет установить её, если нет то......
Все необходимые файлы будут доступны для скачивания.
Защита без проблем встанет на сборку L2jFrozen и ей подобные. Для того чтобы подружить её с другими сборками нужно немного переписать сервеную часть. Что касается других хроник тут тоже всё просто.
Т.к Airin это тот же L2jCore Guard 1.5, тут нет шифрации трафика. Клиент часть просто проверяет ключ из файла gguard.ini + проверяет комп на читы и передаёт данные о железе на сервер. Следовательно переписать её под другие хроники не составит труда. Переделываем серверную часть, и потом компилим клиентскую и с помощью PE Editor'a привязываем клиентские файлы к exe. Или куда вы там их.....
Итак первый этап:
Начнём мы с серверной части! Сразу скажу, что компилировать её я буду через ANT + CMD.
Для того чтобы скомпилировать сборку/защиту подобным образом нужно всего лишь настроить переменные среды и скачать сам ant.
Расписывать тут целый гайд по настройке переменных сред я не буду. Вот ссылка. Тут всё подробно описано.
ВНИМАНИЕ: при настройке JAVA_HOME нужно указывать пусть к JDK, а не JRE.
В редактировании серверной части нет ничего сложного. Нам нужно изменить только один массив в файлике Loader.java
Находи строчку:
private static String [] _sites = {"http://extreme-la2.xclan.ru/nProtect/npgmup.php", "http://extreme-la2.xclan.ru/nProtect/npgmup.php" };
И меняем в ней адреса сайтов на свои. Не обязательно иметь 2 сайта. Указываем 2 одинаковых.
Нужно указать не просто ваш сайт, а путь к веб части (Описание её установки будет ниже). Так допустим у вас веб часть установлена в папку guard,
Адрес сайта должен быть таким: http://you-server.ru/guard/npgmup.php
Всё
После этого закидываем в папку libs, ядро фрозенов.
Теперь запускаем от имени администратора ant_build.bat, защита начнёт компилироваться и вдруг запросит у вас какой-то код. Вводим например FFCCAA, или FCAFCA, или CFFCAA, ну вы поняли.... Этот код ЗАПОМИНАЕМ
Теперь достаём готовую защиту из папки build и закидываем в папку с сервером. Для того чтобы подключить её к гейму, запускаем setgame.bat (Не пугайтесь что он тут же потух, всё нормально).
Если у вас при запуске будут вылетать ошибки по поводу commons-logging-1.1, javolution-5.5.1. Закидываем их в папку lib (libs), вашего гейм сервера.
В конфиге защиты вписывайте любое имя пользователя. Оно понадобится нам позже.
-------------------------------------------------------------------------------------------------------
Второй этап:
Тут мы будем настраивать Web часть защиты.
Все файлы вы найдёте в конце поста.
В веб части нет ничего сложного. Просто заливаем скрипт на наш хост, в файле config.php (находится в папке config ) настраиваем подключение к базе данных. К БД не сервера, а сайта. После чего выполняем этот запрос:
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
CREATE TABLE `gGuard` (
`index` int(11) NOT NULL,
`id` text NOT NULL,
`ip` text NOT NULL,
`key` text NOT NULL,
PRIMARY KEY (`index`),
FULLTEXT KEY `key` (`key`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
INSERT INTO `gGuard` VALUES(2, 'vados', '*', 'FFCCAA');
INSERT INTO `gGuard` VALUES(2, 'vados', '*', 'FFCCAA'); - эта строка добавляет в таблицу нового пользователя. vados - имя пользователя (Меняем на то, которое у нас указано в конфиге защиты). * - это IP адрес на котором будет работать сервер. Можно оставить * и ограничений по IP не будет. FFCCAA - это как раз тот код, который мы указывали при компилировании.
Исправляем запрос и посылаем его в базу.
ВНИМАНИЕ: Это не полная настройка web части, мы ещё вернёмся к ней, после настройки клиента.
-------------------------------------------------------------------------------------------------------
Третий этап:
Клиент часть настраивается сложнее, но тоже легко .
Клиентская часть написана на Delphi 7. Соответственно он нам понадобится для компиляции. Качаем в инете и устанавливаем.
Пока дельфины качаются, отредактируем привязку в клиенте.
Открываем папку ClientPart, а в ней любым текстовым редактором открываем файл ufrmSplash.pas
Находим внутри него такие строки:
Site:= 'http://localhost/nProtect/';
res:=HTTP.HTTPMethod('Get',Site+'npgmup.php?'+MimeEncodeString(uName)+'&client');
Меняем адрес сайта на свой! Опять же не забываем про директории у вас на сайте.
Теперь нам нужно скомпилировать клиентскую часть.
Внимание! Перед компиляцией проекта зайдите в папку с ним, найдите такие файлы как gGuard.cfg и gGruard.dof. Вам нужно будет отредактировать в этих файлах пути расположения файлов. Разобраться в этом будет очень легко.
Заходим в Delphi 7 -> Открыть новый проект -> идём в папку ClientPart и выбираем там файл gGuard.dpr.
Потом переходим в меню Project -> build gGuard. Тем самым мы получаем файл gGuard.dll
Если в процессе компиляции появляются ошибки и дельфины указывают на отсутствие различных компонентов, устанавливаем эти компоненты. Н-ти их можно в папке components. О том как их установить читаем в интернете.
Теперь заходим в DES_Part, проделываем тоже самое. Только тут не надо ничего редактировать. Просто компилируем.
После этого запускаем программу ConfigVis, из папки configurator, вписываем то имя пользователя которое вы используете в web части и в конфиге сервера, нажимаете "Сохранить" и выбираете путь для сохранения.
Вот и всё. Клиент часть должна состоять у вас из файлов: L2.exe, gGuard.dll, gg_sys.ini, gameguard/gGuard.des.
Если вам необходимо использовать свой L2.exe, просто привязываем файлы защиты PE Editor'ом к эксешнику.
-------------------------------------------------------------------------------------------------------
Теперь загружаем ваш gGuard.des в папку gGuard, на сайте.
Если этого не сделать клиент просто не запустится и будет вылетать с ошибкой
У вас запрещен доступ для приложения l2.exe к интернету по протоколу HTTP.'#13#10'Рекомендуем отключить Фаерволл.
-------------------------------------------------------------------------------------------------------
Вот и всё.
Защита не идельна, но если её доработать получится очень вкусная конфетка.
Для того чтобы её было тяжелее обойти, нужно менять алгоритм шифрования имени клиента в ключ и наоборот, сам ключ лучше хранить в самой защите, можно привязать шифрацию трафика с L2jCore 3.0, так же лучше запретить запуск на ВМ + проверять постоянно контрольные суммы и память клиента. Это прикроет различные отладчики, затычка не будет работать на вас. Это конечно не всё =).
Желаю вам удачи в установке.
И чуть не забыл.
Сервер
Клиент
Web
Вот ссылки на архивы. В них вы найдёте всё что нужно.
Может быть кому и пригодится эта статья.