Игровая платформа состоит из нескольких под-проектов, каждый из которых может быть использован в разработке и других систем, не обязательно игровых.
Основная игровая платформа, инфраструктура для всех остальных компонент. Эта версия использует систему сигналов (архитектура Signal/Slots) и базируется на ряде открытых проектов, основным компонентом является Zend Framework 1.8.
Этот модуль предназначен для хранения РНР сессий в распределённом кеше и представляет собой связку из специального класса для РНР, который замещает обработчики сессий, а также сетевого сервиса на Java, который принимает и обрабатывает все команды. Данные РНР-сессий хранятся в кеше EHCache, по умолчанию система настроена на использование одного сервера, однако возможно сконфигурировать EHCache для репликации данных кеша на другие машины кластера.
Текущая версия проекта: 0.1beta1, поддерживается только один сервер хранения данных (постоянный кеш, память<>диск). Поддержка распределённого кеширования ожидается в RC1.
Примечание! Если предполагается хранение большого объема данных, в частности, использовать под кеш более 512МБ, рекомендуется запускать сервер сессий в отдельной копии JVM.
Система игровых чатов основана на использовании внутреннего собственного Jabber-сервера (используется OpenFire), а также специальный java-сервер, выполняющий прокси-функции и работающий с нашим внутренним протоколом. Для работы чата есть два варианта клиентских библиотек - на основе JavaScript/Flash, которая функционирует в браузере, и серверный компонент на РНР, который может быть использован в других модулях для отправки сообщений. Для обоих библиотек протокол одинаковый.
Текущее состояние проекта: pre-alpha
Модуль предназначен для ведения лога в РНР-скриптах и использует отдельный сетевой сервер для хранения логов и занесения их в базу данных. Это сделано для того, чтобы в случае, если у нас много сообщений в лог, они были записаны в отложенном режиме, не загружали основную базу данных. Система лога предназначена для работы как на одном сервере, так и в составе кластера серверов, которые пишут лог на один отдельный сервер. Но в случае необходимости запись может быть распределена на несколько лог-серверов.
В случае, если связь с лог-сервером отсутствует, данные временно записываются на диск (или кешируется в память), каждая последующая запись сначала проверяет доступность сервера, и если это возможно, производит запись в лог всех данных.
В связи с архитектурой, записи в базе данных лога появляются не мгновенно, а с задержкой, которая зависит от интенсивности использования лога, а также от установленного интервала занесения данных (дефолтное время - раз в три минути).
Экспериментальная чат-система на базе Java/ExtJS/jSocket
Скрипт инсталлятора для веб-приложений.
В настоящее время бизнес-модель проекта еще обдумывается, но окончательно ясно, что будет открытая версия платформы, возможно под BSD-лицензией, на коммерческой основе будет распространятся поддержка, консультации, написание модулей на заказ или переработка существующих, а также некоторые конфигурации платформы, рассчитанные на работу более чем на двух серверах (то есть, в кластера с более чем 2-мя нодами).
По всех вопросов обращайтесь к Администратору проекта: