Project "SuperNova.WS" Release 35 RC0 "MVC race reparse teleportation recycle"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[#] Модули: Расы
Шесть фиксированных рас: земляне, луниты, меркурианцы, венериане, марсиане, республиканцы
Иконка расы отображается в чате, в статистике, в попапе информации об игроке во Вселенной и на странице Императора. Удержание курсора над иконкой расы вызывает тултип с её названием. Клик - открывает страницу с описанием всех рас
Каждая раса имеет собственные бонусы. Бонусы рас действуют сразу же после выбора родного мира - не нужно, например, исследовать техи, что бы получить к ним бонус
Раса выбирается после регистрации на странице Императора
Первый выбор расы производится бесплатно, каждая смена расы стоит 100.000 ТМ
Описание текущей расы доступно на странице Императора. Там же есть ссылка на описание всех рас в игре с указанием их символов
[#] Модули: Расовые юниты - требуется наличие модуля "Расы"
Шесть уникальных юнитов - по одной каждой из рас:
Земная "Лень" - боевой солнечный спутник
Лунная "Зависть" - легкий бомбардировщик
Меркурианское "Обжорство" - емкий переработчик
Венерианский "Гнев" - истребитель-перехватчик
Марсианская "Гордыня" - усовершенствованный линейный крейсер
Республиканская "Жадность" - боевой транспорт
[!] Телепортация планеты - новая возможность, доступна на странице управления планетой
Телепортация может производится только на свободное место - там, где нет ни планет, ни лун, ни обломков, включая уничтоженные объекты
Телепортация перемещает в новые координаты планету вместе с флотами, находящимися на орбите планеты
Если у планеты есть луна - она так же перемещается в новые координаты вместе с флотами
Телепортация невозможна, если в окрестностях планеты есть какая-то активность флотов (т.е. есть флоты, имеющие в качестве точки отправления или назначения саму планету, луну или поле обломков)
После телепортации необходимо выждать некоторое время перед следующей телепортацией - нарушенная метрика пространства вокруг планеты должна нормализироваться
Стоимость телепортации и таймаут перед следующим прыжком задаются в таблице `config` соответственно переменными 'planet_teleport_cost' (по умолчанию - 50.000 ТМ) и 'planet_teleport_timeout' (по умолчанию - 1 сутки)
[!] Перенос столицы - новая возможность, доступна на странице управления планетой
Теперь любая планета может быть назначена столицей
Стоимость переноса столицы по умолчанию составляет 25.000 ТМ. Она задается в таблице `config` переменной 'planet_capital_cost'
[!] МПР
Изменение алгоритма ракетного удара
Алгоритм ракетного удара теперь не привязан к численным значениям идентификаторов юнитов и сильно оптимизирован по скорости
Теперь при атаке МПР учитываются щиты оборонных сооружений. Это должно слегка уменьшить эффективность ракет и повысить живучесть защитных сооружений с большим количеством щитов
Теперь при ракетном ударе рандомизируются параметры атаки, брони и щитов у соответствующих юнитов. Границы такие же, как и для сражений флотов - от 80% до 120%
В результате изменений в алгоритме существенно повысилась живучесть ПЗ при ракетном ударе
Добавлена поддержка усиления залпа для МПР
[!] Переработка
Полностью переделана работа с полем обломков
Полностью переписан алгоритм запуска переработчиков
В попапе вместе с абсолютными теперь показываются и относительные значениями в процентах
В попапе добавилось три строки:
1. Строка "В полете" показывает емкость трюмов переработчиков пользователя, которые уже летят на данное поле
2. Строка "На орбите" показывает емкость переработчиков на орбите текущей планеты или луны
3. Строка "К переработке" показывает сумму двух предыдущих строк
На основном экране Вселенной к иконке обломков добавлена индикация процентного значения из строки "В полете". Она имеет цветовое кодирование:
1. Зеленый цвет означает, что прибывающие флоты игрока полностью переработают поле обломков на ресурсы
2. Желтый цвет означает, что к полю летит некоторое количество переработчиков, которых не хватит что бы целиком переработать обломки, но на текущей планете есть достаточно переработчиков, что бы полностью обработать поле
3. Оранжевый означает, что к полю летит флот иргока с переработчиками, но их не хватит на полную обработку обломков, даже включая те корабли, что находятся на орбите
4. Красный цвет значит, что к полю обломков не летит ни одного переработчика игрока
[!] Статистика
Теперь можно управлять появлением игроков в статистике и рекордах. Для этого на странице настроек сервера появились дополнительные настройки. Они размещаются в разделе "Статистика и рекорды"
Отключение настройки "Прятать админов" добавит в статистику и рекорды всех пользователей с authlevel > 0. По умолчанию она включена
Настройка "Прятать игроков" позволяет указать через запятую перечень ID игроков, которые не будут участвовать в статистике и рекордах. Это может быть полезно для создания NPC - ботов или игроков, которые исполняют их роли
Так же в этот раздел вынесена настройка расписания автоматического обновления статистики. ВНИМАНИЕ!!! КРАЙНЕ НЕ РЕКОМЕНДУЕТСЯ МЕНЯТЬ ЗНАЧЕНИЕ ПО УМОЛЧАНИЮ!!!
Добавлена опция "Скрывать ссылки на ЛС". При её включении в таблице статистики не показывается URL на создание личного сообщения игрокам
Теперь переход по определенной позиции (например со страницы Вселенной) скроллирует страницу сразу на эту позицию
Немного уменьшен размер страницы статистики
[!] MVC
Базовая поддержка MVC - встроенная система моделей и видов
Все страницы, переделанные под MVC, перемещены в /includes/pages
[!] Рендерер имен
Добавлен механизм рендеринга имени пользователя
Чат, статистика, Вселенная и страница Императора теперь используют общий механизм рендеринга имени пользователя
[!] Чат
Переписан чат
Чат теперь инкрементальный - с сервера передается не всё содержимое чата, а только новые сообщения. Чат корректно работает когда у игрока открыто несколько окон с чатом
Исправлена проблема со скроллированием чата в Chrome v20+
Теперь при отключении чата по таймауту содержимое окна не стирается, а в него добавляется соответствующее сообщение. Так же прячутся элементы ввода: выбор цветов, строка сообщения, кнопка "Отправить" и панель смайлов
Основное окно чата переписано под preMVC
Новый код чата (как JS, так и PHP) заметно компактнее, аккуратнее и быстрее старого
Увеличена длина поля для ника в чате
[!] Дерево технологий
Полностью переписано дерево технологий (бывш. techtree.php)
Рядом с названиями юнитов там, где это имеет смысл, отображаются их уровни в Империи/на текущей планете
Теперь вместо полного уровня с учетом бонусов отображаются отдельно базовые уровни и отдельно бонус к ним
Добавлена поддержка дополнительных требований к строительству юнитов (например - модуля расовых юнитов)
[!] Заметки
С нуля написаны заметки. Что еще сказать?
[!] Друзья
Страница друзей написана с нуля
Теперь подробно сообщается обо всех ошибках и результатах операций с заявками
В личную почту отправляются сообщения по приходу, принятию и отверганию заявки, а так же при разрыве дружеских отношений
Цветовое кодирование статуса друга: зеленый - онлайн, желтый - бездействие от 5 до 15 минут, оранжевый - оффлайн, красный - оффлайн более суток
[!] Модули
Поддержка ali_ally_player 12a0
Поддержка player_premium 1b0
[!] Новапедия
Полностью написана с нуля страница информации о юнитах
Теперь в Новапедии показываются требования для постройки/исследования юнита
Теперь для корабля показываются данные для всех типов двигателей, которые возможно на него установить
Улучшено отображение информации о кораблях и обороне
[!] readme.txt сконвертирован в UTF8
[+] Меню
Добавлен пункт меню "Тёмная материя"
Добавлена возможность добавления иконки к пункту меню. Иконки берутся из подкаталога 'icons' текущего скина
Добавлена прямая поддержка CSS-стилей для элементов меню
Под логотип сервера в ALT вместо 'supernova.ws' подкладывается имя сервера
[+] Обзор Империи
Значительно оптимизирован HTML-код
Размер HTML-кода уменьшен на величину от 30% и в отдельных случаях до 80%.
Среднему игроку оптимизация даст уменьшение размера загружаемого файла на 40-50%% (включает так же выигрышь от оптимизации Списка планет - см.ниже)
В колонку "ИТОГО" добавлена сумма по строящимся и прибывающим на планеты юнитам
Теперь юниты всегда групируются согласно их принадлежности. Например, при подключении модуля расовых юнитов они добавляются в категорию "Флот", а не как ранее в конце таблицы
[+] Список планет
Значительно оптимизирован HTML-код
В Списке планет убрана иконка, отвечающая за исследование вследствие полной бессмысленности
[+] Реклама
Добавлена возможность управлять мета-тегами 'description' и 'keywords' без редактирования темплейта! Их содержимое хранится в таблице `config` в полях `adv_seo_meta_description` и `adv_seo_meta_keywords` соответственно
[+] Модули
Система модулей переписана с учетом базовой поддержки MVC
Автоматическая загрузка языков
[+] Планетарные врата
Интерфейс переделан по примеру страницы "Флоты на орбите"
[+] Вселенная
Шаблоны попапов легенды, планет, лун, обломков, игроков и альянсов вынесены из JS-скрипта в шаблон страницы
Убрано количество летящих флотов - эта информация есть в навбаре
Полностью переписана работа AJAX-части, отвечающей за отправку шпионов, переработчиков и ракет
Количество переработчиков теперь включает все виды кораблей, которые могут перерабатывать обломки
Интерфейс запуска ракет использует группу защитных сооружений, а не хард-кодед перечень, как было раньше
В попап легенды добавлены расшифровки для иконок действия
В попапе планеты показывается её диаметр
В попапе луны миссия "Уничтожить" показывается только если на текущей планете игрока есть ЗС
Из попапа игрока убраны ссылки - все, что можно было сделать по ссылкам, можно теперь
Добавлено новая иконка действия - "Статистика". Её тултип показывает статистику игрока
Расширена подсказка
[~] Обзор планеты
Переписана процедура отсылки переработчиков
Теперь выводится результат отсылки переработчиков
[~] На странице "Тёмная материя" дополнен список возможного использования ТМ и проставлены ссылки на соответствующие страницы
[~] HTTPS
Теперь СН нормально работает и по HTTPS протоколу
[~] Император
Со страницы убраны баннер и юзербар
[~] UBEv3
Улучшена поддержка залпового огня
[~] Юниты/Корабли
Небольшой ребаланс кораблей
Сверхновая - атака уменьшена на порядок. При этом боевая эффективность корабля изменилось незначительно, благодаря изменению коэфициента усиления залпа. Немного уменьшилась эффективность против наземной обороны и легких кораблей и увеличилась эффективность против средних кораблей
Бомбардировщик: понижена эффективность против ионных орудий и повышена - против плазменных
[~] Исследования
Добавлена индикация бонусных уровней (например, от премиума) на страницу исследований
[~] Наемники
Добавлена индикация бонусных уровней (например, от премиума) на страницу наемников
[~] Стили
Цвет бонусов изменен с "yellow" на "gold" - это даст возможность отличать их от, например, прибывающих на планету юнитов
[~] Локализация
К эффектам Технолога и Фортификатора добавлена информация о добавлении слотов к очередям
[~] Флот
Полностью локализована страница приглашения в САБ
[~] Регистрация
Изменено сообщение при регистрации игрока
[~] Тёмная Материя
Немного переработан интерфейс страницы
[%] Фаланга
Теперь нельзя сканировать удаленную планету
[%] Локализация
Исправлена ошибка чтения информации о локализации
Небольшая правка опечаток в русской локализации
[%] Альянсы
Исправлена ошибка отображения полей информации Альянса при наличии лого и отсутствии внешнего текста Альянса
[%] Вселенная
Исправлена опечатка в легенде
Исправлена ошибка с перебросом по координатам [1:1:1] при выборе планеты из выпадающего меню
[%] Обзор планеты
Добавлена проверка на уровень губернатора при его отображении - если вдруг при прямых манипуляциях в базе у планеты есть ИД губернатора, но нет его уровня. В нормальных условиях такого произойти не может
[%] Флот
Исправлена ошибка отправки корабля, если его ID больше 300 или меньше 200
Теперь невозможно пригласить в САБ игрока, на которого летит этот САБ
[%] UBEv3
Исправлена ошибка с определением кораблей с ID > 300 как защиты и их восстановлением. Ошибка проявляется только в сторонних модулях
[@] Темплейты
Рендерер страницы теперь подхватывает заголовок страницы, если он есть - переменная PTL {PAGE_HEADER}
Содержимое переменной $template_result автоматически загружаетя в темплейт в файле index.php
Файл темплейта _result_message автоматически подгружается при рендеринге темплейта, если в структуре переменных темплейта есть массив 'result'
[@] Модули
Изменена процедура инициализации - модули теперь грузятся до проверки наличия страниц. Это сделано на случай, если модуль добавляет свои собственные страницы как, например, модуль Премиума и модуль Рас
Теперь можно указывать в качестве страницы загрузки файла локализации пустое множество '' - файлы в этом массиве будут загружаться всегда
Поддержка дерева зависимости модулей - теперь можно делать модули, зависящие от других модулей
Автоматическая загрузка зависимых модулей в правильном порядке
[@] Код
Из файла vars.php выделены три отдельных файла со структурами, боевыми юнитами и всеми остальными
Так же добавлена дополнительная служебная информация для того, что бы в симуляторе не пропадали защитные сооружения при добавлении новых юнитов через модули
Убраны неиспользуемые данные "скорострела"
Из информации о боевых юнитов убраны ненужные данные о единичных усилениях
Численные значения для защитных сооружений и ракет заменены везде на константы
Везде из текста убраны ссылки на переменную $GLOBALS для поддержки рефакторинга в IDE
Библиотека "tw-sack.js" больше не используется - она заменена на jQuery
Исправлена очепятка в названии константы технологии ионного двигателя
Убран неиспользуемый код "скорострела"
js_safe_string() теперь корректно работает со строками, где есть перевод строки, включая Линуксовские и Маковские форматы файлов
sn_function_call теперь корректно отрабатывает несуществующие функции
Добавлена функция sn_get_groups()
eco_bld_tech.php теперь не использует $sn_data
Оптимизирован код Альянсов
Все страницы интерфейса игроков переписаны без использования $parse
Теперь в doquery() префикс {{table}} не используется и не обрабатывается
Страницы login.php, phalanx.php переписаны без использования $parse
JS: В объявлениях скриптов все конструкции language="javascript" заменены на type="text/javascript"
Теперь движок может работать с неограниченным количеством типов кораблей-переработчиков
[@] Меню
Заменены типы элементов меню на "lang" там, где это было возможно
Стандартное меню вынесено из файла template.php в includes/vars_menu.php
Парсер меню теперь понимает вложенные конструкции и константы для типа меню 'lang' - т.е. конструкции вида 'info[STRUC_MINE_METAL][description]'
[@] MVC
Частичная поддержка структуры MVCv2 в init.php
Добавлена поддержка анонимных MVC-страниц в common.php
Добавлена поддержка MVC-страниц на страницы логина/регистрации
...а так же множество других изменений, исправлений и багфиксов. Полный чейнджлог
http://supernova.supernova.ws/docs/changelog_dev.txt
Репозитории
https://github.com/supernova-ws/SuperNova#
git://supernova-ws.git.sourceforge.net/gitroot/supernova-ws/supernova-ws
Архив инсталляции для загрузки - для тех, кто не осилил GIT
https://github.com/supernova-ws/SuperNo ... all/master
Ридми
http://supernova.supernova.ws/docs/readme.txt
Основной сайт проекта:
http://supernova.ws/
Инструкция по обновлению:
=======================
Обновление до последней версии
==============================
0. ВНИМАНИЕ!!! ПЕРЕД ОБНОВЛЕНИЕМ СДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИЮ БАЗЫ ДАННЫХ И ФАЙЛОВ ДВИЖКА С ТЕМ, ЧТО БЫ МОЖНО БЫЛО ОТКАТИТЬСЯ В СЛУЧАЕ НЕУДАЧНОГО ОБНОВЛЕНИЯ!!!
1. Залогиньтесь в игру через аккаунт с правами Администратора
2. ВНИМАНИЕ!!! Перед обновлением сервер ОБЯЗАТЕЛЬНО нужно остановить. Делается это так: под Администратором в левом меню появится пункт "Администратор" - кликните на него. В админском меню выберите пункт "Настройки", поставить галочку "Отключить игру", нажать кнопку "Сохранить" в самом низу страницы. Только после этого можно производить обновление - иначе результат может быть далеким от ожидаемого.
3. Если у вас включено кэширование темплейтов, нужно удалить все файлы в каталоге /cache
4. Теперь обновите файлы движка
4.1. Если вы ставили игру из GIT-репозитория, то на сервере в корневом каталоге игры выполните команду
Код: Выделить всё
git pull
5. ДОЖДИТЕСЬ, ПОКА НОВАЯ ВЕРСИЯ ДВИЖКА ОКАЖЕТСЯ НА СЕРВЕРЕ! Попытка обновления в процессе копирования файлов или загрузки их из репозитория GIT могут привести к непредсказуемым результатам
6. Переключитесь в браузер, в котором вы залогинены под Администратором и выберите пункт меню "Обзор". Дождитесь загрузки страницы - в этом время происходит обновление БД
7. И, наконец, после всех этих действий игру можно опять включить (Администратор -> Настройки, снять галочку "Отключить игру" и сохранить изменения), нажать кнопку