peer-to-peer

 

Murkt

Pythoneer

Egge предложил встроить в сервер-клиент p2p технологию для обмена инфой между клиентами: текстурами, модельками, звуком. В целом - контентом мира.

По-моему, отличная идея - использовать торрент и значительно облегчить всем каналам участь.
[team Їжачки - сумні падлюки]  
+
-
edit
 

Balancer

администратор
★★★★★
В принципе - да, статику таким образом раздавать можно.
… чтобы понять рекурсию, нужно сперва понять рекурсию …  
+
-
edit
 

masterXL

разработчик OpenWorlds
каков механизм запроса на обновление?
опрашивать чексумм директории клиента со статическими объектами и при несовпадении синхронизировать? при таком варианте логичнее было бы использовать сам сервер для раздачи обновлений.
либо, как вариант, при процедуре первого входа в мир (отличный от предыдущего, в котором был игрок в последний раз) через меню-анкету с описанием правил и особенностей этого мира или при повторном входе простая проверка на наличие изменений
Трудно быть богом... Не веришь? Спроси любого админа! можешь спросить у меня 175506816 ServerIP=193.41.172.19 Перенос доступен  
RU Balancer #03.07.2007 12:29  @masterXL#03.07.2007 12:22
+
-
edit
 

Balancer

администратор
★★★★★
masterXL> каков механизм запроса на обновление?

Как вариант - в имени каждого ресурса хранить его хеш. Тогда при изменении оного, у него станет просто новое имя.

masterXL> опрашивать чексумм директории клиента со статическими объектами и при несовпадении синхронизировать? при таком варианте логичнее было бы использовать сам сервер для раздачи обновлений.

Первичная раздача, естественно, пойдёт с сервера. А уже после того, как файл окажется и у клиентов - тянуть можно оттуда.

Поэтому, кстати, нам больше подходит тут централизованная система в духе того же торрента. Кстати, что у него с лицензией? Клиенты, вроде, есть открытые, лицензия, наверное, тоже.

Только следует тщательно анализировать состояние сети. Раздача не должна забивать основные соединения. Командный поток должен идти с наивысшим приоритетом.
… чтобы понять рекурсию, нужно сперва понять рекурсию …  
+
-
edit
 

masterXL

разработчик OpenWorlds
хммм... тогда уж дождаться ответа клиента о готовности входа в мир и вопросы о приоритетах отпадают сами по себе. к тому же возможно получать изначально только стартовую локацию+2квадратов видимости во все стороны, а дальше грузить динамически (меш и его текстуру)?
Трудно быть богом... Не веришь? Спроси любого админа! можешь спросить у меня 175506816 ServerIP=193.41.172.19 Перенос доступен  
+
-
edit
 

Balancer

администратор
★★★★★
Дык, естественно, что так и планируется. Идёт загрузка только объектов в зоне видимости. При чём, начиная с самых близких. Входить же можно сразу, не дожидаясь загрузки. Так и было в ActiveWorlds (как сейчас - не знаю. В SecondLife же начальная локация небольшая сразу включена в скачиваемый клиент). Заходишь (первоначально) в совершенно пустой мир, даже, ЕМНИП, без поверхности, в воздухе висишь. Потом появляется земля и отметки объектов в виде маленьких чёрных пирамидок (то, что в браузере место под картинку, пока она ещё не загружена :) ) потом начинают появляться игроки, стены, деревья, горы... Всё дальше и дальше :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  
+
-
edit
 

Balancer

администратор
★★★★★
Да, самое главное. Все p2p, в т.ч. торрент, эффективны только на больших объёмах данных. Хотя бы от десятков мегабайт.

Все наши объекты будут явно меньшего размера.

Так что прямая передача объектов по классическим технологиям нам не выгодна.

Возможные решения:

- Делать "пакеты локаций" - архивы с набором объектов определённой области и качать сразу весь архив (фишка должна быть настраиваемой).

- Делать свой примитивный протокол в духе "я запрашиваю сервер о закачке такого-то объекта, а он меня посылает качать его с такого-то клиента (предварительно известив его)".
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru