Resource Trimmer

Resource Trimmer

Mod

Reduces unnecessary network overhead.

Client and server OptimizationUtility

204 downloads
3 followers
Follow Save
90% of ad revenue goes to creators. Go ad-free while supporting creators with Modrinth Plus. Subscribe today!

This mod removes networking overhead by removing the unnecessary namespace from vanilla resource locations. This change will save 10 bytes per occurrence.

How it works?

Minecraft uses namespaced identifiers often called resource locations. Each identifier has a namespace and a path which describes a game object. The namespace is optional and is assumed to be minecraft if it is not specified. The vanilla network encoders still include the namespace even if it is not necessary which adds unnecessary overhead.

How effective is this change?

Each occurence of the default namespace adds 10 bytes of unnecesary overhead. Players can expect the login process the be reduced by at least 105kb. The amount reduced increases with the amount of additional content installed, for example the login process for the ATM 10 modpack is reduced by at least 125kb. While this may sound like a small reduction, the overhead is unnecesary and can have a meaningful impact for players with a poor internet connection and for servers with a large player base. This mod can also help mitigate issues wit packets exceeding the 2mb limit. This mod is not a silver bullet that can solve all of your issues but it is another tool to be considered.

The following list shows how long it takes to transfer a 120kb packet over a perfect bidirectional network. In the real world speeds are limited by the upload speed of the server, the download speed of the player, and many other factors.

  • 5Mbps = 192ms
  • 10 Mbps = 96ms
  • 15 Mbps = 64ms
  • 100 Mbps = 9.6ms
  • 200 Mbps = 4.8ms
  • 500 Mbps = 1.92ms
  • 1000 Mbps = 0.96ms

Note: 120kb is 960,000 bits and a 1Mbps connection transfers 1,000,000 bits per second. Internet providers list their speeds in megabits per second and not megabytes to mislead consumers.

Server? Client? Singleplayer?

The changes made by this mod should be fully compatible with clients and servers, even if they do not have this mod installed. For example modded servers will send smaller packets to any client, and modded clients can send smaller packets to any server including vanilla servers. These changes also apply to singleplayer and LAN mode which still rely on packets to the integrated server. If possible, we recommend that all players and the server have this mod installed for the most benefit.

Compatibility

This mod uses Mixin to apply its changes. While this is common for moddern Minecraft mods it always carries a risk of causing incompatibilities with other online mods or modified clients. The changes made by this mod are within the vanilla spec and should be compatible with everything that fully implements it. There are no known incompatibilities.

Nodecraft sponsor banner

This project is sponsored by Nodecraft. Use code DARKHAX for 30% off your first month of service!


Project members

Darkhax

Member

Details

Licensed LGPL-2.1-only
Published 21 days ago
Updated 24 days ago