ЧАТ
ОбновитьСмайлыУправление мини-чатом
нажмите сюда
Freelancer Rebirth - Беседка - Страница 180 - Форум
Freelancer Server Freelancer Rebirth Server 7.7
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум » Форум » Беседка » Беседка (Всё что касается игры и только её!)
Беседка
[Andry]



Сообщение оставлено Andry
01.04.2018 в 17:09 (Воскресенье)


Гена, я указал ссылку с описанием работы игрового сервера У НИХ, а не У НАС... Отличий там очень много. Естественно, что у нас такой структуры развитой нет и не будет. Указал для того, чтобы понятны были основные принципы работы игровых серверов. Тот проект создавали длительное время и большой командой... У нас есть один Леша и ты со своими теориями smile И на костылях старого Фрила в новый мир не попадешь. Но ты сам процитировал оттуда строчки, которые должны были тебя натолкнуть на ту мысль, что графика вся находится на клиентской стороне... Если и этого тебе не достаточно, то выключи интернет, запусти у себя на компе сервер из папки установленного клиента игры, запусти саму игру, присоединись на свой же сервер, полетай там на чем хочешь в пустоте, постреляй из чего хочешь, а потом ответь сам себе на вопрос: если бы эффекты обсчитывались бы на серваке, то как же ты без доступа к нему смог пострелять из всего этого великолепия?



Dura lex, sed lex!

Status of server: Freelancer Rebirth Server 7.7
[GEN13ISH]



Сообщение оставлено GEN13ISH
01.04.2018 в 17:19 (Воскресенье)




Status of server: Freelancer Rebirth Server 7.7
[TiAmtum]



Сообщение оставлено TiAmtum
01.04.2018 в 17:36 (Воскресенье)


технократы


Извините, не удержался biggrin











Status of server: Freelancer Rebirth Server 7.7
[GEN13ISH]



Сообщение оставлено GEN13ISH
01.04.2018 в 17:57 (Воскресенье)




Status of server: Freelancer Rebirth Server 7.7
[SuperA-E23]



Сообщение оставлено SuperA-E23
01.04.2018 в 21:18 (Воскресенье)


Достал оригинальные диски Фрилансера (да, есть у меня такие их 2 шт CD, номер К 167562ВИ лицензионное соглашение 28/11 от 28.11.2003)
В оригинальной версии есть мультиплеер, т.е. исходно Фрил делали и для мультиплеера, хотя это по тем временам больше дополнение,
чем основная функция, но оно точно не предполагало сетевых баталий, с большим кол-вом кораблей и уж точно не капов с большим кол-вом пух.
Итак чуть более года назад решил поставить Фрил и пройти заново.
Прошел, нашел обновления, поставил и опять играл до тех пор пока не уткнулся в "непропускающий" далее портал.
Обновил и оказался ... здесь. Обновлялся Фрил, как вы понимаете отсюда же и регулярно, иначе не зайдешь в игру.
Это предистория. Все это время графика в бою была одна и та же.
Потом решил создать второй ключ, (долгая история), но Фрил который был, я снес и поставил то, что скачивается отсюда.
Графика поменялась. Т.е. далаю вывод, что Андри все таки прав, графика находиться в клиентской части, и на функционирование
не оказывает большого влияния.
Теперь по кол-ву кораблей и пух. Когда собралась большая группа кораблей возле дыри в Процион и в самом Проционе - не было фризов.
Если принять как данность, что обработка графики идет у клиента, то получается, что сервер, грубо говоря, должен передавать клиенту
точку где расположен кор, вектор нос/корма и вектор и скорость движения. Объем корабля для работы клиента в принципе не нужен.
Этих данных вполне достаточно чтобы клиент уже сам доработал картинку.
Обновление этих данных - неизвестно с какой частотой, но и пакеты такого небольшого объема не сильно грузят трафик.
Наверное вы замечали, что при появлении неписей на мисках комп "икает", т.е. на мгновение притормаживает, а значит сервер пересылает
клиенту данные по тому, что до этого не требовалось для работы клиента.
По мортам и пухам - после выстрела они летят прямо, и при обработке всей механики на сервере (та же защита от читерства)
надо всего лишь переслать начальную точку, вектор, скорость и атрибуты, что бы отобразить графику у клиента. Весь выстрел
это всего лишь один пакет каждому клиенту. Торпы типа 1 (условно самонаводящиеся) это или 1 пакет или несколько с очень
маленькой частотой обработки сервером, такие как у Ударников это (напишем тип2 - с нормальным самонаведением) это раз
в 10 большее кол-во пакетов пересылаемых всем участникам (это цена самонаведения), а такие как у Князя и Хеллбоев (условно тип 3)
те вообще просто куча корректировок, которые должны не только общитываться, но отправляться всем участникам боя.
В технике всегда используются наиболее простые и/или экономически обоснованные решения, в программировании не всегда,
поэтому утверждать, что описанное выше именно так и сделано - не берусь, но с большой долей вероятности это так.

Чего то уже много для одного поста написал, если слишком многа букафф - просто не читайте.





Work must be done.

Status of server: Freelancer Rebirth Server 7.7
[Andry]



Сообщение оставлено Andry
01.04.2018 в 22:21 (Воскресенье)




Достал оригинальные диски Фрилансера (да, есть у меня такие их 2 шт CD, номер К 167562ВИ лицензионное соглашение 28/11 от 28.11.2003)
В оригинальной версии есть мультиплеер, т.е. исходно Фрил делали и для мультиплеера, хотя это по тем временам больше дополнение,
чем основная функция, но оно точно не предполагало сетевых баталий, с большим кол-вом кораблей и уж точно не капов с большим кол-вом пух.
Итак чуть более года назад решил поставить Фрил и пройти заново.
Прошел, нашел обновления, поставил и опять играл до тех пор пока не уткнулся в "непропускающий" далее портал.
Обновил и оказался ... здесь. Обновлялся Фрил, как вы понимаете отсюда же и регулярно, иначе не зайдешь в игру.
Это предистория. Все это время графика в бою была одна и та же.
Потом решил создать второй ключ, (долгая история), но Фрил который был, я снес и поставил то, что скачивается отсюда.
Графика поменялась. Т.е. далаю вывод, что Андри все таки прав, графика находиться в клиентской части, и на функционирование
не оказывает большого влияния.
Теперь по кол-ву кораблей и пух. Когда собралась большая группа кораблей возле дыри в Процион и в самом Проционе - не было фризов.
Если принять как данность, что обработка графики идет у клиента, то получается, что сервер, грубо говоря, должен передавать клиенту
точку где расположен кор, вектор нос/корма и вектор и скорость движения. Объем корабля для работы клиента в принципе не нужен.
Этих данных вполне достаточно чтобы клиент уже сам доработал картинку.
Обновление этих данных - неизвестно с какой частотой, но и пакеты такого небольшого объема не сильно грузят трафик.
Наверное вы замечали, что при появлении неписей на мисках комп "икает", т.е. на мгновение притормаживает, а значит сервер пересылает
клиенту данные по тому, что до этого не требовалось для работы клиента.
По мортам и пухам - после выстрела они летят прямо, и при обработке всей механики на сервере (та же защита от читерства)
надо всего лишь переслать начальную точку, вектор, скорость и атрибуты, что бы отобразить графику у клиента. Весь выстрел
это всего лишь один пакет каждому клиенту. Торпы типа 1 (условно самонаводящиеся) это или 1 пакет или несколько с очень
маленькой частотой обработки сервером, такие как у Ударников это (напишем тип2 - с нормальным самонаведением) это раз
в 10 большее кол-во пакетов пересылаемых всем участникам (это цена самонаведения), а такие как у Князя и Хеллбоев (условно тип 3)
те вообще просто куча корректировок, которые должны не только общитываться, но отправляться всем участникам боя.
В технике всегда используются наиболее простые и/или экономически обоснованные решения, в программировании не всегда,
поэтому утверждать, что описанное выше именно так и сделано - не берусь, но с большой долей вероятности это так.

Чего то уже много для одного поста написал, если слишком многа букафф - просто не читайте.


Да, ты пришел в итоге к правильным выводам. Причем почти во всем. Почему почти... чуть ниже расскажу. Миша (Акелла) может подтвердить, я ему то же самое рассказывал сегодня по аудиосвязи в скайпе... Правда, ты разрушил тем самым мир Гены (ему снова придется перестраивать в очередной раз линию своего повествования), но то ладно, переживет smile Ты, так же как и я, допускаешь, что можешь ошибаться. Это очень хорошо.

Теперь поясню насчет "почти"...

Цитата SuperA-E23 ()
то получается, что сервер, грубо говоря, должен передавать клиенту
точку где расположен кор, вектор нос/корма и вектор и скорость движения. Объем корабля для работы клиента в принципе не нужен.
Этих данных вполне достаточно чтобы клиент уже сам доработал картинку.


Вот этот момент. Тут не совсем так. Кроме модели каждого корабля, текстур (то, что мы видим) есть кинетическая модель того же корабля (и не только корабля, игровых объектов различных), это сильно упрощенный скелет модели, в который вписывается сама модель. В игре мы эту модель не видим, но именно по ней просчитываются все столкновения с другими объектами. И сервер учитывает положение координат этой модели, когда рассчитывает столкновения. так что объем корабля, как таковой, серверу известен и учитывается. В школе мы вписывали одно геометрическое тело в другое, это именно такой случай. А графика действительно находится в клиентской части. Это и админ мне подтвердил и Гена, слепо копируя чужие слова, не обратил внимание и процитировал то, что графика находится в клиентской части. И да, у торпед-ракет траектория описывается более сложно, поэтому и вычислений с ними больше и нагрузки на сервак,
соответственно. Еще раз повторюсь, что старая игра не рассчитана на такое количество одновременных выстрелов (расчетов, а не эффектов). Эффекты нагружают ваш родной комп, но не сервак.


Цитата GEN13ISH ()
а клиент использовать только для отображения красивой картинки...


И да, Гена, ты когда пытаешься использовать чужие мысли и слова для своей защиты, ты хоть читай все полностью... Ты зачем столько текста "оттуда сюда перекинул", ты не понял то, что там я выше этой ссылки написал, что я эту статью для примера привел? Что это современный масштабный проект а не старая игра Фрилансер, что, естественно, архитектура их серверной части насыщена современными решениями, что у нас и близко нет большинства этих сервисов? Да ты Капитан Очевидность...

Сообщение отредактировал
Andry - Воскресенье, 01.04.2018, 22:30


Dura lex, sed lex!

Status of server: Freelancer Rebirth Server 7.7
[GEN13ISH]



Сообщение оставлено GEN13ISH
01.04.2018 в 22:44 (Воскресенье)


В принципе- всё верно..
А теперь- разберём по существу..Или- попробуем..

В Сингле, благодаря тому, что все эти Пакеты Обнов крутятся внутри одного и того же железа, да и пилот только один- всё работает отлично даже на слабой машине..Нет Проблемы совместимости железа,Совместимости Протоколов передачи Данных, нет Политики запрета определённых транзакций (RPC), нет длинной цепочки задержки Ролей Сервера..
Много чего нет..

Теперь попробую разобрать Мультиплеер с множеством пилотов..

Вот- летит корабль...С Основного сервера на Клиентский ( конечный) комп постоянно идут Пакеты обновления...
Частота этих Обнов мне не известна..Но она конечна.Передаётся всё- скорость, вектор, состояние, количество НПС,смещение координат объектов ....И- ещё куча всего.
Это в (назовём-Исследовательском) режиме...

Теперь- если в системе несколько пилотов..Включается Режим взаимодействия..
Естественно, увеличивается количество Переменных..
Эти пилоты начинают активно взаимодействовать( сражаться)..
Количество Переменных возрастает в геометрии..
Начинается Пик..
Появляется феномен квадратичной зависимости..Каждую Роль пилота необходимо обработать..
Привязать к Карте (системе), вычислить изменяемую геометрию и ещё просчитать огромную кучу постоянно меняющихся факторов..
Всё это- передать на компы Всех пилотов..Получить подтверждение о приёме..И- ещё много чего..

Т.как Фрил- игра, написанная давно(по меркам нынешнего Прогресса), само Многопользовательское приложение( Мультиплеер) было отработано для развёртки Графики не более 1024х768..
Тогда, смею напомнить, основным экраном компов было 4\3...Сейчас -16\9..Про Развёртку -молчу..
Естественно, Протоколы передачи Пакетов, вшитые в Код, остались не изменны..

В статье , которую привёл Андрей, чётко и понятно выводится понятие Лимита игроков,для возможного без Лагового взаимодействия..
Они этот вопрос решили увеличением мощности Железа и жёстким ограничением по нагрузке на одну машину..
У нас, насколько я знаю, только одна..Которая увсё тянет..

Сейчас мы идём к сокращению оружия..
Безусловно, это понизит НЕ основную нагрузку на просчитывание Ролевых сценариев..
Но в тоже время, добавляются спец. эффекты от , вращения некоторых объектов, добавление звёзд, типа как в Опте...
Всё это также обязано быть просчитано, скорректировано, передано и принято обратно..
Это-Основная нагрузка..Причём- добавленная..

В это же время, с сокращением количества орудий, с появлением новых пушек, Морт,да того же Ликвидатора,
НЕ основная нагрузка увеличивается даже больше, чем раньше..
Один выстрел Ликвидатора уже сажает Сервер в жёлтый значёк..
А сам взрыв можно с уверенностью отнести к спец. эффектам..
Следовательно- одна машина НЕ в состоянии всё просчитать и обработать..
Можно вообще оставить на Линках по одному Ликвидатору..
А потом- в ПВП, запустить их друг в друга..Вполне хватит 4х пилотов.. 2е пары..
Сервер просядет однозначно.Хорошо- если вообще не вылетит..

Графика-это не только красивая картинка на Вашем мониторе, а миллионы числовых, обработанных ,переданных и принятых и подтверждённых операций за короткий промежуток времени, ограниченный 24 кадрами в секунду..

Это-Аксиома..


Добавлю простым языком инженера...

Возьмём обычный молоток.. 800 грамм.
Надо в стену забить скобу длинной 250мм, с зубом= 70мм в бетон..
А- не получается- удар слабый..
Мы на ту же рукоятку вешаем 20ти килограммовую болванку..
Размахиваемся...
В итоге-или рукоятка ломается, или болванка бъёт по ногам, или стена рухнет, или скоба лопнет..
Вот- со спец. эффектами и получается что-то похожее..


Всё..Надоело...
По этому поводу- умолкаю..
yes


Сообщение отредактировал
GEN13ISH - Воскресенье, 01.04.2018, 23:08



Status of server: Freelancer Rebirth Server 7.7
[Andry]



Сообщение оставлено Andry
01.04.2018 в 23:23 (Воскресенье)


Вот- летит корабль...С Основного сервера на Клиентский ( конечный) комп постоянно идут Пакеты обновления...

Уважаемый эксперт, позвольте Вам намекнуть, что сервер обменивается с клиентской машиной пакетами данных, а не придуманными Вашим Сиятельством, "пакетами обновлений". В Вашем богатом воображении, навсегда плененном красивой фразой "квадратичная зависимость", смешались в единую причудливую комбинацию два разных понятия... архив (пакет, набор файлов, один файл даже) с обновлением - это то, что наш админ загружает каждый раз, когда вводится что-то новое в мод, например, очередной Ваш уникальный кораблик и все, что с ним связанно (в том числе и те самые злополучные эффекты, которые Вам так не дают покоя). Вы радостно качаете это обновление и после этого пользуетесь всеми Вашими "свистоперделками" (и все остальные игроки тоже, потому что они тоже все скачивают это же обновление, которым дополняется клиентская часть каждого игрока). А самостоятельно сервер с клиентской частью обменивается пакетами данных... в них, как раз, и передаются координаты, события и т.д. (графики там нет! нет! нет! еще раз нет, для надежного прочтения).

Цитата GEN13ISH ()
Т.как Фрил- игра, написанная давно(по меркам нынешнего Прогресса), само Многопользовательское приложение( Мультиплеер) было отработано для развёртки Графики не более 1024х768..
Тогда, смею напомнить, основным экраном компов было 4\3...Сейчас -16\9..Про Развёртку -молчу..
Естественно, Протоколы передачи Пакетов, вшитые в Код, остались не изменны..


Да будет Вам известно, уважаемый эксперт, что серверу наплевать на установленное на Вашем прекрасном компе экранное разрешение, вообще... то есть абсолютно никак оно его не волнует и уж, тем более, на формат экрана Вашего монитора :), это уже вообще за гранью... Вашу безграмотность сервер тоже, к сожалению, игнорирует. В противном случае он бы Вас кикал за нее после каждого написанного Вами предложения.




Dura lex, sed lex!

Status of server: Freelancer Rebirth Server 7.7
[GEN13ISH]



Сообщение оставлено GEN13ISH
02.04.2018 в 01:14 (Понедельник)




Status of server: Freelancer Rebirth Server 7.7
[SuperA-E23]



Сообщение оставлено SuperA-E23
02.04.2018 в 08:11 (Понедельник)


Ты, так же как и я, допускаешь, что можешь ошибаться. Это очень хорошо.

Я не просто допускаю, я это знаю. Работа накладывает отпечатки на мировоззрение.
Правда у каждого своя, истина одна. Вот к ней и стремимся.
И плевать на собственное мнение, если оно неправильное, истина дороже smile
Reverse engineering которым приходилось заниматься, причем с объектами, которые
не только разбирать нельзя, но даже нельзя останавливать их работу, и только по косвенным
признакам понимать принцип их работы, приучает к однозначной мысли, что, наверное,
90 % изначальных предположений не являются истиной.
Я же, в данном случае, только высказываю предположения не делая окончательных выводов.
Ну да это беллетристика. Давайте к сути.


Цитата Andry ()
Теперь поясню насчет "почти"...

Цитата SuperA-E23 ()
то получается, что сервер, грубо говоря, должен передавать клиенту
точку где расположен кор, вектор нос/корма и вектор и скорость движения. Объем корабля для работы клиента в принципе не нужен.
Этих данных вполне достаточно чтобы клиент уже сам доработал картинку.

Вот этот момент. Тут не совсем так. Кроме модели каждого корабля, текстур (то, что мы видим) есть кинетическая модель того же корабля (и не только корабля, игровых объектов различных), это сильно упрощенный скелет модели, в который вписывается сама модель. В игре мы эту модель не видим, но именно по ней просчитываются все столкновения с другими объектами. И сервер учитывает положение координат этой модели, когда рассчитывает столкновения. так что объем корабля, как таковой, серверу известен и учитывается.


Да, естественно, что упрощенная модель существует, но для работы клиента она не нужна. Просто пока не
вижу для чего она может пригодиться клиенту.
Если вся механика обсчитывается на сервере, то клиенту выдается только конечный
результат - ты столкнулся, а значит очередной пакет содержит новые точки, вектора, скорости и атрибуты.
Далее - вспоминаю как вылетал с базы охотников в Новой Амазонии на крейсере - застрял внутри станции.
Крутиться можно, но не на все 360 градусов, вперед/назад тоже можно, но совсем на чуть чуть.
Т.е. одна модель может двигаться внутри другой модели, до тех пор пока не пересекает, как бы
так сказать, расчетные линии. Если же попасть капом на склад, то его модель вполне пройдет через
скелет капа. Легкие коры так же спокойно проходят через скелет станций.
По кол-ву пух дополнение - они тоже являются связанными со скелетом кора объектами со своими атрибутами
(они крутятся минимум в 2-х плоскостях, их можно отстрелить и они могут потом самостоятельно дрейфовать в
космосе) и серверу их тоже надо обрабатывать.
На наличие такого скелета не совпадающего с графикой указывает еще и то, что пухи могут стрелять через
саму графику корабля, что каждый мог наблюдать на своих корах. Мертвые зоны секторов обстрела -
пересечение линии выстрела со скелетом, но не с графикой.

Опять много букафф, надеюсь не забанят за разглагольствования.



Work must be done.

Status of server: Freelancer Rebirth Server 7.7
[neksus]



Сообщение оставлено neksus
02.04.2018 в 16:07 (Понедельник)




Status of server: Freelancer Rebirth Server 7.7
[Vivat]



Сообщение оставлено Vivat
02.04.2018 в 17:09 (Понедельник)




Может кто подсказать, где пурпан добыть?
Заранее спасибо.

Крафт , если память не изменяет.




Status of server: Freelancer Rebirth Server 7.7
[izuminka000]



Сообщение оставлено izuminka000
02.04.2018 в 17:12 (Понедельник)


Может кто подсказать, где пурпан добыть?
Заранее спасибо.


Купить у тех кто занимается крафтом. Ищи их в Нетральной системе.




Status of server: Freelancer Rebirth Server 7.7
[kosmo-7em]



Сообщение оставлено kosmo-7em
02.04.2018 в 18:23 (Понедельник)




Status of server: Freelancer Rebirth Server 7.7
[Bugimen]



Сообщение оставлено Bugimen
02.04.2018 в 20:35 (Понедельник)




Status of server: Freelancer Rebirth Server 7.7
[neksus]



Сообщение оставлено neksus
02.04.2018 в 23:37 (Понедельник)




Status of server: Freelancer Rebirth Server 7.7
[izuminka000]



Сообщение оставлено izuminka000
03.04.2018 в 09:21 (Вторник)


Я почему-то не нашел его в крафте. Он в каком разделе?


/bammo




Status of server: Freelancer Rebirth Server 7.7
[poprugun4iktv]



Сообщение оставлено poprugun4iktv
03.04.2018 в 19:58 (Вторник)


Графика-это не только красивая картинка на Вашем мониторе, а миллионы числовых, обработанных ,переданных и принятых и подтверждённых операций за короткий промежуток времени, ограниченный 24 кадрами в секунду..

Ага, а каждый глаз видит лишь по 12 кадров в секунду, поэтому на монитор смотреть надо обоими biggrin




Status of server: Freelancer Rebirth Server 7.7
[izuminka000]



Сообщение оставлено izuminka000
04.04.2018 в 00:32 (Среда)


Ага, а каждый глаз видит лишь по 12 кадров в секунду, поэтому на монитор смотреть надо обоими

Ты зачем чужую цитату мне приписываешь?




Status of server: Freelancer Rebirth Server 7.7
[poprugun4iktv]



Сообщение оставлено poprugun4iktv
04.04.2018 в 16:46 (Среда)




Status of server: Freelancer Rebirth Server 7.7
Форум » Форум » Беседка » Беседка (Всё что касается игры и только её!)
Поиск:


Настройки оповещения
Выключить звук
Выключить оповещение
Новое сообщение от
загрузка..
Преимущества авторизованных
Больше возможностей и не только
А вам первого недостаточно? :)
Отсутствие бросающейся рекламы в глаза
Возможность писать в мини чате
Ещё возможности