RoundsLanPing
Hold F7 (or toggle it, or pin it) to see every player's ping in ms. Key, mode, corner, design and font are all in the config file.
By tiagot
| Last updated | 2 days ago |
| Total downloads | 20 |
| Total rating | 0 |
| Categories | Utilities Client-side |
| Dependency string | tiagot-RoundsLanPing-0.2.5 |
| Dependants | 0 other packages depend on this package |
This mod requires the following mods to function
BepInEx-BepInExPack_ROUNDS
BepInEx pack for ROUNDS. Preconfigured and ready to use.
Preferred version: 5.4.1901README
ROUNDS LAN Ping
Hold F7 during a match to see every player's ping in milliseconds, worst first, colour coded (green to 60 ms, yellow to 120, orange to 200, red above), with your own row marked. The key, the mode, the corner, the design and the font size are all in the config file.
Install
Install with the mod manager like any other package; it brings the BepInEx pack with it. Only the player who wants to see the numbers needs this mod, so it can sit in one profile and not another.
Other players' numbers come from RoundsWithFriends, which measures each client's ping and publishes it
in the room. Without RoundsWithFriends installed the panel still opens, shows your own ping from the
game itself, and marks everyone else ?.
Why the numbers exist at all
Per-player ping is not exposed by the game, but it is already in the room: RoundsWithFriends publishes
each client's own measured ping into its Photon player custom properties under the string key Ping,
and reads the same property to size its battle start delay. This mod reads that property for every
player and falls back to the local PhotonNetwork.GetPing() for your own row. No new networking, no
host authority, nothing extra to install on anyone else's PC.
Config
Edit while the game is closed; the file is read at start.
| Key | Default | What it does |
|---|---|---|
ShowKey |
F7 |
The key. Any Unity key name works (Tab, F8, LeftAlt; mouse buttons are not supported). |
Mode |
Hold |
Hold shows while the key is down, Toggle flips it on a press. |
AlwaysShow |
false |
Pin the panel on and ignore the key. |
Position |
TopLeft |
TopLeft, TopRight, BottomLeft, BottomRight or Custom. |
OffsetX, OffsetY |
20, 20 |
Used when Position = Custom, in pixels from the top left corner. |
Design |
Compact |
Compact name and ping, Detailed adds room name, player count and player numbers, Minimal is text with no panel behind it. |
FontSize |
14 |
Text size. |
LogEverySeconds |
10 |
Writes the same list into BepInEx/LogOutput.log. 0 turns it off. |
Diagnostics |
false |
For a player that shows ?: writes every property key the game carries for each player into the log. |
The mod does not assume the property is called exactly Ping or typed exactly as an int: it walks
every player property, nested dictionaries included, and accepts any key ending in ping whose value
is a number or a numeric string. Diagnostics = true plus the log settles anything that does not
resolve.
Finding the config file
The file is BepInEx/config/tiago.rounds.lanping.cfg, inside the profile the mod manager created, not
inside the game folder, and it exists only after the game has started once with the mod enabled. Open
it with any text editor: in Thunderstore Mod Manager, the profile folder is one click away under the
profile's Browse profile folder, then BepInEx/config.
The manager's Edit config page is not the shortcut it looks like for these mods: it lists every
.json, .cfg, .ini and .yml file in the profile, and for a locally imported mod that includes
mm_v2_manifest.json, the manager's own bookkeeping file. Nothing in this package puts it there and
nothing here can remove it, because the manager writes it after the install.
Design constraints
- Reflection only. The assembly references BepInEx and UnityEngine and nothing else, so it cannot break when the game or Photon moves a type. When a member is missing the panel says what it is waiting for instead of throwing.
- Read-only. No patches, no Harmony, no writes, no network. It cannot affect gameplay.
- Never guesses. A player without a ping property shows
?, never someone else's number.