ROUNDS
Install with App

Details

Latest version
0.2.5
Last Updated
First Uploaded
Downloads
20
Likes
0
Size
12KB
Dependants

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.
Thunderstore development is made possible with ads. Please consider making an exception to your adblock.