[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 |
Attachments: |
![]() |
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. |
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? 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. |
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 |