Страница 2 из 3

Project "SuperNova.WS" Release 33 "Women Day v2012!"

Добавлено: 08 мар 2012, 02:52
Gorlum
ВНИМАНИЕ!!! ПЕРЕД ОБНОВЛЕНИЕМ СДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИЮ БАЗЫ ДАННЫХ И ФАЙЛОВ ДВИЖКА С ТЕМ, ЧТО БЫ МОЖНО БЫЛО ОТКАТИТЬСЯ В СЛУЧАЕ НЕУДАЧНОГО ОБНОВЛЕНИЯ!!!

Project "SuperNova.WS" Release 33 "Women Day v2012!"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[@] ВНИМАНИЕ!!! В этой версии скорректирована работа партнерской программы, а так же повторно применен патч для масштабирования ТМ - для тех серверов, где он не был применен раньше. Если вы вносили изменения в настройки партнерской системы или начисления ТМ - сверьте текущие настройки в таблице "config" с эталонными настройками в конце файла /docs/sql/supernova.sql!
[@] ВНИМАНИЕ!!! PHP 5.3.1 содержит баг, который делает невозможной полноценную работу СН начиная с v33a12! Обновите PHP, или сделайте откат до более ранней версии PHP, или используйте предыдущую версию СН.
Описание бага: https://bugs.php.net/bug.php?id=50394
[@] ВНИМАНИЕ!!! Удален скин 'xnova'
Из дистрибутива игры удален скин 'xnova' из-за занимаемого им размера
Скачать скин можно с основного сайта проекта по ссылке
http://supernova.ws/files/skins/superno ... -xnova.zip
либо с SourceForge по ссылке
http://sourceforge.net/projects/superno ... les/skins/
[@] Среда разработки изменена на WAMP Server 2.2. Конфигурация:
MySQL 5.1.41
Apache 2.2
PHP 5.2.9-2 + xCache 1.3.2

[#] Альянсы: Альянсы теперь могут рекрутировать Наемников и исследовать технологии!
1. Каждый Альянс имеет счет с ресурсами металл/кристалл/дейтерий/ТМ
2. Член Альянса может перевести ресурсы на счет Альянса. Сделать это можно на главной странице Альянса в разделе "Ресурсы Альянса". Там же можно увидеть состояние счета Альянса и бонусы, предоставляемые Альянсом (см. ниже). Кроме того в топбар добавлено отображение ресурсов Альянса и индикация наличия/отсутствия бонусов участникам Альянса
3. Ресурсы со счета Альянса могут расходоваться только на нужды Альянса. Вывод ресурсов со счета Альянса невозможен
4. Владелец Альянса с его счета может исследовать технологии и рекрутировать Наемников - соответственно пункты "Технологии Альянса" и "Наемники Альянса" на странице управления
5. После достижения минимально необходимого размера Альянса (10 человек по умолчанию, задается в таблице `config` записью 'ali_bonus_members') каждый член Альянса получает бонус к своим Наемникам и технологиям
6. Значение бонуса зависит от количества игроков в Альянсе и вычисляется по формуле:

Код: Выделить всё

Бонус = round(уровень технологии или Наемника / количество игроков),
где round() - операция математического округления.
7. Бонусы от Наемников и Технологий так же действуют при проверки требований к постройкам/исследованиям. Например: игрок состоит в Альянсе, дающем бонус +2 к Лазерной технологии, а его собственный уровень технологии равен 4. Эффективный уровень технологии этого игрока равен 6. Это означает, что находясь в Альянсе он имеет доступ к исследованию Ионной технологии (требуется ЛТ 5-го уровня) и может строить Тяжелый Лазер (требуется ЛТ 6-го уровня). Очевидно, если бы он не находился в Альянсе, эти постройки были бы заблокированы
8. При исследовании технологии уровень лаборатории равен количеству игроков в Альянсе на момент начала исследования. Активные исследования видны членам Альянса на странице информации
Примеры:
1. Альянс из 10 человек купил Технологию 4 уровня:

Код: Выделить всё

Бонус = round(4/10) = round(0,4) = 0
2. Альянс из 10 человек купил Технологию 7 уровня:

Код: Выделить всё

Бонус = round(7/10) = round(0,7) = 1
Выбранная механика бонусов Альянса призван обеспечить достижение сразу нескольких целей:
1. Исключить злоупотребление фишкой, когда 2-3 игрока формируют Альянс исключительно для получения бонусов
2. Активизировать межальянсную активность: бонусы от ресусов Альянса можно получить только начиная с определенного количества участников. Ну и чем больше игроков в Альянсе, тем больше у него ресурсов
3. Усилить лояльность игроков к Альянсу - при выходе (или выгоне) из Альянса игрок теряет все бонусы и (самое неприятное) все ресурсы, пожертвованные в Альянс
4. Исключить появление мегаальянсов: чем больше игроков - тем больше ресурсов они могут пожертвовать, но тем меньше бонусов получит каждый отдельный игрок
5. Слабые игроки в сильных Альянсах получают доступ к end-game юнитам (если, конечно, глава Альянса решит потратить ТМ на соответствующих Наемников) и бонус в развитии
6. Сильные игроки смогут поднять эффективные уровни Технологий даже в больших Альянсах. Например, если в Альянсе 15 человек, то исследовать 15 уровень технологии всем Альянсом будет проще и дешевле, чем каждому игроку отдельно
7. То же самое распространяется и на Наемников. При этом только Альянс дает возможность получить эффективный уровень Наемников больше максимального
Дополнительно доступны еще три метода расчета бонусов. Подробнее см. в /docs/readme.txt

[!] Иконка сайта: Новая иконка сайта! Мегареспект ув.Помощнику Ivash!
[!] Запущен сервер обновлений.
1. Движок сервера общается с сервером обновлений по протоколу HTTP.
2. Если установлен CURL и подключен к PHP, то для проверки версии будет использован именно он. Убедитесь, что CURL правильно настроен и ему разрешен доступ к внешним ресурсам
3. Если CURL не установлен, будет осуществлена попытка получить версию через file_get_contents(). Убедитесь, что в PHP разрешается обращаться к внешним сайтам через соответствующую функцию
В настоящее время сервер обновлений поддерживает следующие функции: проверка версии движка и регистрация сайта. Доступ к ним осуществляется из админки со страницы настроек сервера
1. При проверке версии передаются только анонимные данные - текущая версия БД, номер релиза и версия игры.
2. Результат проверки - рекомендация сервера обновлений о необходимости обновления текущей версии игры
3. Есть два варианта проверки версии: ручная и автоматическая
4. Ручная проверка версии выполняется в ручном режиме по нажатию кнопки "Проверить версию" на странице настроек.
5. Автоматическая проверка версии (по умолчанию - отключена) производиться самостоятельно движком по расписанию. Как и при ручной, передается тот же объем анонимных данных
6. Период автоматической проверки версии задается в секундах в таблице config переменной server_updater_check_period. По умолчанию период проверки равен 24 часам (раз в сутки).
7. Результат и время последней проверки выводится в левом меню.
8. Результат и время последней проверки так же выводится на странице настроек.
9. Предусмотрено цветовое кодирование результатов проверки (как в левом меню, так и в настройках): зеленый - обновление необязательно, желтый - желательно обновить движок, оранжевый - крайне рекомендуется обновление, красный - ошибка проверки версии
Регистрация сервера нужна для ряда запросов к серверу обновлений. При регистрации передается минимум информации, необходимой для идентификации сервера:
1. Полный URL сервера - т.е. HTTP-адрес и подкаталог сервера. Например: http://myserver.com/myfolder/. Это необходимо для первичной идентификации сервера. Полный путь необходим для того, что бы различать несколько копий СверхНовой, установленных на одном IP или домене.
2. Внутреннее название сервера. Используется для подстановки в сообщения.
Зачем вообще регистрировать свой сервер? В будущем планируется ряд возможностей, которые буду доступны только зарегистрированным серверам. В их число входит (отсортированы по запланированным срокам реализации):
1. Автоматическое получение чейнджлога
2. Автоматизированное обновление движка
3. Участие в рейтинге серверов
4. Багрепорты от администраторов серверов
5. Чат для администраторов серверов
6. По запросу - удаленная диагностика сервера
7. ...и многое, многое другое
Зачем регистрировать свой сервер прямо сейчас?
1. Запросы от администраторов зарегистрированных серверов имеют больший приоритет при диагностике проблем и обработке багрепортов.
2. При регистрации кроме индивидуального ключа серверу выдается уникальный идентификационный номер, который будет использоваться при первичной сортировке серверов. Чем раньше будет зарегистрирован сервер - тем, например, выше он будет в общем каталоге серверов...
[!] Наемники: Добавлена поддержка временных Наемников (ВН). Осталась так же поддержка постоянных Наемников (ПН). Тип Наемников выбирается в настройках сервера
1. ВН (как следует из названия) не являются постоянными, а нанимаются на определенный срок. По истечению срока Наемник исчезает
2. В режиме ВН отсутствует понятие "веток развития" и для найма доступны сразу все Наемники. Соответственно не отображаются требования к Наемникам на странице "Технологии"
3. Базовая цена покупки ПН в режиме ВН становится ценой найма на базовый период найма (БПН). По умолчанию он равен одному среднекаелндарному месяцу (30 дней, 2592000 секунд). Изменить БПН можно на странице настроек сервера
4. Предусмотрена система скидок/наценок в зависимости от срока покупки Наемника. Настройки содержатся в массиве $mrc_hire_discount в файле /officer.php. Индекс элемента - количество секунд найма, значение - коэффициент скидки. "1" означает, что на данный интервал найма нет ни наценки, ни скидки и при пересчете на количество секунд в БПН его стоимость будет в точности равна стоимости БПН. Если число меньше единицы - это означает скидку; больше единицы - наценку
5. Временного наемника можно увольнять до истечения срока найма. ВНИМАНИЕ! При увольнении наемников вся портаченная на найм ТМ будет утеряна!
6. Режим Наемников отображается на странице "Мировые константы"
При переключении режима Наемников следует учитывать следующие особенности:
1. При включении ВН все постоянные Наемники будут преобразованы во временные со сроком действия равному БПН. В случае необходимости изменить БПН нужно СНАЧАЛА его изменить, а затем переключать режим работы Наемников
2. После включения ВН изменение базового интервала найма не влияет на уже рекрутированных Наемников, а влияет только на цену нового найма
3. При отключении ВН все активные на этот момент Наемники будут преобразованы в постоянные - вне зависимости от того, на какой срок они были наняты и сколько времени осталось до срока истечения найма. Информация о сроках найма при этом теряется
4. При отключении ВН активизируются ограничения по рекрутированию Наемников, однако уже нанятые Наемники останутся активными и будут влиять на игру вне зависимости от того, может игрок их купить или нет. Такой способ переключение выбран для исключения потерь ТМ, вложенных игроками в Наемников
Переработана страница рекрутирования Наемников:
1. Добавлена поддержка временных Наемников
2. Стоимость найма отображается динамически в зависимости от текущего режима Наемников, выбранного уровня и срока найма
3. В режиме ПН видны все наемники - даже недоступные (с соответствующими пояснениями)
4. В режиме ПН можно нанимать сразу несколько уровней Наемников
5. При найме постоянных наемников показывается ровно столько уровней, насколько хватает ТМ
[!] Аватары: Добавлена поддержка серверных аватаров игроков
Аватары могут быть загружены с локального диска на странице настроек пользователя.
Поддерживаются файлы форматов JPG, GIF и PNG размером до 200КБ. Загруженные картинки будут отмасштабированы до размеров 128х128.
Аватар отображается на странице "Император" и в попапе игрока на странице "Вселенная"
[!] Альянс: Добавлена поддержка серверных логотипов Альянсов
Логотипы могут быть загружены с локального диска на странице управления Альянсом
Поддерживаются файлы форматов JPG, GIF и PNG размером до 200КБ. Загруженные картинки будут отмасштабированы до размеров 128х128
Логотип отображается на странице информации об Альянсе и в попапе Альянса на странице "Вселенная"
[!] Вселенная: Галактики и системы могут иметь собственные названия!
1. По умолчанию галактики и системы не имеют собственных названий
2. Увидеть текущее имя галактики или системы можно на странице "Вселенная"
3. Назвать галактику или систему можно по ссылке "Переименовать" соответственно возле координат галактики или системы на странице "Вселенная"
4. Именование галактики или системы имеет соответствующую стоимость - по умолчанию 10000 ТМ для галактики и 1000 ТМ для системы - т.н. "базовую стоимость именования". Изменить базовую стоимость именования можно в настройках сервера. Игроки могут видеть текущую базовую стоимость именования на странице "Мировые константы"
5. При именовании галактики или системы игрок может назначить цену именования. Минимальная цена именования равна базовой стоимости именования
6. При переименовании уже именованной галактики или системы, игрок должен уплатить ранее назначенную стоимость именования плюс базовая стоимость именования. Таким образом, если первый игрок назначил цену именования системы в 2500 ТМ, а базовая цена именования системы составляет 1000 ТМ, то игрок, желающий переименовать ту же систему должен уплатить не меньше 3500 ТМ. Таким образом более высокая цена именования галактики или системы в определенной степени защищает объект от переименования
7. Как было сказано в п.2, имя галактики и системы видны всем игрокам
8. Все действия по переименованию галактик и систем записываются в лог - код события 104
[!] Модульность: Базовая поддержка модульности - динамически перекрываемые функции. Подробное описание по использованию динамического перекрытия см. в разделе "Модульная система" файла /docs/readme.txt
[!] Исследования: Очередь исследований перенесена с планет на пользователя
1. Исследования теперь могут производится даже на планетах со строящимися лабораториями/нанолабораториями
2. В случае отсутствия МИС для проведения исследования выбирается лаборатория с максимальным эффективным уровнем (т.е. с учетом нанолабораторий)
3. При отмене исследования ресурсы возвращаются на ту планету, с которой были взяты
4. Награда за квесты на исследование теперь всегда начисляется на основную планету игрока
5. При апдейте все идущие исследования будут перенесены в пользовательскую очередь
[!] Чёрный Рынок: Продавец информации
На Чёрном Рынке доступна новая услуга: продажа информации.
Письма от Продавца Информации всегда приходят в почтовый ящик - даже если у игрока отключено получение шпионских отчетов. Мистика какая-то!
Информация об игроке: текущие уровни активных Наемников.
[!] Темплейты: Минификатор
ВНИМАНИЕ! ЭТО - ЭКСПЕРИМЕНТАЛЬНАЯ ФИШКА! ИСПОЛЬЗУЙТЕ ЕЁ НА СВОЙ СТРАХ И РИСК!
Минификатор уменьшает размер генерируемого движком HTML-кода путем замены нескольких идущих подряд пустых символов (перевод строки, табуляция, пробел) одним символом пробела.
Минификатор умеет сжимать HTML и встроенный JS-код. Для JS-кода он так же удаляет однострочные комментарии.
Минификатор работает на уровне темплейтов и если включено кэширование, то минификатор вызывается только один раз при компиляции кода и дальше кэшируется уменьшенный скомпилированный темплейт, что исключает необходимость в повторном вызове минификатора. Этим он выгодно отличается от минификаторов, работающих на уровне сессии через ob_hanler()
В среднем по сайту минификатор дает выигрыш порядка 7-8%% при незначительном падении производительности.
По умолчанию минификатор отключен. Включить его можно в админке в настройках сервера - пункт "Минификатор темплейтов"

[+] Пол: Добавлено отображение пола игрока на странице "Император", на странице статистики и в попапе игрока на странице "Вселенная"
[+] Настройки: Отображение логотипов Альянсов и аватаров игроков на странице "Вселенная" может быть отключено в настройках игроков
[+] Вселенная: На попапе игрока отображается его текущее звание в Альянсе
[+] ЧР/Торговец ресурсами: Теперь можно поменять ТМ сразу на все ресурсы (опция "Все ресурсы" в дропдауне выбора ресурсов). При этом вводимая сумма будет разделена на три части и на каждую из этих третей будет куплено соответствующее количество ресурсов по курсу. Стоимость такой операции - в три раза больше базовой стоимость обмена
[+] Квесты: Теперь в награду за исполнение квеста можно одновременно ставить до четырех видов ресурсов
[+] Скины: Добавлена возможность перекрыть дефолтные стили элементов jQueryUI (файл /design/css/jquery.css) стилями, специфическими для скина. Для этого в корневой каталог скина нужно положить файл jquerу.css с настройками стилей элемента. Сгенерировать файл под свою тему можно на сайте jQuery по ссылке: http://jqueryui.com/themeroller/
[+] Постройки: Вертикальная очередь построек. Включается в настройках пользователя в секции "Настройки интерфейса"
[+] Исследования: Добавлены подробные сообщения об ошибке в случае, когда технология не может быть исследована (нехватка ресурсов, неудовлетворенные требования итд)
[+] Обзор планеты: Настраиваемое количество колонок в списке планет
На странице настроек пользователя можно указать, сколько колонок должно быть в списке планет - пункт "Количество колонок в списке планет" в разделе "Настройки интерфейса"
Можно выставить количество колонок в 0 и указать максимальное количество рядов с списке - см. соответствующий пункт там же. В этом случае движок рассчитает количество колонок исходя из этого числа.
Обращаю внимание - указывается именно максимальное количество рядов! Т.е. если у игрока 6 планет, а количество рядов указано 5, то количество необходимых колонок для того, что бы число рядов не привысило 5 будет равно двум. Соответственно, список планет будет сформирован в виде двух колонок по три ряда. Если же колоний будет 12 - список планет будет выглядеть как таблица три колонки по четыре ряда.
Данная особенность связана с построением списка планет - слева направо и сверху вниз. Естественно, не составило бы никакого труда сделать вывод списка сверху вниз, а затем справа налево - это было бы даже легче. Однако при выбранном способе сохраняется пользовательская сортировка планет - более "важные" колонии всегда будут "выше" в списке
[+] Документация: Добавлен файл /docs/html/changelog.html - чейнджлог в html
[+] Навбар: Переработан навбар
Из навбара убрано количество текущих ресурсов на планете/в альянсе - их присутствие на большей части экранов не имело практического смысла при том, что отнимало драгоценное вертикальное пространство страницы.
Сведения о количестве ресурсов на планете вынесены в планетарный навбар. На странице настроек пользователя можно сделать планетарный навбар постоянным - т.е. будет полностью восстановлен функционал старого навбара
Там, где сведения о количестве ресурсов на планете смысл имеет - они добавлены или включен планетарный навбар (см. ниже)

[~] Обзор планеты: Добавлено текущее количество ресурсов на планете, текущий размер хранилищ, а так же - количество ресурсов на прилетающих флотах
[~] Черный Рынок/Скупщик кораблей и Продавец б/у кораблей
Добавлено количество текущих ресурсов на планету
[~] Модуль "Альянсы-игроки" - v6
Добавлено количество текущих ресурсов в таблицу перечислений ресурсов Альянсу
Модуль необходимо обновить до версии v6+ для работы с SN v33a29+!
[~] Экономика/Строительство
На всех экранах строительства (здания, флот, оборона) включен планетарный навбар
[~] Флоты
Добавлено количество дейтерия на планете на страницу выбора кораблей, страницу выбора точки назначения и страницу своза ресурсов
Так же на странице выбора кораблей включен планетарный навбар
[~] Альянсы
Добавлен заголовок на страницу Альянсов с тэгом Альянса
Ссылка на управление Альянсом/игроками перенесена в самую верхнюю таблицу
[~] Постройки: Информация о постройках кэшируется при заходе на страницу.
Ширина таблицы построек устанавливается на максимальную из возможных. Это предотвращает "баян" - прыжки ширины таблицы построек
[~] Император: Теперь на страницы показывается так же очки за ресурсы и исследования. Немного переформатирована таблица статистики
[~] Статистика: Оптимизирован алгоритм подсчета статистики. Отключено обновление "очков планеты"
[~] Чат: Теперь при таймауте чата скрипт поллинга полностью прекращает работу
[~] Экономика: При расчете времени постройки юнитов учитывается не только количество ресурсов, но и их качество. Время постройки нормированы по дейтерию, т.е. постройки с большей долей низкоуровневых ресурсов строятся быстрее
[~] Админка: Добавлены label for для всех чекбоксов
[~] Скины: EpicBlue имеет собственное оформление элементов jQueryUI
[~] Вселенная: При создании новой планеты из имени планеты исключен знак "№" для более корректной работы функций PHP
[~] Альянсы: Количество игроков в Альянсе теперь изменяется сразу при изменении, а не при апдейте статистики/обслуживании сервера
[~] Альянсы: Теперь список членов Альянса распознает права просматривающего без захода в админскую часть, поэтому из админки убран пункт "Управление участниками"
[~] Альянсы: Изменено отображение логотипа на странице Альянса
[~] Список планет: Клик на иконке летящего союзного флота теперь открывает страницу "Флоты в полете"
[~] Чёрный Рынок
Редизайн основного экрана и экрана обмена ресурсов
Откуда взялась эта странная надпись? Очень странно...
[~] Меню: Переработано меню
[~] Чат: Тэг Альянса после имени игрока теперь указывается в квадратных скобках, а адресат сообщения - в круглых. Сделано для унификации написания тэга Альянса в движке
[~] Статистика: Теперь полностью отрабатывается переход со ссылок Вселенной на страницу статистики: правильно выбирается тип статистики (игрок/Альянс) и страница статистики, корректно отрабатываются дропдауны (выбирается именно текущий тип/страница статистики).
Cписок статистики скроллируется либо до выбранного объекта - если позволяет размер страницы, либо максимально вниз, если размер страницы не позволяет
Выбранный объект отмечается знаком ">" в столбце рангов
Все числа в ячейках отцентрированы по правому краю
[~] Логин/Регистрация: Данные по серверу (размер, скорость, онлайн) сгруппированы в один блок и теперь видны так же на странице регистрации

[%] Партнерка: Исправлено отображения количества начисленных ТМ
[%] Наемники: Исправлена ошибка начисления процентных бонусов: в случаях многократных бонусов происходило начисление бонуса на бонус, а не на базовое значение. Это приводило к получению завышенных бонусов - например, на Адмирале и Навигаторе
[%] Альянсы: Исправлена ошибка при отправке письма группам Альянса
[%] Альянсы: Исправлена ошибка с неправильным отображением звания главы Альянса
[%] Регистрация: Исправлена ошибка, когда игрок мог создать аккаунт/планету с пробелами в начале/в конце
[%] Админка: Исправлена ошибка создания квеста
[%] Ракетная атака: Исправлена ошибка, из-за которой ракеты били в десять раз слабее
[%] UBE: Исправлена ошибка неучета бонуса Альянсов в бою. ВНИМАНИЕ! Бонусы Альянса и от Наемников по-прежнему не будут видны в логе боя!
[%] Альянсы: Исправлена ошибка выхода из Альянса - у игрока не затирался тэг Альянса
[%] Флоты: Исправлена уязвимость, позволяющая дублировать флоты

[@] Админка: Редизайн интерфейса просмотра логов (бывш. "Ошибки")
[@] Аватары: Для корректной работы подсистемы аватаров в PHP должен быть корректно настроен временный каталог и движку должна быть разрешена запись в каталог /images/avatar
Максимальный размер аватара настраивается в таблице `config` переменные avatar_max_width и avatar_max_height
[@] Пол: В скины добавлена иконка пола в подкаталог "images" скина. Файлы для мужского и женского пола называются соответственно "sex_male.png" и "sex_female.png". Встроенные скины обновлены автоматически
[@] Новости: Изменения в редактировании новости
При редактировании новости галочка рассылки новости по умолчанию отключена
При редактировании новости не изменяется глобальное время написания последней новости - т.е. отредактированная новость не включает список последних новостей на обзоре планеты
[@] JS: Обновлен jQuery до версии 1.7.1. Обновлен jQuery-UI до версии 1.8.17
[@] БД: Доработан дамп. Теперь по умолчанию новосозданный игрок имеет мужской пол - так же, как и дефолтный администраторский аккаунт
[@] Локализация: Все строки локализации, относящиеся к наемникам, вынесены в файл mrc_mercenary.mo
[@] Исследования: Исследования теперь завернуты в транзакции - это позволит избежать злоупотреблений связанных с частым обновлением страницы на медленных соединениях
[@] Файл todo.txt заменен на todo.xls
[@] $sn_data['groups']['prod'] => $sn_data['groups']['factories']
[@] Чёрный Рынок: Почищены языковые файлы от неиспользуемых строк
[@] Темплейты
Расширение файлов темплейтов изменено с ".tpl" на ".tpl.html" для большего удобства разработки
Теперь при использовании директивы <!-- INCLUDE --> НЕ НУЖНО указывать расширение подключаемого файла
[@] Файлы: Удалены неиспользуемые файлы faq.php, faq1.php, faq2.php
[@] Файлы: Сильно переработана организация файлов PHP
Многие процедуры поменяли свое местоположение
Множество файлов теперь не грузятся автоматически при старте движка, а грузятся лишь по потребности. В частности - все файлы миссий подгружаются только в менеджере летящих флотов, а сам менеджер грузится только при потребности в обработке флотов. Кроме того, боевой движок подгружается только в симуляторе и при обсчете боев (Миссии "Атака" и "Уничтожить")
Все это позволило заметно сократить размеры кода в памяти сервера
[@] Модули: Загрузчики модулей теперь располагаются в каталоге /modules, а не в /modules/_functions

...а так же множество других изменений, исправлений и багфиксов. Полный чейнджлог
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://sourceforge.net/projects/supern ... p/download

Ссылка на загрузку исходников
https://github.com/supernova-ws/SuperNo ... ves/master

Ридми
http://supernova.supernova.ws/docs/readme.txt

Основной сайт проекта:
http://supernova.ws

Инструкция по обновлению:
=======================
Обновление до последней версии
==============================
0. ВНИМАНИЕ!!! ПЕРЕД ОБНОВЛЕНИЕМ СДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИЮ БАЗЫ ДАННЫХ И ФАЙЛОВ ДВИЖКА С ТЕМ, ЧТО БЫ МОЖНО БЫЛО ОТКАТИТЬСЯ В СЛУЧАЕ НЕУДАЧНОГО ОБНОВЛЕНИЯ!!!
1. Залогиньтесь в игру через аккаунт с правами Администратора
2. ВНИМАНИЕ!!! Перед обновлением сервер ОБЯЗАТЕЛЬНО нужно остановить. Делается это так: под Администратором в левом меню появится пункт "Администратор" - кликните на него. В админском меню выберите пункт "Настройки", поставить галочку "Отключить игру", нажать кнопку "Сохранить" в самом низу страницы. Только после этого можно производить обновление - иначе результат может быть далеким от ожидаемого.
3. Если у вас включено кэширование темплейтов, нужно удалить все файлы в каталоге /cache
4. Теперь обновите файлы движка
4.1. Если вы ставили игру из GIT-репозитория, то на сервере в корневом каталоге игры выполните команду

Код: Выделить всё

git pull
4.2. В любом другом случае - загрузите на сервер обновленную версию движка
5. ДОЖДИТЕСЬ, ПОКА НОВАЯ ВЕРСИЯ ДВИЖКА ОКАЖЕТСЯ НА СЕРВЕРЕ! Попытка обновления в процессе копирования файлов или загрузки их из репозитория GIT могут привести к непредсказуемым результатам
6. Переключитесь в браузер, в котором вы залогинены под Администратором и выберите пункт меню "Обзор". Дождитесь загрузки страницы - в этом время происходит обновление БД
7. И, наконец, после всех этих действий игру можно опять включить (Администратор -> Настройки, снять галочку "Отключить игру" и сохранить изменения).

Project "SuperNova.WS" Release 34 "Happy Birthday SuperNova!

Добавлено: 16 июн 2012, 14:03
Gorlum
ВНИМАНИЕ!!! ПЕРЕД ОБНОВЛЕНИЕМ СДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИЮ БАЗЫ ДАННЫХ И ФАЙЛОВ ДВИЖКА С ТЕМ, ЧТО БЫ МОЖНО БЫЛО ОТКАТИТЬСЯ В СЛУЧАЕ НЕУДАЧНОГО ОБНОВЛЕНИЯ!!!

Project "SuperNova.WS" Release 34 "Happy Birthday SuperNova! 3rd anniversary"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[!] Юбилей: 3 года назад 11 июня 2009 года был запущен первый сервер того, что превратилось в Проект "СверхНовая"

[#] Админка: Редактирование характеристик планеты
Модуль admin_planet_edit_extra v1c0
В админке можно менять основные характеристики планеты: название, изображение, размер, температуру, губернатора и его уровень, количество обломков на орбите

[#] Покупка ТМ: Модуль платежной системы XSolla
Модуль payment_xsolla_currency v1b0
Реализован протокол XSolla "Виртуальная валюта" (без отката платежей)
Поддержка плагина XSolla PayStation

[#] Премиумный аккаунт
Модуль player_premium v1a2
Премиумный аккаунт покупается игроком за ТМ
Имеется 5 уровней премиума
Премиумный аккаунт дает бонус, эквивалентный своему уровню, к уровням технологий и Наемников (не Губернаторов!) Империи, а так же к уровням следующих зданий на планетах: ко всем шахтам и складам ресурсов, ко всем электростанциям, к Фабрике роботов, к Верфи, к Нанофабрике, к Лаборатории и к Нанолаборатории
Ник обладателя премиумного аккаунта выделяется в чате отдельным стилем (по умолчанию - желтым цветом)

[!] Файл "/docs/release.txt" приведен в соответствие с актуальной информацией
[!] Покупка ТМ
Поддержка платежных модулей: таблица платежей, базовые настройки, строки локализации и константы
Интерфейс покупки ТМ (требуется хотя бы один модуль платежной системы)
Поддержка payment_xsolla_currency v1b0
Поддержка методов 'LINK', 'GET' и 'POST' в системах платежа
[!] Админка: Воплощение
Теперь можно Воплотиться в любого игрока, посмотреть игру его глазами и поуправлять игрой его ру... эээ... интерфейсом!
Воплощение доступно только Администраторам сервера
Воплотиться можно только в игрока меньшего уровня - т.е. нельзя Воплотиться в такого же Администратора
Вложенные Воплощения недопустимы: нельзя Воплотиться, будучи уже
Воплощенным в кого-то. Сначала Развоплотитесь
Для Воплощения используйте соответствующую иконку в "Списке игроков"
При Воплощении изменяется только onlinetime пользователя. Вся остальная информация (IP, User-agent итд) сохраняется
Для Развоплощения используйте соответствующий пункт меню или "Выход"
Если на аккаунте игрока есть ошибки, или игрок заблокировае, или игрок находится в отпуске, то попытке Воплощения будет выведено сообщение об ошибке/блокировке/отпуске, которое увидел бы игрок на вашем месте.
Обновление страницы вернет вас в ваш аккаунт
После штатного Развоплощения (т.е. из меню, а не при ошибке и не из игрока в отпуске) Администратора возвращает на страницу списка игроков
ВНИМАНИЕ! Перед использованием Воплощения почистите куки в браузере! Из-за изменений в работе кукесов кэш браузера может содержать дубликаты куков
[!] Чертежи
"Чертеж" - это программный пакет, дающий доступ к производсту юнитов определенного типа. Доступны следующие чертежи:
1. Здания: термоядерная электростанция
2. Корабли: супертранспорт, гипертранспорт, Звезда Смерти, "Сверхновая"
3. Защитные постройки: планетарная защита
Чертеж покупается на Империю, после чего указанный юнит доступен к производству на всех планетах
Чертеж является перманентым
Чертежи заменяют Наемников в требованиях к постройке
Наемники "Разрушитель" и "Ассасин" сконвертированы соответственно в "Чертеж ЗС" и "Чертеж СН". Остальные четрежи надо покупать самостоятельно
[!] День Рождения: Добавлена подсистема подарков на ДР игрока
Игрок может ввести свой ДР на своей странице настроек. ДР вводится один раз и после этого не может быть изменен. Дата проходит валидизацию в соответствии с серверными настройками формата даты
Игрок с ДР на текущую дату будет отмечен специальной иконкой в статистике и на странице Вселенной. При наведении на иконку всплывает подсказка с датой рождения
Амдинистратор сервера может назначить количество ТМ в подарок на ДР в настройках (опция "Подарок игроку на день рождения"). Если это значение установлено в 0 - подарки отключены.
Выдача подарков происходит один раз в сутки всем игрокам, день рождения которых находится не далее чем в "Ретро-рождение" дней от текущей даты.
При этом подарки выдаются только игрокам, которые на момент выдачи уже имели введенную дату рождения. Движок гарантированно начислит подарки даже если ДР пришелся на день неактивности сервера (неисправность или обслуживание).
Такая система выбрана с одной стороны - что бы не обидеть игроков в случае проблем с сервером, а с другой стороны - что бы избежать злоупотреблений (например - ввести послезавтрашнюю дату ДР, на следующий день получить ТМ за "прошлый ДР", а через день - еще и за "нынешний". Такой вариант в текущей системе начисления подарков не прокатит)
[!] Навбар: Полностью переработан навбар.
Вся информация теперь выводится поверх кликабельных иконок с всплывающими подсказками
Добавлена информация о текущих исследованиях пользователя
[!] Админка: Список игроков
Полностью переписан "Список игроков" с использованием PTE
Сокращено количество строк локализации
Альянсы-игроки больше не выводятся в списке
Пишется полный срок бана
Для мультиаккаунтов подсвечиваются все адреса с одинаковым IP и в скобках добавляется количество игроков с таким же адресом
Теперь невозможно удалить игрока того же уровня - для предотвращения разборок между членами команды одного уровня
[!] Админка: Параметры MySQL сервера
В админку на страницу утилит добавлен вывод информации о настройках и параметрах MySQL сервера
[!] Админка: Шифрование пароля
Полностью переписана утилита шифрования пароля в MD5
[!] Верфь: Полностью переписана работа верфи
[!] Из данного файла удалена информация о ранних релизах (до момента разделения чейнджлога на девелоперский и пользовательский, т.е. начиная с релиза 25 и ранее) что бы исключить дублирование информации. Посмотреть эту информацию можно в девелоперском чейнджлоге /docs/changelog_dev.txt
[!] Статистика
Полностью переписана страница вывода статистики игроков и Альянсов
Она теперь использует PTE
Полностью переписаны алгоритмы работы страницы
Для игроков добавлены отображение следующих видов статистики: "Проведено боев", "Выиграно боев", "Проиграно боев", "Уровень за постройки", "Уровень за исследования", "Уровень за рейдерство". В качестве исходных данных используется информация из записей игроков (т.е. актуальная информация на момент просмотра статистики), поэтому изменение для данных типов статистики всегда будет равно 0
[!] Покупка секторов на планете
Теперь можно за ТМ докупать дополнительные сектора на планете - один сектор за раз, максимальное количество секторов не ограничено
Cектор можно купить в нескольких местах: в "Обзоре планеты", в "Управлении планетой" и на экране строительства зданий
Стоимость сектора для планеты - геометрическая прогрессия с количеством секторов в качестве номера члена, БС = 1000 и Ф = 1.01
Ориентировочная стоимость покупи 1 сектора на планете составляет: для планеты размером 100 секторов - 2678 ТМ, 150 секторов - 4404 ТМ, 163 сектора - 5013 ТМ, 200 секторов - 7244 ТМ, 250 секторов - 11913 ТМ, 300 секторов - 19493 ТМ, 330 секторов - 26508 ТМ
[!] Строительство
Минимальное время постройки/исследования юнита уменьшено до 1 секунды

[+] Корабли/Технологии
Бонус к скорости полета кораблей теперь вычисляется относительно требуемого уровня технологии двигателя. При равной технологии пользователя бонус равен нулю, при отличной - разнице уровней между требованиями постройки и пользовательской умноженной на бонус двигателя. Если уровень технологии пользователя меньше, чем требуемый уровень (например, для кораблей, купленных на Черном Рынке), то корабль получает пенальти к скорости, вычисляемое аналогично, но не более 95%
Пример. Бомбардировщик требует Ионный двигатель 6-го уровня. Базовая скорость полета корабля - 4.000. Каждый уровень технологии Ионных двигателей дает 20% к скорости полета. Таким образом:
* При технологии Ионных двигателей 8-го уровня скорость полета Бомбардировщика составит:
4.000 * (1 + (8 - 6) * (20 / 100)) = 4.000 * (1 + 2 * 0,2) = 5.600
* При технологии 6-го уровня - 4.000
* При технологии 3-го уровня
4.000 * (1 + (3 - 6) * (20 / 100)) = 4.000 * (1 - 3 * 0,2) = 1.600
* Без технологии пенальти к уровню будет равно 120%, поэтому вступит в силу ограничение:
4.000 * (1 + (0 - 6) * (20 / 100)) = 4.000 * (1 - 0,95) = 200
Технологии двигателей теперь так же влияют на расход топлива. Каждый уровень, выше требуемого, уменьшает расход топлива на 10% от бонуса к скорости за уровень, но не больше чем 50% от расхода. Каждый уровень, ниже требуемого - увеличивает расход на 20% от бонуса.
Например, для Бомбардировщика каждый уровень Ионного двигателя, ниже 6-го будет увеличивать расход топлива на 4% до 12% при полном отсутствии технологии. Каждый уровень, выше 6-го будет уменьшать расход топлива на 2%, вплоть до 25-го уровня, где вступит в силу ограничение.
[+] Локализация: Добавлена система отката языков в случае, если включаемый файл не найден в указанном месте движка/для указанного языка
[+] Офицеры: Академик, Фортификатор, Инженер
Теперь Фортификатор добавляет +1 слот к очереди постройки оборонительных сооружений за каждый уровень. Вследствие этого фактор Губернатора измененен с 1.00 до 1.25. Текущие Фортификаторы остались без изменений
Теперь Инженер добавляет +1 слот к очереди постройки кораблей и зданий за каждый уровень. Кроме того, бонус к скорости строительства зданий увеличен до 10%. Вследствие этого БС увеличена до 500, фактор увеличен до 1.65. У нанятых инженеров уровень понижен в два раза с округлением в большую сторону. В целом это означает, что Инженер стоит дешевле в пересчете на эффективный уровень
Изменена логика работы Академика, Фортификатора и Инженера. Все они влияют на скорость постройки юнитов, однако раньше зависимость была практически экспоненциальная. Вдобавок слишком большой бонус от Академика в Альянсе в сочетании с полностью прокачанным Наемником у игрока мог приводить к артефактам в работе исследований
Теперь бонус указанных офицеров - это процент увеличения скорости постройки соответствующих юнитов, а не процент, на который уменьшается время постройки. Т.е. это - слагаемое в знаменатели дроби. Если говорить совсем просто: 100% бонуса от офицера уменьшают время постройки юнита в 2 раза, 200% - в три раза, 300% - в четыре раза и так далее
В связи с данными изменениями сняты ограничения на максимальные уровни Фортификатора и Инженера. Кроме того, бонус Академика увеличен с 5% до 10%, а его максимальный уровень - до 30
[+] MVC: Базовая поддержка MVC
[+] Постройки/Здания
На превьюшках зданий и в информационной панели дополнительно отображаются бонусные уровни - включая таблицу расчета производства
[+] Ресурсы
Выводятся бонусные уровни зданий

[~] Альянсы: Немного оптимизирован код страницы Управления Альянсом
[~] Флоты
На странице выбора миссии таблица загрузки ресурсов по умолчанию отключена
Добавлено дополнительное сообщение при совпадении планеты отправки и пункта назначения
Добавлено дополнительное сообщение при попытке отправить незагруженный флот с миссией "Транспорт"
Добавлено дополнительное сообщение при попытке отправить флот с ресурсами в миссию, отличную от миссий "Транспорт", "Передислокация" и "Колонизация"
[~] Очередь верфи
Теперь так же показывается количество юнитов, когда юнит один в очереди
[~] Ракеты: небольшой ребаланс ракет
Емкость шахты увеличена до 12-и, а размер межпланетной ракеты увеличен до 3-х. Таким образом на один уровень шахты теперь влазит 12 перехватчиков или 4 ракеты (вместо 10 перехватчиков и 5 ракет, как было ранее), а количество ракет к перехватчикам на уровень шахты увеличилось до 3 к 1 вместо 2 к 1. Мощность ракет осталась прежней
[~] Система: Усовершенствован способ определения корневого каталога игры
[~] Админка/Редактирование планеты
При выбранной планете невозможно изменить её ID для исключения перезаписи информации о текущей планете
Добавлено форматирование количества юнитов/ресурсов на планете
Поддержка admin_planet_edit_extra v1c0
[~] Продажа ТМ: Доработан дизайн страницы. Добавлена информация о бонусах
[~] Навбар: Виджет экспедиций теперь ведет на страницу отправки флотов
[~] События флотов
Фаланга теперь показывает входящие и исходящие ракетные атаки
Индикатор атаки на планету теперь так же реагирует на ракетные атаки
[~] Скины: Обновлен скин supernova-ivash
[~] Меню
Добавлена дата запуска сервера (под логотипом). Для уже запущенных серверов она равна дате запуска апдейта. Она хранится в таблице `config` в переменной "server_start_date"
[~] Воплощение: Теперь при Воплощении в забаненного персонажа администратор автоматически развоплощается
[~] Меню
Пункты "Технология" и "Квесты" перемещены в раздел "Информация"
[~] Новости: Заголовок "Новости" таблицы актуальных новостей теперь является ссылкой - клик на него раскрывает список всех новостей
[~] Обзор планеты
Переформатирован вывод статуса Ворот для луны
Убран таймер исследований вследствие его полной бессмысленности
[~] Юниты/Гравитационная технология
Изменены требования и цена: теперь для исследования требуется Энергетическая технология 12 уровня, а цена исследования составляет 100.000.000 металла, 100.000.000 кристаллов и 50.000.000 дейтерия
[~] Черный Рынок/Инфотрейдер: Добавлена информация об уровне премиума

[%] Своз ресурсов: Исправлена ошибка со смещением цветового кодирования емкости транспортов на одну строку вниз
[%] Локализация/EN: Исправлены очепятки
[%] Статистика: Исправлено неотображение пола игрока при просмотре статистики с экранов логина/регистрации
[%] Меню: Исправлена ссылка с пункта "Статистика"
[%] Флоты: Исправлена ошибка, дающая возможность отправить флот с ресурсами в миссии "Атака" или "Удержание"
[%] Очередь верфи и исследований: Исправлена ошибка с индикацией конца очереди - "undefined" вместо "Очередь пуста"
[%] Админка: Закрыты защитой по authlevel не закрытые ранее файлы
[%] Альянсы: Исправлена ошибка незасчета уровня технологии при составлении списка доступных к постройке юнитов на верфи (корабли и оборона)
[%] Экономика/Строительство: Исправлен ошибка багоюз медленных соединений при постройке зданий
[%] Админка/Редактор локализаций
Добавлена поддержка констант SNC_VER_ в домене 'admin'
[%] Исследования: Исправлена ошибка повторного начисления ресурсов при отмене исследования
[%] Артефакты
Исправлена ошибка, когда АКК мог быть развернут на планете с уже идущим строительством
[%] Флоты
Исправлена мгновенная скорость полета если для двигателей кораблей соответствующие технологии еще не исследованы (например - корабль куплен на ЧР или найден в экспедиции)
[%] Локализация/EN: Исправлены очепятки
[%] Фаланга: Исправлена уязвимость в отправке флота
[%] Исправлена ошибка вычисления стоимости Наемников
[%] Исследования: Исправлена ошибка расчета времени для исследований Альянса в случае, если Альянсу известна технология МИС
[%] Сообщения: Исправлена ошибка при попытке отправить сообщение без адресата
[%] Исследования
Устранена ошибка в формуле рассчета скорости исследования технологии.
Теперь корректно рассчитывается время исследования для игроков и Альянсов, а так же корректно обрабатывается случай, когда у игрока нет ни одной лаборатории
После исправления время исследования увеличится чуть более, чем в два раза для игроков с МИС, а для игроков без МИС - упадет на один уровень лаборатории

[@] Документация: readme преобразован в UTF8
[@] Добавлена компенсация работы механизма Magic Quotes. Подробнее - см. /docs/install.txt, подраздел "Magic Quotes"
[@] Юниты: Добавлена дополнительный аттрибут "max" ко всем юнитам и его общая проверка в eco_get_build_data()
[@] Меню
Меню теперь является динамическим
[@] Модули
Автоматическая загрузка и регистрация модулей
Автоматическое перекрытие функций методами модуля из $manifest
Автоматическое подгрузка специфических пунктов меню
Автоматическая загрузка конфигурации модуля из файла
Теперь можно перекрывать функции методами из класса
Добавлена поддержка "цепи перекрытий". Можно протаскивать сквозь цепь результат вычислений, модифицируя его на каждом шагу (см. пример реализации перекрытия mrc_get_level)
Теперь в манифесте модуля можно задавать список констант, которые будут автоматически назначены при его инициализации
Теперь в манифесте модуля можно задавать список переменных, которые автоматически заменят (в случае обычных переменных) или дополнят (в случае одноуровневых массивов) соответствующие глобальные переменные. Специальный механизм гарантирует корректную работу с константами в таких переменных и массивах - даже тех, которые были только назначены при инициализации модуля
Конструктор теперь поддерживает загрузку индексированныъ элементов в многоуровневые массивы типа sn_data, включая использование констант в качестве индексов. Подробнее см. в "sn_module.php"
Теперь при инициализации модуля в цепочку вызовов функций корректно инсталлируется оригинальная основная функция из движка
[@] Подсказки: Можно задавать ширину подсказки для согласования с основной страницей
[@] Константы типов юнитов приведены к единому формату "UNIT_xxx"
[@] Всем юнитам прописаны типы
[@] События флотов
Переработана система событий флотов
[@] Файлы
Расширение файлов локализации изменено с ".mo" на ".mo.php" для лучшей поддержки в различных IDE
[@] Локализация
В дополнение к стандартным путям "language/<ISO2>/<domain>.mo.php" теперь так же поддерживаются пути вида "language/<domain>_<ISO2>.mo.php". Это сделано для упрощения структуры подкаталогов в модуле
[@] Очереди
Упразднена константа MAX_BUILDING_QUEUE_SIZE. Теперь размер очереди построек зданий и верфи/обороны задается переменными из таблицы `config` - соотвественно 'server_que_length_structures' и 'server_que_length_hangar'. По умолчанию их значения равны 5
[@] Классы
Новый метод 'assign_recursive' класса "template" - позволяет в одном операторе заполнить как переменные темплейта, так и блоки - включая вложенные
[@] Скины
Изменена организация CSS-файлов. Файл "formate.css" переименован в "skin.css". К нему присоединен в конце файл "default.css". Таким образом сохранена последовательность загрузки стилей и при этом все стили скина находятся теперь в одном файле
Теперь движок подгружает файл "/design/css/global_server.css" . Этот файл может использоваться для добавления специфичных глобальных стилей сервера - он не входит в дистрибутив и не будет перезаписан при обновлении движка. Файл грузится после "global.css" и, следовательно, может перекрывать глобальные стили "по умолчанию". Однако он грузится после скинового CSS и, следовательно, будет перекрыт стилями скина
Изменена система раскраски меню. Теперь каждому пункту меню присваиваются присваиваются собственные аттрибуты HTML ID и CLASS. КРАЙНЕ рекомендуется производить раскраску меню через аттрибут ID (см. пример в formate.css скина EpicBlue). Список ID элементов меню можно узнать либо в браузере (используя функцию "Inspect Element" или аналогичную), либо в файле "/includes/template.php", функция tpl_render_menu(), переменная $sn_menu
В базовый CSS перенесено цветовое кодирование чисел и сообщений (ошибка, предупреждение итд). При желании они могут быть перекрыти в CSS-файлах стилей
Выделение Администрации и премиумных аккаунтов проводится через стили. Соответственно, в основной скин добавлены стили классов ".nick_admin", ".nick_operator", ".nick_moderator" и ".nick_premium"
Добавлены классы ".same_alliance" и ".same_player" для выделения в статистике соответственно Альянса игрока и самого игрока
supernova-ivash: Скин приведен в соответствие с текущим положением дел

...а так же множество других изменений, исправлений и багфиксов. Полный чейнджлог
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://sourceforge.net/projects/supern ... p/download
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
4.2. В любом другом случае - загрузите на сервер обновленную версию движка
5. ДОЖДИТЕСЬ, ПОКА НОВАЯ ВЕРСИЯ ДВИЖКА ОКАЖЕТСЯ НА СЕРВЕРЕ! Попытка обновления в процессе копирования файлов или загрузки их из репозитория GIT могут привести к непредсказуемым результатам
6. Переключитесь в браузер, в котором вы залогинены под Администратором и выберите пункт меню "Обзор". Дождитесь загрузки страницы - в этом время происходит обновление БД
7. И, наконец, после всех этих действий игру можно опять включить (Администратор -> Настройки, снять галочку "Отключить игру" и сохранить изменения), нажать кнопку

Project "SuperNova.WS" Release 35

Добавлено: 03 окт 2012, 20:23
Gorlum
ВНИМАНИЕ!!! ПЕРЕД ОБНОВЛЕНИЕМ СДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИЮ БАЗЫ ДАННЫХ И ФАЙЛОВ ДВИЖКА С ТЕМ, ЧТО БЫ МОЖНО БЫЛО ОТКАТИТЬСЯ В СЛУЧАЕ НЕУДАЧНОГО ОБНОВЛЕНИЯ!!!

Project "SuperNova.WS" Release 35 "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
[!] Новапедия
Полностью написана с нуля страница информации о юнитах
Теперь в Новапедии показываются требования для постройки/исследования юнита
Теперь для корабля показываются данные для всех типов двигателей, которые возможно на него установить
Улучшено отображение информации о кораблях и обороне
[!] Поиск
Полностью переписан поиск
Добавлена подсказка
Добавлена сортировка по Альянсу, имени игрока, имени планеты
Настройка сервера "Скрывать ссылки на ЛС" теперь распространяется и на результаты поиска
[!] Документация
Вся документация сконвертирована в UTF-8

[+] Меню
Добавлен пункт меню "Тёмная материя"
Добавлена возможность добавления иконки к пункту меню. Иконки берутся из подкаталога '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-части, отвечающей за отправку шпионов, переработчиков и ракет
Количество переработчиков теперь включает все виды кораблей, которые могут перерабатывать обломки
Интерфейс запуска ракет использует группу защитных сооружений, а не хард-кодед перечень, как было раньше
В попап легенды добавлены расшифровки для иконок действия
В попапе планеты показывается её диаметр
В попапе луны миссия "Уничтожить" показывается только если на текущей планете игрока есть ЗС
Из попапа игрока убраны ссылки - все, что можно было сделать по ссылкам, можно теперь
Добавлено новая иконка действия - "Статистика". Её тултип показывает статистику игрока
Расширена подсказка
[+] Смайлы
В чат добавлены следующие смайлы: nea, ups, quote, shout, sorry, spiteful

[~] Обзор планеты
Переписана процедура отсылки переработчиков
Теперь выводится результат отсылки переработчиков
[~] На странице "Тёмная материя" дополнен список возможного использования ТМ и проставлены ссылки на соответствующие страницы
[~] 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
4.2. В любом другом случае - загрузите на сервер обновленную версию движка
5. ДОЖДИТЕСЬ, ПОКА НОВАЯ ВЕРСИЯ ДВИЖКА ОКАЖЕТСЯ НА СЕРВЕРЕ! Попытка обновления в процессе копирования файлов или загрузки их из репозитория GIT могут привести к непредсказуемым результатам
6. Переключитесь в браузер, в котором вы залогинены под Администратором и выберите пункт меню "Обзор". Дождитесь загрузки страницы - в этом время происходит обновление БД
7. И, наконец, после всех этих действий игру можно опять включить (Администратор -> Настройки, снять галочку "Отключить игру" и сохранить изменения), нажать кнопку

Project "SuperNova.WS" Release 36

Добавлено: 30 дек 2012, 18:28
Gorlum
ВНИМАНИЕ!!! ПЕРЕД ОБНОВЛЕНИЕМ СДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИЮ БАЗЫ ДАННЫХ И ФАЙЛОВ ДВИЖКА С ТЕМ, ЧТО БЫ МОЖНО БЫЛО ОТКАТИТЬСЯ В СЛУЧАЕ НЕУДАЧНОГО ОБНОВЛЕНИЯ!!!

Project "SuperNova.WS" Release 36 "UBEv4 captains chat Happy New Year 2013!!!"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[#] Модуль "Капитаны"
Требуется СН не ниже 36a0.24
Капитан - это опытный командующий, который летает с флотами и за счет более тонкого управления флотами улучшает эффективные характеристики всех кораблей
Найм и управление Капитанами осуществляется через пункт меню "Капитаны" (сразу под "Наемниками")
Каждый Капитан привязан к определенной планете или луне. Нельзя иметь двух
Капитанов на одном небесном теле. Капитан, летящий с флотом, все равно считается привязанным к планете
Капитана можно перевозить с одной планеты на другую миссией "Передислокация". При этом на время перелёта Капитан считается привязанным сразу к обоим планетам - стартовой и финишной
С флотом можно отправить только одного Капитана
При гибели флота Капитан так же погибает. Под "гибелью флота" подразумевается уничтожение всех кораблей флота. Это верно как для атакующих флотов, так и для флотов, стоящих в удержании
Капитан на планете не участвует в защите планеты при атаке - этим занимается Фортификатор. Зато при полном уничтожении всего планетарного флота такой Капитан не погибнет
За каждый выигранный простой бой (САБы и миссия "Уничтожить" не считаются) Капитан атакующего флота получает 1 пункт опыта. За "победы" над неактивными игроками опыт не начисляется. Так же не начисляется опыт, если бой закончился выигрышем атакующего за 1 раунд
Капитаны всегда улучшают характеристики кораблей своего флота - даже если участвуют в бою, за который они не получат опыта: атака на неактивных игроков, удержание, САБ, уничтожение луны и т.д.
При наборе определенного количества опыта Капитан получает новый уровень.
Чем выше уровень - тем больше опыта нужно для получения следующего уровня
Повышение в уровне дает возможность улучшать умения Капитанов. Каждый уровень умений дает 1% к базовому значению соответствующей характеристики
Умения Капитана включают бонусы к щитам, броне и атаке
Уровни Капитана вкладываются в умения один раз и навсегда - поэтому заранее тщательно планируйте развитие своего Капитана
Уровни Капитанов указываются в списке юнитов на Обзоре Империи. На заднем фоне ячейки с уровнем выводится прогресс-бар развития Капитана с цветовым кодированием:
  • Пустая ячейка - Капитан не нанят, либо только что получил уровень
  • Красный прогресс-бар - до следующего уровня осталось больше 50% опыта
  • Оранжевый - не меньше 50% опыта, но меньше 80%
  • Желтый - не меньше 80% опыта
  • Зеленый - в следующем бою Капитан получит новый уровень
В списке флотов на странице "Флоты в полёте" и для своих флотов на странице "Обзор планеты" если во флоте есть Капитан перед количеством кораблей во флоте высвечивается "*", а в попапе состава показывается его уровень

[#] Модуль "Продвинутый чат"
Требуется СН не ниже 36a1.7
Встроенная система команд с поддержкой алиасов команд
Встроенная система помощи по командам чата - команда /help
Добавлен список игроков в чате с дополнительными иконками статуса и командами управления для админов
Возможность игрокам управлять своим состоянием видимости в чате - команда /invisible. Администрация сервера (authlevel > 0) всегда видит невидимок
Возможность отправлять приватные сообщения другим игрокам - команда /whisper. Приватные сообщения выделяются специальным образом, видны во всех каналах и сохраняются в истории чата. В приватных сообщенях нельзя употрблять форматирование цветом
Администраторы имеют возможность запретить игроку писать в чат на определенный срок или вернуть такую возможность - соответственно, команды /mute и /unmute. Запрет распространяется на все каналы и на возможность писать личные сообщения. Соответствующая иконка в списке игроков лишает его права голоса на 1 час
Администраторы имеют возможность блокировать и разблокировать игроков прямо из чата - соответственно, команды /mute и /unmute. Иконка в списке игроков банит его на 1 неделю
Максимальное время нахождения игрока в списке онлайн совпадает с таймаутом чата на странице сервера - т.е. в списке онлайн игрок будет виден еще некоторое время после выхода из чата


[!] UBEv4
Написан с нуля боевой движок и боевые отчеты
Особенности подготовки к бою:
  • Бой теперь считается не по $time_now, а по времени прилета флота - на случай, если бой сильно отложенный. Например, при сбоях движка или низкой активности сервера. Так будут отработаны корректно все удержания в правильное время
Особенности хода боя:
  • Броня не регенерируется между раундами
  • Если броня упала ниже 75% - корабль имеет шанс взорваться равный проценту от общего здоровья
  • Новый механизм боя: подлов атакующего или sneak defense. Если в САБе и в удержании участвуют флоты одного и того же игрока, то прилетающие флоты этого игрока будут сражаться на стороне защитника. Аккуратно смотрите, кого приглашает в САБ. Хе-хе
Особенности подведения итогов боя:
  • Если в бою участвует хотя бы один флот Админов с любой стороны - лом не выпадает ни с кого!
  • Возвращение обломков с оборонных сооружений не производится
  • В миссии "Уничтожить" шанс уничтожения флота от взрыва одного из кораблей при попытке уничтожить луну теперь так же зависит от количества гравидвигателей во флоте - чем их больше, тем шанс выше
  • В миссии "Уничтожить" корабли могут взорваться даже в случае успешного уничтожения луны. Как и раньше, подрыв кораблей с гравидвигателем уничтожает весь флот
  • Теперь в рейдовый опыт засчитываются исключительно одиночные атаки. Ни "Удержание", ни "САБ" не засчитывается. Т.е. вообще не засчитываются - вне зависимости от результата боя
  • Теперь атаки на неактивных игроков ("i-шки") не приносят рейдовый опыт
  • Количество свободных полей на луне зависит от её размера и определяется по формуле Размер/1000 с округлением вверх до целого
  • Изменен расчет поля обломков. Теперь на орбите оказывается от 30% до 70% выброшенных за борт ресурсов и от 20% до 40% обломков кораблей. В детерминированном симуляторе процент обломков на орбите всегда равен 30%, а обломки, выброшенные из трюма всегда составляют 50% от потерь
  • Шанс уничтожения луны теперь всегда лежит в пределах 1%-99%
Боевой отчет теперь состоит из трёх частей: "Основная информация о бое", "Боевые потери" и лог раундов
  • "Основная информация о бое" показывает:
    • Время проведения боя (если доступно)
    • Место боя (если доступно) - координаты планеты, её тип и имя
    • Результат боя (выигрыш атакующего, ничья, проигрыш атакующего)
    • Обломки на орбите
    • Шанс образования луны и результат такой попытки
    • (Для миссии "Уничтожить") Состояние кораблей с гравидвигателями по итогам боя. Шанс уничтожения луны оставшимися кораблями и результат такой попытки. Шанс взрыва кораблей и итог миссии
  • Раздел "Боевые потери" показывает:
    • (На планетах) Количество восстановленных боевых сооружений
    • Общие потери боевых единиц каждого из участвующих в бою игроков. Если у одного игрока участвовало в бою несколько флотов - будут показаны суммарные потери по всем флотам. Это верно для всех параметров в этом разделе. Для планетарной обороны в потери не включаются восстановленные единицы
    • (В случае победы атакующих) Количество ресурсов, вывезенных с планеты. Для планеты это будет положительное число, для атакующих флотов - отрицательное
    • (Для флотов) Количество ресурсов потерянных из-за уменьшения емкости трюмов вследствии уничтожения части флота. Эти ресурсы рассматриваются как "боевые потери" - они плюсуются к обломкам на орбите и к потерям в пересчете на ресурсы
    • Общие потери в пересчете на ресурсы. Включает стоимость боевых единиц на момент боя, вывоз с планеты и ресурсы, потерянные из-за уменьшения трюмов
    • Общие потери в ресурсах в пересчете на металл по курсу Черного Рынка на момент проведения боя. Писькомерка для сравнения
  • "Лог раундов" показывает результаты расчета каждого раунда для всех флотов
    • Показывает координаты и тип планеты, с которой прилетели флоты атакующих/защитников
    • Расширено количество информации о боевых подраздеениях Добавлена информация о "Пробое" и "Уроне". "Пробой" - атака, которая пришлась на щиты и была ими поглощена (или пропущена - см. ниже). "Урон" - атака, которая пришлась на броню
    • Цветовое кодирование информации о подразделениях:
      • Зеленый означает, что вся атака в раунде поглощена щитами
      • Желтый - часть атаки пробила щиты ("пробой") и нанесла урон по броне, но при этом ни одна боевая единица не уничтожена
      • Оранжевый - один или более боевых единиц уничтожено
      • Красный - все оставшиеся боевые единицы уничтожены в этом раунде
      • Число в скобках в столбце потерь - количество боевых единиц, взорвавшихся в раунде из-за фатальных повреждений
В боевом отчете координаты планет являются ссылками на Вселенную
Доработан симулятор для поддержки изменений в UBEv4:
  • Стандартный режим работы симулятора - полная определенность результатов в зависимости от начальной конфигурации (галочка "Симуляция" включена)
  • Добавлен второй режим работы - недетрминированный симулятор (галочка "Симуляция" отключена). В этом режиме работы проводится полная симуляция боя (включая образование луны) с применением генератора случайных чисел - т.е. так, как происходил бы обычный бой. В этом режиме результаты могут сильно отличаться от симуляции к симуляции. Так же в этом режиме происходит запись боевого отчета с результатом симуляции в БД
  • В стандартном режиме если шанс образования луны больше 1 всегда образуется луна со средним размером для данного шанса
[+] Меню
Редизайн меню
Изменен порядок расположения пунктов
Высота пункта меню увеличена до 16 пикселов
Добавлены иконки. Размер иконки ограничен 14 пикселами в высоту

[~] Чат
Добавился новый BBCode "s" - зачёркнутый текст
В чате Альянса в нике участника теперь не указывается Альянс
Переформатирован вывод списка смайлов. Список смайликов теперь генерируется автоматически из всего доступного списка
При открытии окна чата курсор позиционируется в строку набора сообщения
Реформатирование HTML-кода страницы чата
Переделан в preMVC
Три файла чата интегрированы в один
[~] Новости
Количество новостей ограничено 20-ю самыми свежими
На странице Обзора планеты добавлена подсказка как закрыть окно со свежими новостями
[~] Флоты
Изменены ограничения на отправку Шпионов. Их можно посылать в одиночку в миссии Шпионаж, Передислокация и Транспорт. Во все остальные миссии Шпионов тоже можно отсылать - но только в сопровождении других кораблей

[%] Альянсы
Исправлена надпись при отправке письма членам Альянса
[%] Обзор Империи
Исправлена пропажа индикации количества строящихся зданий
Исправлена ошибка смещения фона для производящих зданий
[%] Флоты/Фаланга
Исправлена ошибка сканирования пустого места во Вселенной
[%] Навбар
Изменена разметка навбара, что бы его не перекашивало в случае вывода блока информации до него
Исправлена ошибка неправильного цветового кодирования остатков энергии в планетбаре
Исправлена ошибка смены планеты на preMVC-страницах
[%] Исследования
Добавлен патч, исправляющий багоюз на медленных MySQL серверах
[%] Чёрный Рынок
Исправлена несовместимость с Opera 12.x
Исправлена уязвимость в Скупщике лома

...а так же множество других изменений, исправлений и багфиксов. Полный чейнджлог
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
4.2. В любом другом случае - загрузите на сервер обновленную версию движка
5. ДОЖДИТЕСЬ, ПОКА НОВАЯ ВЕРСИЯ ДВИЖКА ОКАЖЕТСЯ НА СЕРВЕРЕ! Попытка обновления в процессе копирования файлов или загрузки их из репозитория GIT могут привести к непредсказуемым результатам
6. Переключитесь в браузер, в котором вы залогинены под Администратором и выберите пункт меню "Обзор". Дождитесь загрузки страницы - в этом время происходит обновление БД
7. И, наконец, после всех этих действий игру можно опять включить (Администратор -> Настройки, снять галочку "Отключить игру" и сохранить изменения), нажать кнопку

Project "SuperNova.WS" Release 37 "Year of Work"

Добавлено: 20 окт 2013, 13:47
Gorlum
ВНИМАНИЕ!!! ПЕРЕД ОБНОВЛЕНИЕМ СДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИЮ БАЗЫ ДАННЫХ И ФАЙЛОВ ДВИЖКА С ТЕМ, ЧТО БЫ МОЖНО БЫЛО ОТКАТИТЬСЯ В СЛУЧАЕ НЕУДАЧНОГО ОБНОВЛЕНИЯ!!!

ВНИМАНИЕ!!! ПЕРЕД ОБНОВЛЕНИЕМ ОБЯЗАТЕЛЬНО ЗАЛОГИНЬТЕСЬ В СИСТЕМУ ПОД АДМИНИСТРАТОРСКИМ АККАУНТОМ В СВЯЗИ С ИЗМЕНЕНИЕМ СИСТЕМЫ ОБНОВЛЕНИЯ!!!


Project "SuperNova.WS" Release 37 "Year of Work"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[#] payment_webmoney 0a4 - модуль приема платежей на кошельки WebMoney
Требуется СН не ниже 37a9.20
Поддержка нескольких кошельков с разными валютами
Поддержка SUCCESS_URL
[#] payment_robokassa 0a1 - модуль платежей через агрегатора RoboKassa
Требуется СН не ниже 37a9.30
[#] Расширенный чат - chat_advanced v1d0
Требуется СН не ниже 37a4.0
Добавлена поддержка локального времени в чат и историю чата
Теперь можно использовать команды при выбранном цвете сообщения. Ранее такие команды не воспринимались системой чата
Произведена замена цветов для лучшей читаемости сообщений: red -> maroon, blue -> cyan
Цвет green оставлен для пользвателей, а подтверждающие системные сообщения используют цвет lime - как и в остальном интерфейсе сервера
Системные и приватные сообщения теперь выделяются жирным шрифтом
Клик на имени игрока в списке онлайна теперь всегда добавляет команду "/w" в начало сообщения - а не в конец, как ранее
Скорость обновления в AJAX части чата теперь регулируется переменной 'chat_refresh_rate'
Теперь игроки из онлайн-списка исчезают сразу после выхода из чата - таймаут попадания в список установлен как удвоенный 'chat_refresh_rate', а не как 'chat_timeout' ранее и вычисляется по дополнительному полю, а не по `chat_player_activity` как ранее
[#] player_premium 1d3
Добавлена индикация уровня премиума в меню
Добавлена индикация остатка времени Премиума в пункт меню в виде прогресс-бара с цветовым кодированием:
  • Зеленый - осталось не менее 50% времени пермиума
  • Желтый - осталось меньше 50%, но не менее 25%
  • Оранжевый - осталось меньше 25%, но не менее 10%
  • Красный - осталось меньше 10%
  • Цвет фона - нет Премиума

[!] Экономика/Плотность планеты
Добавлен новый параметр планеты - плотность. Он определяет химический состав геосферы планеты и влияет на добычу ресурсов на ней
Плотность планеты лежит в диапазоне от 850 до 9250 кг/м3. Плотность новых планет распределена случайным образом по нормальному распределению
Существует 7 классов плотности - с уникальным набором коэфициентов добычи для каждого класса:
  • Ледяные планеты (<2000 кг/м3) - встречаются очень редко: очень низкая добыча металла, очень низкая добыча кристаллов, очень высокая добыча дейтерия
  • Силикатные планеты (2000=3250 кг/м3) - встречаются редко: очень низкая добыча металла, очень высокая добыча кристаллов и еще хорошая добыча дейтерия
  • Каменные планеты (3250-4500 кг/м3) - встречаются часто: хорошая добыча металлов, высокая добыча кристаллов и низкая добыча дейтерия
  • Стандарнтые планеты (4500-5750 кг/м3) - встречаются очень часто: хорошая добыча металлов, хорошая добыча кристаллов и хорошая добыча дейтерия
  • Железнорудные планеты (5750-7000 кг/м3) - встречаются часто: очень хорошая добыча металлов, низкая добыча кристаллов и низкая добыча дейтерия
  • Металлические планеты (5750-7000 кг/м3) - встречаются редко: отличная добыча металлов, низкая добыча кристаллов и низкая добыча дейтерия
  • Тяжелометаллические планеты (>7000 кг/м3) - встречаются очень редко: великолепная добыча металлов, очень низкая добыча кристаллов и очень низкая добыча дейтерия
Стартовая планета имеет плотность 5500 кг/м3 и принадлежит к 4-му классу плотности. Все луны имеют плотность 2500 кг/м3 и принадлежат ко 2-му классу плотности
Тип ядра планеты можно изменить за ТМ. Возможность доступна на экране управления планетой (Обзор планеты -> Управление). Стоимость смены высчитывается динамически и зависит от того, насколько сильно отличается текущий тип ядра от желаемого
Добавлено отображение типа ядра планеты на страницу "Обзор планеты"
На страницу "Обзор Империи" добавлено отображение типа ядра планеты с цветовым кодированием:
  • Зеленый - тип ядра встречается очень часто
  • Желтый - тип ядра встречается часто
  • Оранжевый - тип ядра встречается редко
  • Красный - тип ядра встречается очень редко
В Новапедию добавлена статья про плотность и типы ядер планет
[!] Артефакты
Добавлены два новых Артефакта: "Эвристический чип" и "Наностроитель"
Артефакты уменьшают на 1 час соответственно время текущего исследования и время постройки/уничтожения текущего здания на текущей планете
Если оставшееся время исследования/постройки/уничтожения меньше одного часа, то Артефакт обнуляет время. Разница не переходит на следующий слот в очереди
Стоимость эвристического чипа составляет 20.000 ТМ
Стоимость наностроителя составляет 5.000 ТМ
В очередь построек добавлена возможность использовать Наностроитель - при наличии Артефакта на складе
В очередь построек добавлена возможность использовать Эвристического чипа - при наличии Артефакта на складе
[!] Экономика
Изменен алгоритм расчетов бонусов добычи ресурсов. Список изменений приводится ниже:
  • Бонусы на добычу ресурсов улучшают так же базовую добычу на планете
  • Бонусы на добычу ресурсов так же увеличивают потребление сопутствующих ресурсов - дейтерия (для Термоядерной Электростанции) и энергии (для всех остальных шахт)
  • Бонусы на добычу ресурсов улучшают так же выработку энергии на спутниках
  • Естественное производство дает 100% ресурсов даже при недостатке энергии
Изменен алгоритм работы Термоядерной электростанции. Теперь ТЭС не использует ресурсы со склада, а оперирует только балансом производства дейтерия. Т.е. ТЭС работает только при положительном балансе производства дейтерия И генерации энергии одновременно. Это сделано для того, что бы оставленная "без присмотра" ТЭС с отрицательным балансом по дейтерию не выжрала весь ресурс со склада
Как следствие - ТЭС не отключается при положительном балансе производства дейтерия и энергии, даже если количество дейтерия на планете равно 0. Это упростит своз ресурсов с планет, на которых энергия генерируется только на ТЭС
Теперь при эффективности добычи ресурсов менее 100% вместе с актуальными значениями добычи в ячейку добавляется рассчетное значение добычи в круглых скобках. Это упростит балансировку производсва при недостатке ресурсов
Убрана задержка в обновлении информации о производстве ресурсов
[!] Локальное (клиентское) и серверное время
Изменена процедура замера разницы между локальным и серверным временем.
Теперь она производится не каждый раз при обращении к серверу, а один раз и сохраняется в БД. При заметном изменении разницы можно заново произвести эту операцию, установив галочку "Замерить разницу между локальным (клиентским) и серверным временем" на странице настроек пользователя и сохранив настройки. Замер будет произведен при следующем открытии любой страницы игры
Теперь вместо локального или серверного времени одновременно показывается и локальное, и серверное время в следующих местах:
  • В навбаре - часы реального времени
  • При отправке флота на экране выбора точки назначения - в графе времени прибытия и возвращения флота
  • При отправке флота на экране подтверждения отправки - в графе времени прибытия и возвращения флота
Теперь вместо серверного времени показывается локальное в следующих местах:
  • В событиях навбара (флоты и экспедиции)
  • В новостях
  • На экране флотов в полете
  • На экране обзора планеты в списке летящих флотов
  • В чате и истории чата
  • В боевых отчетах
  • В сообщениях
Переформатирован навбар для добавления локального и серверного времени
Повышена устойчивость механизма к ошибкам на стороне клиента: неправильный часовой пояс, неправильные настройки DST в операционной системе, сильно отстающие/спешащие часы итд
[!] ТМ/Платежи
Понижена в 2,5 раза цена ТМ. Теперь за 1 гривну можно купить 2500 ТМ
Размер лота (шага покупки) установлен в 2500 ТМ
Изменена система бонусов за оптовые покупки ТМ:
  • от 50.000 ТМ - бонус 2% к количеству ТМ
  • от 100.000 ТМ - бонус 4% к количеству ТМ
  • от 200.000 ТМ - бонус 7% к количеству ТМ
  • от 250.000 ТМ - бонус 11% к количеству ТМ
  • от 375.000 ТМ - бонус 15% к количеству ТМ
  • от 500.000 ТМ - бонус 22% к количеству ТМ
  • от 750.000 ТМ - бонус 33% к количеству ТМ
  • от 1.000.000 ТМ - бонус 44% к количеству ТМ
  • от 1.250.000 ТМ - бонус 55% к количеству ТМ
Список доступных цен и список скидок строится теперь по данным модуля sn_payment
Добавлена поддержка модулей с более чем одним количеством шагов при покупке
Добавлена поддержка мультивалютности
Добавлена поддержка SUCCESS_URL в платежных системах
Добавлена индикация внутренних курсов системы
Теперь большую часть информационных элементов на странице можно свернуть
[!] Настройки пользователя/Смена имени пользователя
Добавлена возможность изменения имени пользователя за ТМ. Стоимость изменения - 100.000 ТМ
Игра сохраняет историю изменения имени пользователя. Только бывший владелец может при желании вернуть себе старое имя - опять же за ТМ
Поиск по имени так же производится по старым именам. В случае, если старое имя пользователя соответствует критериям поиска, в результаты будет добавлена еще одна строка, в которой будет указано текущее имя пользователя, а после него в скобках и выделенное цветом - старое имя пользователя. Никто не спрячется от своей истории!
Максимальная длина имени пользователя уменьшена до 32 символов
Переменная настроек сервера 'game_user_changename' отвечает за возможность
смены имени пользователя самим пользователем:
  • 0 - смена имени запрещена
  • 1 - смена имени разрешена и свободна
  • 2 - смена имени разрешена, но стоит ТМ. Стоимость смены имени указана в переменной 'game_user_changename_cost' (100.000 ТМ по умолчанию)
По умолчанию включена смена пользователем своего имени за ТМ
[!] Исследования
Изменен алгоритм рассчета эффективного уровня лаборатории и необходимого времени исследования при настройке сервера "Строить лабораторию во время исследования: Нет"
Теперь при идущем исследовании блокируется постройка/уничтожение нано- и/или лабораторий на все планетах
Теперь блокируется попытка начать исследование на планете, где идет постройка/уничтожение нано- и/или лабораторий
Однако возможно начать исследование на другой планете. В таком исследовании не будут участвовать все планеты где происходить модификация нано- и/или лабораторий. При этом по окончании постройки/уничтожения время исследования не пересчитывается
[!] Обновление
Теперь на время обновления сервер отключается
Теперь обновления можно запустить только из админ-консоли
В сообщение об обновлении сервера добавлена ссылка для Команды Сервера
Множество ускорений в процедуре обновления
[!] Локализация/Узбекский
Добавлен перевод на узбекский от Акмалжона Мусаева
[!] Очередь
Обновленная система очереди

[+] Навбар
Теперь в событиях навбара (флоты и экпедиции) показывается тип объекта, к которому относится событие (планета или луна)
[+] Обзор Империи
Добавлена возможность управления производством шахт со страницы Обзора Империи
Дроп-дауны в колонке "ИТОГО" выставляют соответствующие проценты производства для зданий соответствующего типа сразу на всех планетах Кнопки "Сохранить" продублированы в заголовке каждого типа юнитов и действуют сразу на всю страницу
[+] Симулятор
Добвлена поддержка Фортификатора для защищающегося флота
[+] Админка/Список игроков
Добавлены две колонки со сведениями о реферралах игрока: количестве привлеченных игроков и количество заработанных ими ТМ
[+] Чат
Добавлены смайлики
Произведена замена цветов для лучшей читаемости сообщений: red -> maroon, blue -> cyan
[+] Постройки
Теперь на луне можно строить Нанофабрику

[-] Шпионаж
Временно отключен вывод технологий при шпионаже - до переделки системы шпионажа
[-] Админка
Временно ограничен доступ к некоторым админским страницам Модераторам и Операторам - до переделки системы доступа

[~] Обзор Империи
Теперь не показываются "пустые" строчки для юнитов, которых нет в Империи
Для производства ресурсов и складов используется структура 'caps' планеты
Правильно считается общее количество полей на всех объектах Империи
[~] Артефакты
Теперь после операций по покупке/применению Артефакта страница с соответствующим списком открывается на последнем Артефакте
[~] Сообщения
Теперь если есть URL перехода после сообщения есть возможность перейти на соответствующую страницу по ссылке "Продолжить" под сообщением, не дожидаясь таймаута
[~] Рекорды
В несколько раз ускорена страница Рекордов
[~] Скины
Заменена картинка "Черетеж ТОП"

[%] Админка/Список пользователей
Убрана отладка
[%] Навбар
Исправлено смещение надписи в индикаторе исследования влево
[%] Настройки пользователя
Названия групп настроек отцентрированы
[%] Админка/Обслуживание
Исправлена ошибка удаления покинутых планет
[%] Сообщение
Исправлена ошибка отправки сообщения об окончании строительства на верфи.
Теперь сообщение отправляется один раз, а не каждый раз, когда на верфи строится юнит
[%] Меню
Исправлена смена названия пункта меню "Настройки" на "Опции" при заходе на страницу Альянса
[%] Экспедиции
Исправлена редкая ошибка при которой можно было отправить экспедиций больше максимального количества
[%] Вселенная
Исправлен показ места в статистике и показ кнопки-ссылки на статистику для скрываемых из статистики пользователей (по умолчанию к таким пользователям относится команда сервера)
[%] Боевой отчет
Исправлена ошибка открытия неправильной системы во Вселенной при клике на координаты в отчете
[%] Локализация/Английский
Исправлены сообщения боевого отчета
[%] Локализация/Русский
Исправлены некоторые очепятки
[%] Чёрный Рынок
Исправлена невозможность продать/купить ТОП на ЧР
[%] Флоты
Исправлена ошибка при приглашении в САБ самого себя
Исправлено ошибочное сообщение "неисследованное пространство" в заголовке страницы
Исправлена ошибка отправки флота дальше, чем позволяет запас топлива

[@] Код
Расчеты уровня премиума вынесены в модуль
Изменены некоторые SQL-запросы
Добавлен простенький бенчмарк
infos.php теперь использует прямое обращение к production юнита и
подмассиву modifiers
eco_bld_structures.php теперь использует обращение к подмассиву modifiers
mercenaries и plans перенесены из таблицы powerup в таблицу unit
Константа MAX_OVERFLOW исключена из кода
Обработан eco_get_planet_caps и связанные процедуры
Добавлена функция вычисления случайного числа, распределенного нормально
[@] Код/БД
Артефакты перенесены из таблицы игроков в таблицу юнитов
Удалены лишние поля Технологий из таблицы игрока
Добавлены констраинты в некоторые таблицы
Удалена колонка `que` из таблицы `users`
premium перенесен из таблицы powerup в таблицу unit
Исследования и очередь исследований перенесены в соответствующие таблицы
[@] Код/JS
Переписаны некоторые процедуры fleet.js на использование jQuery
[@] MVC
$sn_i18n['pages'] -> $sn_mvc['i18n']
[@] Обслуживание
Процедура обслуживания теперь так же удаляет боевые отчеты UBE старше 60
дней
[@] Модули
Изменен алгоритм слияния массивов переменных в модулях


...а так же множество других изменений, исправлений и багфиксов. Полный чейнджлог
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
4.2. В любом другом случае - загрузите на сервер обновленную версию движка
5. ДОЖДИТЕСЬ, ПОКА НОВАЯ ВЕРСИЯ ДВИЖКА ОКАЖЕТСЯ НА СЕРВЕРЕ! Попытка обновления в процессе копирования файлов или загрузки их из репозитория GIT могут привести к непредсказуемым результатам
6. Переключитесь в браузер, в котором вы залогинены под Администратором и выберите пункт меню "Обзор". Дождитесь загрузки страницы - в этом время происходит обновление БД
7. И, наконец, после всех этих действий игру можно опять включить (Администратор -> Настройки, снять галочку "Отключить игру" и сохранить изменения), нажать кнопку

Project "SuperNova.WS" Release 38 "Admin astro expo news bug

Добавлено: 06 мар 2014, 00:37
Gorlum
ВНИМАНИЕ!!! ПЕРЕД ОБНОВЛЕНИЕМ СДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИЮ БАЗЫ ДАННЫХ И ФАЙЛОВ ДВИЖКА С ТЕМ, ЧТО БЫ МОЖНО БЫЛО ОТКАТИТЬСЯ В СЛУЧАЕ НЕУДАЧНОГО ОБНОВЛЕНИЯ!!!

ВНИМАНИЕ!!! ПЕРЕД ОБНОВЛЕНИЕМ ОБЯЗАТЕЛЬНО ЗАЛОГИНЬТЕСЬ В СИСТЕМУ ПОД АДМИНИСТРАТОРСКИМ АККАУНТОМ В СВЯЗИ С ИЗМЕНЕНИЕМ СИСТЕМЫ ОБНОВЛЕНИЯ!!!


Project "SuperNova.WS" Release 38 "Admin astro expo news bugfix"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[#] player_award 0a2
(!) Новый модуль
Раздел "Награды и достижения" на странице Императора, видимый всем
Поддержка орденов, медалей, памятных знаков, вымпелов, бэйджей
Отдельный тип опции рендера ника
(!) Орден Спонсора четырех степеней - в комплекте
Иконка Ордена Спонсора в нике везде, где допускаются иконки
(!) Бессмертный
Памятный знак "Бессмертный"
Знак начисляется автоматически при покупке хотя бы одной единицы ММ
Статус "Бессмертного" означает сохранение аккаунта при автоматической чистке БД (Админка/Обслуживание)
[#] misc_radio 0a0
(!) Новый модуль
Новый пункт меню 'Радио "Космос"', открываюший в новом окне плеер радио
[#] chat_advanced 2c1
(!) Перманентный чат (миничат)
Реализован миничат через iframe. Чат делается перманентным при нажатии ссылки "Прикрепить" под списком онлайна пользователей. Можно прикреплять как общий чат, так и чат Альянса. Одновременно может быть прикреплен только один чат - общий или Альянса
Прикрепленный чат можно открепить - ссылка "Открепить" под списком онлайна в прикрепленном чате
Можно изменять соотношение фреймов, отведенных под основной экран и миничат. Для этого нужно потянуть за разделитель между фреймами
(+) История чата
Добавлены кнопки листания на страницу вперед/назад, на первую/последнюю страницы истории
(+) Смайлики
Добавлен смайлик :sarcasm:
Теперь смайлики размещены в отдельном попапе и не занимают лишнее место. Вызвать попап можно кликнув на смайлик слева от строки ввода сообщения
(~) Whisper
Команда "/w" теперь корректно работает с никами, в которых есть пробелы. Для этого ник нужно заключить в двойные кавычки. Подсказка по команде изменена соответствующим образом
Изменен формат вывода шепота: "(от кого) -> (кому)> (сообщение)"
Теперь клик на имени собеседника в списке сообщений так же добавит в строку текущего сообщения команду "/w <имя адресата> ". Так будет легче переписываться с игроками, находящимися вне чата
(~) Интерфейс
Все неявные элементы, клик по которым совершает какое-либо действие на странице (например, ник в списке онлайна) выделены соответствующим образом
Теперь ники подчеркиваются цветом ника и не подчеркиваютя иконки (если таковые есть в оформлении)
Изменен алгоритм смены фокуса, что бы окно миничата не мешало работе в основном окне
Убрана дублирующаяся надпись "Игроки онлайн", а количество игроков перенесена в заголовок списка онлайна
(~) Клавиатура
По "Ctrl+Enter" теперь так же отсылаются сообщения
(~) Таймаут
Теперь при отключении чата по таймауту можно обновить окно чата/миничата соответсвующей ссылкой, которая появляется вместо строки ввода сообщения
Теперь таймаут так же убирает список игроков онлайн
[#] player_race 2d0
(+) Марс
Марсиане так же получают +1 уровень к Астрокартографии
(+) Родные миры
Теперь родной мир можно выбрать сразу на странице "Родные миры"
[#] unit_res_metamatter 0a0
(!) Новый модуль
Модуль активирует новый ресурс в игре - Метаматерию
Метаматерия - новый тип ресурсов, который можно приобрести только за реальные деньги. Таким образом отделяются ресурсы, которые можно приобрести внутри игры и ресурсы, которые можно только купить. Это нужно в первую очередь для добавления услуг и сервисов, которые требуют от движка платежей в реальных деньгах - например, СМС-информирование об атаках
Так же это позволит добавить в игру больше возможностей для взаимодействия игроков, не опасаясь сильного дисбаланса от такого взаимодействия и/или смещения экономики игры в сторону pay-2-win
Добавлена возможность начислить игроку ММ из админки
Модуль поставляется в пакете с любым платежным модулем
Добавлена иконка Метаматерии в навбар
Добавлено поле для общего количества полученной метаматерии - в частности для получения статуса "Бессмертный" (см. ниже). Статус "Бессмертный" работает так же при отсуствии модуля player_award
В админку добавлена страница просмотра платежей с фильтрами
[#] Модули платежей
Все модули платежей полностью переписаны
Максимальная унификация модулей - все общие части вынесены в модуль-родитель
Все сообщения внутри модуля генерируются во внутренних кодах СН
Добавлена подсистема конвертации внутренних кодов в коды платежный систем (там, где это имеет смысл)
Все модули переделаны под работу с Метаматерией, а не ТМ


[!] Технологии/Астрокартография
Экспедиционная технология и Колонизационная технология заменены одной технологией Астрокартографии
Стоимость имеющихся уровней устаревших технологий возвращена на главную планету игрока, а сами технологии удалены
Устаревшие технологии, находящиеся в исследовательской очереди игроков, удалены, а их стоимость возвращена на планету, где была запущена технология
По умолчанию убрано ограничение на максимальное количество колоний
Уровень развития Астрокартографии влияет на:
1. Максимальное количество колоний
2. Максимальное количество экспедиций
3. Максимальное время отправки флота в экспедицию
Теперь видно текущее и максимальное количество колоний:
1. В Обзоре Империи (первая колонка, вторая строка)
2. На странице выбора кораблей во флот при переходе на неё из Обзора Вселенной с миссией "Колонизация"
3. На странице выбора миссии "Колонизация"
[!] Полностью переписаны Экспедиции
Экспедиции теперь планово-прибыльные, т.е. полеты в экспу одним и тем же флотом в среднем будут приносить прибыль, а не убытки, как раньше
Количественные результаты Экспедиций (нахождение флота, ресурсов, ТМ) теперь привязаны к стоимости отправляемого флота. Т.е. чем дороже флот в пересчете на ресурсы - тем больше будет найдено в Экспедиции
Экспедиции стали средне- и высокоуровневым контентом - существуют минимальные размеры флотов, которые вообще имеет смысл посылать в Экспедиции. Меньшие флоты попросту не будут ничего привозить (см.ниже). Хотя, например, фармить ресурсы транспортами можно прямо со старта игры - учитывая плановую прибыльность обновленных Экспедиций это вполне имеет смысл, особенно "шахтерам"
Теперь максимальная длительность Экспедиции зависит от уровня Астротехнологии - 1 час за каждый уровень технологии
Теперь время нахождения флота в Экспедиции влияет на шанс найти что-либо в процессе миссии - как на положительный шанс, так и на отрицательный
Изменены шансы происходящих событий (отношения расчитаны для обновленной Экспедиции в 1 час):
1. Шанс того, что в Экспедиции не произойдет ничего, увеличен примерно в 2,5 раза
2. Шанс потери флота уменьшен почти в 20 (!) раз
3. Шанс нахождения ресурсов увеличен на треть
4. Шанс нахождения флота уменьшен на треть
5. Шанс нахождения ТМ увеличен на треть
Изменено количество находимых в Экспедиции ништяков и оно теперь привязано к общей стоимости флота:
0. Количество ништяков может быть "Нормальным", "Большим" и "Очень большим". Соответственно меняются возможное количество находимых ништяков (идея упёрта с Огейма)
1. Количество ништяков отбалансированно для достижения планово-прибыльного характера Экспедиции и для компенсации изменения шанса происходящих событий
2. Количество находимых ТМ теперь вариабельно. Максимальное количество находимых ТМ - 10.000. Коэфцициент пересчета стоимости флота в ТМ зависит от курса ТМ (который, в свою очередь, зависит от скорости добычи ресурсов). Чем он выше - тем больше кораблей надо на шанс получения 1 ТМ. Для ориентировки - на х1 нужно запустить 10 эсминцев для получения 1 ТМ
3. Качество найденного флота теперь очень сильно зависит от качества исследовательского флота: все находимые корабли дешевле, чем самый дорогой корабль в Экспедиции. Максимальная стоимость флота зависит от скорости добычи на сервере
4. Качество найденных ресурсов теперь вариабельно. В среднем находится 50% металла, 37,5% кристалла и 12,5% дейтерия. Однако в частном случае доли ресурсов могут варьироваться в очень широких пределах. Максимальное количество находимых ресурсов прямо пропорционально скорости добычи ресов
Теперь за полёты в Экспедиции начисляется экспедиционный опыт. За набор экспедиционного опыта начисляются уровни. При получении нового уровня начисляется 1.000 ТМ
Количество опыта для получения уровня - геометрическая прогрессия с первым членом 10 и показателем 1,05. Ниже дается для ориентировки небольшая таблица: в первой колонке - экспедиционный уровень, во второй - количество опыта для перехода на следующий уровень, в третьей - общее количество экспедиционного опыта для перехода на следующий уровень. Собственно, таблица:

Код: Выделить всё

        1      10        10
        2      10        20
        3      11        31
        4      11        42
        5      12        54
        6      12        66
        7      13        79
        8      14        93
        9      14       107
       10      15       122
       15      19       209
       20      25       321
       25      32       465
       30      41       650
       35      52       887
       40      67     1.189
       45      85     1.575
       50     109     2.070
       75     369     7.530
      100   1.252    26.052
      150  14.361   301.323
      200 164.691 3.458.217
Посмотреть текущее текущий уровень, общее количество экспедиционного опыта и необходимое количество для перехода на следующий уровень можно на странице "Император"
Для облегчения регулярных Экспедиций с одной и той же планеты добавлена новая кнопка на экран подбора флота. При максимальном количестве экспедиций (Х) более одной доступна новая кнопка на странице подбора флота - "1/X"
[!] Админка
Полностью переписана страница "Список сообщений"
Полностью переписана страница "Флоты в полёте". Процедуры унифицированы с пользовательской частью
Полностью переписана страница "Обзор"
Полностью переписана страница "Добавить луну"
Переработана страница "Записи система логов"
Переработана страница "Начисление ТМ"
Переработана страница "Начисление ММ"
Меню в админке переделано на динамическое - по типу меню игроков
Теперь сразу после обслуживания происходит обновление статистики - для устранения разрывов в местах игроков, которые могут появится из-за удаления старых аккаунтов
Убраны операции очистки таблиц, дублирующие работу констраинтов
Теперь для запуска обновления из админки используется гораздо более безопасная проверка по AUTHLEVEL пользователя, а не по HTTP_REFERRER вызывающей страницы
[!] Страница игрока
Добавлена возможность просмотреть страницу игрока (ака "Император")
Для этого нужно кликнуть на иконку "Император", которая доступна:
1. На странице статистики
2. В результатах поиска
3. В Обзоре Вселенной


[+] Новости
Добавлена информация о публикаторе новости
Изменено отображение новости
Теперь свежие новости показываются на всех страницах залогиненного пользователя
Теперь для того, что бы скрыть свежие новости не обязательно открывать страницу новостей - достаточно кликнуть на кнопку "Закрыть" в правом верхнем углу списка новостей
Добавлена вторичная сортировка новостей по ID
[+] Меню
Переформатировано меню - убраны дублирующиеся пункты, ЧаВо перенесено вверх
Пункты меню "ЧаВо", "Форум" и "Правила игры" открываются в новых окнах
[+] Обзор Империи
Оптимизирован HTML-код страницы. В среднем в минифицированном состоянии выигрыш составил порядка 6 кб на 1 планету/луну. Чем больше объектов в Империи и чем больше типов юнитов - тем больше выигрышь
Строка таблицы с координатами перемещена под строку с названием планет для унификации вывода
Строка с количеством секторов убрана - она дублирует информацию на иконке планеты


[~] Отпуск
Минимальный срок отпуска составляет 1 неделю
Введен таймаут на следующий отпуск - 1 недели с момента выхода из предыдущего отпуска
[~] Удержание
Длительность удержания теперь находится в промежутке от 1 до 12 часов
[~] Статистика
Теперь на странице статистики показывается так же время следующего обновления
Время предыдущего и следующего обновления учитывает разницу между локальным и серверным временем
[~] Навбар
Если страница с навбаром открыта во фрейме (например, при прикреплении чата) в под навбаром появляется ссылка "Обновить страницу", при нажатии которой страница по фрейме будет обновлена
[~] Локальное время
Теперь замер разницы между клиентским и серверным временем производится автоматически каждый час


[%] Альянсы
Исправлена ошибка "налазания" длинного внешнего текста на логотип Альянса
[%] Флоты
Исправлена ошибка при отправке Капитана с миссией "Транспорт"
Усилена защита от отправки флотов в нетранспортную миссию с ресурсами
[%] Сообщения
Исправлена ошибка в сообщениях, если указан неправильный класс сообщений
[%] Поиск
Исправлена ссылка на страницу статистики для ранка 1000+
Убрана ссылка на страницу статистики для неучаствующих в подсчете аккаунтов (например - Адмиинистрации сервера)
[%] Боевой отчет
Устранено появление строки "Дата и время" для симулированных отчетов при ненулевой разнице клиентского и серверного времени
[%] Настройки
Исправлена индикация режима защиты планет Администрации
Исправлено отображение статуса удаления аккаунта


[@] admin/Sypex Dumper
Sypex Dumper обновлен до версии 2.0.11
[@] Темплейты
Добавлена поддержка нескольких темплейтов
Меню и навбар могут быть отключены параметрами в темплейте
Добавлена возможность подгрузки серверных CSS для скинов
[@] Рендер ников
Добавлена опция, позволяющая присвоить нику дополнительные CSS-классы
[@] БД
Изменена таблица `payment`
[@] Расписание
Изменен формат расписания. Теперь он определяет интервал запуска задачи и имеет вид:
Г-М-Д Ч:И:С
где Г, М, Д, Ч, И, С - соответственно длина интервала в годах, месяцах, днях, часах, минутах и секундах
Значения левее первой значащей цифры можно не указывать. Например, "0-0-1 0:0:0" можно записать как "1 0:0:0" и это будет означать "запустить задачу раз в сутки"
Нулевые значения можно опустить. Например, предыдущий интервал можно записать так же в виде "1 ::". Обращаю внимание на пробел между "1" и ":"! Пробел - значащий разделитель и его опускать в данном случае нельзя, потому что интервал "1::" будет истолкован как "запустить задачу раз в час"!
[@] Вселенная
Добавлены картинки-плейсхолдеры для аватара/лого Альянса/миниатюры планеты
[@] Прочее
$time_now теперь определяется из $microtime
Новая процедура определения локальных путей для поддержки PHP 5.3+
Методы локализации инкапсулированы в класс и при работе с объектами вызовы процедур редиректят в методы объекта
Убрана ошибка уровня PHP_STRICT в классах кэширования
message() теперь работает через PTE-объект
Чёрный рынок переписан на использование result вместо message()


...а так же множество других изменений, исправлений и багфиксов. Полный чейнджлог
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
4.2. В любом другом случае - загрузите на сервер обновленную версию движка
5. ДОЖДИТЕСЬ, ПОКА НОВАЯ ВЕРСИЯ ДВИЖКА ОКАЖЕТСЯ НА СЕРВЕРЕ! Попытка обновления в процессе копирования файлов или загрузки их из репозитория GIT могут привести к непредсказуемым результатам
6. Переключитесь в браузер, в котором вы залогинены под Администратором и выберите пункт меню "Обзор". Дождитесь загрузки страницы - в этом время происходит обновление БД
7. И, наконец, после всех этих действий игру можно опять включить (Администратор -> Настройки, снять галочку "Отключить игру" и сохранить изменения), нажать кнопку

Project "SuperNova.WS" Release 39 "2014 annual joint operation report"

Добавлено: 17 апр 2015, 09:14
Gorlum
ВНИМАНИЕ!!! ПЕРЕД ОБНОВЛЕНИЕМ СДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИЮ БАЗЫ ДАННЫХ И ФАЙЛОВ ДВИЖКА С ТЕМ, ЧТО БЫ МОЖНО БЫЛО ОТКАТИТЬСЯ В СЛУЧАЕ НЕУДАЧНОГО ОБНОВЛЕНИЯ!!!

ВНИМАНИЕ!!! ПЕРЕД ОБНОВЛЕНИЕМ ОБЯЗАТЕЛЬНО ЗАЛОГИНЬТЕСЬ В СИСТЕМУ ПОД АДМИНИСТРАТОРСКИМ АККАУНТОМ В СВЯЗИ С ИЗМЕНЕНИЕМ СИСТЕМЫ ОБНОВЛЕНИЯ!!!


Project "SuperNova.WS" Release 39 "2014 annual joint operation report"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[!] ВНИМАНИЕ! Требуется версия PHP >= 5.3.2
[!] Рад представить вам очередной релиз СуперНовы. Перед вами - результат более чем года работы. Фактически, в этом мегапатче объединены целых ПЯТЬ релизов:
1. "Зима-2014" - системный релиз, где было проведена гигантская работа по упорядочиванию внутренних механизмов работы:
- Все юниты были отвязаны в БД от записей планет и пользователей;
- Вся работа с юнитами была переписана с нуля;
- С нуля была написана подсистема очередей;
- Разделены очереди кораблей и обороны;
- Полностью переписаны квесты;
- Добавлено глубокое сквозное кэширование, что позволило в 2-4 раза увеличить скорость работы движка;
- ...и многое, многое другое!
2. "Весна-Лето 2014" - багфиксы и небольшие оптимизации релиза З-2014;
3. "Лето-Осень 2014" - "мобильнутый релиз". Было сделано множество улучшений и усовершенствования для большего удобства игры с мобильных устройств (насколько это возможно без полной переделки темплейта и всех скинов);
4. "Зима 2014-2015" - "бета релиз". В начале зимы была выпущена бета 39-го релиза, но потом как-то всё закрутилось - новый год, фишки к НГ, ивенты к НГ, просто фишки, просто ивенты - и объем кода, написанного после беты неожиданно сам начал тянуть на отдельный релиз
5. "Март-апрель 2015" - "бета релиз". В середине февраля наконец-то было решено завязать с добавлением фишек и просто пофиксить баги... Очнулся я только в середине апреля. В игре появились звук, опросы, переработан код таймера, была добавлена пачка улучшений, пофикшены баги и переписана авторизация...
В общем, тут я решил все-таки выпустить 39й релиз as-is и сделать стабильную ветку
Общий объем проделанной работы можно оценить по количеству коммитов в GitHub. Ну или хотя бы по чейнджлогу релиза, приведенному ниже

[#] payment_xsolla 1a0
(!) Новый модуль
(!) Стартовый релиз для СН 35a17.0+
Полностью реализован протокол "Shopping Cart 3.0 Xsolla" - команды 'check', 'pay' и 'cancel'
Поддержка режима тестирования
Конфигурация отдельным файлом config.php в каталоге модуля. Если конфигурация недоступна - модуль отключается
Поддержка выбора способа платежа xSolla
Генерик-плательщик xSolla
Хочу отметить часть методов платежа, добавленных к уже существующим:
- мобильные платежи: через SMS, со счета мобильного, сервия ZONG от PayPal, со счета Киевстар
- платежные системы: PayPal, EasyPay
- банковские переводы: Приват24, Сбербанк Онлайн, Банк24 Национальный кредит
- терминалы: EasyPay, Ibox, Терминалы Украины, Терминалы России
- кредитные карты American Express, JCB, UnionPay
Список далеко не полон - на сайте xSolla можно выбрать десятки других способов оплаты

[#] menu_customize 0d0
(!) Новый модуль
(!) Базовая настройка меню
Новый раздел "Настройки меню" в "Настройках"
Настраивается вид кнопки "Спрятать/Показать меню". Она может быть:
- "прилепленная", т.е. всегда находится в левом верхнем углу экрана - даже когда страница скроллируется
- "обычная" - т.е. находится в левом верхнем углу СТРАНИЦЫ и скроллируется как нормальный элемент
- "скрытая" - т.е. кнопка не показывается. В этом случае недоступна кнопка "Прикрепить/Открепить меню". Так же при выборе этого варианта сбрасывается флаг открепления меню
Настраивается поведение кнопки "Спрятать/Показать меню":
- можно настроить скрытие меню при наведении курсора на кнопку "Спрятать меню"
- можно настроить показ меню при наведении курсора на кнопку "Показать меню"
Настраивается вид и поведение откреплённого меню:
- можно настроить скрытие откреплённого меню при выводе курсора за его пределы
- можно настроить показ откреплённого меню поверх всех элементов
Добавлена возможность выводить пункты меню в виде кнопок для большего удобства мобильных пользователей
Эта возможность доступна при базовой настройке меню: чекбокс "Показывать пункты меню в виде кнопок" в "Настройках", вкладка "Профиль", раздел "Настройка меню"
(!) Расширенная настройка меню
Для игроков с премиум-аккаунтом доступна пользовательская сортировка пунктов меню и скрытие отдельных пунктов (с определенными ограничениями в зависимости от уровня премиума, см. ниже)
Режим расширенной настройки меню включается при нажатии кнопки "Настроить пункты меню". При этом все остальные настройки становятся недоступными
У элементов, которые можно менять местами, слева появляется значок в виде двойной стрелки вверх-вниз. Такой пункт можно схватить курсором мышки и перетащить на новое место
У элементов, которые можно скрыть, справа появляется значок глаза. Клик на нём меняет видимость пункта меню. Белый глаз - пункт меню будет виден. Черный перечеркнутый глаз - пункт меню будет скрыт
После окончания настройки нужно нажать кнопку "Сохранить настройки пунктов". Настройки пунктов будут сохранены, а страница перегружена. При этом все остальные изменения в настройках сохранены НЕ БУДУТ
Так же нажатием кнопки "Сбросить настройки пунктов меню" можно вернуть меню первоначальный вид
Если скрыты какие-то пункты, то в самом низу меню появляется дополнительный пункт "Показать скрытые", который покажет скрытые пункты меню
Возможности по настройке меню зависят от уровня премиум-аккаунта игрока:
- нет премиум-аккаунта: доступны только базовые настройки
- Премиум 1-го уровня: игрок может менять местами пункты меню, кроме системных (название и логотип сервера, пункты "Как играть", "Настройки", "Выход" и логотип движка). Игрок не может скрывать пункты меню
- Премиум 2-го уровня: игрок может менять местами все пункты меню. Игрок может скрывать пункты меню, кроме системных
- Премиум 3-го уровня: игрок может менять местами и скрывать любые пункты меню
Кнопка "Открепить меню" сделана неперемещаемой
Администрация сервера имеет возможность менять/прятать все пункты меню даже без премиум-аккаунта
Все настройки из общего темплейта перенесены в соответствующий файл темплейта модуля

[#] chat_advanced 5b6
(!) Функционал списка сообщений и онлайн-листа переписан на CSS и jQuery
(!) Администрирование
Полностью переписаны функции администрирования
На кнопках бана и мьюта добавлен попап с выбором сороков бана
На кнопка аньмюта при наведении курсора появляется соответствующая подсказка - что позволяет её отличить от кнопки мьюта
На замьюченом игроке в попапе видна причина мьюта
При операциях бана, мьюта и анмьюта чётко указывается, к какому пользователю будет применена команда. Это позволит исключить случайные промахи при обновлении онлайн-листа
Во всплывающее меню для бана/мьюта добавлено поле для ввода причины бана/мьюта. По умолчанию при мьюте поле пустое, а при бане заполнено стандартной причиной "Заблокирован из чата"
Иконки бана и мьюта теперь не показываются на аккаунты, которые выше игрока по иерархии
Добавлено больше сроков для команд мюьта и бана в меню администрирования
Во всплывающем меню для мьюта добавлен чекбокс "Забанить без РО" с соответствующим функционалом. По умолчанию галочка включена
И поле причины, и чекбокс бана без РО при открытии меню выставляются в значение по умолчанию. Это сделано специально для уменьшения вероятности ошибиться
Код меню администрирования теперь не рендерится для обычных игроков
Исправлена неработа некоторых диапазонов продолжительности мьюта/бана - в частности, "y" и "w"
Теперь можно забанить игрока из чата без РО. Для этого сразу после срока бана надо добавить восклицательный знак. Например, так:
/ban id 10 7d! Бан без РО
(!) Интерфейс
Изменено позиционирование попапов и подсказок с тем, что бы они не перекрывали вызывающий их элемент
Так же немного изменены сами попапы для лучшей читаемости
Смайлик, открывающий попап со смайликами, теперь сам стал кнопкой
Цвет фона в поле ввода сообщения изменен на черный
Выпадающий список с выбором цвета заменен на кнопку, при нажатии на которую выскакивает попап с вариантами выбора цвета
Выбранный цвет текста сразу же отражается в поле ввода сообщения, давая возможность увидеть, как будет выглядеть сообщение в игре
Панель элементов переверстана на чистом CSS без участия JS для расчёта размера элемента ввода - размер строки для сообщения теперь меняется динамически при ресайзе окна браузера
Добавлен код для устранения проблем с потерей фокуса строки ввода под некоторыми браузерами (в частности - IE 11, возможно поможет и на некоторых мобильных устройствах)
Раздвинуты элементы панели ввода: кнопка выбора цвета, кнопка смайла итд
Ссылка на историю чата вынесена в заголовок
(!) Список сообщений
Вывод сообщений переписан-таки на DIV-ах. В результате опять уменьшился объем передаваемых данных
Очень сильно оптимизирован вывод сообщений по размеру
Теперь вторая и последующие строки многострочных сообщений выравнены по первой строке, а не переносятся на следующую
Корректно выравнены иконки в нике относительно надписей
Благодаря новому парсеру, корректно выводятся URL-ы, стоящие сразу за символами ")", "]" и "}"
(!) Список онлайна
Очень сильно оптимизирован вывод списка по размеру - даже без минимайзера на каждой строке выигрышь составляет более 0,5 кб!
При наведении на статус мьюта в списке онлайна сразу появляется подсказка с именем пользователя и сроком мьюта
ID пользователя перенесен из тултипа в онлайн-лист - так что его теперь легко увидеть
(!) Смайлики
Уменьшен размер выдачи: попап переделан на jQuery и вынесены стили в CSS, а так же убран лишний внутренний элемент
Улучшено позиционирование попапа, а сам попап стал выше и шире для удобства мобильных пользователей
Иконки заменены кнопками - для удобства мобильных пользователей
Клик в попапе вне иконки закрывает попап - для удобства мобильных пользователей
Смайлики теперь центрированы в своих кнопках и по вертикали
Уменьшен размер кнопок смайликов и попапа со смайликами
Исправлена ошибка неправильных кодов для смайликов ":)" и ":("
(!) В чате теперь доступен расширенный функционал BBCode (см. ниже)
(+) Чат корректно работает с никами, содержащими символы "'", " ", "\", "/", "&"
(+) Звук
Добавлено звуковое уведомление при получении сообщения в чате
(%) Пермачат
Исправлена ошибка с неработающим ресайзингом элементов пермачата
(@) Добавлена поддержка компактизированных ников - соответственно в БД уменьшен размер таблицы с сообщениями
(@) JS и CSS
Файлы JS и CSS модуля маркируются датой и временем последнего обновления - для форсирования обновления браузерами при изменении этих файлов

[#] player_premium 3c2
(!) Модуль переписан
Добавлена возможность продления Премиума и Апгрейда на более высокий уровень
В интерфейс страницы добавлена развернутая таблица с ценами на все комбинации уровня премиума и срока действия
При имеющемся премиуме дополнительно в таблице выводится информация о базовой стоимости премиума
Добавлена защита от двойного срабатывания при обновлении страницы
Базовая стоимость премиум-аккаунта уменьшена с 25.000 ТМ до 20.000 ТМ
Добавлен +6 премиум
Поддержка пунктов-кнопок в меню
Премиум-аккаунт добавляет 1 слот в очередь Исследований за каждый уровень Премиума
(+) Ивенты
Поддержка скидок на Премиум по ивентам

[#] adm_user_stats
Блокировка по расчету недельных данных уменьшена до 1 недели - хотя данные и не совсем адекватные, однако лучше видеть не совсем адекватные данные, чем никаких
Добавлен рассчет % для активных (активность < 1 дня) и спящих (активность < 1 недели) пользователей

[#] menu_applications_button 1с0
Иконки-ссылки для загрузки приложений под Android, Windows 8.1, Windows Phone 8
Иконки располагаются в каталоге модуля

[#] unit_captain 3b0
(~) Работа с Капитаном при возвращении флота вынесена из основного кода в модуль
(~) Стоимость Капитана снижена до 20.000 ТМ

[#] misc_radio v2c2
[!] Новый HTML5/SWF плеер, совместимый с подавляющим большинством устройств
Теперь определение мобильныого устройства и переключение плеера на HTML5 версию работает корректно
Поправлены CSS-стили под поддержку бОльшего количества браузеров
Обновлен плейлист
(@) JS и CSS
Файлы JS и CSS модуля маркируются датой и временем последнего обновления - для форсирования обновления браузерами при изменении этих файлов

[#] payment_robokassa 3c3
(!) Модуль переписан под новую систему платежей
(+) Добавлен generic-метод RoboKassa

[#] payment_webmoney 3c0
(!) Модуль переписан под новую систему платежей

[#] player_race 2d3
(@) Поддержка новой версии движка

[#] player_award v0b0
(@) Поддержка новой версии движка

[!] Очередь - полная переделка
С нуля написана универсальная подсистема очередей
Теперь очереди полностью независимые от записей пользователя и планеты
При обновлении очереди построек на планетах будут сконвертированы в новый формат
Очереди верфи и обороны будут обнулены, а стоимость юнитов в очереди - возвращена на планету
Полностью разделены очереди кораблей и обороны
На обзор планеты добавлена индикация очереди обороны
На картинки планет в обзоре планеты и обзоре Империи добавлена иконка активной очереди обороны (щит)
При ошибке постановки в очередь выдается соответствующее сообщение с подробным объяснением причины ошибки
При постановке в очередь юнитов больше, чем максимальный размер стэка очереди (2000 по умолчанию) в очередь ставятся подряд несколько стэков - до тех пор, пока не будет поставлено в очередь нужное количество юнитов или пока не закончатся свободные слоты в очереди
Унифицированный интерфейс особенно хорошо смотрится с вертикальной очередью построек (для экранов с разрешением свыше 1000 пикселов по горизонтали)
Вертикальная очередь построек включается в "Настройках" соответствующим чекбоксом
[!] Покупка юнитов - унификация страниц "Постройки", "Исследования", "Верфь", "Оборона"
Вид страниц "Постройки", "Исследования", "Верфь", "Оборона" теперь унифицирован
Переверстана страница. Теперь она более дружелюбна к мобильным пользователям:
- Уменьшено количество юнитов в ряду до 4-х
- Переверстана панель детальной информации о юните
- Благодаря пп. 1 и 2 удалось на 20% уменьшить ширину страницы - теперь она практически не отличается по ширине от навбара и гораздо удобней для просмотра на узких экранах
- Кнопка постройки юнита сделана через jQueryUI - стала толще и красивее. Кнопка "Удалить" осталась такой же мелкой - для исключения случайных промахах на мелких экранах
- Размер страницы уменьшен на 25%-35%. Например, на тестовом прогоне размер уменьшился с 82676 до 64582 байт. И это со включенным минификатором!
- Ссылка на покупку юнита изменяется в контексте страницы: здания и боевые юниты "строятся", а технологии - "исследуются"
Описание юнитов:
- Теперь в описании юнита показывается не кумулятивная разница бонусов с текущим уровнем, а инкрементальная. Так гораздо лучше виден эффект перехода от уровня к уровню юнита, что позволяет лучше планировать своё развитие. Пример:
1. Пусть есть Астрокартография 2-го уровня
2. Раньше четвертая строка таблицы бонусов (Ур 4) показывала разницу в +2 колонии. Это была кумулятивная разницу с текущим 2-м уровнем. Т.е. +1 колония за 3 уровень (значение в строке Ур 3) и +1 колония за четвертый уровень - итого +2 колонии
3. Теперь четвертая строка будет показывать разницу в +1 колонию. Т.е. разницу между 3-м и 4-м уровнем Астрокартографии, которая и есть +1 колония. Значение в третьей строке (Ур 3) останется по-прежнему +1
4. На самом деле - изменение выглядит в интерфейсе горзадо проще и интуитивнее, чем его объяснение
- Если количество бонуса с прошлого уровня не изменилось - общее число бонуса подсвечивается желтым, а не зеленым. Таким образом, быстрый взгляд на таблицу дает полное представление об изменениях бонуса по уровням: зеленый цвет - положительные изменения, красный цвет - отрицательные, желтый цвет - нет изменений. Пример:
1. Возьмем опять же Астрокартографию 2-го уровня
2. Раньше в третьей строке таблицы бонусов (Ур 3) количество экспедиций (1) подсвечивало зеленым
3. Теперь в той же строке количество экспедиций (1) подсвечивается желтым - поскольку новых экспедиций на третьем уровне Астрокартографии не появится
4. Опять же - проще посмотреть в интерфейсе, чем объяснять
- На странице покупки юнитов показываются требования для покупки, а так же их выполнение
- Если к юниту нет требований - требования не показываются вообще
- Убрана надпись NaN/NaN в конце требования к юниту, когда требованием является определенный Родной Мир
- При входе на страницу первый элемент для отображения описания выбирается по порядку отображения, а не по ID. Например, на Верфи теперь отображается Легкий Истребитель, а не Супертранспорт, как раньше
Здания:
- Теперь здание можно удалить даже если требования к постройке не удовлетворены. Т.е. теперь здания можно удалять в любом порядке и не нужны соответствующие Планы
Верфь и оборона:
- Добавлена информация о боевых характеристиках (для всех юнитов) и скоростных характеристиках (для кораблей)
- В списке юнитов вместо остатка при постройке 1 юнита показывается цена постройки 1 юнита: красным - если не хватает ресурса, желтым - если хватает ресурса на 1 юнит, зеленым - если после постройки юнита еще остаются ресурсы
- В описании в таблице стоимости юнита цена и остаток ресурсов теперь меняются динамически с учетом количества выбранных для постройки юнитов
- В описании юнитов под таблицей стоимости теперь показывается максимальное количество юнитов, которое можно построить с имеющимися ресурсами
- Теперь при вводе корректного количества юнитов и нажатии кнопки "Enter" юниты ставятся в очередь
- Кнопка "Построить" блокируется, если не выбрано количество юнитов
Исследования:
- Премиум-аккаунт добавляет 1 слот в очередь Исследований за каждый уровень Премиума
- На странице технологий отображается "Время исследования", а не "Время строительства"
- На странице "Исследования" при выборе Астрокартографии в подробном описании добавлена таблица, показывающая увеличение количества экспедиций и колоний при апгрейде технологии
[!] Обзор Вселенной - Переработка Обзора Вселенной
Страница сильно переработана
Полностью переделана работа с попапами:
- Изменен принцип позиционирования попапов - теперь они по минимуму закрывают информацию от пользователя, а так же стараются не вылазить за границы окна
- Устранены ошибки с позиционированием попапов у большинства мобильных пользователей - в отдельных браузерах ошибка может сохранится из-за некорректной реализации в браузере масштабирования
- Теперь попапы открываются не только при наведении мышки, а и по клику. Повторный клик на той же ячейке закрывает попап для удобства мобильных пользователей. Впрочем, "мышисты" тоже могут этим пользоваться
- Расширены области срабатывания попапов для удобства мобильных пользователей
- Передеалн попап игрока: в нём сдублированы все возможности, которые дают иконки. Так что теперь иконки можно отключать для экономии места на экране без потери функциональности
Восстановлена работа настройки "Время показа подсказок" в разделе "Вселенная" на вкладке "Интерфейс"
- Настройка даёт возможность задать задержку между наведением курсора мыши на элемент в Обзоре Вселенной и появлением попапа
- По умолчанию задержка выставлена в 500 миллисекунд (0,5 секунды)
- Значение "0" означает "использовать задержку по умолчанию". Для фактического отключения задержки можно использовать небольшие значения, например, "1"
- Задержка действует только при наведении курсора - при клике на элементе попап появляется сразу
Везде, где это имело смысл, ссылки изменены на кнопки для удобства мобильных пользователей
Заменены иконки шпионажа и ракетной атаки - теоретически их теперь не должны блокировать рекламорезки на мобильных устройствах
На пустой позиции в системе теперь высвечивается большая кнопка "Колонизировать..."
Кнопка "Перейти" в выборе Галактики/Системы вынесена вправо от элементов листания Вселенной
Исправлена ошибка появления отрицательных цифр в попапе обломков, если на планете не хватает дейтерия для отправки переработчиков
JS-код переписан с использованием jQuery и большая его часть вынесена в отдельный файл
Переверстана страница с активным использованием CSS - размер итоговой страницы уменьшен на несколько десятков % - в зависимости от населенности системы и активности флотов в ней
Теперь на уничтоженной планете/луне не всплывает попап
[!] Империя
Дважды переверстана страница "Империя" с активным использованием CSS и jQuery
При идентичном виде и идентичной функциональности, на тестовом примере (15 планет при средней застройке) выигрышь в размере составил порядка 60-70%% при уже включенном минификаторе!
При большем количестве объектов или более плотной застройке, выигрышь может быть еще больше
Добавлено количество текущих/максимальных экспедиций
[!] Планета
Размер страницы уменьшен на 5%-20%
Добавлено отображение бонусных уровней Губернатора
Ссылка "Переработать" сделана кнопкой. Она всегда показывается, если на планете есть переработчики. При этом, если обломков нет на орбите - кнопка неактивна
[!] Планета/Управление
Переверстана страница. Теперь разные типы элементов разделены на группы и упорядочены так, что бы исключить случайное нажатие на мобильных устройствах
Тип ядра:
- Увеличена высота кнопки
- Количество ТМ, нужной для операции, теперь форматируется с группировкой тысяч и кодируется цветом
Телепорт:
- Увеличена высота кнопки
- Количество ТМ, нужной для операции, теперь форматируется с группировкой тысяч и кодируется цветом
Губернаторы: вынесены в отдельный блок
Перенос столицы:
- Сделано подтверждение на перенос столицы;
- Увеличена высота кнопки и кнопка теперь отключается, если перенос невозможен
- Количество ТМ, нужной для операции, теперь форматируется с группировкой тысяч и кодируется цветом
Уточнена надпись - какой пароль нужно ввести для сноса колонии
[!] Меню - Крадущаяся мышка, затаившееся меню
Новые авторские иконки: уменьшенного размера, оптимизированные, оригинальные
Появилась возможность спрятать меню разово или однократно - до обновления страницы или перехода на другую страницу
- Возможность спрятать меню однократно бывает полезна, например, в окне чата, что бы увеличить его площадь или в окне "Империя", что бы больше информации влезло на экран
- Для того, что бы однократно спрятать меню нужно навестись мышкой или тапнуть по кнопке "Спрятать меню" в левом верхнем углу экрана. При этом кнопка изменится на "Показать меню"
- Что бы вернуть меню достаточно навестись мышкой или тапнуть по кнопке "Показать меню"
Так же можно спрятать меню на постоянной основе тем самым, увеличивать полезную площадь страницы
Для того, что бы постоянно спрятать меню, нужно нажать кнопку "Открепить меню" в самом верху меню. В открепленном режиме меню имеются следующие особенности:
- Статус открепленного меню запоминается в куках устройства, т.е. для каждого устройства открепление меню настраивается отдельно
- При каждом следующем открытии страницы меню будет сразу в спрятанном состоянии (см. выше)
- Кнопка "Открепить меню" меняется на кнопку "Закрепить меню"
- Что бы вернуть стандартное поведение меню достаточно нажать на кнопку "Закрепить меню"
- Что бы воспользоваться, нужно навестись мышкой или тапнуть на кнопке "Показать меню". При этом при выходе курсора мышки за пределы меню оно автоматически скрывается
Особенно полезна возможность скрытия меню будет для устройств с маленькими экранами - телефонов и мелкоразмерных планшетов
Однако она так же может оказаться полезной и для пользователей обычных компьютеров, благо из-за функционала кнопки "Показать меню" привычки в работе с меню практически не нужно менять
В стандартных скинах убраны "скачки" меню в процессе рендеринга страницы
В раздел "Правила игры" добавлена ссылка на подробную документацию к игре. Файл по ссылке открывается в новом окне
Ссылка на движок открывается в новом окне и на странице с описанием движка
Рекламная ссылка перенесена в самый низ меню
Поддержка модуля menu_customize
В темплейте включён рекламный блок и логотип СН
[!] Заметки/Закладки - Объединение Заметок и Закладок
Теперь в "Заметках" можно добавлять координаты во Вселенной и тип объекта (Планета, Луна, Поле обломков):
- Ввиду полной бессмысленности дублирования функционала, "Закладки" убраны из игры
- Все существуещие в игре "Закладки" перенесены в "Заметки" вместе с комментариями
- Удалена таблица Закладок, код и темплейт
Теперь Заметку можно сделать прилепленной:
- Такие Заметки будут отображаться на всех страницах игры под навбаром сразу после Новостей в отдельной таблице
- Клик на заголовке переведет на страницу редактирования Заметок
Таблица на второй странице отправки флота теперь берет данные из Заметок:
- Выбираются только записи, у которых все три координаты планеты отличны от нуля
- В качестве текста используется заголовок Заметки. Работает сортировка по приоритету
В Заметке теперь может быть пустым либо заголовок, либо текст - но не оба одновременно
На странице редактирования теперь только важность Заметки выделяется цветом, а не вся Заметка, как раньше
Клик на координатах в обычных и прилепленных Заметках откроет страницу "Вселенная" в указанной галактике и системе
При редактировании заметки иконки подтверждения и отмены изменений разнесены в вертикальной плоскости
Можно делать закладки на слот Экспедиции
[!] Артефакты
Новый тип Артефакта: Крюк. Он телепортирует астероид из ближайшего метеоритного пояса и запускает его на орбиту планеты, создавая таким образом луну. Доступны три вида Крюков: Малый, Средний и Большой. Малый создает луну минимального диаметра (1100 км), Большой - максимального диаметра (8999 км), а Средний - луну случайного диаметра (от 1100 до 8999 км)
Изменена логика работы Наностроителя и Эврестического Чипа. Теперь они уменьшают время соотвественно текущего исследования в Империи и постройки/разрушения текущего строения на планете/луне в два раза (если до окончания процесса осталось больше часа) или моментально заканчивают процесс (если до окончания осталось не более 1 часа)
В цене Артефакта добавлен разделитель тысяч
Добавлены временные картинки для Крюков
На Эвристический чип и Наностроитель добавлена защита от случайного срабатывания. Теперь они не срабатывают, если осталось меньше 1 минуты для постройки
Исправлена редкая ошибка, когда АКК мог пропасть при неудачной попытке развернуть его на полной планете
[!] Опросы
Добавлена возможность проводить опросы/голосования
Опросы прикрепляются к новостям - один опрос на одну новость
Можно копировать новости с опросами
Можно редактировать новости с опросами, но при этом потеряются текущие результаты опроса
Поддерживается произвольное количество ответов, но не менее двух
Можно устанавливать срок действия опроса, используя синтаксис PHP-функции strtotime() или просто задавая дату окончания опроса (по серверному времени). По умолчанию опрос действует 1 сутки
Игрок может выбрать 1 вариант ответа из списка
Добавлена индикация срока опроса
[!] UBEv4.1
Изменена процедура обсчета боя. Теперь щиты считаются индивидуально для каждого корабля
Это значит, что теперь практически невозможно провести бой без потерь с обеих сторон
[!] Флоты
Проверка качества отправляемого флота на предмет наличия орбитальных структур (СС, ТОП, "Лень")
Поддержка внешней активации транзакции при отправке флота - для пакетной обработки массовой отправки со страницы своза ресурсов
Поддержка моратория на агрессивные миссии
Менеджер летящих флотов:
- Переписан менеджер летящих флотов для избежания зависаний
- Новый МЛФ должен гарантировать полное отсутствие дедлоков
- Интервал обсчёта флотов теперь задается в таблице `config` переменной 'fleet_update_interval'
- Так же теперь обновление флотов не производится во время отключений сервера
- Все мисиии переписаны для поддержки нового МЛФ
- Из основного кода удалена поддержка модуля Капитанов
- Добавлен таймер-сторожок против зависания флотов
Шпионаж:
- Включён "Имперский шпионаж":
- Уровень Имперского шпионажа (УИШ) - это сумма уровней Шпиона и Шпионской технологии с учётом всех доступных бонусов, но без учёта количества спутников-шпионов
- Если УИШ шпионящего больше или равен УИШ шпиониемого, то в отчете будут видны так же Имперские Технологии
Экспедиция:
- Поддержка дополнительных событий в Экспедиции
Колонизация:
- Исправлена ошибка, позволяющая колонизировать на 1 планету больше возможного количества
[!] Статистика
Полностью переделан расчёт статистики
Скорость расчёта статистики заметно увеличена (при одновременном увеличении количества объектов для обсчёта!). Чем больше игроков и чем активнее игра - тем больше выигрышь в скорости обсчета. Ускорение обсчета на типичном сервере составляет от 10 раз и выше
Теперь полностью учитываются все юниты всех типов, включая корабли в полёте
Теперь в статистике по ресурсам полностью учитываются все ресурсы: на планетах, вложенные в очереди строительства/верфи/обороны/исследования, находящиеся на флотах в полёте. Так же учитывается наличная ТМ (ММ не учитывается)
Теперь при расчете статистики Альянса так же учитывается юниты Альянса и ресурсы в банке
Теперь расчитывается и отображается изменение места Альянса во всех типах статистики
Исправлена очепятка, из-за которой вообще не учитывался дейтерий
Исправлена очепятка, из-за которой в очках по ресурсам не учитывались ресурсы, находящиеся в очередях
Все вышеуказанные изменения приведут к однократной перетусовке в статистике и росту абсолютного значения всех видов статистики
Теперь в базе хранится статистика за 2 недели
Настраивается количество дней в таблице `config` переменная 'stats_history_days' (по умолчанию - 14 дней)
Теперь длинные ники игроков и названия Альянсов не переносятся на вторую строку
Теперь для новых аккаунтов при первом обсчете статистики в изменении места показывается "*", а не "-(новое место)"
Настройки страницы статистики (типа статистики, Игроки/Альянсы итд) теперь передаются в строке браузера - теперь можно легко обмениваться ссылками на конкретную страницу статистики
[!] Настройки
Теперь при смене пароля игроку не надо логиниться заново - при смене пароля так же изменяется кука
Замер времени
- Замеры времени делаются индивидуально для каждого устройства
- Теперь время не будет сбиваться при переходе с устройства на устройство вне зависимости от разницы настроек во времени/часовых поясах
- Таймеры в JavaScript теперь не зависят от того, был ли произведен замер или нет - нужные данные вычисляются на клиентской стороне по данным с сервера
- Фактически, это означает, что все таймеры теперь всегда будут корректно работать - не взирая на правильность/неправильность часовых поясов, "сбитых" часов итд
- Замер времени сохраняется для рендеринга времени на стороне сервера (дата/время сообщений, чат, новости итд)
- На вкладке "Профиль" добавлена возможность вручную выставить разницу между серверным и клиентским временем. Для этого нужно выставить галочку "Задать вручную разницу во времени", ввести разницу во времени в секундах и сохранить изменения
Переделана страница настроек под табы
Добавлена возможность отключать колонок "Статистика игрока" и "Информация об игроке" в обзоре Вселенной
Добавлена возможность ввести основной емейл - если он еще не введен
Добавлены подсказки, объясняющие различие между основным и вторичным емейлом
[!] BBCode - Расширение функционала BBCode
Расширен функционал BBCode - добавлена поддержка уровня автора сообщений при парсинге
Для пользователей с разным authlevel досутпны разные BBCode. В частности, Администраторам (authlevel 3) теперь доступны следующие возможности:
1. Автоматическое преобразование URL-ов в ссылки
2. BBCode text
3. BBCode [c] может использоваться с любыми цветами в формате [c=#XXXXXX]text[/c], где #XXXXXX - HTML-код цвета
В новостях теперь доступен весь функционал BBCode
В чате теперь доступен расширенный функционал BBCode
Добавлены новые смайлики:
:accordion: :ban: :censored: :contract: :facepalm: :help: :hmm: :maniac: :panic: :poke: :pray: :whistle:
Заменены лучшими версиями (в основном - без подкладки белого "креста") смайлики:
:clap: :coffee: :nea: :popcorn: :rose: :quote: :shout: :sorry: :spiteful: :ups:
Убраны смайлики из-за их больших размеров, которые сильно портят форматирование
:tratata: :maniac:
Теперь парсер понимает URL-ы, стоящие сразу за символами ")", "]" и "}"
Устаревшие HTML-тэги <u> и <s> заменены на <span style>
Исправлена ошибка добавления в конец URL закрывающего BBCode при парсинге чистых URL
[!] Звуки
Добавлена библиотека для поддержки звуков ion.sound © 2014 Денис Инешин лицензия http://ionden.com/a/plugins/licence.html
По умолчанию звуки отключены. Для включения нужно на странице "Настройки" (вкладка "Интерфейс") поставить галочку "Включить звуки в игре" и сохранить изменения
Работа звуков в устаревших и/или мобильных версиях браузеров НЕ ГАРАНТИРУЕТСЯ!
[!] Платежи
Полностью переделан интерфейс системы платежей
Изменены скидки за оптовую покупку. Теперь небольшие сумм покупок дают большую скидку, чем раньше
Курсы валют и бонусы оптовой покупки сведены в одну ячейку
Игрок теперь может выбрать валюту по-умолчанию
Валюта игрока будет использована во всех расчетах вместо базовой валюты сервера, т.е. при расчете стоимости ММ, стоимости пакетов итд
На каждом пакете теперь указывается его стоимость в валюте игрока
Выбор фиксированного пакета при покупке ММ теперь сразу переводит на следующую страницу
Добавлено 17 новых методов платежей и картинок к ним
Добавлены картинки для большинства поддерживаемых методов платежей
Если методов оплаты более 6 - остальные сворачиваются и прячутся с возможностью в дальнейшем развернуть
Переупорядочены доступные методы платежей - от наиболее используемых к наименее используемым
Исправлено вычисление рассчётной стоимости ММ в рублях
Добавлена поддержка WMB - белорусских рублей на WebMoney
Основной валютой сервера по умолчанию установлен доллар США (USD). Скорректированы курсы всех валют
Платежи теперь соблюдают порядок, назначенный им в module
[!] Император
Переработана страница "Император"
Теперь на странице показывается статистика изменения основных показателей игрока за прошедшие 2 недели (меньше - если не накоплена нужная статистика)
Добавлен пробел между "У вас" и количеством сообщений
[!] Режим отпуска
Переделана процедура ухода в отпуск
Теперь на странице отпуска не отображаются: меню, новости, навбар... По прежнему блокируется вход на любые страницы игры. Отдыхать - так отдыхать!
[!] Квесты
Полностью переписан механизм квестов
Исправлен баг неполного начисления награды, когда одновременно выполняются более одного квеста
[!] Авторизация
Полностью переписана с нуля система авторизации в игре
Все операции системы авторизации проводятся в init.php - дальше по коду передаются только результаты авторизации. Это дает возможность позже добавить плагины для авторизации во внешних сайтах
Страницы логина, регистрации и восстановления пароля сведены в одну и сделаны более дружественными для мобильных пользователей:
- При восстановлении пароля отсылается цифровой код, что облегчает ввод с экранной клавиатуры
- Код восстановления высылыается не чаще раза в час и действует 1 сутки
Теперь при сбросе пароля происходит автологин - не надо самому логиниться с новым паролем
Переделан выбор языков
Добавлены страницы редиректа старых адресов reg.php и lostpassword.php
Данные об user_agent и user_proxy вынесены в отдельную таблицу со справочником
Исправлена ошибка входа в игру, если текущей планетой является удаленная по Обслуживанию планета
Исправлена проблема пропадающих элементов на странице логина
[!] Интерфейс
Мультиэлемент ввода чисел - полная переработка:
- Теперь можно не кликать несколько раз подряд для увеличения (+)/уменьшения (-) значения в ячейке, а достаточно зажать кнопку мышки - количество будет изменятся автоматически
- Изменение данных при зажатой мышке проводится с ускорением - чем дольше держать кнопку мышки, тем быстрее будет изменятся значение в строке ввода
- Добавлены кнопки "0" и "М" - соответственно устанавливающие значение поля в 0 и в максимальное значение
- Теперь при входе в ячейку если значение в ней отлична от нуля, то значение выбирается (как в операционных системах)
- Максимальное использование jQuery
- Элемент переделан под jQueryUI.button(). Выглядит получше и более дружественнен к мобильным пользователям (читай - больше по размеру)
- Убраны устаревшие функции bind(), live() и delegate()
- Уменьшено количество обработчиков
- Ускорена работа мультиэлемента
- Использование спецтега <ainput> и вставка мультиэлемента на его место методами jQuery
- Исправлена ошибка "NaN" при вводе первого нечислового символа
- Переверстан под таблицы из-за странного поведения float div в некоторых сценариях. Пока ребята из Вилларибо верстают сайт дивами....
- Установлена фиксированная ширина кнопок. Это сделало вид элементов аккуратнее. Ну, и заодно - исправило некрасивость на странице отправки флотов
- Новый мультиэлемент работает на страницах: постройки флота и обороны; подбора кораблей во флот; черный рынок - покупка и продажа кораблей, обмен ресурсов
Скины:
- При разрешении экрана менее 1224 пикселов фон либо не грузится вообще (страница входа/регистрации) или грузится облегченная версия фона если разрешение экрана выше 768 пикселов (скины EpicBlue и supernova-ivash)
- Это сделано для более быстрой работы на мобильных устройствах и маломощных компьютерах. Фишка работает только в перечисленных скинах и/или на указанных страницах
- Так же, если размер изображентия планеты невелик, то грузится файл с меньшим разрешением. В неподдерживаемых скинах картинки планет могу отсутствовать вовсе
Все строки ввода данных, чекбоксы и кнопки теперь используют jQueryUI в тех браузерах, в которых он работает
Переработано множество страниц для совместимости с новым видом интерфейса, сделано огромное количество мелких правок - так что даже не буду пытаться их все перечислить
Теперь текст кнопок и вводимые данные в элементах ввода имеют жирный шрифт
Везде, где возможно, поля ввода для логина и пароля ограничены 32 символами
Добавлена индикация аккаунтов, находящихся в отпуске. Такие аккаунты отмечаются специальной иконкой в нике и надписью "В отпуске" на странице "Император"
Для исключения блокировки корпоративными фаерволлами и прочим, "sex" заменен на "gender"
Добавлена возможность выбрать пол в "Настройках"
Удалены неиспользуемые картинки в каталоге OpenGame/img
Все темплейты теперь используют общую иконку для отправки писем из /design/images
Ссылки, открывающие дополнительные окна, теперь подчеркиваются двойной линией
[!] Админка
Отключена "Панель админа"
Список игроков:
- Добавлена колонка "Активен", показывающее прошедшее время с момента прошлой активности игрока
- При наличии модуля платежей появляется колонка с общим количеством купленной игроком ММ
- Убрана колонка "Е-Мейл" - эту и другую иноформацию об игроке теперь можно посмотреть на отдельной странице
- В колонке "Рефералы" подколонки "Игроки" и "ТМ" выравнены по правому краю
- Добавлены разделители тысяч в количество ТМ, заработанной рефералами
- Колонки переупорядочены для большего удобства
- Уменьшен размер страницы примерно на 40-60%%
- Добавлена подсветка всей строки при наведении курсора для облегчения операций с аккаунтами
Информация об игроке:
- Добавлена базовая страница с информацией об игроке. Она доступна только Администраторам и выше. Перейти на неё можно кликнув по ИД или нику игрока на странице "Список игроков"
- В настоящий момент страница является чуть облагороженным дампом соответствующей записи в таблице users без возможности редактирования
- Отформатированы все даты и числа (там, где это имеет смысл)
Обслуживание:
- Добавлена упаковка логов транзакций Тёмной Материи. Записи, сделанные ранее 1 числа три месяца назад, пакуются в одну запись от 1 числа указанного месяца с суммой всех транзакций за период упаковки
- Добавлена агрегирование статистики онлайна игроков. Записи, сделанные ранее 1 числа три месяца назад, агрегируются в записи с интервалом по 10 минут со средним арифметическим онлайна за указанный интервал
- Добавлена чистка общих логов. Из таблицы `logs` при обслуживании удаляются записи, сделанные ранее 1 числа три месяца назад
- Добавлена чистка game_watchlist и stats_hide_player_list от несуществующих пользователей
- Теперь удаляются все сообщения (кроме личных и альянсовских) старше 4 недель у всех игроков
- Теперь удаляются все сообщения (кроме личных и альянсовских) любой давности у игроков, неактивных более 4 недель
Переделана работа режима обслуживания. Теперь различаются источники, переводящие сайт в режим обслуживания, для каждого из которых выводится своё сообщение:
- Блокировка из админки. Игроки в причине блокировки видят то, что введено в настройках сайта;
- Блокирование из статистики - своё сообщение;
- Блокирование из обновления - своё сообщение;
- Блокирования при первой инсталляции до окончания настройки
- Текущий режим отображается для игроков соответствующим сообщением, автовыбором соответствующего пункта в "Настройках" в админке и красным сообщением вверху странице в админке же
- Администратор может насильно отменить режимы блокировки, устанавливаемые статистикой и обновлением - однако делать это крайне не рекомендуется
Обновление статы:
Опять переделана процедура расчёта статистики
Теперь указывается не интервал расчёта статистики, а "расписание", т.е. конкретное время запуска в привязке к текущему времени. Ниже будет подробнее объяснено на примерах
Формат расписания изменился и теперь выглядит так:
<время запуска>[,<время запуска>...]
<время запуска>: [ГГГГ:[ММ:[ДД:[ЧЧ:[ММ:[СС]]]]]]
Пустые параметры приравниваются к нулю. Лидирующий ноль укзаывать не обязательно. Т.е. записи: "0000:00:00:00:30:00", "0:30:0" и "30:" - равноценны. Примеры:
- "00:00:27:00" означает "запуск в 27 минут каждого часа", т.е. в 00:27:00, 01:27:00, 02:27:00 итд;
- "04::" означает "запуск в 4 утра каждого дня"
- "01::,17:15" означает "запуск в 1 утра каждого дня и в 17 минут 15 секунд каждого часа", т.е. каждый день в 00:17:15, 01:00:00 (это сработало дополнительное расписание), 01:17:15, затем в 02:17:15, 03:17:15, 04:17:15 итд;
- "1:4:30:00" означает "Запуск 1 числа каждого месяца в 04:30 утра", т.е. 1 января в 04:30:00, 1 февраля в 04:30:00, 1 марта в 04:30:00 итд;
- "2015:1:1:00:00:00" означает "Однократное срабатывание 1 января 2015 года ровно в полночь"
Начисление ТМ:
- Убрано начисление по планете
- Теперь при начислении ТМ через админку в комментариях пишется причина начисления и кто произвел начисление
- Исправлена ошибка начисления ТМ игрокам, чье имя начинается со знака "-"
Начисление ММ:
- Теперь при начислении ММ через админку в комментариях пишется причина начисления и кто произвел начисление
Локализация:
- Восстановлена работа интерфейса локализации в админке
Записи логов:
- Определение дедлоков и добавочная информация для их диагностики
- Для получения добавчной инофрмации о дедлоках пользователь MySQL, под которым запускается игра, должен иметь право MySQL PROCESS
[!] Инсталляция
Добавлен специальный режим отключения сервера "Инсталляция и конфигурация". В этом режиме игра стартует после инсталляции (логин по умолчанию - admin, пароль - admin). Так же его можно включить в админке или выставив в таблице `config` в записи 'game_disable' значение 4
Отличие данного режима отключения от остальных в том, что нём доступны страницы login.php и logout.php
Основное назначение режима - настройка сервера после инсталляции движка и аварийное восстановление после сбоев в работе сервера

[+] Отправка флота
Добавлена кнопка 1/X, где X - количество неотправленных экспедиций. Появляется только если X > 1 и X < максимального количества экспедиций
Кнопка 1/(доступных экспедиций) теперь появляется только если не дублирует кнопки 1/(максимальное количество экспедиций) и "Все корабли"
Теперь при отправке флота виден уровень Капитана на планете и его скиллы
На второй странице отправки флота список текущих планет и список Заметок с координатами переделаны в кнопки для удобства мобильных пользователей
При подборе кораблей во флот теперь показывается актуальная скорость каждого корабля
Добавлены разделители тысяч к количеству кораблей во второй колонке
На странице подбора кораблей во флот добавлена опция сортировки списка кораблей
Возможна следующие виды сортировки: "Стандартная", "По названию", "По скорости", "По количеству" и "По ID" - по возрастанию характеристики
Так же возможна инверсная сортировка - по убыванию характеристики
Выбор вида и хода сортировки осуществляется дропдауном и галочкой в нижней части таблицы
Сделанный выбор сохраняется в настройках пользователя и затем используется при следующих открытиях той же страницы
Изменения вида или хода сортировки перегружает страницу
[+] Своз ресурсов
Теперь в расчете строки ИТОГО учитывается ёмкость трюмов флота, т.е. показывается реальное количество ресурсов, которые будут свезены по текущим данным
Код расчёта переписан на jQuery
Исправлено PHP-предупреждение, если у игрока только одна планета
[+] Сообщения
Отправка сообщений - "Переписка":
- Теперь при отправке сообщения в ответ на личное сообщения, доступна история переписки. Она показывается под формой создания сообщения
- В истории показываются в порядке написания сообщения от собеседника игроку и неудаленные сообщения от игрока собеседнику, но не более 20 сообщений
- Так же добавлена автоматическая замена нескольких подряд префиксов ответов ("RE:") на один
"Написать сообщение" теперь стало отдельной кнопкой
[+] Рекорды
Для флотов и обороны теперь показывается суммарное количество юнитов на всех планетах и лунах. Флоты в полёте по-прежнему не учитываются
[+] Чат
Добавлен звук при получении нового сообщения в чате
Теперь если по какой-либо причине отключается модуль chat_advanced, то в чате не видны личные и информационные сообщения
В списке онлайна Администраторы сервера теперь всегда идут первыми
Скруглены углы в попапах и в админском элементе ввода сообщений
Уменьшены размеры кнопок со смайликами, а так же уменьшен размер соответствующего попапа
Исправленна ошибка появления кнопок chat_advanced при открытии открепленного главного меню

[~] Партнерская программа
Добавлена прямая ссылка
Теперь в простых ссылках указывается не УРЛ, а имя сервера
Изменены УРЛы на действительные (с reg.php на login.php)
Исправлена регистрация по партнерским ссылкам - теперь правильно регистрируются привлеченные игроки
Исправлена ошибка, при которой баннер не показывался без регистрации
[~] Новости
Теперь статус новости (например, "СВЕЖАЯ") пишется перед датой, а не перед текстом новости
Теперь по умолчанию галочка "Разослать новость всем игрокам" отключена
[~] О сервере
Добавлена индикация режима взаимодействия игроков с 1 IP (мультиаккаунтов)
[~] Поиск
Отключён поиск планет. Я вообще с трудом понимаю, зачем он был изначально сделан в игре...
[~] Симулятор боя
Переверстан интерфейс симулятора
[~] Чёрный рынок
При полностью пустом списке б/у кораблей в продаже он пополняется случайным образом

[%] Альянсы
Альянс теперь можно передать любому участнику - а не только заместителю главы
Исправлена ошибка с возможностью сделать Альянс пустым именем/тэгом/титулом главы
Исправлено незаполнение имени user_as_ally тэгом при создании Альянса
Исправлена ошибка отправки многострочных сообщений
Исправлена невозможность включить прием заявок после его отключения
Исправлена ошибка попадения в список кандидатов на передачу Альянса игроков не из Альянса
Исправлен прием игрока в Альянс, чей тег или название содержат спецсимволы

[@] Документация
В пример конфигурационного файла добавлено уведомление о необходимости использования разных префиксов для нескольких копий СН на одном сервере
[@] jQuery
Добавлены виджеты Droppable и Sortable
[@] Темплейты
{-path_prefix-} заменен на {D_SN_ROOT_VIRTUAL}
Добавлена глобальная переменная SN_GOOGLE - в темплейт и JS
Добавлено подключение CSS, специфичного для темплейта - _template.css - из корня темплейта
Основная часть страницы теперь центрируется не через <center>
[@] Код
Рендерер ников:
- Полностью переписан рендерер ников
- Добавлена поддержка компактизированных скин-независимых ников
- Расширена возможность отключать части ника
- Иконки теперь имеют фиксированные положения, не зависимые от порядка загрузки модулей
- Добавлена поддержка нового рендерера ников в стандартный чат
Статистика:
- Добавлено принудительное увеличение памяти в процедуру расчета статистики
- Размер памяти, резирвируемый под процесс PHP при обсчете статистики, можно менять переменной 'stats_php_memory' в таблице `config`. Синтаксис - такой же, как и в php.ini. Значение по умолчанию - 1024M
- Минимальный интервал обсчета задается переменной 'stats_minimal_interval' в таблице `config`. Значение по умолчанию - 600 секунд
- Теперь во время расчёта статистики движок переходит в режим обслуживания
Лог ТМ:
- Лог ТМ при найме/покупке Чертежа теперь пишется на языке текущего пользователя. Так же в него пишется стоимость и срок найма
- В лог ТМ теперь пишется запись об увольнении Наёмника с детальной информацией
- Более подробный лог траты ТМ при покупке секторов на планете
Метаматерия:
- Добавлено и заполнено поле dark_matter_total в таблице `users`. Поле так же изменяется при начислении ТМ внутренними механизмами движка
Локализация:
- Добавлена поддержка вариантов языка - типа, en-US и en-UK
- Добавлена подсистема сбора информации об употреблении строк локализации в коде. Включается переменной "server_locale_log_usage" в таблице `config`
Две новые директивы отладки в init.php:
- DEBUG_SQL_COMMENT - включает комментирование SQL-запросов
- DEBUG_SQL_ONLINE - включает лог SQL-запросов в таблицу `logs`. Так же подразумевает DEBUG_SQL_COMMENT
Теперь можно отключить защиту от взаимодействия аккаунтов с одним IP выставив в таблице `config` параметр `game_multiaccount_enabled` в 1
Убраны BOM-префиксы в исходниках - таким образом, восстановлена работа создания баннера на странице "Заработай ТМ" и, собственно, сама генерация баннера
Исправлено предупреждение в /includes/classes/supernova.php line 125
Исправлено предупреждение Warning: Invalid argument supplied for foreach() in includes/db.php on line 365
Исправлено предупреждение в uni_coordinates_valid()
Поставлены заглушки для будущей поддержки GeoIP
[@] Модули
Теперь модули могут добавлять пункты в админское меню
[@] Apache
Добавлены файлы .htaccess
[@] JS и CSS
Все файлы JS и CSS в основном коде маркируются датой и временем последнего обновления - для форсирования обновления браузерами при изменении этих файлов
Информация из global.css, относящяяся к темплейту OpenGame перенесена в CSS темплейта
[@] Локализация
Добавлена переменная активного языка в classLocale
Добавлено уведомление о критической ошибке при попытке вызвать функции локализации с $lang не в виде класса
[@] БД
При старте уровень транзакций сессии устанавливается в REPEATABLE_READ для меньшей зависимости от настроек сервера
Добавлена возможность установливать уровень отдельной транзакции в sn_start_transaction()
В doquery() запрос теперь обрабатывается функцией trim()


...а так же множество других изменений, исправлений и багфиксов. Полный чейнджлог
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
4.2. В любом другом случае - загрузите на сервер обновленную версию движка
5. ДОЖДИТЕСЬ, ПОКА НОВАЯ ВЕРСИЯ ДВИЖКА ОКАЖЕТСЯ НА СЕРВЕРЕ! Попытка обновления в процессе копирования файлов или загрузки их из репозитория GIT могут привести к непредсказуемым результатам
6. Переключитесь в браузер, в котором вы залогинены под Администратором и выберите пункт меню "Обзор". Дождитесь загрузки страницы - в этом время происходит обновление БД
7. И, наконец, после всех этих действий игру можно опять включить (Администратор -> Настройки, снять галочку "Отключить игру" и сохранить изменения), нажать кнопку

Project "SuperNova.WS" Release Candidate 40RC0 "RD auth planet universe que sn_timer"

Добавлено: 06 дек 2015, 17:04
Gorlum
ВНИМАНИЕ!!! ПЕРЕД ОБНОВЛЕНИЕМ СДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИЮ БАЗЫ ДАННЫХ И ФАЙЛОВ ДВИЖКА С ТЕМ, ЧТО БЫ МОЖНО БЫЛО ОТКАТИТЬСЯ В СЛУЧАЕ НЕУДАЧНОГО ОБНОВЛЕНИЯ!!!

ВНИМАНИЕ!!! ПЕРЕД ОБНОВЛЕНИЕМ ОБЯЗАТЕЛЬНО ЗАЛОГИНЬТЕСЬ В СИСТЕМУ ПОД АДМИНИСТРАТОРСКИМ АККАУНТОМ В СВЯЗИ С ИЗМЕНЕНИЕМ СИСТЕМЫ ОБНОВЛЕНИЯ!!!


Project "SuperNova.WS" Release Candidate 40RC0 "RD auth planet universe que sn_timer"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[!] Не прошло и года, как я представляю вам новый релиз СуперНовы
В самом деле - не прошло и года. Чуть более 7 месяцев со времени 39-го релиза
Как и прошлый релиз, этот делается для фиксации "статуса-кво" - как реперная точка в разработке и для того, что бы системные администраторы серверов на этом движке могли бы использовать новейшие разработки в области СН-строения
И, кстати, игра претерпела небольшой "SEO-ребрендинг" - анализ запросов с Гугля и Яндекса показал, что игру в основном находят как "СуперНову", а не как "СверхНовую". Поэтому было решено официально сменить русскоязычное название движка на "Проект 'СуперНова'". Вива, Гугль!
[!] Редизайн игры
Не секрет, что я уделяю больше времени содержательной части игры, а не её внешнему виду. В конце-концов - я всё-таки программист, а не дизайнер
Однако неуклонный рост количества пользователей мобильных устройств в игре и одновременно - увеличение доли широкоформатных мониторов у игроков буквально вынудили уделить время и дизайну
В настоящий момент один и тот же темплейт (расположение элементов игры на странице) используется как для игроков с мобильных устройств, так и для пользоваетелей ПК
К сожалению, создание отдельного темплейта исключительно для малоформатных устройств требует огромное количество времени, а так же сильно затрудняет дальнейшую разработку из-за необходимости поддержки и синхронизации изменений в двух темплейтах
Поэтому было принято решение дорабатывать текущий темплейт, добавляя в него различные фишки для поддержки как малых, так и больших разрешений - не забывая при этом про среднеформатные мониторы. В число таких фишек входят:
- Полная переработка CSS-стилей;
- "Отзывчивый дизайн" (Responsive Design, далее - RD);
- Встроенная система масштабирования интерфейса;
Подробнее об этих и других изменениях во внешнем виде игры можно прочесть ниже
С учётом сложности поставленной задачи (без существенных изменений адаптировать существующую вёрстку ко всей гамме разрешений мониторов с учетом особенностей зоопарка компьютерных и мобильных браузеров) результат получился очень хорошим
Так же была проделана определенная работа по улучшению внешнего вида интерфейса:
- Совершенно новые виды для некоторых страниц - например, "Обзор Вселенной" и "Технологии" - список этим не ограничивается;
- Полностью переверстаны с нуля некоторые другие страницы. При небольших изменениях во внешнем виде заметно улучшилось юзабилити. К таким страницам относятся, например, "Новости";
- Полностью переписана "Очередь построек";
- Добавление элементов декора в интерфейс - рамки, тени под кнопками, эффекты итд итп. Значительную часть декора можно отключить в настройках интерфейса;
- Унификация раскраски элементов;
- ...и многое, многое другое!
[!] Изменения в игровой механике
Хотя акцент в релизе сделан на внешний вид, некоторые игровые механики так же были переделаны. Порой - переписаны полностью
К последним относится полностью новая система генерации планет - см.ниже подробное описание изменений
Так же изменения притерпели и некоторые другие механики. Опять же - прочитать об этом можно ниже
[!] Изменения в движке
Последнее по списку, но не по значимости. "Внутренности" движка так же были серьёзно доработаны - как PHP-часть на стороне стороне, так и JS-часть на стороне клиента. Можно отметить следующие изменения:
- Полностью переделана система авторизации (два раза за отчётный период);
- Полностью переписана работа JS-таймеров;
- Существенно переделана работа с БД - добавлена потенциальная возможность подключения к отличным от mysql БД;
- ...и многое, многое другое!
Краткий список изменений см. ниже

[#] info_best_battles 1b0
(!) Модуль "Лучшие бои"
Добавляет в меню новый пункт "Лучшие бои", который открывает соответствующую страницу
Для каждого боя выводится:
- Порядковый номер в таблице;
- Дата и время боя;
- Общее количество обломков в пересчете на металл;
- Ссылка на просмотр соответствующего боевого отчёта;
На странице выводится 50 лучших боёв
Бои сравниваются по общему количеству обломков в пересчете на металл
В таблицу попадают только бои, которые произошли не ранее 2-х суток от текущей даты, т.е.:
- 2015-11-28 в 00:11:30 будут доступны бои, произошедшие до 2015-11-26 00:00:00 (не включая полуночь);
- Бои, происшедшие 2015-11-26 появятся в списке лучших боёв 2015-11-29 ровно в 00:00:00 (если, конечно, образовалось больше обломков, чем у худшего из лучших боёв);
- Это сделано специально, что бы дать всем заинтересованным сторонам собрать лом с орбиты;
Лучшие бои не удаляются из базы данных во время процедуры технического обслуживания

[#] skins/immi
[!] В игру добавлен скин immi

[#] menu_customize 0d5
(!) Настройки/Меню
Все настройки меню вынесены в отдельный таб "Настройка меню"
Настройки элементов меню сгруппированы по категориям
(+) Поддержка редизайна меню
Опция "Показать пункты меню в виде кнопок" переименована в "БОЛЬШИЕ КНОПКИ В МЕНЮ"
Добавлена опция "Белые надписи на кнопка меню (отключить цвета)"
(%) Пустые пункты меню
Теперь пустые пункты меню не показываются в меню при включенном модуле настройки меню
(%) Кнопка Скрыть/Показать меню
Исправлены проблемы с позиционированием кнопки

[#] player_premium 3c3
(+) Ивенты
Поддержка бонусных уровней Премиума по ивентам

[!] Миссии/Колонизация
!!!ВНИМАНИЕ!!! Полностью переписана с нуля генерация планет! Теперь она очень сильно отличается от оГеймовской!
Размер планеты:
- Теоретические размеры планет составляют: минимальный - 30 секторов, максимальный - 330 (бывают только при наличии в системе планет-странников);
- На стандартных слотах (с 1-го по 15-й) кардинально увеличен средний размер планеты - как за счёт пересчёта минимального и максимального количества секторов, так и за счёт исправления архитектурной ошибки xnova;
- Диаметр планеты теперь вычисляется по более вразумительной формуле;
Типы ядер:
- Полностью переработаны типы ядер
- Пересчитана добыча всех типов ядер с учётом экономической эффективности и собранной статистики по типам планет у игроков (Нерф? Кто сказал - "НЕРФ"?!. Наоборот!)
- Переработаны и переименованы старые типы ядер:
- Во всех старых типах ядер увеличена добыча;
- "Лёд" переименован в "Метановый лёд" и улучшена добыча;
- "Камень", "Силикат" и "Руда" - улучшена добыча;
- "Металл" переименован в "Оливин". Его добыча находится на уровне старого типа "Тяжелый металл";
- Ядра типа "Тяжелый металл" мигрированы в тип "Оливин" (с улучшением добычи);
Добавлены 4 новых типа ядра:
- "Водяной лёд" - приблизительный аналог "Камня" или "Руды" для водорода;
- Три новых типа ядра - "Водородный лёд", "Кристалл" и "Металл" (новая версия) - с охренительной добычей соответствующих типов ресурсов;
Десять типов ядер четырех классов:
- "Базовый" класс - тип ядра "Стандарт";
- "Продвинутый" - "Водяной лёд", "Камень", "Руда";
- "Редкий" - "Метановый лёд", "Силикат", "Оливин";
- "Раритетный" - "Водородный лёд", "Кристалл", "Металл";
Смена типа ядра:
- Стоимость смены типа ядра теперь не зависит от текущего - можно недорого поэкспериментировать как минимум с продвинутым классом ядер, а то и с редкими;
- Стоимость смены типа ядра теперь зависит от типа планеты;
- В среднем - смена ядра планеты стала ГОРАЗДО выгоднее (в пересчете затраченной ТМ на полученный прирост производительности);
ПРИМЕРНО половина планет во Вселенной имеет улучшенный тип ядра (или водяной лёд, или камень, или руда), еще треть имеют тип ядра "Стандарт". Остаток приходится на долю остальных типов ядер
Температура:
- Изменены диапазоны, в пределах которых меняется максимальная температура планеты;
- Разница между максимальной и минимальной температурами теперь не фиксирована (40 градусов в xnova), а определяется случайным образом в определенном диапазоне;
- Диапазон разницы температур зависит от места планеты в системе;
- !!!ВНИМАНИЕ!!! У всех старых планет (колонизированных до установки патча) минимальная температура установлена равной максимальной температуре для того, что бы изменения патча не повлияли на добычу;
Добавлена поддержка "планет-странников":
- Планета-странник - ранее блуждавшая по галактике экзопланета, захваченная тяготением звезды;
- Планеты-странники находятся за 15-м слотом в системе (если в настройках игры включен размер системы более 15 планет);
- Хотя планета-странник может быть достаточно тёплой, ожидать околозвёздных температур в сотни градусов Цельсия от неё не стоит. А вот получить промороженную насквозь планету - вполне реально;
- Планеты-странники имеют огромный разброс по всем параметрам - соответственно и типов таких планет несчётнок множество;
- Получить граничные значения размера планеты можно только на планете-страннике;
- По умолчанию размер системы увеличен до 16 планет (ПРОВЕРЬТЕ ВАШИ ЗАМЕТКИ/ЗАКЛАДКИ НА ЭКСПЕДИЦИЮ!);
Переработано распределение планет по системе:
- Естественно, средняя температура планеты падает на расстоянии от звезды (т.е. по мере увеличения номера слота);
- Теперь бесполезно искать планеты с ледяным ядром возле звезды или планеты с металлическим ядром на внешних границах системы;
- Кристаллические ядра встречаются практически по всей системе;
- Крупные планеты группируются в середине системы. Соответственно - на внешней и внутренней границах системы планеты более мелкие;
- Как и с размером планет - температурные диапазоны уменьшаются от центра системы к её границам;
Цветовое кодирование типов ядер - чем "тревожнее" цвет, тем реже этот тип ядра можно найти при колонизации:
- Белый - стандартное ядро
- Желтый - ядро "Продвинутого" класса
- Оранжевый - "Редкий" класс
- Красный - самый редкий, "Раритетный" класс;
Колонизация:
- Тип ядра, находимого в колонизации, ограничивается уровнем Астрокартографии:
- От 0 до 5 - могут быть найдены только планеты с типами ядер "Стандарт", "Водяной лёд", "Камень", "Руда"
- От 6 до 10 - так же могут быть найдены планеты с типами ядер "Метановый лёд", "Силикат", "Оливин
- 11 и больше - так же могут быть найдены планеты с типами ядер "Водородный лёд", "Кристалл", "Металл"
- Это сделано для облегчения игры для новичков и уравнивания стартовых условий
- Например, если первая же найденная колония имеет тип ядра "Водородный лёд" - новый игрок получает сильное пенальти на развитие планеты (планеты "Раритетного" класса очень сложно застраивать сам-один и для нормальной застройки требуется транспорт других типов ресурсов с остальных планет)

[!] Тёмная Материя
Теперь не нужно вручную конвертировать ММ в ТМ - конвертация осуществляется автоматически при нехватке ТМ. Это упростит обращение с ММ для новых игроков
Переработан интерфейс покупки Метаматерии с учётом добавления в игру автоконвертации
Убран ненужный блок с курсами и скидками: цена теперь всегда выводится в выбранной валюте, а скидки за оптовые покупки прописаны прямо на кнопках пакетов

[!] Навигационная панель (Навбар)
Добавлена кнопка "Планета":
- Клик на кнопке откроет страницу "Планета" для текущей планеты;
- В правом нижнем углу кнопки показывается количество колоний у игрока и максимально возможное количество колоний;
- Если на планете есть очередь зданий она выводится на кнопке планеты аналогично Исследованиям и Ангару
Добавлена кнопка "Верфь":
- Клик на кнопке откроет страницу "Верфь";
- При наличии юнитов в очереди Верфи на кнопке будет отображено:
- Количество оставшихся в очереди слотов
- Общее время до окончания постройки всех юнитов в очереди
- Название юнита в текущем слоте очереди (т.е. корабль, который сейчас строится)
- Количество оставшихся юнитов в текущем слоте
- Время, оставшееся до окончания постройки текущего юнита в текущем слоте
Отключение кнопок:
- Добавлена возможность отключения следующих кнопок:
- "Исследования"
- "Планета"
- "Верфь"
- "Флоты в полёте"
- "Экспедиции"
- "Квесты"
- "Метаматерия" (при наличии ММ её количество показывается так же на кнопке "Тёмная Материя")
- Отключение кнопок происходит в пункте меню "Настройки", вкладка "Интерфейс", раздел "Навигационная панель"
Кнопка "Сообщения":
- Счетчики сообщений теперь располагаются не в линию, а по углам иконки сообщений:
- Левый верхний - личные сообщения;
- Правый верхний - сообщения от Альянса;
- Левый нижний - сообщения от Администрации;
- Правый нижний - общее количество сообщений.
- Таким образом на мобильных устройствах будет гораздо проще выбрать нужный тип сообщений
- Если в почтовом ящике есть сообщения - общее количество соощений в навбаре мягко мерцает
По умолчанию кнопка "Исследования" теперь имеет стандартную ширину. Вернуть старый вид можно включив в "Настойках" опцию "Широкая кнопка исследований (старый вид)"
Имена планет в дропдауне переключения приведены к стандартному виду [координаты] (тип) Имя
"Локальное время" переименовано во "Время у игрока", "Серверное время" - во "Время на сервере"
Добавлены прогресс-бары к плашке исследований
Убрана горизонтальная зеленая линия над общим количеством ТМ в случае, если на аккаунте нет ММ и/или ММ не подключена в игре
Навбар переверстан под flex-box - теперь корректно переносятся кнопки на маленьких экранах
Все инлайн-стили вынесены в _template.css
[!] Меню
Редизайн пунктов меню:
- Теперь в стандартном режиме пункты меню выглядят, как кнопки. Однако при этом являются ссылками - т.е. позволяют открывать страницы в новом окне
- Теперь при наведении курсора на пункт меню он подсвечивается
Настройка меню:
- Опции меню вынесены в отдельный таб "Настройка меню"
- Настройка "Показывать пункты меню в виде кнопок" заменён на "БОЛЬШИЕ КНОПКИ В МЕНЮ" и теперь просто увеличивает размер пунктов меню - удобно для мобильных устройств
- Новая опция в "Настройкх": "Белые надписи на пунктах меню (отключить раскраску меню)" убирает раскраску пунктов меню, оставляя выделенными только категории
- Новая опция в "Настройкх": "Низкие пункты меню", которая возвращает меню старый вид меню
Немного переупорядочены пункты меню так, что бы уменьшить количество категорий и не было неактивных заголовков в категориях
Поддержка иконок меню, расположенных в любом месте движка
Ускорена работа меню в приложениях
[!] Новости
Редизайн блока новостей
Если новость содержит больше 1 параграфа (строки, разделенные двумя CRLF подряд), то остаток новости скрывается под кнопкой "Показать текст новости"
Кнопка закрытия списка новостей теперь машстабируется вместе с интерфейсом
Опросы:
- Добавлена индикация общего количества проголосовавших
- Результаты опроса:
- Бар, показывающий процент проголосовавших, выводится под самим ответом
- К каждому варианту ответа добавилась индикация процента проголосовавших
Кнопки действия над новостью (для Администрации) перенесены из отдельных колонок под саму новость

[!] Страница "Планета"
Для каждой очереди добавлена дата и время её завершения
Добавлено подтверждение на покупку сектора
Добавлены прогресс-бары к общей информации об очередях
Добавлены координаты и название планеты в виде заголовка страницы
Убрано уведомление "У вас Х новых сообщений"
Часть функционала "Управления планетой" вынесена на основной экран "Планеты":
- Переименование
- Смена типа ядра
Ссылка "Управление" переделана в кнопку
В расчёте миниатюр планет и иконок на них транзакции теперь делаются per-planet, а не глобально по всем планетам. Это должно существенно улучшить отзывчивость для остальных игроков
[!] Страница "Обзор Вселенной"
Общие изменения:
- Изменилась цветовая кодировка обломков: добавились новые градации и изменились границы переключения цветов на более интуитивные:
- Без фона/рамочки - менее 1.000 единиц обломков;
- Зеленый фон/рамочка - не менее 1.000 и не более 1.000.000 единиц;
- Желтый - не менее 1.000.000 и не более 1.000.000.000 единиц;
- Оранжевый - не менее 1.000.000.000 и не более 1.000.000.000.000 единиц;
- Красный - не менее 1.000.000.000.000 единиц;
- Добавлена кнопка ракетной атаки в планетарные попапы
- При выборе "Ракетной атаки" страница скроллируется на форму запуска ракет. Ей добавлена толстая красная рамка, что бы визуально выделить среди остальных элментов;
- В "Настройках" на вкладке "Интерфейс" в разделе "Вселенная" добавлена возможность отключить кнопку "Послать колонизатор для основания колонии на позиции номер Х"
- После анализа востребованности фишек, убраны быстрые действия "Просмотреть место игрока в статитстике" и "Добавить игрока в друзья". Действия по-прежнему доступны в попапе игрока, однако быстрые кнопки использовались настолько мало, что было принято решение убрать эти опции;
- При активации AJAX-действия (отправка ракеты, отправка шпионов итд) в центре экрана пишется результат совершения действия
Новый вид страницы:
- Полный редизайн страницы
- Изменений настолько много, что нет смысла их тут описывать все - проще посмотреть самому
- Те, кому не нравится новый вид - могут включить старый вид в "Настройках", вкладка "Интерфейс", галочка 'Использовать старый вид "Обзора Вселенной"'
- Выделение поля обломков цветной рамкой в зависимости от количества ресурсов
Изменения в старом виде Вселенной:
- Быстрые действия на планету/аккаунт сделаны кнопками для облегчения судьбы наших мобильных друзей;
- Переработаны попапы игрока и Альянса аналогично кнопкам миссий
- Значительно уменьшен размер генерируемой страницы Вселенной:
- С иконок ракетной атаки убран код onclick и перенесен в jQuery-обработчики
- Кнопки миссий в планетарном попапе переделаны на button_pseudo, a onclick-код вынесен в jQuery-обработчики
[!] Очередь построек
Переделана Очередь построек
В очередь постройки добавились прогресс-бары:
- Прогресс-бары можно отключить - пункт меню "Настройки", вкладка "Интерфейс", опция "Отключить прогресс-бары"
- Прогресс-бар постройки текущего юнита в текущем слоте очереди:
- Цвет - зеленый
- Выводится под таймером обратного отсчёта постройки текущего юнита
- Учитывается ПОЛНОЕ время постройки юнита - т.е. при перезагрузке страницы время продолжит идти
- Показывает процент завершения постройки текущего юнита - т.е. увеличивается со временем
- Виден во всех очередях постройки на первом слоте в очереди и в навбаре в плашке верфи
- Прогресс-бар постройки всех юнитов в текущем слоте:
- Цвет - синий
- Выводится под количеством юнитов в текущем слоте (для зданий, очевидно, выводится всегда - здания строятся поштучно)
- Показывает оставшееся количество юнитов к постройке в текущем слоте - т.е. уменьшается со временем
- Виден во всех очередях постройки на всех слотах
- Общий прогресс-бар очереди:
- Цвет - болотный;
- Выводится под общим таймером обратного отсчёта всей очереди
- Учитывается ОСТАВШЕЕСЯ время всех слотов в очереди - т.е. при перезагрузке страницы отсчёт стартует с начала
- Показывает поставшееся время до завершения всей очереди - т.е. уменьшается со временем
- Виден на странице постройки и в навбаре в плашке верфи
Теперь время до постройки одного юнита в первом слоте пишется на самом юните
"Общее время" теперь индицируется сверху
Добавлены эффекты анимации к списку юнитов в очереди:
- При начале строительства нового юнита таймер на миниатюре мигает один раз;
- При окончании строительства всех юнитов в слоте - слот исчезает;
- Отключить анимацию эффектов в игре можно в пункте меню "Настройки", вкладка "Интерфейс", галочка "Отключить эффекты анимации в игре"
Список юнитов в очереди переверстан на дивах с использованием flex-box
Оптимизирована работа таймера очередей, так что новые прогресс-бары не должны сказаться на быстродействии
Теперь не рендерится очередь постройки, если контейнер для неё невидим - например, в навбаре
На общей панели постройки количество юнитов/уровень в текущем слоте отображается на новой строке
Оптимизирована выдача HTML-кода - меньше использование свойства style
Добавлена поддержка нового кода sn_timer
[!] Страница построек/исследований
Автоконвертация ресурсов:
- Постройка зданий/исследование технологий:
- На странице постройки зданий и исследования технологий добавлена возможность постройки с автоматической конвертацией ресурсов (далее просто - "автоконвертация")
- Автоконвертация доступна если для постройки/исследовния не хватает какого-то конкретного типа ресурсов, однако есть излишек других ресурсов, которые можно сконвертировать на ЧР в недостающий ресурс
- Конвертируются только планетарные ресурсы - металл, кристалл и дейтерий. ТМ автоматически не конвертируется
- Сразу после конвертации недостающих ресурсов постройка/исследование ставится в очередь
- Для предотвращения случайных срабатываний при нажатии на кнопку автоконвертации выскакивает дополнительное окно с подтверждением
- Автоконвертация ресурсов - платная. Стоимость операции составляет утроенную цену одной конвертации на ЧР или 3.000 ТМ, если ручной обмен на ЧР бесплатен
- Верфь/Оборона
- На странице постройки кораблей и обороны добавлена возможность постройки с автоконвертацией
- В строке максимального количества через слэш показывается максимально доступное количество юнитов при автоконвертации
- Для включения режима автоконвертации необходимо отметить галочку "Автоконвертация". При этом все элементы страницы работают так же, как и раньше, однако максимальное количество юнитов к постройке становится равно максимально доступному количеству юнитов с учётом автоконвертации
- Автоконвертация щадяща: даже если при включенной галочке автоконвертации поставить на постройку не больше максимального количества юнитов, доступных без автоконвертации - ТМ снята не будет и конвертация ресурсов производится не будет
- Автоконвертация переводит ресурсы исходя из заказанного количества юнитов - даже если в очередь может стать меньше. Это сделано специально для того, что бы можно было однократно воспользоваться автоконвертацией, а затем просто пополнять очередь новыми юнитами - с уже сконвертированных в правильном отношении ресурсов
- Отключить кнопку/чекбокс автоконвертации можно в "Настройках", вкладка "Интерфейс", чекбокс "Скрыть кнопку автоконвертации"
Сортировка списка юнитов:
- На страницы постройки (исследования, здания, верфь, оборона) добавлена возможность сортировки
- Для каждой из вышеперечисленных страниц настройки сортировки сохраняются отдельно
- Добавлена поддержка стандартной сортировки в обратном порядке
Количество превьюшек теперь динамически меняется в зависимости от разрешения экрана и настроек масштабирования
На больших экранах (там, где вмещается не менее 6 превьюшек в ряд) таблица с дополнительной информацией располагается справа от описания юнитов
На больших экранах блоки покупки/уничтожения теперь выстраиваются в один ряд с информацией о стоимости постройки
В очереди ссылки "Очистить очередь", ссылка Артефакта ("Наностроитель"/"Эвристический чип") и "Отменить последнее" сделаны кнопками. Это выделит данные элементы, а так же уменьшит количество ложных нажатий
Добавлено диалоговое окно с подтверждением при полной очистке очереди
Добавлено диалоговое окно с подтверждением при использовании Артефакта
При постройке зданий/исследовании технологий теперь показывается уровень, который будет строится/исследоваться
При постройке зданий/исследовании технологий кнопка постройки/исследования теперь отключается, если операция невозможна
Постройка зданий:
- Добавлено подтверждение на покупку сектора
- Теперь если при постройке зданий нет свободных секторов - превьюшки затеняются и выводится соответствующее сообщение
Добавлено разрежение ячеек в подтаблицы цены и допинформации о юните
Добавлено выделение четных рядов другим фоном в подтаблице допинформации
[!] Страница "Флот на орбите"
На шаге "Выбрать корабли" при отсутствии кораблей на планете на экране подбора флота доступна кнопка "Свезти ресурсы"
На шаге "Выбор точки назначения" при выборе планеты/заметки/боевого союза точка назначения флота меняется соответственно
Шаг "Выбор задания":
- Выбор миссий на странице выбора миссий сделан иконками-пиктограммами. Это улучшит юзабилити для игроков на мобильных устройствах
- Для миссии "Колонизация" введено цветовое кодирование количества колоний:
- Красный - количество колоний больше максимально возможного количества (например, вследствие исчерпания срока Премиум-аккаунта или окончания специальных акций)
- Оранжевый - количество колоний равно максимальному количеству. Нельзя колонизировать ни одной новой планеты;
- Желтый - количество колоний на 1 меньше максимального количества. Текущая миссия заблокирует возможность дальнейшего расширения;
- Зеленый - количество колоний на 2 и более единиц меньше максимального количества. Можно спокойно запускать текущую миссию.
- Корявый указатель направления миссии "=>" заменен на красивую стрелочку с подписью типа миссии
Теперь при отправке флота на шагах "Выбор точки назначения", "Выбор задания" и "Флот отправлен" выводятся:
- Состав флота в виде картинок с названиями и количеством;
- Точка отправления флота;
- (если доступно) Точка назначения флота;
- (если доступно) Время и срок прибытия в точку отправления и назначения.
САБ:
- При создании/присоединении к САБу теперь видна дополнительная информация о флоте, к которому присоединяется САБ: состав флота, откуда и куда направляется флот, а так же дата и оставшееся время до прибытия/возвращения
- Теперь при нажатии кнопки "Боевой союз" автоматически создается САБ и в него добавляется текущий игрок. При этом ему не отсылается лишнее (в данном случае) сообщение
- Название САБА теперь имеет вид "САБ <ID>", где <ID> - назначаемый игрой идентификатор
[!] Страница "Технологии"
Редизайн страницы:
- Вкладки на каждый вид технологий;
- Блочная, а не табличная вёрстка;
- Гибкая вёрстка в зависимости от размера экрана;
- Добавлены картинки юнитов;
- Списки "Требуется" и "Предоставляет" теперь являются ссылками - можно сразу перейти на просмотр описания требуемых/предоставляемых технологий;
Новый дизайн страницы должен подойти любому игроку - начиная от мобильных пользователей и заканчивая владельцами широкоформатных экранов: он динамичен, масштабируем, информация организована удобнее и сама страница занимает меньше экранного пространства
Табличный дизайн можно включить в "Настройках" вкладка "Интерфейс" опция "Страница Технологий в виде таблицы (старый вид)"
[!] Страница "Чёрный рынок"
Улучшен интерфейс заглавной страницы
Обмен ресурсов:
- Переверстана страница Обмена Ресурсов. Теперь ею должно быть удобнее пользоваться мобильным пользователям, а так же меньше вероятность совершить неправильную операцию
- Добавлено подтверждение при обмене ТМ на ресурсы
[!] Страница "Настройки"
Переписана с нуля работа с настройками игрока
Большая часть полей с настройками вынесены в отдельную таблицу player_options - уменьшен размер записи в таблице `users`
Настройки теперь кэшируются write-through - уменьшено количество обращений к БД
Закрыта возможность сменить имя игрока с использованием зарещенных символов
Настройки, которые имеют только один чекбокс приведены к общему виду: сначала идёт чекбокс, затем - описание. Это улучшает читаемость и удобство таблицы, а в некоторых случаях - уменьшает вертикальный размер страницы "Настроек"
Вкладка "Профиль":
- Отделено имя аккаунта от игрового имени
- Добавлены кнопки "Показать пароль" ко всем парольным полям
На вкладке "Интерфейс" добавлена опция "Отключить рамки у таблиц", которая убирает рамки-изображения у элементов дизайна
Вкладка "Интерфейс" теперь содержит подвкладки "Общие", "Настройки меню" (бывашя вкладка), "Панель навигации" и "Вселенная"

[!] Responsive Design (RD)
RD - это не какая-то конкретная фишка, а целый комплекс подходов направленных на поддержку различных разрешений и ориентаций экранов, разных настроек масштабирования в браузере и СН, а так же автомасштабирования страниц в некоторых мобильных браузерах на некоторых платформах:
- Использование относительных единиц размера при вёрстке;
- Использование специальных приёмов при вёрстке;
- Изменение размеров и/или положения элементов страницы в зависимости от настроек экрана (использование @media запросов в CSS);
- ...и многое, многое другое.
Поэтому конкретные меры, предпринятые для поддержки подходов RD не собраны в одном месте, а отнесены к соответствующим описаниям изменений
Все новые страницы уже разрабатываются с учётом критериев RD. Здесь приведу только старые страницы и элементы, переделанных под RD:
- Страница "Настройки";
- Блок "Подсказка";
- Страница "Обзор Вселенной" (старая версия);
- Страница строительства переделана для поддержки масштабирования
- Чат
- Список планет
[!] Дизайн
Внешний вид:
- Добавлены элементы декора - рамки
- Унифицирован внешний вид и раскраска сходных по функционалу элементов страницы
- Добавлено масштабирование фона в скины, где их не было и улучшено там, где были
- Отмеченные чекбоксы теперь подсвечиваются зеленым - в старой Опере и браузерах на основе WebKit
Вёрстка:
Переход на вёрстку с использованием относительных единиц размера (em, %) вместо фиксированных (px);
Проделана огромная работа по оптимизации и унификации CSS-стилей:
- Основная инофрмация о вёрстке теперь располагается в файле '_template.css' темплейта, а CSS-файлы скинов содержат в основном только раскраску элементов и настройки декора (рамки)
- Вынесено множество стилей из инлайна (описание вида элемента в HTML через аттрибут style) в CSS-файлы
Всё это, а так же конфигурабельность скинов через 'skin.ini' (см.), позволило веруть в данном релизе скин 'immi'
Изменены директивы viewport для лучшей поддержки мобильных устройств
Добавлен хак для отключения хромо-андроидовского FontBusting
Пережаты все картинки с сохранением качества изображения. В среднем размер картинок уменьшился примерно на 20%
Удалена почти все картинки-дубликаты - как просто дублирующиеся, так и появившиеся в результате добавления класса skin (см. тэги "Код" в changelog_dev.txt)
Скин EpicBlue:
- Добавлено изображение для ресурса "Метаматерия". Соответственно - оно появилось и во всех остальных скинах;
- Переделаны картинки ВебМани на странице платежей при выборе метода платежа
- Картинки юнитов:
- Заменены изображения Терраформера и Большого Планетарного Шита
- Изображения для Нанолаборатории, МИС, Астрокартографии, Гордыни, ТОПа, ПЗ, Малого Планетарного Щита, МПР и Перехватчика приведены к стилю остальных картинок
- За проделанную работу - особая благодарность игроку 4apaeff@Alpha
Скин supernova-ivash:
- Плашки в навбаре заменены на более подходящие по тону - спасибо Ivash@Alpha
[!] Масштабирование интерфейса
В помощь Responsive Design в движок добавлена собственная система масштабирования интерфейса - кнопки в навбаре (панель вверху):
- Кнопка "Шрифт -" уменьшает размер шрифта;
- Кнопка "Норма" возвращает шрифт к размеру "по умолчанию" - высота 11 пикселей без учёта масштабирования браузера;
- Кнопка "Шрифт +" увеличивает размер шрифта;
Вместе с размерами шрифта так же масштабируются и другие элементы страницы: картинки, кнопки, чекбоксы, таблицы итд
При нажатии на кнопки размеры элементов меняются в реальном времени, давая возможность увидеть будущий вид страницы
Из-за неполной поддержки спецификаций CSS и DOM-модели в некоторых устаревших браузерах и/или на мобильных устройствах могут возникать глюки отображение. Обновление страницы решит эту проблему
Настройки масштабирования запоминаются в куках браузера и в настройках пользователя. При загрузке страницы они берутся сначала из куков и только если куки не установлены - из настроек. Таким образом можно иметь разные настройки масштабирования на разных устройствах

[!] Админка
Обзор:
- Пункт меню "Обзор" в админке теперь использует тот же код, что и список пользователей - за исключением того, что "Обзор" показывает только игроков онлайн и показывает Альянсы
- Таким образом теперь в пункте меню "Обзор" можно использовать весь функционал страницы "Список пользователей": сортировку, просмотр информации о пользователе, имперсонейт итд
- Первыми в списке всегда выводятся игроки и только потом - Альянсы
Обслуживание:
- Добавлено удаление юнитов без планет
- Добавлено удаление пустых юнитов
- Добавлено удаление стандартных записей логов (обсчёт статистики, маинтенанс, апдейт) более чем недельной давности
- Добавлена чистка очередей на покинутых и удалённых планетах
Платежи:
- Добавлена ссылка на отправку письма игроку из списка платежа
Записи логов:
- Добавлена ссылка на удаление из логов записей об обновлении движка и статистики (неактуальную после успешно проведенных обновлений);
- Ссылка на чистку логов теперь так же удаляет записи об обслуживании БД;
В настройки сервера вынесены:
- Стартовый размер хранилищ на планете
- Стартовое количество ресурсов на планете
Добавлены разделители разрядов в сообщение о начислении игроку ТМ и ММ через админку

[+] Страница "Флоты в полёте"
Добавлена возможность массового отзыва флотов
[+] Список планет (Страницы "Планета" и "Империя")
Под полосу застройки и очередь на планете добавлена подложка с фоном
На каждой планете теперь даже при отсутствии очередей выводятся полупрозрачные иконки, при клике на которые можно сразу перейти к строительству зданий, кораблей и обороны
Иконка своза ресурсов на луну появляется только при выборе луны
[+] BBCode
"Макросы":
- "Макрос" - специальная последовательность символов, которая разворачивается в контекстно-зависимые данные. См. ниже
- Макрос "sn://":
- Макрос доступен тем, кому доступны обычные ссылки
- Макрос развертывается в полный URL к корню игры, т.е. если игра стоит по адресу "http://your_domain.tld/your_path/", то строка "sn://overview.php" будет развернута в "http://your_domain.tld/your_path/overview.php"
- Макрос "faq://" - разворачивается в УРЛ ЧаВо, если он прописан в 'url_faq' конфигурации
Макросы "sn://" и "faq://" так же можно использовать в составе тэга BBCode 'url', например: "[url=sn://index.php?page=options]Настройки игрока[/url]"
[+] Акции и ивенты
Теперь на странице информации "О сервере" выводится стандартное значение рейтов и значение рейтов в рамках акции
Теперь во время акций с увеличением скорости добычи ресурсов:
- Размеры хранилищ не увеличиваются - это вызывало много вопросов у новичков;
- Добыча И потребление энергии НЕ ИЗМЕНЯЮТСЯ - т.е. не надо строить дополнительные энергомощности или хранить избыток;
- Добыча в экспедиции не изменяется - как и было задумано;

[~] Исследования
Гравитехнология для исследования теперь требует минимум 6-го уровня Гипертехнологии
ЗС теперь не требует напрямую Гипертехнологии для постройки
СН теперь не требует напрямую Гипертехнологии для постройки
[~] Страница "Боевой отчёт"
Добавлен заголовок на страницу
Ссылки на планеты приведены к стандартному виду - [координаты] (тип) Имя
Улучшена вёрстка
[~] Страница "Закладки"
Теперь в пределах одной категории важности заметки дополнительно сортируются в порядке убывания по координатам и типу планеты
Продублирована группа элементов для удаления заметок в самом верху страницы
[~] Реклама
Реклама не показывается игрокам, которые играют меньше недели
Реклама не показывается игрокам, которые взяли Премиум-аккаунт
[~] Партнерская программа
Теперь когда аффилейт (игрок, приглашенный реферралом) покупает МетаМатерию, то реферрал (игрок, пригласивший аффилейта) получает 20% от купленной ММ в виде Тёмной Материи (в отличии от 10% при получении аффилейтом ТМ)
[~] Новапедия
Склады:
- "Хранилища" переименованы в "склады";
- Уточнено и расширено описание складов;
[~] Чат
Теперь при маленьком размере экрана строка ввода сообщений переносится на отдельную строку - что бы было больше места для текста
Теперь при маленьком размере экрана текст сообщения переносится на отдельную строчку, а при совсем крохотном - так же на отдельную строчку переносится ник
При переносе ника/сообщения на отдельную строчку для лучшей читаемости блоки разделяются линией и перед сообщением делается отступ

[-] Страница "Симулятор"
Убрана отладочная галочка "Симуляция" - симулятор всегда работает в режиме симуляции

[@] Код
Огромное количество изменений в коде, выносить которые сюда не имеет смысла

...а так же множество других изменений, исправлений и багфиксов. Полный чейнджлог
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
4.2. В любом другом случае - загрузите на сервер обновленную версию движка
5. ДОЖДИТЕСЬ, ПОКА НОВАЯ ВЕРСИЯ ДВИЖКА ОКАЖЕТСЯ НА СЕРВЕРЕ! Попытка обновления в процессе копирования файлов или загрузки их из репозитория GIT могут привести к непредсказуемым результатам
6. Переключитесь в браузер, в котором вы залогинены под Администратором и выберите пункт меню "Обзор". Дождитесь загрузки страницы - в этом время происходит обновление БД
7. И, наконец, после всех этих действий игру можно опять включить (Администратор -> Настройки, снять галочку "Отключить игру" и сохранить изменения), , нажать кнопку "Сохранить"

Project "SuperNova.WS" Release 41 "Festival batch fleet navbar"

Добавлено: 07 фев 2017, 08:14
Gorlum
ВНИМАНИЕ!!! ПЕРЕД ОБНОВЛЕНИЕМ СДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИЮ БАЗЫ ДАННЫХ И ФАЙЛОВ ДВИЖКА С ТЕМ, ЧТО БЫ МОЖНО БЫЛО ОТКАТИТЬСЯ В СЛУЧАЕ НЕУДАЧНОГО ОБНОВЛЕНИЯ!!!

ВНИМАНИЕ!!! ПЕРЕД ОБНОВЛЕНИЕМ ОБЯЗАТЕЛЬНО ЗАЛОГИНЬТЕСЬ В СИСТЕМУ ПОД АДМИНИСТРАТОРСКИМ АККАУНТОМ В СВЯЗИ С ИЗМЕНЕНИЕМ СИСТЕМЫ ОБНОВЛЕНИЯ!!!


Project "SuperNova.WS" Release 41 "Festival batch fleet navbar"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[#] core_festival 3a3.4 - Модуль "Фестивали"
Фестиваль - это тематическое объединение нескольких хайспотов, проходящих в одно и то же время
Хайспот - обощающее название для акций и ивентов. Реализованы следующие хайспоты в составе базового модуля:
- Изменение скоростей добычи, постройки, полёта флотов;
- Временное добавление сезонных смайликов в чат:
- Новогодний набор;
- Набор на Хэллоуин;
- Изменение стоимости покупки ММ (для реализации скидок/бонусов на ММ);
- Изменение уровней юнитов;
- Мораторий на агрессивные миссии флотов;
Хайспот "Головоломка" (Puzzle) - сбор предмета из компонент, которые находятся в Экспедициях:
- Добавлен Activity на просмотр паззла - актуально, когда паззл уже собран, но на итог надо посмотреть
Хайспот "Сбор ништяков" (Gather) - появляющиеся на экране ништяки, на которые должны кликать игроки:
- Виды:
- Новый Год - поиск Ёлочки и её наряжание;
- День Рождения СН - поиск исходных кодов СН и компиляция движка;
- При генерации ништяка выбирается картинка из списка доступных и запоминается. Далее она остается персистентной между рефрешами страницы и записывается в лог сбора ништяков;
- Для ненайденных ништяков показывается плейсхолдер без названия и описания
- При наведении курсора ништяки подсвечиваются;
- Поддержка минимального количества ништяков - для того, что бы в конце ивента каждый ништяк не был высокоуровневым;
- Добавлены комбинации ништяков - составные ништяки, которые для своего появления требуют найти несколько других типов ништяков;
- Аттрибут P_REQUIRE для ограничения юнитов/составных юнитов
- Вывод требований на странице со списком ништяков - название, картинка, сколько нужно, сколько открыто
- Название и картинка требований неоткрытых юнитов не выводится
- Поддержка min_time и max_time для ништяков - минимальная/максимальная дата/время, когда ништяк может появлятся на экране;
- Теперь в min_time и max_time можно использовать шаблоны функции date() - осторожно при межгодовых акциях!
- Хайспот автоматически определяет наличие больших картинок - директива HIGHSPOT_GATHER_ONLY_ICONS неактуальна
Все стили вынесены в отдельный CSS-файл в модуле
Дополнительная строка в навбаре специально для кнопок ивентов;
Добавлено действие Christmas Tree Burn

[#] interface_batch_operations 1a1 - Модуль "Массовые операции"
Добавляет новый пункт меню "Массовые операции"
Массовый развоз ресурсов/передислокация кораблей с одной планеты на несколько
Массовый своз ресурсов/передислокация кораблей с одной планеты на одну
Массовая постройка кораблей на нескольких планетах одновременно
Доступ к "Массовым операциям" покупается за ТМ:
- Базовая стоимость - 50.000 ТМ за 30 дней;
- Возможность покупки фишки на 7, 14, 60 и 90 дней (два последних - со скидкой);
- Возможность досрочного продления фишки;
Полная локализация модуля
Транзакции теперь делаются per-planet, а не глобальные по всем планетам. Это должно существенно улучшить отзывчивость для остальных игроков

[#] info_best_battles 1d2 - Модуль "Лучшие бои"
Добавляет в меню новый пункт "Лучшие бои", который открывает соответствующую страницу
Для каждого боя выводится:
- Порядковый номер в таблице;
- Дата и время боя;
- Общее количество обломков в пересчете на металл;
- Ссылка на просмотр соответствующего боевого отчёта;
На странице выводится 50 лучших боёв
Бои сравниваются по общему количеству обломков в пересчете на металл
В таблицу попадают только бои, которые произошли не ранее 2-х суток от текущей даты, т.е.:
- 2015-11-28 в 00:11:30 будут доступны бои, произошедшие до 2015-11-26 00:00:00 (не включая полуночь);
- Бои, происшедшие 2015-11-26 появятся в списке лучших боёв 2015-11-29 ровно в 00:00:00 (если, конечно, образовалось больше обломков, чем у худшего из лучших боёв);
- Это сделано специально, что бы дать всем заинтересованным сторонам собрать лом с орбиты;
Лучшие бои не удаляются из базы данных во время процедуры технического обслуживания
Добавлено уведомление о сроке появления боя в списке для тех, кому лень пролистать до конца страницы
Добавлена английская локализация


[!] Флоты/Подбор флота
Переверстана страница подбора кораблей во флот:
- Уменьшена ширина списка кораблей для удобства мобильных пользователей;
- Миниатюра корабля:
- Вместо названия корабля и скорости полёта поставлена миниатюра корабля;
- Клик или тап на миниатюре переадресует на страницу о подробной информации корабля;
- Миниатюра корабля приведена к общему стандарту - название корабля в верхней строке и количество кораблей на орбите в нижней строке (вместо отдельной колонки);
- Так же на миниатюре корабля выводится: скорость полёта, расход топлива и ёмкость трюмов;
- Если корабль не может покинуть орбиту планеты/луны (Солнечный Спутнки, ТОП итд), то вместо характеристик выводится надпись "Спутник";
- В верхней части списка кораблей продублированы все кнопки. Теперь не обязательно листать до низа страницы, что бы быстро поднять все корабли или свезти ресурсы;
- Настройки сортировки перенесены в самое начало страницы - по аналогии с другими страницами;
Теперь при отсутствии свободных слотов для нового флота:
- Скрываются кнопки массового выбора кораблей, перехода на следующую страницу и своза ресурсов (поскольку слотов под своз всё равно нету);
- Скрывается мультиэлемент выбора кораблей;
- Миниатюры кораблей выводятся в большем размере - что бы легче читались характеристики.
Названия характерстик на миниатюрах кораблей заменены иконками
Название корабля теперь выделяется голубым цветом
Добавлены настройки (пункт меню "Настройки", вкладка "Интерфейс", подвкладка "Флоты"), на которых можно:
- Включить "старый режим" - без картинок и с выводом количества кораблей в отдельном столбце;
- Отключить показ каждой характеристики корабля отдельно: т.е. скорости, ёмкости трюмов, потреблении;
Выделены цветом названия кораблей (желтый) и количество на орбите (зеленый
[!] Админка/Настройки
Полностью переверстана таблица настроек сервера - со вкладками и на div-ах!
[!] Дизайн
Общий responsive бэкграуд Блица для всех скинов
Responsive бэкграунд при входе в игру в обоих режимах (СН/Блиц)
Опять сделан прозрачным основной фон навбара
Скин supernova-ivash: добавлены стили для TD/TH
Реформат:
- Страница партнерской программы;
- Страница управления Альянсом;
[!] Навбар
Ресурсный навбар:
- Теперь ресурсный навбар может быть сделан вертикальным
- "Настройки", раздел "Интерфейс", вкладка "Панель навигации", опция "Вертикальная панель ресурсов"
- При этом ресурсный навбар "прижимается" сбоку от основного навбара - полезно игрокам с широкими мониторами
Добавлены поясняющие надписи к кнопкам
Немного переделан навбар - больше флексбоксов богу флексбоксов!
Поддержка добавочных кнопок вверху навбара


[+] Заметки/Закладки
Изменения на основной странице Закладок:
- Заголовок и текст закладки выделяется цветом важности. Отдельный словесный маркер важности убран за ненадобностью;
- Название объекта в космосе, на который указывает закладка, отображается сокращённо - (П) для Планеты, (Л) для Луны и (О) для Поля обломков
- Статус "прилепленной" закладки показывается иконкой, а не надписью "Прилеплена";
- Дата в списке закладок перенесена в заголовок;
- Увеличена максимальная ширина таблицы с закладками - для обладателей широкоформатных мониторов;
- На маленьких экранах если заголовок не влазит по ширине - он будет разнесен на нужное количество строк;
- Диапазоны выбора какие закладки удалять в верхней и нижней части синхронизированы. Т.е. выбор диапазона в верхнем элементе приводит к изменению диапазона в нижнем элементе - и наоборот
Редактирование/создание закладки:
- При выборе важности закладки меняется цвет заголовка, текста и самого выбранного элемента;
- Если в закладке пустой текст и заголовок, но указана хотя бы одна координата (галактика, система или планета) - закладка будет сохранена;
Исправлена ошибка, делающая удаление Закладок невозможным при выборе некоторых диапазонов

[-] Апгрейд
Апгрейд с очень старый версий двиэка (СН версии 36 и ниже) больше не поддерживается

[~] Друзья
Теперь можно отправлять пустой запрос на дружбу (хотя кому и зачем это может понадобиться - непонятно)
[~] МПР
Теперь можно атаковать ракетами свои же планеты. Таким образом можно избавится от излишних ракет или перехватчиков в шахтах, а так же уничтожать свои защитные сооружения
[~] Флоты
Время возвращения флота из САБа теперь равно времени полёта на САБ, а не чистому времени полёта флота

[@] Код
Папка с классами перемещена в корень движка - автолоадер изменен соответствующим образом
Переименованы файлы с классами для полной поддержки PSR-4 автолоадера
Изолирован код, обращающийся к таблице `fleets`
Теперь модули могут добавлять свои CSS-файлы и конструкции в заголовок
Унифицирован вызов MVC-хуков. Теперь их потенциально можно роутить в базовом варианте
Вьюшки с IN_ADMIN в модулях теперь корректно выдают страницу с обрамлением админки
[@] Код/JS
Обновлена библиотеека Ion Sound до версии 3.0.7
В основном коде заменены deprecated функции jQuery:
- bind(), live() и delegate() на on();
- unbind() - на off();
- В этот раз - честно-честно!
В класс Math добавлены функции-аналоги PHP-шных intval() и floatval() и функции округлений
- Эти функции всегда возвращают только числовые значения, а NaN преобразуют в 0
- В некоторых местах parseFloat() и parseInt() заменены на новые функции;
sn_format_number():
- Функция оптимизирована и разбита на две части
- Первая - считает вид числа;
- Вторая - выдаёт соответствующий cssClass для расцветки;
- При сохранении обратной совместимости (deprecated по факту) теперь можно менять сразу класс элемента, без вставки <span /> в DOMик;
- Добавлена соотвествующая функция-враппер elementPrettyNumber().
Постройка:
- Все значения от PHP теперь пропускаются через новые функции;
- Оптимизирована работа разных кусков JS и улучшен код;
- Убрано обращение к document;
...а так же всякие мелкие оптимизации.

...а так же множество других изменений, исправлений и багфиксов. Полный чейнджлог
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
4.2. В любом другом случае - загрузите на сервер обновленную версию движка
5. ДОЖДИТЕСЬ, ПОКА НОВАЯ ВЕРСИЯ ДВИЖКА ОКАЖЕТСЯ НА СЕРВЕРЕ! Попытка обновления в процессе копирования файлов или загрузки их из репозитория GIT могут привести к непредсказуемым результатам
6. Переключитесь в браузер, в котором вы залогинены под Администратором и выберите пункт меню "Обзор". Дождитесь загрузки страницы - в этом время происходит обновление БД
7. И, наконец, после всех этих действий игру можно опять включить (Администратор -> Настройки, снять галочку "Отключить игру" и сохранить изменения), , нажать кнопку "Сохранить"

Project "SuperNova.WS" Release 43 "Double Release" Beta

Добавлено: 12 ноя 2018, 11:26
Gorlum
ВНИМАНИЕ!!! ПЕРЕД ОБНОВЛЕНИЕМ СДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИЮ БАЗЫ ДАННЫХ И ФАЙЛОВ ДВИЖКА С ТЕМ, ЧТО БЫ МОЖНО БЫЛО ОТКАТИТЬСЯ В СЛУЧАЕ НЕУДАЧНОГО ОБНОВЛЕНИЯ!!!

ВНИМАНИЕ!!! ПЕРЕД ОБНОВЛЕНИЕМ ОБЯЗАТЕЛЬНО ЗАЛОГИНЬТЕСЬ В СИСТЕМУ ПОД АДМИНИСТРАТОРСКИМ АККАУНТОМ В СВЯЗИ С ИЗМЕНЕНИЕМ СИСТЕМЫ ОБНОВЛЕНИЯ!!!


Project "SuperNova.WS" Release 43 "Double Release"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[!] PHP
Для работы СН требуется PHP не ниже 5.5

[#] player_login_token 0a8 - Струя удачи
(!) Новый модуль
(!) Награда за логин
Когда игрок логинится в игру первый раз за сутки по серверному времени - он получает в награду 1 логин-токен (далее - просто "токен"):
- При получении токена игроку на экран выдаётся извещение в виде попапа
- Попап появляется каждый раз до тех пор, пока игрок не закроет его нажатием кнопки "Ок"
- Теперь при входе в игру несколько дней подряд количество токенов, получаемых игроком в день, медленно увеличивается - это и называется "струя удачи"
- Если игрок не входит в игру хотя бы один - "струя" иссякает и количество токенов в день опять падает до 1
- Максимальное количество токенов, которые можно получить в день - 6
Токены можно использовать для участия в Токен-лотерее (далее - просто "лотерея"):
- Участие в 1 раунде лотереи стоит 1 токен
- Игрок может участвовать в лотерее неограниченное количество раз в день, пока у него хватает токенов
- В лотерее игрок может выиграть приз или не выиграть ничего
- В настоящее время список призов включает: ресурсы, ТМ, корабли, Артефакты
- Шанс на выигрыш и количество юнитов в призе пропорциональны стоимости юнита
- Общая стоимость выигрыша масштабируется от скорости добычи ресурсов на сервере и стоимости ТМ в металле
Тонкая настройка таблицы выигрышей производится в исходном коде модуля (см.)
Добавлена дополнительная фильтрация по процентной вероятности
Добавлено масштабирование приза в зависимости от уровня игрока
Добавлены разделители тысяч в количестве выигранных юнитов
Добавлена иконка к пункту меню
Сильно переработан попап с оповещением о получении токена. Теперь в нём выводится практически вся доступная информация по токену
Расширена и переработана подсказка игрока на странице
Добавлена отладка для просмотра распределения вероятностей

[#] admin_balance 0a6 - Модуль "Админ - Баланс"
(!) Новый модуль
(!) Экран "Юниты" с поддержкой кораблей
Добавлена страница баланса UBE

[#] core_festival 8b11
(!) Хайспот/Объекты в космосе
Новый хайспот
Теперь Премиум-аккаунт распространяется и на ядерные техи ОвК
Нанофабрики и Нанолаборатории для юнитов ОвК теперь действуют как Фабрики и Лаборатории соответственно для обычных юнитов
Добавлено описание ивента
В Новапедию добален раздел "ивенты"
Ядерная технология теперь считается фундаментальной и получает бонус от Марса
Добавлен вотчдог на попытку получить блокировку флотов
Админка
- Добавлены Звания к именам ботов и игроков
- Теперь заголовки и данные таблиц ЧЛ и ОвК различаются
(!) Хайспот/8 Марта
Добавлена возможность Кавалеру открыть свой ник
Добавлена возможность добавить текстовое поздравление к подарку
В списках подарков у Дам и Кавалеров каждый подарок теперь выводится отдельно
В списке полученных подарков у Дам:
- Выводится поздравление, если оно есть;
- Выводится игровой ник подарившего, если он решил его открыть;
В списке отправленных подарков у Кавалеров:
- Выводится значок (А) после имени Дамы, если подарок был сделан анонимно, т.е. без раскрытия ника;
- Выводится поздравление, если оно есть;
Теперь когда Кавалер дарит подарок, Даме отправляется личное сообщение с уведомлением. Сообщение содержит:
- Подаренную и начисленную (с учётом подарка от АД-ии) суммы ММ;
- Имя Кавалера, если он решил его раскрыть;
- Текст поздравления, если он есть
Изменена иконка в навбаре
Полностью переработан код админки и награждения
Теперь так же в админке начисляется ММ и выдаются Памятные Знаки Кавалеров
(!) Хайспот/Gathering
Рефакторинг:
- Теперь ништяк выставляется после полной прогрузки страницы
Админка:
- Добавлена базовая админка со статистикой ивента
- В админку добавлен список игроков и количества/стоимости найденных ими ништяков
- Добавлена возможность банить игроков в хайспоте
- Изменена сортировка получателей ништяков в админке. Теперь они сначала сортируются по полученной ТМ, а затем - по количеству кликов
Интерфейс:
- Кнопки хайспота теперь добавляются в основную часть навбара, а не в префиксную
- Теперь количество ТМ и ММ+ТМ в навбаре обновляется сразу после успешной подборки ништяка
Хеллоуин:
- Добавлены некоторые изображения в большем разрешении
- Изменены картинки подтверждения/провала при клике на ништяки
- Перебалансировано количество ништяков для Хэллоуина
(+) Хайспот/Чёрная Луна
Админка
- Подключен рандомайзер к экрану администрирования
- Реализован закат лун в автоматизированном режиме
Изменён алгоритм генерации брэкетов:
- Теперь верхняя граница первого брэкета определяется исходя из количества поинтов у топ-игрока
- Таким образом, топ-игрок теперь принципиально имеет шанс поучаствовать в ивенте, если не сильно оторвался от других игроков
- Все новички добавляются в самый последний из рассчитанных брэкетов
- Игроки с нулевым количеством поинтов участие в расчёте не принимают - вероятнее всего это заброшенные аккаунты
(+) Общий
Поддержка скидок на Премиум-аккаунты и Массовые Операции
Добавлена возможность Хайспотам добавлять переменные в общий пул
(+) Приз за ММ
Админка: добавлено начисление медалей участникам ивента и призёрам
(+) Админка
Улучшена общая админка для всех хайспотов
(~) Смайлики: В пути к смайликам можно использовать плейсхолдер {festival} - он будет оттранслирован в относительный путь, который требуется подсистемой смайликов

[#] chat_advanced 6a4
Добавлена трансляция в сообщении полного URL с ссылкой на новость в BBCode
Добавлена трансляция в сообщении сокращённого URL news://XXX в BBCode
Теперь при обновлении чата так же обновляется количество игроков онлайн и общее количество игроков
Доработан вид сообщений в чате:
- Выровнены время сообщения, ник (и иконки) и само сообщение
- Уменьшен размер передаваемых данных для приходящих сообщений
- Улучшен генерируемый HTML-код
- Оптимизированы CSS-стили
Улучшено отображение чата для экранов разных размеров
Добавлено автоматическое скрытие правой панели (списка онлайн игроков) на мелких экранах с возможностью показать список онлайн

[#] player_award 0d7
(+) Приз за ММ
Добавлены медали для СНГ-2018
(+) 8 марта
Универсальные медали и памятные знаки для ивента 8 марта
Разделены награды за количество ММ и за персон для Кавалеров и Дам
Добавлены все нужные изображения медалей

(~) Картинки
Переделаны миниатюры для медалей на 7-8 лет СН - улучшена чёткость
Пережаты картинки для уменьшения размера

[#] menu_customize 0d8
(+) Сортировка пунктов
Теперь если в меню появляется новый пункт, которого нет в сортировке, он добавляется не в самый низ сортировки, а сразу вслед за пунктом, за которым он располагается в оригинальном меню

[#] interface_batch_operations 1a4
(~) Результаты
Добавлены разделители тысяч в отчёт о работе МО


[!] Воинские звания
В игру добавлены уровни игроков и военные звания для каждого уровня
Уровни присваиваются в зависимости от общего количества очков игрока
Если в настройках сервера отключён показ статистики для команды сервера, то все члены команды имеют 20й уровень и соответствующее звание вне зависимости от реального количества очков
Звания показываются перед ником игрока везде, где это имеет смысл
Так же картинка звания показывается на странице профиля игрока (ака "Император")
Всего в игре 21 звание - от Курсанта (уровень 0) до Генералиссимуса (уровень 20)
Посмотреть полный список званий и соответствующих им уровней можно кликнув на картинку звания на странице Император
Добавлен дополнительный уменьшенный комплект иконок специально для ников - для большей отзывчивости интерфейса
На иконки воинских званий в никах добавлены всплывающие подсказки с названиями званийи и уровнем
[!] Столица
Теперь на Столице скорость строительства зданий, флота и обороны повышена в два раза
Теперь на Столице скорость добычи ресурсов повышена в два раза
Добавлена индикация Столицы в имени планеты иконкой ♕ &#9813;
- В списке планет в навбаре
- На странице "Обзор планеты"
- На странице "Империя"
- На странице "Вселенная"
[!] ЛС
Добавлено листание сообщений по страницам. Каждая страница вмещает по 10 сообщений
На странице просмотра сообщений в дроп-дауне выделены цветом удаление всех сообщений категории и всех личных сообщений
Убрано удаление неотмеченных сообщений. Теперь просто отметить мультигалочкой (галочкой в заголовке) все сообщения на странице и удалить их
При просмотре сообщений оставлена лишь кнопка "Удалить отмеченные сообщения" ввиду бессмысленности остальных опций
Если нет отмеченных сообщений кнопка "Удалить..." неактивна
При просмотре сообщений добавлена кнопка "Показать все" - для показа всех сообщений в категории
Админитраторам включены BBCode и поддержка ссылок в отправляемых ими сообщениях
Добавлены разделители тысяч в количестве юнитов в шпионском отчёте
[!] Админка
- Альянсы:
- Добавлена страница для просмотра списка Альянсов
- Добавлена страница для просмотра отдельного Альянса:
- Дамп записи Альянса;
- В админке теперь отображается форматирование текстов Альянса
- Список игроков с рангами, онлайном, отпуском, баном;
- Передача Альянса другому игроку;
- Цветовое кодирование Главы:
- Зеленый - активен на протяжении 30 дней;
- Красный - неактивен.
- Добыча игроков:
Страница просмотра общей добычи игроков
Добавлена колонка с суммарной производительностью в металле
На экран добавлены сортировки
- Модули
Новый экран со списком модулей, доступных в игре и их статусе
Есть сортировка по имени модуля и по его активности
Сортировка модулей по активности сделана дефолтной
- Перепаковка счётчиков посещений (СП)
См. страницу "Утилиты". Работает на машинах с 2Gb+ под PHP
Теперь не пакуются хиты свежее трёх недель
Теперь так же считаются общие хиты за визит
Теперь записи удаляются и обновляются пакетом
Теперь корректно обрабатываются визиты, находящиеся на стыке пакетов
Теперь выводится результат перепаковки
Теперь считается количество обработанных записей
Теперь неизменённые записи не записываются в БД
Добавлен счётчик обработанных и пропущенных записей
Добавлено новое условие прерывания обработки - если разница между ID обработанных записей меньше размера пакета
Добавлено дополнительное время на операцию удаления записей
- Платежи
Добавлена статистика на страницу платежей
В платежи добавлена листалка
- Список игроков
Добавлен емейл игрока в список игроков (для auth_level 3)
Добавлен статус отпуска игрока в список игроков (для auth_level 3) и сортировка по этому полю
К никам игроков добавлены иконки званий, отпуска, ДР и наград
Уменьшен размер страницы
- Просмотр игрока
Добавлена информация об аккаунте игрока
Добавлена возможность сменить пароль на аккаунте
Рефакторинг страницы просмотра игрока
- Настройки
Добавлена возможность настраивать опции смены имени игроком
- Обслуживание
Очистка СП от записей несуществующих пользователей
- Меню
Название уровня члена АД-ии (Модератор, Оператор итд) теперь является ссылкой на возврат в игру
Если в админском меню не стоит AUTH_LEVEL - прописывается высший (AUTH_LEVEL_ADMINISTRATOR = 3)
Обслуживание теперь не удаляет админские сообщения
[!] Настройки
Рефакторинг кода и переработка дизайна страницы настроек
Теперь если смена имени игрока (ника) запрещена настройками сервера - то так и пишется в Настройках Игрока
[!] Скины
Новые изображения Наёмников и Губренаторов в скине EpicBlue
Новые изображения Наёмников и Губренаторов в скине supernova-ivash
Добавлены большие изображения для Губернаторов
Добавлены полноформатные изображения Наёмников
[!] Модули
Переписана и отрефакторена подсистема управления модулями
Добавлены новые методы в базовый класс модулей sn_module
Класс sn_module:
- Убрана зависимость от полей манифеста модуля:
- 'load_order' => getLoadOrder(), self::M_LOAD_ORDER
Класс Modules\Manager:
- В этот класс вынесен функционал управления модулями из класса sn_module
- Включает в себя так же функционал убраных глобальных переменных $sn_module и $sn_module_list
Убрана поддержка модулей из одного файла и модулей без структуры sn_modules
sn_sys_load_php_files() - убран блок для $modules = true;
Добавлена поддержка MVC-опций в модулях (подмассив 'mvc' манифеста)

[+] Флоты
Теперь статус "Новый игрок" рассчитывается с учётом скорости добычи ресурсов
Интерфейс: теперь при нехватке места в трюме под топливо на странице выбора миссии выводится соответствующее сообщение
Миссии:
- Шпионаж
Миссия переписана с нуля
Теперь в таблице `messages` сохраняются данные, а не HTML-код:
- Значительно уменьшен объем данных, сохраняемых в БД;
- Увеличено количество информации в БД;
- Рендеринг сообщения осуществляется непосредственно при просмотре, а не при сканировании;
- Уменьшено время на обсчёт миссии (см.пред.пункт);
Исправлена ошибка, при которой флоты с шансом обнаружения выше 100% не уничтожались
Теперь на электронную почту не отправляются полные шпионские отчёты, а лишь уведомление о сообщении типа "шпионаж" (без различия входящих и исходящих)
Добавлена поддержка анти-шпионажа
- Экспедиции: теперь в Экспедиции не могут быть найдены ивентовые или уникальные мировые корабли
[+] Вселенная/Луны
Теперь при создании лун учитывается текущая скорость добычи ресурсов:
- Например, для сервера со скоростью добычи x10 стоимость создания луны так же удесятеряется
- Исправлена древняя ошибка, из-за которой луна после боя могла получится больше, чем на неё потрачено ресурсов
Унифицированы алгоритмы создания лун после боя, через Артефакты, через Админку итд
[+] Империя
В тайтл страницы (заголовок окна браузера) добавлено название страницы "Обзор Империи"
Добавлены разделители тысяч ко всем количествам юнитов: имеющихся на планете, стоящих в очереди, летящих с флотами
К количеству ресурсов на планете и производству добавлена индикация ресурсов на летящих на планету флотах
Добавлен новый уровень цветового кодирования процентов производства. Теперь схема выглядит так:
- Голубой - 100% производства
- Зеленый - 90-80%%;
- Жёлтый - 70-50%%;
- Оранжевый - 40-10%%;
- Красный - 0%;
Теперь фон дроп-дауна так же подсвечивается в зависимости от процента производства по вышеописанной схеме
Добавлено цветовое кодирование для процентов в дропдауне - см. выше. Цвет букв более яркий для лучшего чтения на фоне текущего производства
[+] Новости
Добавлена листалка на страницу Новостей. Теперь можно посмотреть Новости за всю историю игры!
Добавлена возможность ссылаться на отдельную новость:
- Ссылка на новость "прячется" под датой новости;
- При открытии - открывается только одна указанная Новость;
- Под заголовком страницы добавляется ссылка "Все новости" для возврата к полному списку новостей;
Добавлен заголовок страницы "Новости"
Форма добавления новости спрятана под кнопку "Добавить новость" - что бы не мозолила АД-ии глаза
Цвет ссылки "Подробнее..." изменен на ярко-голубой для лучшей читаемости
[+] Симулятор
Добавлен чекбокс "Симуляция", отключающий фактор случайности и гарантирующий повторяемость результатов Симулятора
Теперь при создании Луны указывается количество обломков, которое образовалось бы без создания Луны
[+] Вселенная
Перевёрстана панель выбора Галактики/Системы:
- Теперь она будет масштабироваться в зависимости от размера экрана
- Ну и на вид стала поприятнее
Теперь имена Игроков/Альянсов в случае длинных названий не "ломаются" по статусам, а остаются на одной строке
[+] Награды/Бессмертный
Теперь не меняется дата/время установки статуса после повторных начислений ММ
Теперь так же при установке статуса начисляется памятный знак
Памятный знак будет начислен всем Бессмертным при апдейте
Лимит для получения статуса "Бессмертный" увеличен до 200.000 ММ
Количество ММ для награды Бессмертного теперь берется из конфигурации
[+] BBCode
Добавлена поддержка BBCode [news=XXX] для вставки прямой ссылки на Новость
Добавлена поддержка сокращённого URL news://XXX для вставки прямой ссылки на Новость
[+] Чат
Добавлена трансляция в сообщении полного URL с ссылкой на новость в BBCode
Добавлена трансляция в сообщении сокращённого URL news://XXX в BBCode
Оптимизированы CSS-стили
Вынесен JS-код из темплейта
Доработан вид сообщений в чате:
- Выровнены время сообщения, ник (и иконки) и само сообщение
- Уменьшен размер передаваемых данных для приходящих сообщений
- Улучшен генерируемый HTML-код
[+] Апдейтер
Добавлен механизм патчей: проверка существования патча и его регистрация
Отформатирован код
Удалены апдейты по релиз 39 включительно
Проверка верcии движка
- /ajax_version_check.php преобразован в класс \Tools\VersionCheckerDeprecated
- В init.php переделан вызов версион-чекера
[+] Респонзивный дизайн
Улучшено отображение чата для экранов разных размеров
Добавлено автоматическое скрытие правой панели (списка онлайн игроков) на мелких экранах с возможностью показать список онлайн

[~] Интерфейс
Наёмники+Планы
- Добавлен список требований при покупке перманентных Наёмников
- Отключены элементы покупки при неудовлетворённых требованиях по юнитам (в случае перманентных Наёмников)
- Убрано дублирование сообщения об ошибках
Окно сообщений: теперь при отключении сервера не показывается навбар - не производится лишних расчётов/обращений к БД
Квесты: добавлены разделители тысяч к целям и наградам квестов
Навбар: добавлена поддержка изменения ТМ/ММ во время работы страницы
Список планет: в списке планет на иконках построек/верфи/обороны добавлено количество активных слотов в очереди
Статистика
- Изменен порядок вывода иконок для имени игрока
- Убрана отдельная колонка для ссылки на страницу игрока. Теперь клик на нике является такой ссылкой
- Добавлено выделение названия Альянса как ссылки
- Изменен порядок вывода иконок для имени игрока
Вид ников во всей игре унифицирован с новым видом на странице "Статистика"
Постройки
- Теперь пункты в списке требований к постройке являются ссылками на статью Новапедии о соответствующем юните/сущности игры
- Теперь при сносе здания учитываются наличие Губернатора и статус Столицы - снос при Губернаторе и/или на Столице происходит быстрее
- Теперь время строительства и сноса округляется вверх, а не математически. Это значит, что в среднем в половине случаев время постройки/сноса увеличится на 1 секунду
Исследования
- Изменено название страницы на 'Исследование технологий', что бы не было путаницы между пунктами меню "Исследования" и "Технологии"
- Добавлена ссылка на закладку списка Технологий в Новапедии
Луны: добавлена индикация Луны в имени планеты иконкой ☽ U+263D &#9789;
- В списке планет в навбаре
- На странице "Обзор планеты"
- На странице "Империя"
Меню: рамка меню изменена на тонкую
Вёрстка
- Сделан более универсальный патч, который снимет потенциальные проблемы с исчезающим скроллом в Сркщьу 65 на любых экранах
- Соответственно - исправлена ошибка с пропаданием скролла в режиме Сканирования Вселенной на маленьких экранах в Сркщьу
[~] Артефакты
Артефакты класса "Крюк" теперь не меняют количество обломков на орбите - т.е. Луна появляется без траты обломков
[~] О сервере
В футере и на странице информации о сервере к версии движка теперь добавляется номер патча БД
[~] Бенчмарк
Добавлена дата и время начала операции, для которой проводится бенчмарк
[~] Изображения
Пережаты изображения без потерь качества
[~] Звуки
Немного пережаты звуки
[~] Статистика/Обновление
Теперь при сбое всех стандартных способов уведомления о занятости сервера выдаётся стандартная простая заглушка

[-] Поиск
В поиске отключён поиск ботов
[-] Обучение
Обучение по умолчанию отключено

...и множество других мелких правок. Посмотреть изменения в коде и мелкие правки можно в файле docs/changelog_dev.txt



Project "SuperNova.WS" Release 42 "8th anniversary"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[#] core_festival 5a5.1 - Модуль "Фестивали"
(!) Хайспот/Ивент "Чёрная Луна"
Во вселенной появляются специальные Чёрные Луны, с которых при нахождении флота в Удержании капает ТМ игрокам
Админка:
- Команда на вычисление лун
- Вывод вычисленных лун
- Подключено и оттестировано создание лун
- Добавлена индикация активных лун
- Список флотов на каждой луне - включая владельца, доход, размер флота
- Список доходов каждого игрока, держащего флот в удержании
- Добавлена индикация поля обломков вокруг каждой из лун
- Добавлена сортировка пользователей по количеству ТМ в тик по убыванию
- Изменено цветовое кодирование процента получения ТМ:
- Красный - больше 100%;
- Синий - ровно 100%;
- Зеленый - >= 50%;
- Жёлтый - >= 10%;
- Оранжевый - >= 10%.
- Изменено цветовое кодирование имени игрока в таблице ЧЛ:
- Красный - игрок стоит ниже своего брэкета! Такого быть не должно - ошибка!
- Без цвета/Белый - игрок стоит в своём брэкете;
- Зеленый - на один брэкет выше;
- Желтый - на два брэкета выше;
- Оранжевый - на три или более брэкета выше.
Теперь тики по необходимости обновляют онлайн игроков-ботов - что бы те не превратились в и-шки

(!) Highspot "8 Марта":
При включённом Ивенте в навбаре в конце основного блока кнопок появляется новая кнопка, ведущая на страницу Ивента
На странице Ивента игрок с указанным в профиле мужским полом может подарить метаматерию игроку-женщине
Подарок будет снят со счёта игрока-мужчины и зачислен на счёт игрока-женщине
При зачислении игроку-женщине будет начислено на 25% больше ММ
Минимальное количество снимаемой метаматерии - 20.000 ММ
Игрок-мужчина может увидеть кому он делал подарки, сколько было списано со счёта и сколько было начислено
Добавлена информация об общей сумме сделанных подарков на мужской странице
Добавлена информация на женской странице о сумме и количестве полученной ММ
На мужской странице добавлена индикация позиции в конкурсе Кавалеров
На женской странице добавлена индикация позиции в конкурсе "Королева Весны"
Добавлена админская страница для автоматизированного награждения победителей конкурса

(!) Хайспот/Приз за ММ
Из хайспота SuperBorn выделен код, отвечающий за индикацию Памятного Знака за полученную ММ
На странице "Император" добавлен раздел "Приз за ММ":
- Индикация количества полученной ММ и названию соответствующей Медали;
- Индикация места в общей таблице призёров;
- Переверстан вывод данных в виде таблице;
- Добавлен HTML-якорь "mm_race";
- При нулевом количестве ММ у игрока в рамках Конкурса - на странице Императора показывается заглушка
Добавлена админка для просмотра общей таблицы призёров

(~) Админка:
Фестивали сортируются от новых к старым
Исправлена ошибка замены пункта меню "Тёмная Материя" на пункт меню "Фестивали" - теперь новый пункт добавляется сверху
(~) Прочее:
Хайспот/Паззл: Иконки хайспота в навбаре перенесены из отдельного блока в общий блок
День Космонавтики: Добавлены смайлы к Дню Космонавтики
Фестивали: Фестиваль считается активным только если имеет хоть один активный хайспот


[#] admin_stat 0a0.2 - Модуль "Массовые операции"
Из админки перенеыены отдельно стоящие отчёты "Онлайн игроков", "Регистрации игроков" и "Игроки-боты"
Добавлены файлы локализации

[#] player_award 0c9 - Модуль "Награды игроков"
(+) ДР СН
Добавлены памятный знаки для ивента "День Рождения СН" 2016 и 2017 годов
(+) Кавалер-2017
Памятный знак за подарок Даме в ходе ивента "8 марта 2017 года"
Медаль "Лучший Кавалер-2017"
Добавлена медаль "Королева Весны-2017"
(~) Картинки
Еще немного уменьшены размеры картинок
(@) Код
Добавлены методы для взаимодействия с другими модулями
Почищен код

[!] Обучение
Добавлен блок "Обучение" в навбар:
- Заголовок с кнопкой "Закрыть" (действует только на текущей странице)
- Основной текстовой блок с картинкой Советника
- Блок с кнопками
- Футер
В "Настройки" добавлены опции:
- Новые опции располагаются на вкладке "Интерфейс", подвкладка "Обучение"
- Опция отключения Обучения
- Опция показа Обучения во всплывающем окне (popup)
Работающие кнопки "Вперед", "Назад", "Закончить"
Подгрузка новых текстов через AJAX
Теперь обучение можно открыть в окне
- По умолчанию окно открывается в правом нижнем углу страницы
- Окно прилеплено и не меняет местоположение при скролле
- Окно можно перемещать по странице, таская его за заголовок
- Статус обучения (на странице в навбаре или в окне), а так же положение окна на экране сохраняется в куках отдельно на каждом устройстве
Теперь можно задать ID первого текста из таблицы `text` в обучаловке - опция 'tutorial_first_item' в таблице `config`
Теперь при сбросе обучения так же сбрасывается статус "обучение завершено"
Текст и заголовок Обучения теперь могут использовать bbCode
В настояшее время "Обучение" включает только инструкцию по пользованию "Обучением"
[!] Навбар
Новый ресурсбар (количество ресурсов на планете/в Альянсе) - теперь встроенный в навбар
Выводится количество ресурсов на планете, а для электроэнергии - баланс (т.е. производство минус потребление)
При наведении курсора мыши на ячейку с ресурсом (металл, кристалл, дейтерий) появляется попап, в котором указывается:
- Полное название ресурса;
- Количество ресурсов на складе;
- Размер склада;
- Заполнение склада в процентах
При открытом попапе клик на ячейку закроет попап
Так же попап открывается при клике/тапе на ячейке - для мобильных устройств
Планетбар переверстан с использованием flex и поддерживает адаптивный дизайн
Верстка: металл+кристалл и дейтерий+энергия/тм объединены в блоки - так красивее работает адаптивный дизайн
CSS и JS из темплейта вынесены в соответствующие файлы
В новый планетбар добавлена поддержка вертикального расположения в навбаре
Добавлены разделители тысяч в попапе нового планетбара
Включен стандартный попап для энергии в новом планетбаре
Вместо букв-маркеров ресурсов (М, К, Д итд) используются иконки
Новый планетбар используется по умолчанию
В "Настройки" добавлена опция включения старого планетбара
В настройках добавлена опция показа ёмкости складов в ресурсбаре. Опция действует как в новом, так и в старом ресурсбарах
Полностью переверстан новый ресурсбар
Улучшена поддержка IE в старом/новом ресурсбарах
В старом ресурсбаре теперь так же работают всплывающие окна с подсказками
Теперь в ресурсбаре Альянсов не показывается ненужная строка ёмкости хранилищ
В ресурсбаре улучшена индикация заполнения складов:
- Если количество ресурсов больше объема склада (> 100%) - размер склада будет выведен красным
- Если ресурсов <= 100%, но > 90% - оранжевым
- <= 90%, но > 75% - желтым
- <= 75%, но > 50% - синим
- <= 50% - зеленым
- И, наконец, если склада нет и количество ресурсов на планете равно нулю - размер склада будет выведен белым
Ресурсбар:
- Цветовое кодирование к количеству производимой энергии в ресурсбаре
- Цветовое кодирование к попапам в ресурсбаре
- Отдельный попап для энергии, выводящий потребление
[!] Вселенная
Добавлен режим сканирования Вселенной:
- Вход в режим осуществляется нажатием кнопки "Включить режима сканирования"
- Выход - нажатием кнопки "Выйти из режима сканирования"
- Вид Вселенной переключается на минималистический
- Убираются лишние вертикальные отступы в ячейках
- В режиме сканирования отключаются: меню, навбар, подсказки
- Так же в режиме сканирования отключаются рамки вокруг таблиц, если они были включены в Настройках
В режиме сканирования теперь работают попапы на лунах/планетах/итд
[!] Квесты
Полностью переделан интерфейс квестов
Новый статус квеста - "Начат":
- Квест отмечается как "Начат", если был построен хоть один юнит из условий квеста;
- Отметка выставляется в момент завершения постройки первого юнита
- Уже построенные юниты не учитываются - нужно построить хотя бы один юнит, что бы сменить статус квеста
- Количество начатых квестов отображаетя в навбаре на кнопке квестов желтым цветом
На страницу просмотра квестов добавлен фильтр квестов по статусу:
- Состояние фильтра запоминается между визитами на страницу квестов
В списке квестов к фильтру добавлен вариант "Все, кроме выполненных"
[!] bbCode
Переписана работа с bbCode
Класс BBCodeParser переделан в динамический
Работа со списком смайликов и bbCode вынесены в новый класс Design
Из класса classSupernova убран теперь неиспользуемый массив $design
Базовые смайлики и bbCode вынесены в vars.php
Новый bbCode - [urlw=URL]text[/urlw] - разворачивается в активную ссылку, которая переодит по URL в текущем окне
Новый префикс "faq://link.html" - разворачивается в активную ссылку на "link.html" в ЧаВо (FAQ) - если ЧаВо сконфигурировано в настройках сервера
Активная ссылка на боевой отчёт теперь открывается в текущем окне
Для bbCode [c] появилась полная версия [color]
Теперь URL боевого отчёта с текущего сервера автоматически преобразуется в активную ссылку на боевой отчёт
Теперь ссылки bbCode, открывающиеся в новом окне, подчёркиваются двойной линией
[!] Админка
Небольшой тест функиональности phpBB Template Engine в "Утилитах"
Добавлена страница с балансом материи
Рефакторинг страницы просмотра информации об игроке
Переверстаны страницы:
- Администрирование чата
- Утилиты
Пункт меню "Тёмная материя" стал заголовком
Теперь при неудачной попытке начислить ТМ/ММ назад в форму возвращается причина начисления
Добавлена опция настройки логотипа сервера в меню - опция 'menu_server_logo' в таблице `config`:
- Пустое значение - использовать логотип по умолчанию;
- В остальных случаях строка трактуется, как относительный путь к картинке (от корня игры), например - 'design/images/supernova.png'
- Опция 'menu_server_logo_disabled' позволяет отключить логотип в меню
Добавлена опция отключения названия сервера в меню - опция 'menu_server_name_disabled' в таблице `config`:
Добавлена опция отключения даты запуска в меню - опция 'menu_launch_date_disabled' в таблице `config`:
Изменение ММ:
- Полностью переписано начисление ММ
- Теперь можно изменять ММ так же по ID или имени игрока
- Теперь перед изменением ММ можно посмотреть, что будет изменено - и лишь потом подтвердить изменения
Админка/Изменение ТМ: Переписано изменение ТМ
[!] Лицензия
Добавлен файл docs/credits.txt для списка используемых материалов и соответствующих копирайтов
[!] Вёрстка
Перевёрстан базовый темплейт:
- Переделан на DIV-ах
- Меню, навбар и дополнения (новости, заметки итд) подключаются теперь в _global_header
[!] Темплейты
Класс PTLTag:
- Замена элементов темплейта их значением
- Формат: {<prefix>{<text>|[elementID]|...}>
- <prefix> используется для идентификации. Должен быть отрезан перед передачей в PTLTag
- <text> - текст
- [elementID] - название элемента в квадратных скобках. Поддерживаются следующие элементы:
- Корневые значения {VAR} -> [VAR]
- Переменные темплейта из $DEFINE - {$VAR} -> [$VAR]
- Блоковые переменные на текущем уровне - {block.VAR] -> [block.VAR]
- Количество и комбинации текста и названий элементов могут быть любыми:
- На примере тэга {I_xxx}: {I_unit_[unit.ID]_red_[UNIT_SIZE]}
- Сейчас поддерживается в тэгах {R_xxx} и {I_xxx} - см. примеры ниже
Новый тег косвенной адресации {R_[XXX]}:
- Позволяет в рантайме выводить значение из элемента, чьё имя генерируется во время исполнения темплейта
- Пример:
- Пусть у нас в темплейте есть тэг {R_[RENDER]}
- Пусть во время исполнения корневой элемент 'VAR' равен 'VALUE';
- Пусть во время исполнения корневой элемент 'RENDER' равен '{VAR}'
- Тогда во время компиляции сгенерируется исполнимый код, который во время исполнения темплейта проделает следующее:
- Возьмет значение переменной 'RENDER', т.е. '{VAR}'
- Динамически скомпилирует код для вывода переменной '{VAR}'
- Исполнит его и выведет значение элемента 'VAR', т.е. в нашем конкретном случае - выведет 'VALUE'
- Тэг надо использовать с осторожностью, избегай вывода переменных, полученных напрямую от пользователя
- Содержимое элемента может быть любым тэгом из поддерживаемых темплейтом: {$VAR}, {block.VAR}, {D_xxx}, {I_xxx} итд
Тэг изображения {I_xxx} теперь работает через класс PTLTag
- Пример:
- Пусть в skin.ini есть записи
s_black_moon = "planeten/small/s_black_moon.jpg"
black_moon = "planeten/black_moon.jpg"
- Пусть в темплейте есть директива <!-- DEFINE $BLACK = 'black_moon' -->
- Тогда тэг {I_[$BLACK]} выведет '<HTTP путь к текущему скину>planeten/black_moon.jpg'
- А вот тэг {I_s_[$BLACK]} выведет '<HTTP путь к текущему скину>planeten/small/s_black_moon.jpg'
- В квадратных скобках можно использовать любые имена элментов, поддерживаемых PTLTag

[+] Альянсы
Включена отключенная ранее опция рассылки сообщений членам Альянса - кнопка "Послать сообщения всему Альянсу" в блоке "Управлеение Альянсом"
Переверстаны некоторые страницы
Добавлены более понятные сообщения об ошибках при попытках сменить имя или тэг Альянса на уже существующие в игре
[+] Интерфейс
Теперь так же работает перетаскивание элементов тапом на тач-скринах
В частности - теперь можно поменять положение окна Советника на мобильных устройствах
[+] Обзор планеты
В список ресурсов на планете добавились всплывающие окна с подсказками

[~] Новости
На обзоре страницы теперь можно ограничивать показываемые новости так же по времени публикации:
- Настройка game_news_overview_show в таблице config устанавливает давность новости;
- Задаётся в секундах. По умолчанию - новости давнее 2 недель (1209600 секунд) не показываются;
- При установке в 0 показывает все новости;
Переделана кнопка "Закрыть" в блоке новостей - вынесены стили в CSS, а обработчик нажатия - в JS
[~] Флоты/Менеджер флотов
Теперь время работы менеджера флотов вычисляется непосредственно с начала его работы, а маскимальное время работы уменьшено до 3 секунд (регулируется константой GAME_FLEET_HANDLER_MAX_TIME)
[~] Флоты/САБ
Переверстана страница подбора игроков в САБ
[~] Вселенная/Переименование
Переверстана страница переименования Галактик/систем
[~] UBE/Боевой отчёт
Добавлен BBCode для вставки в чат ссылки на бой

...и множество других мелких правок. Посмотреть изменения в коде и мелкие правки можно по адресу 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
4.2. В любом другом случае - загрузите на сервер обновленную версию движка
5. ДОЖДИТЕСЬ, ПОКА НОВАЯ ВЕРСИЯ ДВИЖКА ОКАЖЕТСЯ НА СЕРВЕРЕ! Попытка обновления в процессе копирования файлов или загрузки их из репозитория GIT могут привести к непредсказуемым результатам
6. Переключитесь в браузер, в котором вы залогинены под Администратором и выберите пункт меню "Обзор". Дождитесь загрузки страницы - в этом время происходит обновление БД
7. И, наконец, после всех этих действий игру можно опять включить (Администратор -> Настройки, снять галочку "Отключить игру" и сохранить изменения), , нажать кнопку "Сохранить"