The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Компания Valve открыла реализацию системы TCP-подобных комму..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Компания Valve открыла реализацию системы TCP-подобных комму..."  +/
Сообщение от opennews (??) on 31-Мрт-18, 21:57 
Компания Valve перевела в разряд свободного ПО библиотеку GameNetworkingSockets (https://github.com/ValveSoftware/GameNetworkingSockets) с реализацией системы передачи сообщений поверх UDP, которая может применяться для организации высокоскоростного и надёжного сетевого обмена данными в играх. Код написан на языке С++ и поставляется (https://github.com/ValveSoftware/GameNetworkingSockets) под лицензией BSD.

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


Имеется встроенная поддержка шифрования канала связи. Данные в  пакетах шифруются с использованием алгоритма  блочного шифрования AES, а для обмена ключами и проверки сертификатов применяются цифровые подписи базе на эллиптических кривых Ed25519. Механизмы доставки ключей  и выбора вектора инициализации для каждого пакета основаны на методах, применяемых в протоколе QUIC (https://www.opennet.dev/opennews/art.shtml?num=42063).


Кроме библиотеки c реализацией класса SteamNetworkingSockets разработчикам также предложен инструментарий для симуляции потери пакетов и получения детальной статистики. Среди необходимых для сборки зависимостей: OpenSSL,  Google protobuf, ed25519-donna (https://github.com/floodyberry/ed25519-donna), curve25519-donna (https://github.com/agl/curve25519-donna) и ujson (компактный парсер JSON, который уже включен в состав GameNetworkingSockets.


Из планов на будущее называется переработка кода "SNP", который отвечает за инкапсуляцию API-сообщений к UDP-пакеты и выполнение таких операций как фрагментация и персборка слишком больших пакетов, cлияние мелких сообщений и переотправка потерянных фрагментов. В новой реализации появится более продвинутая реализация скользящего окна и полноценная возможность упорядочивания пакетов (сейчас пакет пришедший не по порядку просто отбрасывается). Также планируется уйти от применения специфичных для Steam идентификаторов CSteamID в пользу более универсальной структуры идентификации.


URL: https://www.reddit.com/r/gamedev/comments/88f08i/valves_game.../
Новость: https://www.opennet.dev/opennews/art.shtml?num=48371

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


6. "Компания Valve открыла реализацию системы TCP-подобных комму..."  +1 +/
Сообщение от Андрей (??) on 31-Мрт-18, 22:06 
> TCP-подобных коммуникаций поверх UDP

SCTP наборот.

> GameNetworkingSockets реализует поверх UDP похожий на TCP протокол, обеспечивающий установку соединения, но ориентированный на передачу сообщений вместо потоков.

Странно, а здесь получается, что скорее SCTP.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Компания Valve открыла реализацию системы TCP-подобных комму..."  +/
Сообщение от Андрей (??) on 31-Мрт-18, 22:07 
наоборот*
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Компания Valve открыла реализацию системы TCP-подобных комму..."  –1 +/
Сообщение от anonymous (??) on 31-Мрт-18, 22:55 
Похоже под "TCP-подобных коммуникаций" подразумевалась гарантия доставки, но не очередность. Как раз таки их собственная работа, подобная SCTP.
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

9. "Компания Valve открыла реализацию системы TCP-подобных комму..."  +7 +/
Сообщение от Аноним (??) on 31-Мрт-18, 23:17 
Всё что угодно приходится делать, но не впиливать SCTP в винду.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

16. "Компания Valve открыла реализацию системы TCP-подобных комму..."  +/
Сообщение от Аноним (??) on 01-Апр-18, 05:30 
Если бы проблема только в винде была. SCTP умер из-за миллионов г%внороутеров в интернете, не умеющих NAT для него.
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

18. "Компания Valve открыла реализацию системы TCP-подобных комму..."  +/
Сообщение от anomymous on 01-Апр-18, 09:26 
1) Гуглим sctp vulnerability.
2) Понимаем, что лучше велосипед.
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

28. "Компания Valve открыла реализацию системы TCP-подобных комму..."  +/
Сообщение от anonymous (??) on 01-Апр-18, 13:54 
Дело не в уязвимостях, их пофиксят. Сложность в том, что надо взять и разом обновить все маршрутизаторы в интернете чтобы они перестали дропать незнакомый им протокол SCTP. Поэтому и велосипедят поверх UDP.
Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

33. "Компания Valve открыла реализацию системы TCP-подобных комму..."  +1 +/
Сообщение от anomymous on 01-Апр-18, 21:47 
Их за 10 лет столько было именно в SCTP, что это лучше не трогать. Даже палочкой.
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

38. "Компания Valve открыла реализацию системы TCP-подобных комму..."  +/
Сообщение от nuclight email(??) on 04-Апр-18, 01:42 
И тут, ВНЕЗАПНО, основные реализации SCTP умеют инкапсулироваться в UDP именно для решения этой проблемы.
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

24. "Компания Valve открыла реализацию системы TCP-подобных комму..."  +1 +/
Сообщение от Аноним (??) on 01-Апр-18, 12:54 
Давно есть юзерленд стек под всех ОС включая винду https://github.com/sctplab/usrsctp
и там есть поддержка sctp over udp
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

41. "Компания Valve открыла реализацию системы TCP-подобных комму..."  +/
Сообщение от Аноним (??) on 07-Апр-18, 20:38 
> Всё что угодно приходится делать, но не впиливать SCTP в винду.

Ну так убеди MS это сделать. Во все реально используемые версии винды и прочие макоси. Чарт популярности операционок можешь в Steam посмотреть. И еще промежуточное сетевое оборудование и софт.

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

10. "Компания Valve открыла реализацию системы TCP-подобных комму..."  +/
Сообщение от Аноним (??) on 31-Мрт-18, 23:18 
Подобного добра существует достаточно. Вот, например, http://udt.sourceforge.net/, тоже на C++. Там уже реализовано управление перегрузкой, переотправка потерянных фрагментов, переупорядочевание.

PS Вот бы подобное, дополняющее встроенное управление перегрузкой, для DCCP: гарантированная доставка и переупорядочевание.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

11. "Компания Valve открыла реализацию системы TCP-подобных комму..."  +2 +/
Сообщение от YetAnotherOnanym (ok) on 01-Апр-18, 00:19 
Ну, пусть будет. Можбыть для какой-нить телеметрии или месседжинга сгодится - там тоже "message instead of stream"
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

12. "Компания Valve открыла реализацию системы TCP-подобных комму..."  +1 +/
Сообщение от Crazy Alex (ok) on 01-Апр-18, 00:33 
Откровенно говоря, оно почти везде лучше. Даже если файл грузишь часто выгодно делать это какими-нибудь чанками - на принимающей стороне раскладывать проще, обрывы всякие обработать и прочее. Уж не знаю, почему стримы так прижились.
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

13. "Компания Valve открыла реализацию системы TCP-подобных комму..."  +/
Сообщение от fail_ on 01-Апр-18, 02:54 
> Откровенно говоря, оно почти везде лучше. Даже если файл грузишь часто выгодно
> делать это какими-нибудь чанками - на принимающей стороне раскладывать проще, обрывы
> всякие обработать и прочее. Уж не знаю, почему стримы так прижились.

имо, из-за текстовки: <cr><lf> и "конец пакета", а то конгресс, немцы какие-то (с) - вернее с TLV приходится слегка серое в-во напрягать.

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

14. "Компания Valve открыла реализацию системы TCP-подобных комму..."  –1 +/
Сообщение от Аноним (??) on 01-Апр-18, 02:54 
Да, действительно, наверное, там не только дороги, но сети получше))
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

30. "Компания Valve открыла реализацию системы TCP-подобных комму..."  +2 +/
Сообщение от Crazy Alex (ok) on 01-Апр-18, 15:56 
Да не то чтобы. Те же США славятся своим засилием DSL до сих пор. ну и прочее - мобильные сети, вайфай и прочее, кажется, только в последние лет пять стали более-менее надёжными
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

31. "Компания Valve открыла реализацию системы TCP-подобных комму..."  +2 +/
Сообщение от YetAnotherOnanym (ok) on 01-Апр-18, 18:36 
Хочу засилье DSL в историческом центре города-миллионника, в котором имею удовольствие проживать. В каждую хрущёвку по пять провайдеров оптику тянут (у подруги - Ростелеком, МТС, Дом.ру, ТТК, Билайн, ящик, сцобако, вечно листовками забит), а в наш скворечник вшивую медную десятку кинуть - у них, видите ли, технической возможности нет.
Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

15. "Компания Valve открыла реализацию системы TCP-подобных комму..."  +/
Сообщение от Вонни Бух и Потчк on 01-Апр-18, 05:03 
Вот еще

https://github.com/wangyu-/UDPspeeder
https://github.com/wangyu-/udp2raw-tunnel

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

17. "Компания Valve открыла реализацию системы TCP-подобных комму..."  +/
Сообщение от Аноним (??) on 01-Апр-18, 07:52 
Так вроде же ENet всех победил?..
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

26. "Компания Valve открыла реализацию системы TCP-подобных комму..."  +1 +/
Сообщение от srt on 01-Апр-18, 13:30 
а еще udt или srt, но в целом не мешает писать новые реализации быстрой передачи
касательно новости - фуфло, ничего хуже не встречал
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

42. "Компания Valve открыла реализацию системы TCP-подобных комму..."  +/
Сообщение от Аноним (??) on 08-Апр-18, 03:21 
> Так вроде же ENet всех победил?..

Valve обнаружили в нем фатальный недостаток...

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

19. "Компания Valve открыла реализацию системы TCP-подобных комму..."  +2 +/
Сообщение от Аноним (??) on 01-Апр-18, 09:30 
QUIC от гугла, µTP от битторрента, GameNetworkingSockets от валв. Кто следующий [пере]изобретёт новый протокол поверх UDP?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

27. "Компания Valve открыла реализацию системы TCP-подобных комму..."  +/
Сообщение от srt on 01-Апр-18, 13:32 
кто не может воспользоваться гуглом что бы найти готовые решения, тот начинает изобретать
на самом деле разных протоколов поверх UDP много, только не все до опеннета доходят
Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

35. "Компания Valve открыла реализацию системы TCP-подобных комму..."  +/
Сообщение от Crazy Alex (ok) on 02-Апр-18, 11:32 
Тот, кому потребуется ещё какая-то специфика, вестимо
Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

20. "Компания Valve открыла реализацию системы TCP-подобных комму..."  +/
Сообщение от Аноним (??) on 01-Апр-18, 09:40 
Кстати Linux системы чуть прибавили в Steam:
http://store.steampowered.com/hwsurvey
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

22. "Компания Valve открыла реализацию системы TCP-подобных комму..."  +/
Сообщение от Аноним (??) on 01-Апр-18, 10:22 
Китайцам поднадоел пубг.
Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

32. "Компания Valve открыла реализацию системы TCP-подобных комму..."  +/
Сообщение от XoRe (ok) on 01-Апр-18, 19:50 
Штука специально заточена под игрушки.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

34. "Компания Valve открыла реализацию системы TCP-подобных комму..."  –1 +/
Сообщение от рара Кен email on 02-Апр-18, 10:32 
хром лучше всех! (грузит) Google поработал над скоростью на переходе от 64 к 65 версии! а уже 67
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

36. "Компания Valve открыла реализацию системы TCP-подобных комму..."  –2 +/
Сообщение от Аноним (??) on 02-Апр-18, 15:47 
А по поводу лицензии брюзжать никто не будет?Неужели жплфанатики взрослеют?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

45. "Компания Valve открыла реализацию системы TCP-подобных комму..."  +1 +/
Сообщение от Аноним (??) on 09-Апр-18, 11:54 
Тебе должно быть стыдно.
Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору

37. "Компания Valve открыла реализацию системы TCP-подобных комму..."  +/
Сообщение от IY email on 03-Апр-18, 17:17 
>>применяются цифровые подписи на базе эллиптических кривых Ed25519

никто даже не вспомнил, что в ИБ-сообществе от них уже отказались

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

39. "Компания Valve открыла реализацию системы TCP-подобных комму..."  +/
Сообщение от Дебилушка on 05-Апр-18, 18:24 
Вальвэ делает всё что угодно, но только не борется с читерами. Судя по их количеству и огромному рынку платных читерских-программ, что такое защита от читеров Вальвэ не знает вообще, зато протоколы с защитой и шифрованием у их якобы очень хорошие, и нам даже какие то достижения показывают, но все их теоретические изыскания легко разбивается о жестокую практику реального мира.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

40. "Компания Valve открыла реализацию системы TCP-подобных комму..."  +/
Сообщение от Читер on 05-Апр-18, 18:40 
Ну так читеры по карте летать не могут, здоровье у них не бесконечное и так далее. А вот как бы ты защитил игру от AimBot? Патруль вот сделали, но у тебя наверное есть крутые идеи, выскажи их.
Ответить | Правка | ^ к родителю #39 | Наверх | Cообщить модератору

44. "Компания Valve открыла реализацию системы TCP-подобных комму..."  +/
Сообщение от Аноним (??) on 08-Апр-18, 03:53 
> Ну так читеры по карте летать не могут, здоровье у них не
> бесконечное и так далее. А вот как бы ты защитил игру
> от AimBot? Патруль вот сделали, но у тебя наверное есть крутые идеи, выскажи их.

В vendetta online круто защитились. Дали aimbot всем и каждому. И попробовали сделать его качественным. Но учитыая специфику оружия (медленные пули, маневрирующие противники) толку от него умеренно. Половина опытных летунов его вообще отключает, чтобы не трындел.

Вот все и летают с aimbot'ом. Даже нубы. И даже если поставишь внешний - думаешь, при такой механике станет сильно лучше? Тормозные пули и маневрирующие противники никуда не денутся, а когда пулька вылетела уже поздняк ее корректировать. Есть конечно ракеты "fire and forget", мечта нубов и лентяев. Нажал кнопку, пару минут ракета гоняет за противником. Даже если и не собьет, противник на время озадачен, ему не до тебя. Но работает только против топорного AI, живые игроки умеют довольно результативные противоракетные маневры и выпуск помех. Ракет мало, после пары промахов стрелять просто нечем. А вот тут получатель ракеты может вернуться и использовать пушки, например, если у него они есть и ты не утикал. И вот не помогут ламеру и нубу никакие ракеты с самонаводкой. Опытный хрен стреляет лучше даже без аймбота и корабль у него лучше. Параметры движения сервак валидировать может, аномалии в скоростях за пределами того что должен мочь твой пепелац - speed hack парируют, логгируют или банят любые уважающие себя игровые серверы.

Ну то-есть можно ныть про читеров и городить идиотские защиты. А можно подойти к игровому процессу и механике креативно и половина багов станет фичой. Шта, игрок пускает 5 ботов в пачку и они лупят по 1 мишени? Ну так дайте всем игрокам target sharing как инструмент. Они все так делать будут. При том 5 живых игроков не в пример эффективнее чем 5 ширпотребных роботов для китаезного кача ресурсов и если вопрос встанет ребром, игроки ботовода вместе с его роботами выпилят как делать нефиг.

Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

43. "Компания Valve открыла реализацию системы TCP-подобных комму..."  +/
Сообщение от Аноним (??) on 08-Апр-18, 03:34 
> по их количеству и огромному рынку платных читерских-программ, что такое защита
> от читеров Вальвэ не знает вообще,

А представляешь, половина всяких ботов и проч - делают все то же самое что и живой игрок. Только лучше и быстрее.

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

Ответить | Правка | ^ к родителю #39 | Наверх | Cообщить модератору

46. "Компания Valve открыла реализацию системы TCP-подобных комму..."  +/
Сообщение от Гентушник (ok) on 09-Апр-18, 12:59 
В итоге боты будут играть с ботами, а люди останутся не у дел :)
Ответить | Правка | ^ к родителю #43 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру