Страница 1 из 1

Патчноуты - из (пока) неопубликованного

Добавлено: 04 сен 2015, 17:29
Gorlum
Народ в чате начинает роптать. Мол, чем там Горлум/Сингулярность занимается? Не забухал ли (это не я придумал - это так в чате на Альфе)?

И право дело - на текущий момент самая свежая версия патча имеет номер 40а9.2 и опубликована АЖ 20 августа...

Начнем с начала. Текущая версия игры - 40а10.8. Она включает в себя несколько фиксов и небольших изменений. Но это не значит, что с 20 августа я околачивал органом груши. Еще ДО 20 августа я начал переписывание системы авторизации... в очередной раз. И делаю это я не от зуда в пальцах рук и не от "нечего делать". Это необходимо для того, что бы добавить в игру следующие фишки:
- Отвязать данные аккаунта (т.е. логин-пароль и прочие настройки) от данных собственно "игрока" (т.е. имя, которое видят другие игроки во Вселенной, настройки конкретно данного игрока итд). НЕОБХОДИМО для всех следующих шагов. По идее - сделает игру немного более быстрой, а код - более упорядоченным, что в свою очередь облегчит добавление новых фишек на аккаунт и на игрока. Состояние - сделано в виде альфа-версии, полируется, готовится к тестированию;
- Единый Аккаунт: игрок сможет входить на все сервера СуперНовы из-под одной комбинации логина-пароля. По идее это должно упростить жизнь "мультисерверным" игрокам и немного побудить остальных попробовать игру на других серверах. Состояние - сделано в виде альфа-версии, полируется, готовится к тестированию;
- Единая МетаМатерия: купив ММ на одном сервере игрок будет иметь к ней доступ на остальных серверах. По идее это должно облегчить донаторам переход между серверами. И нет - общей ТМ не будет ни в какой из просматриваемых реальностей. Экономика разных серверов слишком отличается друг от друга, что бы можно было переносить ТМ с одного сервера на другой. Состояние - думаю, как вообще это сделать. Есть свои логические проблемы;
- Внешняя Авторизация: игрок сможет заходить в игру, используя уже зарегестрированные аккаунты во внешних сервисах, таких как ВК, фейсбучек, жжешечка, гуглик итд. Состояние - ожидается ввод в игру Единого Аккаунта, поскольку сильно базируется на нём;
- ...и еще многое, многое другое, о чём еще слишком рано говорить до реализации предыдущих пунктов.

Для понимания объема работы - я начал делать новую систему авторизации в отдельной ветке исходников еще ДО 20 августа. Числа эдак 15-16. Параллельно я делал Режим Рубилова, автоконвертацию ММ, фиксил баги в основной ветке и добавлял всякие мелочи в игру. Для ПОЛНОГО понимания - вот пока неопубликованный чейнджлог изменений. Замечу - для добавления ЕА в игру мне пришлось полностью переделать подсистему работы с базой данных. Ну, а теперь - чейнджлог:


2015-09-03 21:28:08 40a10.15 - authV4 Альфа3.3 - подготовка к auth_central
[!] Авторизация
Игрок теперь прописывается автоматически на все авторизированные аккаунты
Максимальный auth_level всех игроков на авторизированных аккаунтах теперь является свойством auth
Домен, путь, имя куки и секретное слово для куки теперь берутся из свойств auth_local
Больше логов богу логов!!!

[!] Код/БД
Префикс таблиц теперь является свойством db_mysql, так что методы не обращаются к внешним сущностям
Список таблиц теперь хранится в db_mysql
Исправлена ошибка реконнекта при живой БД (апдейтер вызывал)



2015-09-02 01:00:17 40a10.14 - authV4 Альфа3.2
[!] Авторизация
auth использует свою собственную БД
auth_local использует свою собственную БД


2015-09-01 23:39:51 40a10.13 - DB redo Phase 4
[!] Код/БД
Низкоуровневые функции SQL вынесены в отдельные драйвера
- Добавлена возможность выбора драйвера SQL
- Название драйвера задается в config.php в поле 'sn_driver' массива $dbsettings
- В стандартном комплекте поставляются два драйвера - db_mysql_v5 и db_mysql_v4
- db_mysql_v5 использует более новый интерфейс ext/mysqli
- db_mysql_v4 использует интерфейс ext/mysql, который объявлен устаревшим и не будет использоваться начиная с PHP 5.5.0
- По умолчанию используется db_mysql_v5. В случае проблем с PHP у хостера можно попробовать использовать db_mysql_v4
- Подробнее о разнице в интерфейсах MySQL API можно прочитать тут: http://php.net/manual/en/mysqlinfo.api.choosing.php
- Так же можно написать свой драйвер по примеру предоставленных. Результаты его методов должны эмулировать поведение MySQL
- Драйвера находятся в каталоге /includes/classes/
В auth_local избавились от F_INPUT

[!] Код/СН
Куски инициализации вынесены в classSupernova. Не то, что бы им там было место - но теперь init.php немного разгружен
Настройки из файла конфигурации теперь хранятся в classSupernova


2015-09-01 18:07:06 40a10.12 - DB redo Phase 3
[!] Код/БД
Убран $link в заголовках функции
Причесан код и переупорядочены функции


2015-09-01 16:42:38 40a10.11 - DB redo Phase 2
[!] Код/БД
Упорядочен код инициализации и реакция на ошибки БД при инициализации
Убрано использование $link в коде


2015-09-01 14:36:37 40a10.10 - DB redo Phase 1
[!] Код/БД
Изоляция БД-код в отдельном объекте


2015-08-31 12:34:21 40a10.8
[%] Вселенная/Планеты
Исправлена ошибка вычисления диаметра планеты


2015-08-30 15:04:04 40a10.6 - authV4 Альфа3
[!] Авторизация
Изолированы БД-запросы в отдельных методах
Удалены функциональные дубликаты методов
Часть полей из $data перенесены в свойства классов


2015-08-29 15:24:46 40a10.5 - authV4 Альфа2
[!] Авторизация
Информация о запросе (IP, браузер, УРЛ итд) вынесены в отдельный класс RequestInfo
Работает смена пароля
Добавлен, но не проверен код смены емейла
Добавлен, но не проверен код проверки пароля
Немного почищен код


2015-08-28 00:41:31 40a10.4
[~] Авторизация
Добавлены сообщения для ошибок при регистрации игрока
Почищен код


2015-08-27 19:38:58 40a10.2
[+] Партнерская программа
Теперь когда аффилейт (игрок, приглашенный реферралом) покупает МетаМатерию, то реферрал (игрок, пригласивший аффилейта) получает 20% от купленной ММ в виде Тёмной Материи (в отличии от 10% при получении аффилейтом ТМ)


2015-08-27 19:14:05 40a10.0 - authV4 Альфа
[!] Авторизация
В очередной раз переписана система авторизации. Цель - подготовка к вводу в игру Единого Аккаунта
Информация игрока (таблица `users`) отвязана от информации о логине/пароле
"Имя игрока" в игре и "Логин" (aka "Имя аккаунта") теперь разные вещи
Работает, но не оттестировано:
Вход в игру
Регистрация в игре (имя игрока автоматически выбирается равным имени аккаунта)
Сброс пароля
Не работает:
Смена имени ИГРОКА
Смена пароля
Смена вторичного емейла
Верификация вторичного емейла
Не реализовано:
Смена имени АККАУНТА
AUTH_LEVEL аккаунта (под вопросом необходимость реализации)
Смена основного емейла
Верификация основного емейла
...и многое, многое другое!


2015-08-22 18:24:26 40a9.10
[+] Код
Поддержка захвата планет в РР


2015-08-21 11:24:35 40a9.9
[~] Навбар
Счетчики сообщений теперь располагаются не в линию, а по углам иконки сообщений:
- Левый верхний - личные сообщения;
- Правый верхний - сообщения от Альянса;
- Левый нижний - сообщения от Администрации;
- Правый нижний - общее количество сообщений.
Таким образом на мобильных устройствах будет гораздо проще выбрать нужный тип сообщений

Re: Патчноуты - из (пока) неопубликованного

Добавлено: 04 сен 2015, 17:52
Donald Fuck
Видно, что НЕ околачивал!!!