🌐 Configuracion de Red

Antes de que tu servidor pueda recibir shreds -- ya sea a traves de nuestro SDK o un listener UDP en bruto -- necesitas abrir el puerto correcto y ajustar los buffers de red del SO.

Usas nuestro SDK? El SDK configura el buffer de recepcion del socket automaticamente. Aun asi, necesitas completar los pasos de firewall y ajuste del SO que se indican a continuacion.


🔒 Configuracion del Firewall

Abre el puerto UDP que configuraste en ShredStream.com. El comando exacto depende de tu distribucion Linux.

🔹 UFW (Ubuntu / Debian)

bash
sudo ufw allow 8001/udp

🔹 iptables

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

Para que la regla persista tras reinicios, guardala con iptables-save o el mecanismo de persistencia de tu distribucion (por ejemplo, netfilter-persistent).

🔹 firewalld (CentOS / RHEL / Fedora)

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

Si tu servidor esta detras de un grupo de seguridad en la nube (AWS, GCP, Azure, etc.), tambien debes permitir trafico UDP entrante en el mismo puerto desde la consola del proveedor cloud.


📐 Ajuste de Buffer UDP

Los validadores de Solana producen shreds a una tasa muy alta. El buffer de recepcion UDP predeterminado en Linux suele ser de 256 KB, lo cual es insuficiente y provocara perdida de paquetes bajo carga. Configura el buffer de recepcion a un minimo de 25 MB.

⚡ Aplicar Inmediatamente

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

💾 Persistir Tras Reinicios

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

Luego verifica:

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

Deberias ver ambos valores en 26214400.

Omitir el ajuste de buffers es la causa mas comun de shreds perdidos. Si tu listener reporta vacios en los datos, revisa tu configuracion de buffers primero.


✅ Verificar tu Configuracion

Una vez que tu listener del SDK este en ejecucion y tu stream este activo en el panel de control de ShredStream.com, deberias ver datos en cuestion de segundos.

Lista de verificacion si los shreds no estan llegando:

  1. Estado en el panel -- confirma que tu stream muestra Activo y que la IP y el puerto de la conexion coinciden con tu servidor.
  2. Firewall -- verifica que el puerto UDP este abierto. Prueba desde otra maquina con nc -u <tu-ip> 8001.
  3. IP publica -- asegurate de haber ingresado la direccion IPv4 publica de tu servidor, no una IP privada o interna.
  4. Tamano del buffer -- ejecuta sysctl net.core.rmem_max para confirmar que el buffer esta configurado en al menos 26214400.
  5. Binding del listener -- asegurate de que tu listener se vincule a 0.0.0.0 (todas las interfaces), no a 127.0.0.1 (solo localhost).

Si todo esta correcto y aun no recibes datos, consulta Resolucion de Problemas o contactanos en Discord.

Configuracion de Red — Documentations | ShredStream.com