|
Aladon Connection Protocol
Программа alproxy
В октябре 2004 года в сервере Аладон была реализована поддержка собственного протокола передачи данных между сервером и клиентом.
Протокол получил внутреннее имя Aladon Connection Protocol (сокращенно ALP).
Кроме того, была создана программа, получившая название alproxy.
Ниже можно ознакомиться с возможностями alproxy, узнать о причинах создания протокола и программы, а
также найти другую полезную информацию по данной теме.
Программа alproxy в данный момент работает только под Windows и доступна для скачивания в двух вариантах:
Для запуска под Windows 95 необходимо еще скачать winsock 2 update, который доступен для скачивания тут, на сайте Microsoft - размер 986Кб.
Это только для пользователей Windows 95!
После установки рекомендуется почитать содержимое файлов info.txt и alproxy.cfg, там есть полезная информация.
Причины создания программы alproxy
Основная причина для создания программы - воспрепятствовать одновременной игре нескольких персонажей, принадлежащих одному человеку.
Обычно, данная проблема решается запретом игры нескольких персонажей с одного IP. Но данный метод не является подходящим,
когда подключение к серверу Аладон происходит через прокси-сервер клуба, домашней сети, компании.
В данном случае персонажи различных игроков будут видны серверу, как персонажи одного, подключающиеся с одного и того же IP.
Для решения данной проблемы и создана данная программа.
Дополнительные возможности программы alproxy
Поддержка подключения через прокси сервера. Поддерживаются:
HTTPS - без авторизации, или с Basic авторизацией.
SOCKS4 - без авторизации, авторизация по имени. Также реализована расширенная версия данного протокола (4a),
которая позволяет переводить доменное имя в IP адрес на прокси-сервере.
Правда, сомнительно, что много SOCKS4 прокси-серверов поддерживают данное расширение.
SOCKS5 - без авторизации, plaintext авторизация.
Автоматическая компрессия данных, идущих от игрового сервера (по аналогии с MCCP).
Использована библиотека zlib.
Шифрование данных, передаваемых от сервера и к серверу.
Для каждого соединения генерируется собственный (сессионный) ключ. Обмен ключами базируется на алгоритме,
использующем эллиптические кривые. Это позволит предотвратить кражу паролей от персонажа путем просмотра данных,
передаваемых по сети (sniffing).
Обеспечено достаточно быстрое (около 1 минуты, зависит от настроек сервера) определение потери соединения игроком.
Если от игрока не поступало никаких команд в течение определенного времени, программа alproxy автоматически посылает служебную команду,
которая обрабатывается сервером. Если никаких данных (в том числе и служебных команд) не поступает слишком долго, сервер считает, что связь потеряна.
Более подробно об алгоритме работы программы alproxy
Программа устанавливается на компьютере игрока (не на прокси-сервере!!!).
Программа принимает соединения ТОЛЬКО с компьютера, на котором она установлена.
Попытки подключаться к данной программе, установленной на другом компьютере,
считаются серьезным нарушением правил игры. Если Вас поймали на этом, то скорее
всего ваш адрес будет забанен, а персонаж удален!
В конфигурационном файле программы настраивается, будет ли использоваться прокси сервер
(поддерживаются HTTPS, SOCKS4, SOCKS5), либо подключение к серверу Аладон идет напрямую (например, если есть NAT).
После запуска alproxy, игрок в своем любимом MUD клиенте подключается к localhost:9000 (127.0.0.1:9000),
либо использует тот порт, который установил в конфигурационном файле.
alproxy, если указано, соединяется с прокси сервером и посылает команды, необходимые для соединения с сервером Аладон.
Если прокси-сервер не используется, то просто устанавливается соединение с игровым сервером.
Используя набор команд, alproxy и игровой сервер организуют обмен ключами шифрования.
После того, как обмен ключами произошел, все передаваемые данные будут шифроваться.
О начале шифрования игрок будет извещен соответствующей строкой, посланной alproxy в MUD клиент.
Компрессия данных также включается автоматически на этапе установки зашифрованного соединения.
После того, как шифрование включено, alproxy вычисляет уникальный идентификатор компьютера, на котором запущен.
Данный идентификатор состоит из различных значений (например, номер жесткого диска, имя компьютера).
Затем идентификатор передается серверу.
Сами значения, на основе которых сформирован идентификатор, не передаются, а просто участвуют в формировании идентификатора.
Приняв идентификатор, сервер присваивает его текущему соединению.
После ввода имени персонажа и пароля, сервер проверяет, есть ли уже такой персонаж в мире. Если есть, то происходит переподключение,
а персонажу устанавливается новый идентификатор (такой же, как у соединения).
Если персонаж в мире отсутствует, то сервер проверяет, есть ли в мире другие персонажи, у которых такой же идентификатор компьютера,
как у данного соединения (и компьютера игрока, подключившегося к серверу). Если такие персонажи не найдены, то вход в игру разрешается,
в противном случае запрещается.
Далее alproxy просто обеспечивает расшифровку и декомпрессию данных, передаваемых от сервера, а также шифрование данных, передаваемых серверу.
В случае перезагрузки сервера, шифрование и компрессия будут временно выключены, а после окончании перезагрузки включены опять.
Кто должен использовать данную программу
Хотя программа и предназначена для всех, кто играет в MUD Аладон, обязательна для использования она лишь тем,
кто подключается с IP адресов и подсетей, занесенных в специальный список прокси-серверов.
Сервер Aladon позволяет вести список IP адресов и IP подсетей, с которых подключение через программу alproxy является обязательным.
Это делается для того, чтобы игрок не мог подключиться к Аладон, не используя alproxy, тем самым лишив возможности играть всех остальных игроков, использующих тот же прокси-сервер.
Некоторыми антивирусами программа воспринимается как вирусосодержащая, это связано с кодом программы. Администрация игры не несет никакой ответственности за использованием данной программы.
Если вас это не устраивает просто не используйте программу.
|
|