🌐 Сетевая настройка

Прежде чем ваш сервер сможет получать shreds -- через наш SDK или собственный UDP-слушатель -- необходимо открыть нужный порт и настроить сетевые буферы ОС.

Используете наш SDK? SDK автоматически настраивает буфер приёма сокета. Вам по-прежнему нужно выполнить описанные ниже шаги по настройке firewall и ОС.


🔒 Настройка firewall

Откройте UDP-порт, указанный при настройке на ShredStream.com. Точная команда зависит от вашего дистрибутива Linux.

🔹 UFW (Ubuntu / Debian)

bash
sudo ufw allow 8001/udp

🔹 iptables

bash
sudo iptables -A INPUT -p udp --dport 8001 -j ACCEPT

Чтобы правило сохранилось после перезагрузки, сохраните его с помощью iptables-save или механизма вашего дистрибутива (например, netfilter-persistent).

🔹 firewalld (CentOS / RHEL / Fedora)

bash
sudo firewall-cmd --permanent --add-port=8001/udp
sudo firewall-cmd --reload

Если ваш сервер находится за группой безопасности облачного провайдера (AWS, GCP, Azure и др.), вам также необходимо разрешить входящий UDP-трафик на том же порту в консоли облака.


📐 Тюнинг UDP-буферов

Валидаторы Solana производят shreds с очень высокой скоростью. Буфер приёма UDP по умолчанию в Linux обычно составляет 256 КБ, что слишком мало и приведёт к потере пакетов под нагрузкой. Установите буфер приёма минимум на 25 МБ.

⚡ Применить немедленно

bash
# Linux
sudo sysctl -w net.core.rmem_max=26214400
sudo sysctl -w net.core.rmem_default=26214400
# macOS
sudo sysctl -w kern.ipc.maxsockbuf=33554432

💾 Сохранить после перезагрузки

bash
echo 'net.core.rmem_max=26214400' | sudo tee -a /etc/sysctl.conf
echo 'net.core.rmem_default=26214400' | sudo tee -a /etc/sysctl.conf

Затем проверьте:

bash
sysctl net.core.rmem_max net.core.rmem_default

Оба значения должны быть 26214400.

Пропуск тюнинга буферов -- самая частая причина пропущенных shreds. Если ваш слушатель сообщает о пробелах в данных, в первую очередь проверьте настройки буферов.


✅ Проверка настройки

Когда ваш SDK-слушатель запущен и стрим активен в панели управления ShredStream.com, вы должны увидеть данные в течение нескольких секунд.

Чек-лист, если shreds не поступают:

  1. Статус в панели управления — убедитесь, что стрим показывает Активна, а IP и порт подключения соответствуют вашему серверу.
  2. Firewall — проверьте, что UDP-порт открыт. Протестируйте с другой машины: nc -u <your-ip> 8001.
  3. Публичный IP — убедитесь, что вы указали публичный IPv4-адрес сервера, а не приватный или внутренний.
  4. Размер буфера — выполните sysctl net.core.rmem_max, чтобы убедиться, что буфер установлен минимум на 26214400.
  5. Привязка слушателя — убедитесь, что слушатель привязан к 0.0.0.0 (все интерфейсы), а не к 127.0.0.1 (только localhost).

Если всё в порядке, но данные по-прежнему не поступают, см. Устранение неполадок или обратитесь в Discord.

Сетевая настройка — Documentations | ShredStream.com