Утилита для обновления ?ела

Материал из ASV2 manual
Перейти к: навигация, поиск

Утилита для обновления файлов шела

Данная утилита предназначена для обновления изменившихся файлов в шеле.


Update shell.png


Принцип работы :

  • Вместо шела загружается утилита обновления
  • Подключается к указанному в настройках шела ip адресу сервера и получает список обновления
  • Проверяет по списку отсутствующие файлы а так же дату создания ( изменения ) существующих файлов
  • Если файла нет либо на сервере присутствует обновлённый вариант файла происходит его скачивание
  • После загрузки файлов происходит запуск шела


Основные возможности :

  • Возможность задать ip адрес сервера в параметрах запуска ( update.exe 192.168.0.100 ) таким образом для того чтобы поставить шел достаточно скопировать 1 файл update.exe на клиентскую машину и запустить его там.
  • Автоматическое восстановление соединения. Если при обновлении был выключен ( перезагружен сервер обновления ) то утилита обновления ждёт когда сервер заработает заново и загружает файлы обновления с того места на котором была оборвана связь.
  • Проверка только изменившихся файлов. т.е можно взять с любого компьютера каталог с настройками и добавить изменившиеся файлы в каталог обновления. При запуске утилиты обновления будут обновлены только настройки ( так как у них дата и время изменения больше той что установлена на клиентских компьютерах )
  • Утилита обновления не использует netbios а работает через свой протокол. В связи с этим нет никаких ограничений на одновременное подключение более 10 машин к одному серверу, ненужно расшаривать каталоги. Так как отпадает необходимость в использовании Windows протокола для работы с файлами и каталогами ( особенно это будет полезно для больших клубов )
  • Обновление проходит без перезагрузки ( и без завершения сеанса ) компьютера
  • Команду на обновление можно дать с сервера. При этом произойдёт отключение шела и запуск программы обновления. Всё это работает прозрачно таким образом клиент может сидеть на компьютере и продолжать играть в игру. т.е не прерывая работу клиента
  • Построение всего дерева каталогов при обновлении. т.е вы можете записывать новые темы, добавлять различные директории и пр. Всё будет обновлено.


Куда и что сложить чтобы файлы обновлялись

  • Обновленные файлы должны лежать в каталоге Update сервиса зашиты AMSShellSService ( путь : ServerService\Update\Shell\*.* ) Только так и никак иначе.
  • Если вы хотите обновить не шел а например только настройки то можно в каталог ServerService\Update\Shell\ добавить только каталог Data с изменившиеся настройками или каталог Theme для загрузки изменившейся темы.
  • В самом шеле нужно указать ip адрес сервера к которому будет присоединяться утилита обновления для получения списка обновления ( Это можно сделать на этапе предварительной настройки шела или непосредственно в настройках шела )
  • Для смены текущей темы несмотря на дату создания нужно воспользоваться командой с сервера : Обновление шела + смена темы из каталога обновления при использовании этой команды будет удалена текущая тема и установлена тема находящаяся в каталоге Theme на сервере обновления. Обычный вариант обновления заменяет только изменившиеся файлы.

Комманда полезна тогда когда вы хотите поменять на всех выбранных компьютерах тему дизайна.

  • Внимание ! обновляемая конфигурация на сервере должна содержать ip адрес сервера обновления ! В противном случае после первого обновления утилита обновления небудет знать куда обращаться за обновлением. Для этого можно скопировать файл Data\Config.ini с любого настроенного шела либо вручную отредактировать параметр [main] - ServerServiceIp= ip адрес сервера


Примечание

  • Если шел начал обновляться то окно программы обновления не закрывается до момента окончания обновления файлов ( сделано это в связи с тем что файлы программы перезаписываются и во избежание некорректной записи прерывать работу программы обновления нельзя )
  • Сама программа обновления на обновляется во избежание ошибочного закачивания своей копии что привело бы к полной неработоспособности клуба ( т.е теперь если вы даже ошиблись и были закачаны неверные файлы обновления всегда есть возможность исправить конфигурацию и переписать шел автоматически на всех машинах )
  • Было протестировано, что обновление справляется с объёмами шела в 500 мегабайт. Что подразумевает практический неограниченные возможности по обновлению шела
  • Файлы не должны иметь в названии пробелов. Это должны учесть разработчики тем к шелу ( Название темы и каталог для хранения темы не должен содержать пробелов ) В противном случае файл не будет обновлён
  • Обновление происходит по порту 8008 который должен быть открыть в Firewall'e на сервере
  • Обновлении работающее по данной схеме имеет ряд преимуществ. Таких как : Для обновления ненужно включать сеанс на всех машинах с сервера ( в асталависте ), обновление только настроек или только темы дизайна, возможность обновления после перезапуска сеанса не вынуждая клиента прерывать работу на компьютере
  • Для обновления самой утилиты update.exe нужно скопировать её вручную.