таблицы в innodb поддерживают --single-transaction при создании дампа, текущие myisam нет, следовательно таблицы где не используется FULLTEXT поиск (форум, стата возможно) можно конвертнуть в innodb и избавится от их блокировки во время создания резервных копий избавив тем самым пользователей от внезапного ожидания. Форум и стату бекапить без этой опции чтобы не нарушить целостность данных.
°• Веб сервер:
Статистика обновлена, взят форк https://github.com/NomisCZ/hlstatsx-community-edition, но с мелкой поправкой https://github.com/NomisCZ/hlstatsx-community-edition/issues/47
Вместо MYSQL 5.7 теперь MYSQL 8 (трудности в работе стройки с ним https://ally.pro/suggestions_tracker/mega_surv/optimizaciya-bazy-dannyh-stroyki-pod-mysql-8-r741/ устранены)
Вместо OS Ubuntu 16.04 теперь 18.04
Теперь умеет удалять старые резервные копии из облака Mega.nz в ходе циклов резервного копирования.
Все базы данных переведены с MYISAM в InnoDB, что в связи с применением MYSQL 8 дало ощутимый прирост скорости загрузки и сохранения слотов, а так же теперь за счет поддержки InnoDB параметра --single-transaction во время создания резервных копий база данных стройки больше не блокируется и игроки могут продолжать без заметных задержек загружать и сохранять слоты.
°• Mega Survival:
Стабилизировано соединение между сервером и базой данных
Ускорена работа предварительной проверки если у кнопки нет ни одного медленного действия над проверяемым предметом
При выгрузке / перезагрузке плагина стройки из Sourcemod создается снимок карты в качестве противодействия возможности аварийных ситуаций.
Внедрены ежечасные резервные копии базы данных стройки с периодом хранения 3 дня.
Устранено отсутствие выключения лазерной коробки вокруг предмета действия кнопок если во время добавления действия выйти из меню на кнопку 0.
Для кнопок добавлено новое действие: Передвинуть до значения осей относительно указанного предмета (Медл.):
Позволяет доставить предмет из точки А в точку Б относительно осей указанного при создании действия предмета.
При выключения можно задать отдельный предмет относительно которого будет действие.
Значения смещения относительно осей указанного предмета (предмета относительности можно задать как в автоматическом режиме - расчет идет исходя из положения предмета действия относительно осей предмета относительно которого будет двигаться предмет действия) так и введя вручную, соответствующий выбор предоставляется при создании действия.
Так как данное действие не привязано к карте это позволило мне добавить в библиотеку построек две постройки:
в категории Башни => Лифт М8 Этажник 2020, в кабине расположено 5 кнопок, по приказу из кабины он может двигаться на любой из 5 этажей постройки, на каждом этаже есть кнопка вызова лифта на этаж
в категории Примеры => Лифт 5 этажей встраиваемый только сам конструктив лифта для удобства встраивания его в постройки игроков, можно спокойно удалять лишние этажи и кнопки приказа кабины соответствующие удаленным этажам.
Так же возможности нового действия можно увидеть на видео на нашем канале в Youtube: https://www.youtube.com/watch?v=-lQ-BFvOeWg (вдохновила на создание видео Марсик)
°• Форум:
Изменено:
Чат+ обновлен до версии 2.0.8
Форум обновлен до версии 4.4.10: https://invisioncommunity.com/release-notes/4410-r93/
тестил вчера худенький сервер под базы данных, столкнулся с тем что операция SELECT которую как орехи щелкает текущий сервер баз данных MYSQL 5.7 очень сложно дается MYSQL 8 вкупе с слабеньким CPU
Немного данных, основная проблема с основной таблицей где хранятся слоты, MYSQL 8 очень медленноооо делает выборку слотов из-за чего время загрузки просто безумные 10-30 секунд так же и сохранение, сначала я подумал что медленный процессор просто не может работать быстрее с такими жирными таблицами, но блин после замеров и сравнения с основным сервером баз данных я понял что так быть не может, основной 0.5-1 сек а этот 6.5-15 сек это слишком много
Как вариант создать индекс для всех полей которые участвуют в условиях выборки как советуют тут https://dzone.com/articles/how-to-optimize-mysql-queries-for-speed-and-perfor
Index All Columns Used in 'where', 'order by', and 'group by' Clauses
проблему нельзя устранить путем локальной записи в снимки т.к. игрок мог оставить платное оружие из одного слота на двух серверах и более одновременно до создания снимка.
Тоже самое можно провернуть с перемещением из слота который записан в снимке, перемещаем содержимое, пересохраняем, перемещаем содержимое, пересохраняем