Saltar al contenido
Multimedia 1 para anuncio Server Ping - UDP Latency for Server Browsers
0 comentarios

Descripción

Show real ping in your server browser before players join. Server Ping adds a Blueprint "Ping Server (UDP)" node and a dedicated-server responder. The responder is rate-limited and protected by an anti-spoof cookie handshake, and a ready-to-run demo map is included.

The problem

A server browser that lists servers without a ping makes players guess. They join a server on the other side of the world, lag, and leave.

What Server Ping does

It measures the real round-trip time from the player's machine to each dedicated server, over UDP, before the player connects.

  • Client: the "Ping Server (UDP)" Blueprint node. Give it an address and a game port. It sends a few small probes and returns the median round-trip time in milliseconds, plus how many replies came back out of how many were sent. It accepts an IPv4 address or a hostname. It also works from C++.

  • Server: a responder that starts by itself. Every dedicated server with the plugin enabled answers probes on its own UDP port (game port − 1 by default). It never touches gameplay traffic.

  • Abuse protection, on by default. A per-IP token bucket limits how often one address can ping. A cap on tracked addresses bounds memory. A cookie handshake stops the responder from being used to reflect traffic at a spoofed address.

  • Configurable in Project Settings → Plugins → Server Ping. The server prints every setting it actually uses in one log line at startup.

  • Ready-to-run demo. A demo map and a code-built server-list widget ping a local dedicated server, so you can see it working before writing anything.

Who it is for. Games with dedicated servers and their own server list, matchmaking region picker or "best server" logic.

Included: full C++ source, English documentation inside the plugin, 10 automation tests (ServerPing.*), and the demo.

Technical Details

Features:

  • Blueprint async node "Ping Server (UDP)", with On Success (median ms, replies, probes sent) and On Failure outputs

  • Median of N probes (default 5) with a total timeout (default 3 s)

  • IPv4 address or hostname (resolved asynchronously)

  • Dedicated-server responder created automatically, on its own UDP socket

  • Per-IP token-bucket rate limiting, plus a cap on tracked addresses

  • Anti-spoof cookie handshake, on by default

  • Developer settings under Project Settings → Plugins → Server Ping (DefaultGame.ini)

  • One startup log line listing every effective setting

  • Demo map, demo game mode and server-list widget

  • 10 automation tests for packet validation, rate limiting, the cookie handshake and the port guard

Code Modules:

  • ServerPing (Runtime)

  • ServerPingDemo (Runtime, optional; can be deleted)

Number of Blueprints: 0

Number of C++ Classes: 11 (7 in ServerPing, 4 in ServerPingDemo), plus 10 automation tests

Network Replicated: No. It uses its own UDP socket, outside Unreal replication.

Supported Development Platforms: Windows

Supported Target Build Platforms: Win64, Linux

Supported Engine Versions: 5.6, 5.7, 5.8

Documentation: included in the plugin, Docs/ServerPing.md

Example Project: the demo map /ServerPing/Demo/Maps/SPPingDemoMap, inside the plugin

Important Notes:

  • IPv4 only.

  • Dedicated servers only. Listen servers and single-process Play In Editor get no responder.

  • Open UDP game port − 1 (or your configured port) inbound on the server's firewall.

Formatos incluidos