Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.08.2015, 22:04
Irem вне форума Посмотреть профиль Отправить личное сообщение для Irem Найти все сообщения от Irem
  № 1  
Ответить с цитированием
Irem

Регистрация: Jul 2014
Сообщений: 6
По умолчанию Как правильно организовать серверной части?

Прошу прощения за идиотский вопрос

Игра для социальной сети.
Есть Flash клиент и Java сервер.
Нужно сделать обновление игры, которое затрагивает и сервер, и клиент.
Как я понимаю, флешку можно просто перезалить. И тогда при следующем запуске у игрока будет уже обновлённый клиент. И это не помешает текущим игровым сессиям.

Но как быть с сервером?
Во время обновления он будет недоступен.
Более того, данные, хранящиеся в оперативке, будут потеряны.
То есть, всем текущим игровым сессиям придёт конец.
Возможно, в самый неподходящий момент времени.
Что делать, чтобы избежать таких проблем?

Добавлено через 6 минут
Как правильно организовать обновление серверной части?
Пропустил слово в названии темы, простите.

Старый 06.08.2015, 22:15
alexandrratush вне форума Посмотреть профиль Отправить личное сообщение для alexandrratush Найти все сообщения от alexandrratush
  № 2  
Ответить с цитированием
alexandrratush
 
Аватар для alexandrratush

Регистрация: Jul 2013
Адрес: Днепр
Сообщений: 529
Отправить сообщение для alexandrratush с помощью ICQ Отправить сообщение для alexandrratush с помощью Skype™
А что именно храниться у вас в оперативке? Игровые сессии? На сколько я знаю, такие данные должны храниться в базе данных. И при остановке сервера, все данные нужно корректно сохранить. Плюс перед остановкой сервера можно поставить блокировку на запуск флешки. Ну и делать такие операции нужно в то время, когда ваших игроков наименьшее количество в сети, к примеру ночью, или утром.

Старый 06.08.2015, 23:56
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 3  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,921
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Во всех нормальных играх перед мейнтерренсом заранее за пару десятков минут предупреждают об обновлении, и при подходящем времени показывают в консоли/чаты обратный отсчёт, чтобы игроки были готовы.
И при начатой битве обычно всем возвращаются ставки и деньги.
__________________
There is no thing in this world that is not simple.

Старый 07.08.2015, 06:29
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 4  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Я вообще никогда не парился по этому поводу. Просто отрубал сервер и обновлял) Ничего страшного не произойдет, если у игроков просто временно прервутся игровые сессии. Особо неуравновешенные может пойдут выбросятся из окна или повесятся, но таким туда и дорога Остальные потерпят.
Можно в группе игры написать заблаговременно, что такого-то числа во столько-то по московскому времени / по гринвичу или еще какому-то будут производиться технические работы. Или в самое игре эту инфу куда-то повесить, чтобы все время глаза мозолила

Старый 07.08.2015, 08:35
bifidokk вне форума Посмотреть профиль Отправить личное сообщение для bifidokk Найти все сообщения от bifidokk
  № 5  
Ответить с цитированием
bifidokk
 
Аватар для bifidokk

Регистрация: Jan 2011
Сообщений: 200
Плюсом советую ввести так называемую версию игры, которая будет храниться на сервере и на клиенте отдельно и изменяться при каждом обновлении. При входе сверять версию на клиенте с версией на сервере, таким образом вы не пропустите игроков, которые со старых необновленных клиентов (просто не обновили страничку после апдейта игры) долбятся уже на новый сервак.


Цитата:
Более того, данные, хранящиеся в оперативке, будут потеряны.
просто нужно сохранить все данные из оперативки перед гашением сервера. если, к примеру, у вас на сервере какие-то бои, то перед обновлением запрещаем создание новых боев, ждем когда закончатся все, сохраняем все данные, гасим сервер.

Старый 08.08.2015, 19:38
Irem вне форума Посмотреть профиль Отправить личное сообщение для Irem Найти все сообщения от Irem
  № 6  
Ответить с цитированием
Irem

Регистрация: Jul 2014
Сообщений: 6
Спасибо за ответы! Теперь всё стало ясно.

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:58.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 00:58.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.