HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashNT: блог разработчика
Часть I
Страницы (255): « Первая ... « 248 249 250 251 [252] 253 254 255 »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 33044
Нанёс повреждений: 392 ед.

Рейтинг



Наконец-то добрался до имплементации сетевого движка.
Точнее в XashNT он уже есть - достался в наследство от старого ксаша.
Но его всё равно надо переписывать. И самое главное - избавиться от этой долбаной структуры entity_state_t, которая в старом ксаше буквально пронизывала весь движок. Потому что обязательно возникает ситуация когда переменных которые надо передать на отрисовку - недостаточно.
И надо расширять эту структуру, перекомпиливать ядро и ломать совместимость. В принципе, этим болели все движки Кармака в 90х.
Ну тогда это было оправдано. В Хл2 и Дуум3 уже сделали возможность отсылать любое кол-во переменных на клиент, а значит и в рендер.
Но как сделали?! Виртуальной машины не было ни там ни там, значит всё руками прописывали. Сотни однотипных строчек либо в таблице (хл2) либо прямо в функциях (дум3). Что-нибудь где-нибудь забудешь и привет.
В виртуальной машине есть релфексия + я ещё специально принял меры для сохранения параметров передачи по сети прямо на уровне компиляции игрового кода. Так что теперь это будет выглядеть практически незаметно для пользователя.
Любопытные бета-тестеры, если они изучали исходники сэмплов на Шоте наверняка обращали внимания, что там практически нет никакой информации о том, какие переменные объектов надо сохранять в сейв.
Тем не менее всё корректно сохраняется. С сетью будет аналогично.

Добавлено 21-07-2024 в 16:43:

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

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | IP: Записан
Сообщение: 221383

Старое сообщение 21-07-2024 13:43
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 13516
Возраст: 33

Рейтинг



Веб сокеты будут? Коннект онли по айпи? Поддержка прокси? Поддержка мастер сервера? Будет ли дедикатед сервер? Передача файлов по сети? Закачка ресурсов игры/обновлений с сервера? Обработка большого количества игроков? Защита от дудоса? Шифрование трафика? Защиты от выполнения пользователями админских команд? Базовые средства авторизации (например по MAC адресу или логину и паролю?).

Если тебе нужна помощь с тестированием могу создать тебе выделенный сервер, белый ip у меня есть.

В хл и кваках неплохой сетевой движок, но как ты говорил сегодня даже стыдно такое показывать.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!

Отредактировано FiEctro 21-07-2024 в 14:17

Сообщить модератору | IP: Записан
Сообщение: 221384

Старое сообщение 21-07-2024 14:03
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 33044
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
FiEctro писал:
Веб сокеты будут?

Я не знаю что такое веб-сокеты.

Цитата:
FiEctro писал:
Коннект онли по айпи?

В тех же кваках никогда не было коннекта онли по айпи, там айпи + купорт.

Цитата:
FiEctro писал:
Поддержка прокси?

Надо разбираться.

Цитата:
FiEctro писал:
Поддержка мастер сервера?

Да

Цитата:
FiEctro писал:
Будет ли дедикатед сервер?

Да

Цитата:
FiEctro писал:
Передача файлов по сети?

Передача по UDP медленная. Я так понимаю щас так больше никто не делает.

Цитата:
FiEctro писал:
Закачка ресурсов игры/обновлений с сервера?

Вот так сейчас все делают. Вместо P2P передачи.

Цитата:
FiEctro писал:
Обработка большого количества игроков?

Насколько большого? Я не уверен что всё это можно масштабировать на более чем 32 игрока. Просто в плане производительности. Это изначально нужна какая-то схема когда сервер работает на куче ядер. И всё это накладывает отпечаток на написание как игрового кода, так и прочего.
Т.е. highload система. Но опять же - если у нас не ураганный шутер, а пошаговая стратегия, то кол-во игроков может быть и сильно больше.
Я просто не знаю как всё это сейчас устроено. Ну вот в типичном баттл-рояле сколько игроков обычно участвует? А если это скажем ворлд оф танкс или ворлд оф шипс? Или Эскейп фром Тарков? Просвети, какие там средние значения.

Цитата:
FiEctro писал:
Защита от дудоса?

Да, но надо понять сам характер дудоса. Через что спамят. С Альбатроссом проконсультируюсь.

Цитата:
FiEctro писал:
Шифрование трафика?

Да.

Цитата:
FiEctro писал:
Защиты от выполнения пользователями админских команд?

Да.

Цитата:
FiEctro писал:
Базовые средства авторизации (например по MAC адресу или логину и паролю?).

Да.

По кол-ву игроков просвети пожалуйста. Это весьма важный момент.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | IP: Записан
Сообщение: 221385

Старое сообщение 21-07-2024 15:30
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 13516
Возраст: 33

Рейтинг



https://ru.wikipedia.org/wiki/WebSocket
Веб сокеты, веб реквесты.

Это веб запросы как у тебя в браузере. Можно таким образом обратиться на http сервер и получать данные с него.

Вот например что может посылать тебе сервер чтобы игра знала время интернета:
http://worldtimeapi.org/api/timezone/America/New_York

Цитата:
Дядя Миша писал:
Насколько большого? Я не уверен что всё это можно масштабировать на более чем 32 игрока. Просто в плане производительности. Это изначально нужна какая-то схема когда сервер работает на куче ядер. И всё это накладывает отпечаток на написание как игрового кода, так и прочего.
Т.е. highload система. Но опять же - если у нас не ураганный шутер, а пошаговая стратегия, то кол-во игроков может быть и сильно больше.
Я просто не знаю как всё это сейчас устроено. Ну вот в типичном баттл-рояле сколько игроков обычно участвует? А если это скажем ворлд оф танкс или ворлд оф шипс? Или Эскейп фром Тарков? Просвети, какие там средние значения.


Цитата:
Дядя Миша писал:
По кол-ву игроков просвети пожалуйста. Это весьма важный момент.



Я не очень разбираюсь в этой теме, но по сути самое основное это обновление не всей локации, а только тех мест что в пределах видимости клиента. Всё остальное фризится. Либо разбивают изначально одну большую локацию на чанки.

Если игроков одновременно в чанке очень много, он может прятать более дальних игроков и рисовать только тех что близко (например можно сделать квар на максимальное количество игроков в кадре). Или делать им разную частоту обновления. Понятно же что те кто очень близко должны обновляться намного чаще чем те кто в 10-20 метрах, там такие пролаги не особо заметны. Эта идея чем то напоминает LODы.

Я конечно ещё поспрашиваю, но каких то особых чудес не стоит ожидать. Все крупноонлайновые игры опираются на чанковую структуру.

Ну и оптимизация самих данных. Например битовые флаги можно просто пакетом как число инт передавать. Не знаю имеет ли это вообще смысл, но такой подход например использовала первая Мафия, хотя не помню была там сеть или нет.

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

В батл роялях обычно 64 игрока на сервере если не ошибаюсь.

Насчёт ГТА процитирую:
В ГТА5 интересная структура, она работает за счет дистанции между игроками, каждый игрок это по сути отдельный мир, когда два игрока встречаются их миры сливаются воедино, когда третий игрок сталкивается с их миром то уже три игрока в одном мире, вот и получается что по карте ГТА5 может быть с десяток другой игровых миров не связанных друг с другом бегать, но если 128 игроков встанут на определенное расстояние друг от друга чтоб миры не разъединились то они смогу засинхронить +-1/4 карты ГТА5
сервер в этот момент спасибо не скажет)
по этому на ГТА5 РП это расстояние сильно уменьшается чтоб увеличить плотность игроков на один квадратный метр

почему я так считаю?
потому что во время игры в ГТА5 я заметил особенность что при определенном расстоянии игра уходит в легкий лаг, потому что подключает меня к миру игроков который находятся в своем пузыре


Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.



Цитата:
Дядя Миша писал:
В тех же кваках никогда не было коннекта онли по айпи, там айпи + купорт.


Да не важно. А можно например адрес сервера указать? Ну там http://xash3d.ru ? Просто голые айпи выкладывать на публику это не очень безопасно. И это хороший хлеб для мамкиных дудосеров.


Ты же есть на https://gamedev.ru/ ? Спроси там, думаю там должны быть толковые сетевеки.


Цитата:
Дядя Миша писал:
А если это скажем ворлд оф танкс или ворлд оф шипс? Или Эскейп фром Тарков?


Там вроде не более 64 игроков на сервере. 32 уже давно никто не использует.

Добавлено 21-07-2024 в 20:00:

Цитата:
Дядя Миша писал:
Передача по UDP медленная. Я так понимаю щас так больше никто не делает.


Да я бы не сказал, я гигабайты через неё передавал. Почему то именно в 3д движках она как то калечно работает, вот почему - не знаю. Наверное ограничивают скорость чтобы не забивало весь канал и игроки не ощущали лагов. Но можно же для ресурсов задать и кастомный сервер (например облако), нафига вешать всё на игровой?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!

Отредактировано FiEctro 21-07-2024 в 17:20

Сообщить модератору | IP: Записан
Сообщение: 221386

Старое сообщение 21-07-2024 17:00
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 33044
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
FiEctro писал:
https://ru.wikipedia.org/wiki/WebSocket
Веб сокеты, веб реквесты.

Цитата:
К настоящему моменту переходит в разряд устаревших технологий в связи с развитием WebAssembly и WebAssembly System Interface

Понятно.

Цитата:
FiEctro писал:
Я не очень разбираюсь в этой теме, но по сути самое основное это обновление не всей локации, а только тех мест что в пределах видимости клиента. Всё остальное фризится. Либо разбивают изначально одну большую локацию на чанки.

Ну что тут разбираться. Ты играл, я нет. Ты не знаешь сколько в среднем игроков в онлайне?

Цитата:
FiEctro писал:
Да не важно. А можно например адрес сервера указать? Ну там http://xash3d.ru ? Просто голые айпи выкладывать на публику это не очень безопасно. И это хороший хлеб для мамкиных дудосеров.

Да его по идее всегда можно было указывать. Даже в старом ксаше.

Цитата:
FiEctro писал:
Там вроде не более 64 игроков на сервере. 32 уже давно никто не использует.


Как оптимизировать сеть я и сам знаю. Но есть же разница оптимизировать под 64 игрока или оптимизировать под десятки тысяч игроков
32, 64, 128 - это всё немного игроков. Ты мне все ушы прожужжал как подымал на юнити сервера на котором одновременно играло 5 миллионов игроков. Разумеется я не смогу такое сделать.

Цитата:
FiEctro писал:
Да я бы не сказал, я гигабайты через неё передавал

TCP это надстройка над UDP. Но в своём исходном виде там очень малый размер пакетов.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | IP: Записан
Сообщение: 221387

Старое сообщение 21-07-2024 19:55
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 13516
Возраст: 33

Рейтинг



Цитата:
Дядя Миша писал:
Как оптимизировать сеть я и сам знаю. Но есть же разница оптимизировать под 64 игрока или оптимизировать под десятки тысяч игроков
32, 64, 128 - это всё немного игроков. Ты мне все ушы прожужжал как подымал на юнити сервера на котором одновременно играло 5 миллионов игроков. Разумеется я не смогу такое сделать.


Вот ты опять вырвал какие то слова из контекста, а по существу ничего не написал. Только "я и сам знаю". Тогда чего спрашивал то? И для кого я всё это расписывал? Я написал чем отличается, как раз таки более плотной оптимизацией чтобы обновлять весь мир частями, а так же самих игроков по умному. А не пихать всё в один стакан как это делал Кармак.

Цитата:
Дядя Миша писал:
Ну что тут разбираться. Ты играл, я нет. Ты не знаешь сколько в среднем игроков в онлайне?


Я написал, в танках и баттлроялях примерно 64. Если нужны сотни и тысячи игроков, их надо делигировать. 32 редко где встречается.

Цитата:
Дядя Миша писал:
К настоящему моменту переходит в разряд устаревших технологий в связи с развитием WebAssembly и WebAssembly System Interface


Смысл не меняется. Там только фреймворки разные.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!

Отредактировано FiEctro 21-07-2024 в 20:23

Сообщить модератору | IP: Записан
Сообщение: 221388

Старое сообщение 21-07-2024 20:12
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 33044
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
FiEctro писал:
Тогда чего спрашивал то?

Я спрашивал сколько в современных играх в среднем игроков на сервере.
Я понимаю, тебя это удивляет, что человек может написать сетевой движок, но не знает сколько в среднем сейчас в онлайне. Но у каждого своя профдеформация. То есть мой вопрос - он из разряда простейших, но в то же время таких, которые сходу не нагуглишь. Поэтому я и спросил.
А как оптимизировать я и сам прекрасно знаю. Но есть же разница оптимизировать под 64 игрока или под 5 миллионов игроков.

Цитата:
FiEctro писал:
Если нужны сотни и тысячи игроков, их надо делигировать

Это как ?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | IP: Записан
Сообщение: 221389

Старое сообщение 21-07-2024 20:53
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 13516
Возраст: 33

Рейтинг



Цитата:
Дядя Миша писал:
Это как ?


Ну ты же только что написал что знаешь как оптимизировать Я выше написал всё, вот эти оптимизации делать надо.

Цитата:
Дядя Миша писал:
Я спрашивал сколько в современных играх в среднем игроков на сервере.
Я понимаю, тебя это удивляет, что человек может написать сетевой движок, но не знает сколько в среднем сейчас в онлайне. Но у каждого своя профдеформация. То есть мой вопрос - он из разряда простейших, но в то же время таких, которые сходу не нагуглишь. Поэтому я и спросил.


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

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!

Отредактировано FiEctro 21-07-2024 в 21:05

Сообщить модератору | IP: Записан
Сообщение: 221390

Старое сообщение 21-07-2024 20:59
- За что?
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4760
Возраст: 35

Рейтинг



Цитата:
Дядя Миша писал:
Я спрашивал сколько в современных играх в среднем игроков на сервере.

В Майнкрафте на одной карте(буквально) в одном потоке (фиговая архитектура) 250-275 игроков потолок, тикрейт ~15, там последней модели core i9 на сервере. Но это они 10 лет сидели на апдейте 2012 года, все последующие апдейты тормознее. А параллельную архитектуру сервера официально не делали а неофициально была попытка но я не следил за ней. https://www.reddit.com/r/2b2t/comme...ers_apparently/

Отредактировано Crystallize 22-07-2024 в 01:27

Сообщить модератору | IP: Записан
Сообщение: 221391

Старое сообщение 22-07-2024 01:16
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 33044
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
FiEctro писал:
Ну ты же только что написал что знаешь как оптимизировать

Я знаю как соптимизировать до 255 игроков, да и то...
А если их сотни тысяч - я не знаю.

Цитата:
Crystallize писал:
в одном потоке (фиговая архитектура) 250-275 игроков потолок

Ну ясно. Параллельный сервер я тоже скорее всего делать не буду, ибо это в первую очередь наложит плотный отпечаток на обустройство пользовательского кода и создаст массу ограничений. Которые будут преодолевать странными костылями. А вот вынести сервер в отдельный поток - это можно.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | IP: Записан
Сообщение: 221395

Старое сообщение 22-07-2024 11:51
-
SNMetamorph
Житель форума

Дата регистрации: Jun 2018
Проживает: Ижевск
Сообщений: 629

Рейтинг



Цитата:
FiEctro писал:
В хл и кваках неплохой сетевой движок, но как ты говорил сегодня даже стыдно такое показывать.

Фундаментально ничего там так и не поменялось за 20+ лет. Всё те же абстракции поверх голого UDP, всё та же дельта-компрессия (и то, даже не везде) и предиктинг с интерполяцией. Я бы сказал, стало даже хуже, ибо повырезали практически отовсюду возможность пользователям самим поднимать игровые сервера, итого всё стало полностью централизованным и можно игру считать полностью мёртвой после того, как разработчики отключат сервера по причине нерентабельности проекта. Единственное отличие в лучшую сторону, это пожалуй то, что сейчас наконец начинает постепенно появляться IPv6 во всеобщей доступности, но до игр пока это толком не добралось. Ну в FWGS форке этот протокол давным давно уж поддерживается, так что мы к новой эре официально готовы, можно сказать.

Цитата:
FiEctro писал:
Да не важно. А можно например адрес сервера указать? Ну там http://xash3d.ru ? Просто голые айпи выкладывать на публику это не очень безопасно. И это хороший хлеб для мамкиных дудосеров.

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

Цитата:
Дядя Миша писал:
Передача по UDP медленная. Я так понимаю щас так больше никто не делает.

Не совсем. Теперь просто никакой передачи файлов не существует, т.к. не существует и дедикейтед серверов с неким кастомным контентом. Сегодняшние игры в плане гибкости моддинга просто отвратительны.

Цитата:
FiEctro писал:
Шифрование трафика?

Тут я бы порекомендовал ДМ копать в сторону алгоритма Диффи-Хеллмана, и уже от этого отталкиваться.

Добавлено 23-07-2024 в 03:28:

По поводу прокси, наткнулся на статью интересную, может кому то приглянется
https://hlmod.net/articles/proksiro...iva-haproxy.25/

__________________
Мой сайт
Xash3D Modding Discord

Сообщить модератору | IP: Записан
Сообщение: 221397

Старое сообщение 22-07-2024 23:28
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 33044
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
SNMetamorph писал:
Единственное отличие в лучшую сторону, это пожалуй то, что сейчас наконец начинает постепенно появляться IPv6 во всеобщей доступности

Я бы сказал это отличие в никакую сторону. IPv6 не даёт абсолютно ничего.
На Хабре в каментах к той или иной статье не раз была дискуссия по этому поводу, всегда неизменно сходились на том, что "нинужен".

Цитата:
SNMetamorph писал:
Теперь просто никакой передачи файлов не существует, т.к. не существует и дедикейтед серверов с неким кастомным контентом. Сегодняшние игры в плане гибкости моддинга просто отвратительны.

Всё что не приносит денег пошло под нож, да. Надо будет над этим подумать.

Добавлено 23-07-2024 в 09:22:

Тут ещё стоит отметить, что в данный момент я пока ещё даже не саму сеть делаю. Сеть, как я уже говорил, осталась от старого ксаша. Я сейчас делаю абстрактный механизм передачи объектов по сети. После чего сеть всё равно толком работать не будет. Для чего это нужно?
Для того чтобы всё работало в юниформе. Т.е. что сингл, что мульт - данные отправляются в изолированный участок клиентских данных.
Чтобы не возникало ситуации, когда всё это только в сингле и работает.
Второй момент - интерполяция. Серверная интерполяция это какой-то оксюморон. Мне буквально приходится её на шоте городить для каждого случая. Это дико неудобно. Клиентская же будет автоматически работать для всего, чтобы голова не болела.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | IP: Записан
Сообщение: 221398

Старое сообщение 23-07-2024 06:22
-
SNMetamorph
Житель форума

Дата регистрации: Jun 2018
Проживает: Ижевск
Сообщений: 629

Рейтинг



Цитата:
Дядя Миша писал:
Я бы сказал это отличие в никакую сторону. IPv6 не даёт абсолютно ничего.

Тут смотря с какой перспективы смотреть. Для какой-нибудь типичной MMO-игры это действительно ничего не меняет. Но для любого софта, который позволяет тебе самому поднять свой сервер, это наконец-то гора с плеч. Потому что уже довольно давно провайдеры садят клиентов под NAT ради экономии IPv4-адресов, в результате этого клиенты просто не могут принимать входящие соединения напрямую, приходится либо покупать у провайдера выделенный IP (иногда такой опции в принципе нет, или это дорого), либо городить всякие UDP/TCP hole punching или же STUN-протокол, да только вот эти костыли всё равно не дают 100% гарантий работы, исход сильно зависит от того, как у провайдера настроен NAT. А в новом IPv6 провайдеры спокойно всем подряд раздают выделенные адреса, в итоге все ко всем могут подключаться напрямую без каких либо обходных путей и игрой с вероятностями. Плюс, хостинги тоже могут стать дешёвле, т.к. больше не требуется платить очень накрученную аренду за IPv4-адреса, которых незарезервированных осталось очень мало. В РФ уже Мегафон и МТС всем своим сотовым абонентам раздают IPv6-адреса, а вот на проводных подключениях этот процесс идёт медленнее, видимо нехватка адресов там выражена менее остро. Но тот же Ростелеком и Дом.ру уже во многих регионах раздают IPv6 и на проводных подключениях.

Сообщить модератору | IP: Записан
Сообщение: 221399

Старое сообщение 23-07-2024 09:34
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 33044
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
SNMetamorph писал:
Но для любого софта, который позволяет тебе самому поднять свой сервер, это наконец-то гора с плеч.

Ну если в этом плане смотреть, то да. Но опять же - не все провайдеры это поддерживают даже в 2024-м году.

Странное чувство. Разработка XashNT фактически началась в июле 2019-го года. И шла линейно до сентября 2019-го года. С достаточно простым списком того что надо сделать. А потом передо мной встала ровно та же самая задача - определить дельту для отправки по сети. Я уже даже написал класс имплементации дельта-буффера, по аналогии с сейв-рестором и понял что это всё будет опять не то. Опять те же яйца в профиль. И отложил в сторонку, занялся разработкой новых форматов уровней, моделей, системы материалов, потом создал язык Шот, потом были первые тесты, пернос первого и второго квейка на новый Ксаш и вот наконец, спустя почти четыре года, весь этот стек задач который внезапно вырос передо мной 17-го сентября 2019-го года оказался исчерпан
Не на 100% конечно, там ещё будут задачки, но вот этот тихий ужос, когда одно цепляется за другое, другое за третье и так до 20 уровней вложенности - вот это я полностью прошёл и реализовал. Кстати врагу не пожелаешь. И второй раз я бы совершенно не хотел это повторять.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | IP: Записан
Сообщение: 221400

Старое сообщение 23-07-2024 10:47
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 13516
Возраст: 33

Рейтинг



Цитата:
Дядя Миша писал:
Странное чувство. Разработка XashNT фактически началась в июле 2019-го года. И шла линейно до сентября 2019-го года. С достаточно простым списком того что надо сделать. А потом передо мной встала ровно та же самая задача - определить дельту для отправки по сети. Я уже даже написал класс имплементации дельта-буффера, по аналогии с сейв-рестором и понял что это всё будет опять не то. Опять те же яйца в профиль. И отложил в сторонку, занялся разработкой новых форматов уровней, моделей, системы материалов, потом создал язык Шот, потом были первые тесты, пернос первого и второго квейка на новый Ксаш и вот наконец, спустя почти четыре года, весь этот стек задач который внезапно вырос передо мной 17-го сентября 2019-го года оказался исчерпан
Не на 100% конечно, там ещё будут задачки, но вот этот тихий ужос, когда одно цепляется за другое, другое за третье и так до 20 уровней вложенности - вот это я полностью прошёл и реализовал. Кстати врагу не пожелаешь. И второй раз я бы совершенно не хотел это повторять.



Бывают вещи которые проще написать с нуля, чем ломать чужую архитектуру написанную под совсем иные задачи.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!

Сообщить модератору | IP: Записан
Сообщение: 221401

Старое сообщение 23-07-2024 12:03
- За что?
Тема закрыта Дядя Миша 04-08-2024 в 10:49
Временная зона GMT. Текущее время 20:16. Новая тема    Ответить
Страницы (255): « Первая ... « 248 249 250 251 [252] 253 254 255 »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashNT: блог разработчика
Часть I
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024