HomeJavaModsVSRPM
VSRPM

VersionedServerResourcePackManager

Automatically serve the right resource pack to every player — based on their client version, platform, and preferences.
heavy work in progress but stable.
contact me on discord- aditya9448

Features-

What is protocol version no.?

Protocol no.

protocol version no. is an internal identifier used by the game to distinguish between different client versions.
VRSPM uses these no. to diffrentiate between players client version which makes it able to server right resource pack to right client.

What is use of protocol version no.(in VRSPM)?

Use of Protocol no.
resource-packs:
  pack-1_21:
    name: "<gradient:#55ff55:#aaffaa>Modern Pack (1.21+)</gradient>"
    url: "UR_DIRECT_DOWNLOAD_LINK" # Example URL
    hash: "" # Optional 40-character hex SHA-1 (leave empty to skip validation)
    min-protocol: 767 # 1.21
    max-protocol: 775
    gui-icon: "DIAMOND"
    slot: 11
    lore:
      - "<gray>Optimized for Minecraft <green>1.21</green> and newer.</gray>"
      - "<gray>Includes high-resolution textures and 3D models.</gray>"
      - ""
      - "<green>✔ Compatible with your client version</green>" 

In the above example, i have a resource pack which is supported for 1.21-26.1.2

protocol version no. of-

1.21= 767

26.1.2= 775

Therefore all the players having client versions between 21.1-26.1.2 ( and including them) will be able to see & apply the resource pack While out dated or newer clients will be seeing a barrier block (currently)

Where to get protocol version no.?

Get protocol no. from:

U can get protocol version no. from protocol no. or protocol_versions.txt in the same directory as cofig.yml file .

Game / Software Version     : Protocol No.
--------------------------------------------------------------------
26.2+                       : 776+
26.1.2                      : 775
26.1.1                      : 775
26.1                        : 775
1.21.11                     : 774
1.21.10                     : 773
1.21.9                      : 773
1.21.8                      : 772
1.21.7                      : 772
1.21.6                      : 771
1.21.5                      : 770
1.21.4                      : 769
1.21.2 / 1.21.3             : 768
1.21 / 1.21.1               : 767
1.20.5 / 1.20.6             : 766
1.20.3 / 1.20.4             : 765  
1.20.2                      : 764
1.20 / 1.20.1               : 763
1.19.4                      : 762
1.19.3                      : 761
1.19.1 / 1.19.2             : 760
1.19                        : 759
1.18.2                      : 758
1.18 / 1.18.1               : 757
1.17.1                      : 756
1.17                        : 755
1.16.4 / 1.16.5             : 754
1.16.3                      : 753
1.16.2                      : 751
1.16.1                      : 736
1.16                        : 735
1.15.2                      : 578
1.15.1                      : 575
1.15                        : 573
1.14.4                      : 498
1.14.3                      : 490
1.14.2                      : 485
1.14.1                      : 480
1.14                        : 477
1.13.2                      : 404
1.13.1                      : 401
1.13                        : 393
1.12.2                      : 340
1.12.1                      : 338
1.12                        : 335
1.11.1 / 1.11.2             : 316
1.11                        : 315
1.10 / 1.10.1 / 1.10.2      : 210
1.9.3 / 1.9.4               : 110
1.9.2                       : 109
1.9.1                       : 108
1.9                         : 107
1.8 / 1.8.1 - 1.8.9         : 47
1.7.6 - 1.7.10              : 5
1.7.2 - 1.7.5               : 4

How to set multiple resource packs?

set multiple resource packs

Text shared below is a piece of config.yml file.

These are the example packs which would not work unless pasted a working direct download link

resource-packs:
  pack-1_21:
    name: "<gradient:#55ff55:#aaffaa>Modern Pack (1.21+)</gradient>"
    url: "UR_DIRECT_DOWNLOAD_LINK" # Example URL
    hash: "" # Optional 40-character hex SHA-1 (leave empty to skip validation)
    min-protocol: 767 # 1.21
    max-protocol: 9999
    gui-icon: "DIAMOND"
    slot: 11
    lore:
      - "<gray>Optimized for Minecraft <green>1.21</green> and newer.</gray>"
      - "<gray>Includes high-resolution textures and 3D models.</gray>"
      - ""
      - "<green>✔ Compatible with your client version</green>"

  pack-1_20:
    name: "<gradient:#ffff55:#fffaaa>Standard Pack (1.20 - 1.20.6)</gradient>"
    url: "UR_DIRECT_DOWNLOAD_LINK"
    hash: ""
    min-protocol: 763 # 1.20
    max-protocol: 766 # 1.20.6
    gui-icon: "GOLDEN_APPLE"
    slot: 12
    lore:
      - "<gray>Compatible with Minecraft <yellow>1.20 - 1.20.6</yellow>.</gray>"
      - "<gray>Standard textures and basic models.</gray>"
      - ""
      - "<green>✔ Compatible with your client version</green>"

You can configure these example packs according to your need or if u want more just paste the example format under them.

ex.-

resource-packs:
  pack-1_21:
    name: "<gradient:#55ff55:#aaffaa>Modern Pack (1.21+)</gradient>"
    url: "https://github.com/spigot-rp-test/test-pack/raw/main/rp-1.21.zip" # Example URL
    hash: "" # Optional 40-character hex SHA-1 (leave empty to skip validation)
    min-protocol: 767 # 1.21
    max-protocol: 9999
    gui-icon: "DIAMOND"
    slot: 11
    lore:
      - "<gray>Optimized for Minecraft <green>1.21</green> and newer.</gray>"
      - "<gray>Includes high-resolution textures and 3D models.</gray>"
      - ""
      - "<green>✔ Compatible with your client version</green>"

  pack-1_20:
    name: "<gradient:#ffff55:#fffaaa>Standard Pack (1.20 - 1.20.6)</gradient>"
    url: "https://github.com/spigot-rp-test/test-pack/raw/main/rp-1.20.zip"
    hash: ""
    min-protocol: 763 # 1.20
    max-protocol: 766 # 1.20.6
    gui-icon: "GOLDEN_APPLE"
    slot: 12
    lore:
      - "<gray>Compatible with Minecraft <yellow>1.20 - 1.20.6</yellow>.</gray>"
      - "<gray>Standard textures and basic models.</gray>"
      - ""
      - "<green>✔ Compatible with your client version</green>"
      
your_extraw_pack:
    name: "Your_pack_name"
    url: "UR_DIRECT_DOWNLOAD_LINK"
    hash: ""
    min-protocol: protocol_version
    max-protocol: protocol_version
    gui-icon: "DIRT_BLOCK"
    slot: according to your need 
    lore:
      - "no need"
      - "i am a penguin"
      - ""
      - "<green>✔ Compatible with your client version</green>"


What could be expected in next versions?

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more