[SPIGOT-3332] Server-side Resource Packs labeled "Server" Created: 12/Jun/17  Updated: 14/Jun/17  Resolved: 12/Jun/17

Status: Resolved
Project: Spigot
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: Steve Mekkelsen Madden Assignee: Unassigned
Resolution: Invalid Votes: 0
Labels: BungeeCord, Server, Spigot, resourcepack
Environment:

Windows 10 Pro x64
Spigot Server 1.12
BungeeCord Server 1.2.4.2
Minecraft Client 1.12


Attachments: Text File image-2017-06-12-23-42-00-876.png    

 Description   

I'm told that when using a server-side resource pack, the minecraft client will have a name of "Server" and that only one RP is ever added to the list.  AFAIK, this appears to be a limitation of server usage of resource packs and client use (players manually adding them) directly.  I don't know if there is an API that should/could use the filename itself (which is what appears for players), so that more than one RP could be added to the list?  As it is, due to the name, any attempt to add another will overwrite the one already present with the same name and then the player loses the previous one.  

Can more than one be defined in the server.properties or via a Plugin like ForceResourcePacks to push it up to the client?  Alternatively an API to change the name to match the filename so that more than one can be added to the stack of RPs?

The only choice a server owner has is to combine ResourcePacks into one so that the player can have both.  However, this violates EULA with the owners of the RPs.  Any insight into a solution would be greatly appreciated even if it isn't a bug for Spigot to fix.  Having the API to use would be very helpful to support multiple named resource packs.   Thanks - Steve



 Comments   
Comment by pokechu22 [ 14/Jun/17 ]

FYI, you linked to the wrong issue (should have been MC-118668). I'll probably look into it there.

Comment by Steve Mekkelsen Madden [ 13/Jun/17 ]

Thanks for the background detail.  I'm going to push on Mojang to fix it since like you stated, it's the client with the problem, not Spigot and certainly not the plugin.  Not expecting to get very far, but if you don't ask, you don't receive.

Comment by Phoenix616 [ 13/Jun/17 ]

To add some information on what is going on here (and because my plugin was mentioned here):

Mojang decided to identify resource packs that the server sent to the client by displaying their name as "Server" in the Vanilla Minecraft client independently from the actual file name. To change that one would need a clientside mod or convince Mojang to change this behaviour.

I personally think that the two lines of pack description are more than enough 'though to tell the user the name of the pack and what the pack contains.

Comment by md_5 [ 13/Jun/17 ]

Whatever the issue is its not a spigot issue or related to or fixable by spigot in any way.

Probably your plugin is always using a url ending with server.zip

Either way, this is a bug tracker and seeing as there is clearly no spigot bug this is NOT the appropriate venue for discussion.

Comment by Steve Mekkelsen Madden [ 13/Jun/17 ]

Thanks - the protocol list does confirm what you're saying.  But something somewhere is passing in a hard-coded text of "Server" instead of the filename.  The below shows clearly, the filename of a RP being added is used on line 1 when a player adds it to the list manually.

But when FRP sends the RP to the client, the filename (though is uploaded and installed in the players %appdata%\.minecraft\resourcepacks folder correctly, it is not reflected in the list as such.  I'm struggling to understand how "Server" is being sent if there isn't a variable that is being sent with the url and hash we just don't know about?

The top one was pushed up to the player by using /usepack realcw and it gets installed and works.  But all pushed RP's use the same named pack of "Server" and validation won't allow a duplicate to be added.  Perhaps it is a classless property or parameter getting passed?

Comment by md_5 [ 13/Jun/17 ]

Wat.

Mojang writes the client not us. We cannot just make it understand things it doesn't know how.

Where do you get the idea that the filename is being passed?
Why not take a look at the protocol documentation to see that this is the case?
http://wiki.vg/Protocol#Resource_Pack_Send

So yes, it is impossible to do.

Comment by Steve Mekkelsen Madden [ 13/Jun/17 ]

if the only thing a server can send is a url and hash and no name, that in itself is a bug.  If you don't want to treat this as a bug, then treat it as a feature request to actually make the server pass all the required fields to display in the client.  This should not be technically challenging or impossible to do.  The filename "is" already getting passed to the client, it also needs to pass the filename with the url and hash.

Comment by md_5 [ 12/Jun/17 ]

The only thing the serer can send is a url and a hash.
Please use the forums for discussing things and only use the bug tracker for bona fide bug or feature requests.

Comment by Steve Mekkelsen Madden [ 12/Jun/17 ]

Thanks for the quick reply @md_5 - this was more about what API is available for the "Name" of the ResourcePack. I'm told by one plugin developer for the ForceResourcePacks that there is no "name" API available in Spigot to set the proper name.

I can push/send any resourcepack to a user and I know that works, but on the users end, it appears as "Server" for the name instead of the actual name of the plugin and if I send a second one to the same user, it is NOT stacked - it removes the previous one and sets the new one with a name of again, "Server".

Comment by md_5 [ 12/Jun/17 ]

You can use plugins to send different packs to different players, there is api for this

Generated at Tue Apr 22 03:30:28 UTC 2025 using Jira 10.3.5#10030005-sha1:190c783f2bd6c69cd5accdb70f97e48812a78d14.