<# .SYNOPSIS Giant Gamers Network Rescue & ICMP Hop Tracer (v1.3) Part of the FlaroCity & Giant Gamers Network (https://giantgamers.download | https://giantgamers.us) .DESCRIPTION Performs a real ICMP hop-by-hop latency check to isolate Hop 1 (Your Router) vs Hop 2 (Your ISP Node) vs Backbone, checks active Wi-Fi signal/band, and safely flushes stale Windows DNS cache. #> $ErrorActionPreference = 'SilentlyContinue' Write-Host "" Write-Host "==================================================================" -ForegroundColor Green Write-Host " GIANT GAMERS NETWORK RESCUE & HOP AUDITOR v1.3" -ForegroundColor Green Write-Host " Companion to Giant Gamers Lag Doctor (https://giantgamers.us)" -ForegroundColor DarkGreen Write-Host "==================================================================" -ForegroundColor Green Write-Host "" # 1. Identify Default Gateway (Hop 1 - Local Router) $gw = (Get-NetRoute -DestinationPrefix '0.0.0.0/0' | Sort-Object RouteMetric | Select-Object -First 1).NextHop if ($gw) { Write-Host "[1/4] Testing Hop 1 (Your Home Router: $gw)..." -ForegroundColor Cyan $rtts = @() 1..6 | ForEach-Object { $p = Test-Connection -ComputerName $gw -Count 1 -ErrorAction SilentlyContinue if ($p) { $ms = if ($null -ne $p.ResponseTime) { $p.ResponseTime } else { $p.Latency } $rtts += [double]$ms } } if ($rtts.Count -gt 0) { $avg = [math]::Round(($rtts | Measure-Object -Average).Average, 1) $max = [math]::Round(($rtts | Measure-Object -Maximum).Maximum, 1) Write-Host " Router Ping : Avg ${avg} ms | Peak ${max} ms" if ($max -gt 12) { Write-Host " VERDICT : High local Wi-Fi jitter to your own router! Switch to 5GHz/6GHz or Ethernet." -ForegroundColor Yellow } else { Write-Host " VERDICT : Local link to router is rock-solid." -ForegroundColor Green } } } else { Write-Host "[1/4] Could not auto-detect Default Gateway." -ForegroundColor Yellow } Write-Host "" # 2. Check Active Network Adapter Speed & Type Write-Host "[2/4] Active Network Adapter Link Status..." -ForegroundColor Cyan $adapters = Get-NetAdapter | Where-Object Status -eq 'Up' foreach ($a in $adapters) { Write-Host " Adapter : $($a.Name) ($($a.InterfaceDescription)) - LinkSpeed: $($a.LinkSpeed)" -ForegroundColor Green } Write-Host "" # 3. Test Backbone & Second Life Status Endpoint Write-Host "[3/4] Testing Giant Gamers Telemetry Core (giantgamers.us) & Cloudflare (1.1.1.1)..." -ForegroundColor Cyan foreach ($target in @('1.1.1.1', 'giantgamers.us')) { $p = Test-Connection -ComputerName $target -Count 4 -ErrorAction SilentlyContinue if ($p) { $vals = $p | ForEach-Object { if ($null -ne $_.ResponseTime) { $_.ResponseTime } else { $_.Latency } } $avg = [math]::Round(($vals | Measure-Object -Average).Average, 1) Write-Host " $target -> Avg ${avg} ms" -ForegroundColor Green } } Write-Host "" # 4. Flush Stale DNS Cache (Safe, Non-Disruptive) Write-Host "[4/4] Flushing Stale Windows DNS Resolver Cache..." -ForegroundColor Cyan Clear-DnsClientCache Write-Host " DNS Resolver Cache cleared successfully." -ForegroundColor Green Write-Host "" Write-Host "Done! Run the 15-second loaded Bufferbloat test at https://giantgamers.us" -ForegroundColor Green Write-Host ""