Обновление программного комплекса Game-Keeper общие понятия
В рамках документации по обновлению системы стоит сразу разъяснить несколько основополагающих моментов и принципов:
1.На текущий момент программный комплекс Game-Keeper работает на MS SQL Server 2017!!! То есть при обновлении ПО GK на объекте обязательным для установки данное поколение софта от компании Microsoft. Если на объекте используется версии MS SQL Server версий ниже, чем 2017, то мы настоятельно рекомендуем поступать следующим образом:
а. Сделать резервные копии (бэкапы) баз данных (имеются ввиду базы данных систем автоматизации: GK, RK7, CRM…).
б. Удалить полностью старую версию SQL Server и все его компоненты.
в. Перегрузить физически сервер.
в. Установить и настроить SQL Server 2017 согласно разделу в текущей документации.
г. Перегрузить физически сервер.
г. Восстановить из бэкапов базы данных из пункта «а».
д. Перенастроить софт, использующий эти базы данных на работу с новым поколением SQL Server.
Если на объекте использовался MS SQL Server версии ниже, чем 2012, например SQL Server 2008, то бэкап, сделанный, на такой версии SQL не развернется на SQL Server 2017. Потребуется промежуточный SQL Server 2012.
2. Исходя из предыдущего пункта о необходимости использования SQL Server 2017, вытекает обязательное использование на сервере ОС Windows, отвечающей минимальным требованиям для установки данного ПО. А это семейство ОС Windows 10 Pro. Таким образом, если на объекте на сервере установлен Windows 7, Windows Server 2008, 2012, то такой тип операционной системы не подходит для использования современных версий ПО Game-Keeper и требует замены.
3. Так как для установки актуальных версий GK требуются SQL Server 2017 и соответствующая этому поколению SQL ОС Windows, то возрастают требования к самому серверу, а точнее к его быстродействию и мощности. Опираясь на минимальные требования к серверному оборудованию из соответствующей документации «Общие требования к объектам перед инсталляцией», привести сервер к этому уровню путем доукомплектации или замены.
4. Обновлять ПО Game-Keeper всегда стоит только до последней актуальной релизной версии!
5. Перед самостоятельным обновлением всегда связываться с техническими специалистами Game-Keeper для проведения консультаций. Обращаться через запрос на трекер support@game-keeper.com В запросе указать текущие данные по объекту: ОС Windows на сервере, версия SQL Server, версия БД gkArcade, а также наименование объекта, код корпорации в системе GK, кол-во рабочих мест: касс, компьютеров менеджеров, инфотерминалов и т.д., кол-во и тип оборудования в зале: игровых аппаратов (контролеров), турникетов, калиток, блок-ридеров и т.д.
6. Перед обновлением всегда делать резервную копию базы данных gkArcade!!! А также делать копию исполняемых модулей Game-Keeper. Чтобы была возможность откатиться на исходные позиции, в случае каких-либо проблем.
Обновления системы Game-Keeper условно можно разделить на 2 большие группы:
- Обновление с версий 4-го поколения GK на актуальную.
- Обновление с версии 3.34 и ниже.
Обновление корпоративной версии в этой статье рассматриваться не будет. Корпоративными версиями занимаются исключительно сотрудники технической службы GK, или имеющие навыки в выполнении такого рода работ специалисты под их руководством. По этому поводу есть отдельный раздел с соответствующей документацией.
Обновление с версий 3.34 и ниже, по сути, сводится к снятию бэкапа на текущей версии, удалении старой версии GK и установке актуальной версии с восстановлением базы данных gkArcade из сделанного ранее бэкапа. В этом варианте первично приведение сервера к состоянию из рекомендаций выше (пункты 1, 2, 3), а затем выполнение самой установки. Также стоит обязательно воспользоваться пунктом 5 из текущего документа и проконсультироваться со специалистами технической службы Game-Keeper о нюансах обновления конкретно с вашей текущей версии до актуальной.
Обновление с версий 4-го поколения GK на актуальную заключает в себе 2 этапа:
- Обновление базы данных
- Обновление исполняемых модулей
Обновление базы данных GK
Обновление БД производится при помощи утилиты gkUpgrader из дистрибутива актуальной версии ..\Files\DISTRIB\ gkUpgrader. Запускать утилиту стоит от имени Администратора.
Первым шагом стоит настроить подключение к БД:
Если параметры подключения указаны верно, то при нажатии на кнопку «Подключиться», система сама заполнит поля путь и имя БД, а также определит версию, о чем напишет в информационном окне:
Далее в ниспадающем окне «Новая версия» стоит указать версию, на которую хотим произвести обновление:
Если предварительно не делалась резервная копия БД, то нужно поставить галочку «Выполнить бэкап перед обновлением»:
Нажимаем кнопку «Обновить». Если выполнение прошло успешно, то система выдаст сообщение и в окне лога будут соответствующие записи:
После операций по обновлению базы данных стоит проверить это непосредственно в таблице dbo.SYS_VERSION_INFO через SQL Management Studio:
Если по каким-то причинам операции по обновлению БД прошли с ошибками, то стоит восстановить базу данных из резервной копии и связаться с сотрудниками технической службы Game-Keeper через трекер: support@game-keeper.com
Обновление исполняемых модулей
Перед обновлением исполняемых модулей обязательно остановить все сервисы, относящиеся к GK. Сделать это можно через утилиту Configurator.exe в корне каталога GK:
Напоминаем, что запуск утилиты Configurator.exe следует производить от имени Администратора:
Также сделать текущую копию папки GK (по умолчанию находятся исполняемые модули при установке инженерами технической службы Game-Keeper. Реально на объекте может быть папка с другим названием). Обращаем внимание, что при обновлении системы конфигурационные файлы с расширениями *.ini, *.cfg, *.json, *.config, а также bat-файлы для автоматического запуска приложений НЕ КОПИРУЮТСЯ с заменой. При необходимости в них вносятся изменения или дополнения в соответствии с релизом версии. О предназначении этих изменений можно узнать из файла «GK Release. What's new.docx», а также в службе технической поддержки Game-Keeper. С полным описанием параметров конфигурационных файлов GK можно ознакомиться в разделе документации «Дополнительные настройки (.ini-файлы)». После замены компонентов системы на новые версии, службы GK необходимо заново запустить также через утилиту Configurator.exe!!!
1.Обновление gkPosServer
Рабочая директория по умолчанию ..\GK\gkServices\
Замена файлов: gkPosServer.exe, libeay32.dll, ssleay32.dll
2. Обновление gkAgent, gkHost
Рабочая директория по умолчанию ..\GK\gkServices\
Замена файлов: gkAgent.exe, gkHost.exe, libeay32.dll, ssleay32.dll
3. Обновление модуля Редактор
Рабочая директория по умолчанию ..\GK \gkEditor\
Замена файлов: gkMServer.exe, gkEditor.exe, gkMgrExt.dll, smsSend.dll, libeay32.dll, ssleay32.dll
Также требуется перерегистрировать gkMServer (только на сервере!!!):
Для перерегистрации данного сервера приложений можно воспользоваться одним из способов:
- В этой же папке gkEditor имеется service_registration.bat. Запустить от имени Администратора
- Создать ярлык запускаемого файла gkMServer.exe, в его свойствах указать ключ -regserver и запустить этот ярлык от имени Администратора. (Этот способ рекомендуемый!)
В обоих случаях после проделанных действий запустить и выгрузить сам gkMServer.exe, щелкнув по файлу 2 раза левой кнопкой мыши, или навести курсор и нажать Enter на клавиатуре.
При запуске в трее появится иконка этого сервера приложений . Нажать правой кнопкой мыши на иконке и выбрать Exit.
4. Обновление модуля Пользователи и права
Рабочая директория по умолчанию ..\GK\gkReports\
Данный модуль на текущий момент не обновляется.
5. Обновление модуля Кубы GK
Рабочая директория по умолчанию ..\GK\gkReports\
Исполняемые файлы модуля на текущий момент не обновляются. Иногда может потребоваться перезагрузка шаблонов кубов. Для этого нужно: из нового дистрибутива версии скопировать с заменой папку с шаблонами d:\GK\gkReports\Reports\Кубы\, зайти в приложение Кубы GK, удалить корневую вершину Кубы GK и сделать заново импорт группы отчетов.
Выбираем на главной панели Отчеты – Импорт группы отчетов. В появившемся окне указываем База данных – GKDB (созданная ранее), Путь к отчетам – путь к папке Reports, ставим галочку Фильтр и выбираем наш фильтр, созданный ранее, ставим галочку «Перезаписать источники данных».
Нажимаем кнопку «Импортировать». Происходит импорт шаблонов кубов в базу данных.
Нажимаем кнопку «Закрыть». Наши Кубы отобразятся в главном окне.
Далее необходимо «пробежаться» по всем кубам и настроить поля для отображения в отчетах. Для этого наступаем на название куба, в правом окне выбираем вкладку «Дополнительно», нажимаем кнопку «Стандартные настройки», автоматически проставятся галочки, не забываем нажимать сохранить (иконка дискетки).
6. Обновление кассы gkPos
Рабочая директория на кассовом терминале по умолчанию ..\GK\gkPos\
Замена файлов: gkPos.exe, fpAtol54.dll, fpShtr54.dll, cvSBplt.dll, BarCodeGen.dll, ibeay32.dll, ssleay32.dll
Проверить, если на Pos-терминале установлена ОС семейства Windows 7 или семейства Windows 10, то для связи рабочего модуля с БД должен быть установлен SQL Server Native Client 2012!
Если на Pos-терминале установлена ОС семейства Windows XP, то для связи рабочего модуля с БД должен быть установлен компонент Microsoft Visual C++ (vcredist_x86.exe)!
7. Обновление инфотерминала gkInfo
Рабочая директория на терминале по умолчанию ..\GK\gkInfo\
Замена файлов: gkInfoT.exe, ibeay32.dll, ssleay32.dll
Проверить, если на Pos-терминале установлена ОС семейства Windows 7 или семейства Windows 10, то для связи рабочего модуля с БД должен быть установлен SQL Server Native Client 2012!
Если на Pos-терминале установлена ОС семейства Windows XP, то для связи рабочего модуля с БД должен быть установлен компонент Microsoft Visual C++ (vcredist_x86.exe)!
8. Обновление web-отчетов
Рабочие директории по умолчанию: ..\GK\ gkConfigurator\ - служба конфигуратора web-отчетов, ..\GK\gkSSRS\ - каталог с настройками и шаблонами.
Обновить платформу .Net Core на актуальную версию с официального сайта https://dotnet.microsoft.com/download/dotnet-core/3.1, установив пакет Windows Hosting Bundle (установочный файл при скачивании dotnet-hosting-3.1.3-win.exe – версия для примера). Более подробно про установку Net Core можно узнать из документа Приложение 1. Установка платформы .Net Core
Остановить службу конфигуратора web-отчетов:
Из нового дистрибутива версии GK заменить содержимое папок gkConfigurator и gkSSRS с заменой файлов. Проверить строку подключения в конфигурационном файле appsettings.json (этот конфиг можно оставить из текущей версии и при копировании новых файлов не заменять):
"ConnectionStrings": {
"DefaultConnection": "Data Source=127.0.0.1;Initial Catalog=gkArcade;Persist Security Info=True;User ID=sa;Password=1q2w3e777!"
}
Запустить службу конфигуратора web-отчетов:
Зайти на web-интерфейс конфигуратора web-отчетов по адресу 127.0.0.1:50010 или 127.0.0.1:60010, в зависимости на каком порту развернут сервис. В блоке настроек Групповая загрузка отчетов ввести логин и пароль пользователя для загрузки отчетов, выбрать путь к папке с шаблонами web-отчетов d:\GK\gkSSRS\Source\ и нажать Загрузить:
Выйдет информационное сообщение:
При успешной загрузке шаблонов:
Стоит обратить внимание, что при обновлении web-отчетов, которые до этого работали на объекте, не требуется прогружать настройки из папки Settings!!!
9. Обновление сервисов IIS для GK
Обновить gkExtServer:
- остановить службу gkExtServer, относящийся к нашему сервису IIS (для примера выбрана технология web-мониторинга тарифных зон - rpt1).
- из актуального дистрибутива версии в текущую папку с gkExtServer скопировать gkExtServer.exe, libeay32.dll, ssleay32.dll с заменой файлов.
- запустить службу gkExtServer.
Обновить платформу .Net Core на актуальную версию с официального сайта https://dotnet.microsoft.com/download/dotnet-core/3.1, установив пакет Windows Hosting Bundle (установочный файл при скачивании dotnet-hosting-3.1.3-win.exe – версия для примера). Более подробно про установку Net Core можно узнать из документа Приложение 1. Установка платформы .Net Core
Через диспетчер служб IIS остановить сайт и пул обновляемого сервиса:
Заменить содержимое папки с web-сервером IIS. Проверить подключение к БД в конфигурационном файле.
Там же в диспетчере служб IIS запустить сайт и пул.