# SNET – сетевой интерфейс для Lua поверх UDP

> SNET (Networking Interface) – сетевой модуль для Lua на LuaSocket поверх UDP: подтверждение доставки, приоритеты пакетов, без лимита клиентов. LuaJIT и MoonLoader; вырос из SL:MP.

- URL: https://pakulichev.com/projects/snet
- Author: Pakulichev (https://pakulichev.com/)
- Language: ru
- Updated: 2026-10-15
- Whole site for LLMs: https://pakulichev.com/llms.txt (index), https://pakulichev.com/llms-full.txt (full text)

## Facts

- **Тип:** Сетевая библиотека
- **Язык:** Lua (LuaJIT)
- **Транспорт:** UDP, LuaSocket
- **Платформы:** Windows, Linux, MoonLoader
- **Публикация:** 24 сентября 2020
- **Происхождение:** сетевая часть SL:MP

**SNET** – сетевой модуль для Lua, который работает поверх **UDP** через LuaSocket. Гайд по нему я опубликовал на BLAST.HK **24 сентября 2020 года**. Библиотека выросла из сетевой части мультиплеера **[SL:MP](https://pakulichev.com/projects/sl-mp)**.


![Логотип SNET](https://pakulichev.com/img/snet/snet-logo.png "Логотип SNET из гайда на BLAST.HK")

## Что он добавляет к UDP

UDP быстрый, но ничего не гарантирует: пакеты теряются и приходят не по порядку. Игре нужна низкая задержка, но и терять ключевые события нельзя. Поэтому в SNET есть **подтверждение доставки** для важных пакетов и **приоритеты**: что-то можно отправить «как получится», а что-то должно дойти обязательно. Ограничения на число клиентов в самой библиотеке нет.

## Где работает

- **LuaJIT** на Windows и Linux – для серверов;
- **MoonLoader** – для клиентских скриптов в GTA: San Andreas.

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

## Порты

Сообщество сделало порт на **Node.js** (node-snet), был ещё экспериментальный порт на **Go**.

## FAQ

### Как SNET связан с SL:MP?

SNET вырос из сетевой части мультиплеера SL:MP – в описании проекта SL:MP прямо назван прародителем SNET.

### Есть ли порты SNET на другие языки?

Да, сообщество сделало порт на Node.js (node-snet), также существовал экспериментальный порт на Go.
