← Назад к ресурсам

Proper Ping

Measure and display ping properly

Modrinth utility

Описание

![](http://cf.way2muchnoise.eu/versions/984800.svg) _Fabric and newer Minecraft versions coming soon._ [![](http://cf.way2muchnoise.eu/title/984800.svg)](https://www.curseforge.com/minecraft/mc-mods/proper-ping) [![](https://static.unixkitty.com/icons/modrinth_long_color_24.svg)](https://modrinth.com/mod/proper-ping) [![](https://static.unixkitty.com/icons/discord_long_color_24.svg)](https://discord.unixkitty.com) --- Vanilla ping/latency calculation always seemed *incredibly* inaccurate and delayed to me. Info They only send the latency value to clients once every 30 seconds: ```java public void tick() { if (++this.sendAllPlayerInfoIn > 600) { this.broadcastAll(new ClientboundPlayerInfoPacket(ClientboundPlayerInfoPacket.Action.UPDATE_LATENCY, this.players)); this.sendAllPlayerInfoIn = 0; } } ``` And this is how they "calculate" it: ```java int i = (int)(Util.getMillis() - this.keepAliveTime); this.player.latency = (this.player.latency * 3 + i) / 4; ``` This mod goes around Vanilla and measures latency with a similar custom packet, but takes a proper average of 5 last RTT (round-trip-time) results. Besides that, it also adds a customizable hud element to always see your ping with options such as: - Hide completely - Position anywhere on the screen - Show last 5 latency measurements in the same hud element - Show numerical readings for other players on the server instead of abstract bars (there is a config option serverside to change the frequency of the server broadcasting these values to everyone) Example config with default values ```toml ["Ping HUD"] #Enable ping HUD pingHudEnabled = true #Additionally show 5 last ping values showPingQueue = false #Draw text with a shadow drawTextWithShadow = true #Draw ping either on the left side (true), or on the right (false) leftOrRight = true #How many scaled GUI pixels to start drawing from the edge of the screen #Range: > 0 horizontalPadding = 4 #On which line counting from the top to start drawing from #Range: > 0 lineFromTop = 1 #How many scaled GUI pixels to start drawing from the top of the screen #Range: > 0 verticalPadding = 4 [Other] #Show numbers in milliseconds in player list playerListNumbers = true ``` Example of a full display with the last 5 measurements turned on, numerical player list values, positioned on the right side of the screen: ![](https://static.unixkitty.com/demo/proper_ping/gQsnBv0KLYYd.png) --- #### FAQ **Q**: Forge? **A**: Forge. **Q**: Can I include your mod in a video? **A**: As long as you include a link to the mod/modpack (if it happens to be in one), absolutely **Q**: Can I add your mod to a modpack? **A**: CurseForge/Modrinth modpacks are cool.