- 1,789
- 2,141
Пока над CPP версией работаю, потом посмотрим.Планируешь реализацию такого формата общения на платформах вроде nodeJS? Было бы полезно
Пока над CPP версией работаю, потом посмотрим.Планируешь реализацию такого формата общения на платформах вроде nodeJS? Было бы полезно
Нет, это другое. Да и не может быть полного отсутствия сервера, предполагаю, что плагин передает сообщения какими-то нефильтруемыми пакетами SA:MP. Значит в данном случае сервером выступает сам игровой сервер SA:MP. Хотя, насколько мне известно, такой способ общения на многих серверах уже не работает, потому что античиты начали фильтровать эти пакеты и в большинстве случаев ответы просто не приходят.Здравствуйте, можно ли реализовать что-то подобное, там полностью отсуствует сервер, вообще.
Может через сокеты идет?Нет, это другое. Да и не может быть полного отсутствия сервера, предполагаю, что плагин передает сообщения какими-то нефильтруемыми пакетами SA:MP. Значит в данном случае сервером выступает сам игровой сервер SA:MP. Хотя, насколько мне известно, такой способ общения на многих серверах уже не работает, потому что античиты начали фильтровать эти пакеты и в большинстве случаев ответы просто не приходят.
Нет, плагин работает как раз за счёт стандартных пакетов SA:MP, которые по воле Великого Калькора, конечно же, не фильтруются, а получают их все игроки на сервере. Сообщение, по всей видимости, шифруется при помощи ключа, заданного пользователем, а все остальные игроки с тем же плагином и с установленным идентичным ключем, получая этот пакет, расшифровывают строку и выводят её в чат, таким образом общаясь внутри одного сервера.Может через сокеты идет?
тоесть это стандартные rpc?Нет, плагин работает как раз за счёт стандартных пакетов SA:MP, которые по воле Великого Калькора, конечно же, не фильтруются, а получают их все игроки на сервере. Сообщение, по всей видимости, шифруется при помощи ключа, заданного пользователем, а все остальные игроки с тем же плагином и с установленным идентичным ключем, получая этот пакет, расшифровывают строку и выводят её в чат, таким образом общаясь внутри одного сервера.
Чтобы так не делали, многие сервера начали фильтровать такие пакеты, раз Калькор этого не делает. И теперь сообщения с подобных плагинов больше не доходят. Есть определенная вероятность, что не очень длинное сообщение всё же дойдет, но на получение длинных сообщений можно не надеется.
Если необходима быстрая и стабильная работа, то явно подобный способ обмена информацией не в приоритете.
RPC или пакеты - главное, чтобы их получали все игроки на сервере. Оригинальный набор данных подменяется на необходимый для передачи сообщения. Сообщение шифруется, сжимается и передается вместе с этим пакетом. Получая такой пакет, пользователь с этим плагином производит обратные операции.тоесть это стандартные rpc?
и как это вообще реализовывается
а чем он лучше/будет лучше существующих сетевых интерфейсов? планируются ли какие-то интересные фичи которых нет ни в одном другом?Посмотреть вложение 73896В данный момент доступна библиотека только для Lua, но в скором времени станет доступно несколько дополнительных для других языков программирования. В ближайших планах создание библиотеки для C++, Node JS и Go. Библиотеки будут обратно совместимы с друг другом.
Встречайте SNET — новый сетевой интерфейс
Название было изменено — SL:NET теперь просто SNET
Скачать SNET можно из нашего репозитория GitHub. Релиз SNET будет доступен после того, как будет готов модуль для C++.
Упор делается на гибкость и простоту использования, кросс-платформеность, мультиязычность, а также на относительную безопасность для разработчиков без должного опыта разработки. Немного жертвуем контролем, но открытость исходного кода позволяет легко это исправить при необходимости. Насчет каких-то дополнительных функций, которых нет ни в одной другой библиотеке, - пока никаких идей нет, сам попользуюсь - скорее всего что-нибудь придумается. Соревноваться с большими модулями, которые существуют достаточно давно, будет сложно. А вот среди подобных - легко. По крайней мере, если говорить именно о Lua, мной не было найдено библиотеки, которая бы была одновременно такой простой, разворачивающейся за несколько кликов, и функциональной. Посмотрим как SNET проявит себя в перспективе, это будет видно по тому, как развивается первый и пока единственный продукт - SL:MP.а чем он лучше/будет лучше существующих сетевых интерфейсов? планируются ли какие-то интересные фичи которых нет ни в одном другом?
В скором времени будет.когда документация по новой версии
Если это массив, то можно перебрать вручную все элементы и засунуть в бс, если это ассоциативный массив, то запихнуть можно так же, а вот вытащить данные не получится — ассоциативный массив не гарантирует порядок элементовможно как-то битстримом передать таблицу луа?