🔍 Troubleshooting

This guide covers common issues you may encounter when working with ShredStream.com and how to resolve them.

Using our SDK? The SDK handles packet parsing and validation automatically. The network-related issues below (firewall, IP, buffer tuning) still apply regardless of whether you use an SDK or a raw UDP listener.


❌ No Data Received

If your UDP listener is running but no shreds are arriving:

  1. Check your firewall -- Ensure your firewall allows inbound UDP traffic on the port you configured. On Linux:
    bash
    sudo ufw allow <port>/udp
  2. Verify the stream is active -- Open your Dashboard and confirm the stream status shows Active. Expired or paused streams do not send data. If the stream shows Provisioning or Error, wait a moment and refresh. If the status does not change, contact support on Discord.
  3. Confirm your IP matches -- The destination IP on your stream must match your server's public IP exactly. You can check your public IP with:
    bash
    curl -4 ifconfig.me
  4. Bind to 0.0.0.0 -- Make sure your UDP socket binds to 0.0.0.0, not 127.0.0.1 or a specific interface IP. Binding to localhost will silently drop all external traffic.

📉 High Packet Loss

Shreds arrive over UDP, which does not retransmit lost packets. Minimizing loss is critical.

  1. Increase your UDP receive buffer to at least 25 MB:

    bash
    # Check current value
    sysctl net.core.rmem_max
    # Set to 25 MB
    sudo sysctl -w net.core.rmem_max=26214400
    sudo sysctl -w net.core.rmem_default=26214400

    Note: Linux doubles the value you set via setsockopt(). If you request 25 MB, the kernel allocates 50 MB. The sysctl value is the upper bound before doubling.

  2. Choose a closer region -- Latency and packet loss increase with distance. Select the region nearest to your server from the stream settings.

  3. Avoid blocking I/O in your receive loop -- Any processing delay in the thread that calls recvfrom() causes the kernel buffer to fill and drop packets. Offload parsing and logic to a separate thread.

  4. Monitor kernel drops:

    bash
    # Per-socket drops (Linux)
    ss -u -a -n
    # System-wide UDP stats
    netstat -su

    Look for the RcvbufErrors or packet receive errors counter. If this number is climbing, your buffer is too small or your application is not reading fast enough.


💳 Payment Not Confirming

Payments are processed on the Solana blockchain. If your payment appears stuck:

  1. Wait 30 to 60 seconds -- Solana transactions typically confirm within a few seconds, but network congestion can cause delays.
  2. Ensure sufficient SOL for gas -- Even when paying with USDT, you need a small amount of SOL (approximately 0.005 SOL) in your wallet to cover transaction fees.

If the transaction failed on-chain, you can retry the payment from your dashboard.


⚠️ Stream Stopped Unexpectedly

If a stream that was previously working has stopped delivering shreds:

  1. Check the expiration date -- Open the stream detail page on your dashboard. If the stream has expired, renew it to resume delivery.
  2. Verify region status -- Occasionally a region may undergo maintenance. Check the dashboard for any region status notices.
  3. Contact support -- If the stream shows as active and the region is healthy, open a ticket on Discord in the #ticket channel for assistance.

🌍 Region Change Failed

When a region change fails, ShredStream.com automatically rolls back to your original region so your stream is not interrupted.

  1. Check target region capacity -- The region you selected may be temporarily at capacity. Try again in a few minutes.
  2. Verify the stream is active -- Region changes can only be performed on active streams. Expired or errored streams must be renewed first.
  3. Try a different region -- If the target region is consistently unavailable, select an alternative region that is geographically close.

After a failed change, your stream continues operating in its original region with no data loss.


🔌 Connection Issues

If you are unable to set up a stream or are seeing connectivity errors:

  1. Use a public IPv4 address -- ShredStream.com delivers data to public IPs only. Private ranges will not work:
    • 10.0.0.0/8
    • 172.16.0.0/12
    • 192.168.0.0/16
  2. Use a port between 1024 and 65535 -- Ports below 1024 are reserved and may require root privileges or be blocked by hosting providers.
  3. Ensure no NAT is blocking inbound UDP -- If your server is behind a NAT gateway (common with cloud providers), make sure the NAT or security group forwards UDP traffic on your chosen port to your instance.

💬 Still Need Help?

If none of the above resolves your issue, reach out to our support team:

  • Discord (fastest): Open a ticket in the #ticket channel
  • Telegram: @shredstream

Include your stream ID, server region, and a description of the problem so we can help you quickly.