Skins working on pre 1.7.6

Discussion in 'Plugin Requests' started by smirenej, Mar 14, 2018.

Thread Status:
Not open for further replies.
  1. Offline

    smirenej

    Hello there,
    I'm new to the forums, don't really know where to post this so if it's in the wrong section, please, don't hate me too much and just tell me where would it be better to post. Thanks <3

    I have a server running on CraftBukkit 1.7.2-R0.3 Build 2987, development. As most of you probably know, skins stopped working on versions older than 1.7.6. If I upgraded my server to a newer version of bukkit, there would be too many problems with the current map (because of certain bugs in bukkit of newer versions).

    My question is Is there a plugin that would make us see our skins once again? Or is there another un-modded way of doing so? Heard of some mods but don't really want to use any of these. If there is one, would anybody be so kind and send me a link? Would be really appreciated <3 Or even if somebody would be willing to try to help me with creating a plugin, that would be even more awesome!

    Thanks for your time,
    smirenej
     
  2. Offline

    Zombie_Striker

    What bugs are you referring to? As long as you run the map on 1.7.10 atleast once, it should work on all new versions of minecraft/bukkit.

    If you really need to stay on an older version, then there is no way to achieve this using plugins. Skins are not sent by the server, but instead by mojang servers, which means there is no way to do this without mods (which bukkit does not support).
     
  3. Offline

    smirenej

    Sadly moving from this version would mean moving from the map we are playing on (since basically everyhing would break - would be long story to explain but ask for it if you really want to understand). We played there for around 5 years so we don't really want to move on from our projects.

    I am referring to this thing that Mojang solved as work as intended: https://bugs.mojang.com/browse/WEB-985
    Also a big THANK YOU! Your information that this is not doable without mods and a brief explanation of why is the first thing that would say it is not possible and why. Everybody, literally everybody was just yelling at us that we should update our server because we're on an unsupported version or asked why we're on such an old version and stuff like that. You're the first one to help up figure it out. So once again, a big thank you! Eventhough it didn't really help us solve it, we're on the right track now. <3
     
    Matroxko likes this.
  4. Offline

    Tabuu_

    @Zombie_Striker is not 100% right. Yes the Mojang servers store the skins but the Bukkit server is making the requests. You could do a workaround and get skins working again on 1.7.2 with a plugin, but this will not be easy...

    EDIT:
    I forgot to mention that I am not really a big fan of outdated servers (like I posted at the thread in @Zombie_Striker his signature).
     
  5. Offline

    smirenej

    Oh really? Are you capable of helping me with it or even able to create a thing like that? Or do you know somebody who would be able and willing to help me?

    Not too many people are fans of outdated servers, that's completely understandable. We have our reasons for playing on such a version though, so that is kinda hard to move. :-/
     
    Last edited by a moderator: Mar 15, 2018
  6. Offline

    Tabuu_

    I am capable to do something this.
    I will give it a try, it does sound interesting to fix something like this...
     
  7. Offline

    smirenej

    Thank you, that would be amazing! <3
     
  8. Offline

    timtower Administrator Administrator Moderator

  9. Offline

    Tabuu_

    That feel when @timtower is spying on your private conversations.

    No but on a serious note I was planning on posting the download here anyway.
     
  10. Offline

    timtower Administrator Administrator Moderator

    Then I would have said it on there :p
    It was kinda obvious with you guys talking on this thread, then both engaged in conversation.
    Thread is made to talk on, just use it.
     
  11. Offline

    smirenej

    Well ok than, I felt like that might spam so rather started a conversation :) Ok ok, everything will be there <3
     
  12. Offline

    Tabuu_

    Progress update

    After a lot of research I can to the conclusion that with the 1.7 R1 & 1.7 R2 version you cannot accomplish this. You would need atleast 1.7 R3. But this would be a version that is 1.7.6 or above (1.7.9 being the highest R3 version).

    This is all because Mojang changed the entire way skins worked. Newer versions (1.7 R3+) use a Base64 encypted JSON string containing the url to the skin. This can easly be altered.

    But it seems 1.7 R1 & R2 retrieve the url client-side based on the players uuid, and since the url does not work anymore it can not load the skin.

    If you want skins back on your server your best shot is to update the server to a newer version of Minecraft. If you have a lot of trouble with upgrading I could help you if you want to.

    [​IMG]

    For all people reading this and trying to do the same, here is a list of things I have researched/tried:
    • Searching for the PropertyMap class. R1 does not have a PropertyMap class.
    • Reflecting the GameProfile class to find something similar to the PropertyMap class. (GameProfile only contains the uuid and the name, both in string format).
    • I read the PacketPlayOutPlayerInfo but this did not contain any skin urls only the GameProfile and a BiMap
    • Checked the BiMap but could not find anything usefull

    I have not found a single person who accomplished a skinchange in a version below 1.7 R2 after Mojang changed the skin system.

    I hereby state that this can NOT be done. If someone can prove me wrong please post it in this thread.
     
    UnseenMC, Matroxko and Zombie_Striker like this.
  13. Offline

    smirenej

    Oh wow, thank you for such a big research! Eventhough there is not a way of getting the skin one uses on higher versions, I have one other question or idea.

    Do you think there could be an option ot set a specific skin for a player with a certain name? I mean there is 10 people playing on our server so if something like this worked, we would be able to upload it to something like a server library (no idea what I'm talking about, just an idea).

    For example if a player with a nickname smirenej would join, he would get a specific skin that is uploaded somewhere (no idea where).

    Would this be a possibility?

    EDIT: Since skins are working perfectly fine on 1.7.6+ I wouldn't need this plugin at all. If we upgraded, it would probably be when 1.13 is out and a vanilla so that's something we are able to do ourselves. Thanks for your advices anyways :)
     
  14. Offline

    Tabuu_

    The Mojang skin library is public, but as long as we can not set the url to the skin we can not use it.

    But updating to 1.7.6 should cause no issues what so ever.
     
    Last edited by a moderator: Mar 15, 2018
  15. Offline

    smirenej

    Al right so we can not set a url to a skin, that's what I meant. Well thanks a lot for trying and have a good day! <3
     
  16. Offline

    502BadGamer

    I don't see why updating from 1.7.2 to a later 1.7 version would cause any issues.
     
  17. Offline

    smirenej

    1) In 1.7.2, there is a certain bug where you can change a metadata of a block. Since there is a lot of unused metadata blocks in this version, we are using a resource pack that changes these unused blocks to blocks from higher versions and to blocks we would like to be added (for example a log block with sizes and functions of a cobble wall). We are using these quite heavily. If we upgraded to later 1.7 version, we wouldn't have a way of getting these blocks since this bug was fixed in 1.7.6 - which is the first version that skins are still working on. If we upgraded to a later 1.7 version, we would use a lot of design possibilities.

    2) I don't know how much are you familiar with the technical side of MC and 1.7 bukkit versions but there are major differences in between 1.7.2 and 1.7.6-10. For example spawning algorithm is a lot different. If you leave chunks in 1.7.2 for more than 128 blocks, mobs instantly despawn. If you do the same in 1.7.10, mobs are stored in the memory and are waiting there for you. Let's say you just go anywhere where last night somebody went thorough and you find burning zombies and skeletons everywhere. This is not only annoying but also according to our tests it also affect spawning a lot. If there is a mob that is stored in a lazy chunk (a square of last chunks loaded by a player), it cannot despawn BUT also counts to a mob cap. Therefor if a survival server plays on such a version, there is a high chance that mobs would stop spawning over time. For somebody that can be good but we are a server that tries to use the technical aspect of the game the best way possible. We create a lot of mobfarms. If our mobfarms don't work, what do we do?

    3) As mentioned above, we are trying to play technically. We use ghasts a lot in various places - due to their huge hitboxes that can be used for a lot of things I'm not gonna mention. There is a certain spot in the ghasts hitbox where if you put a transparent or semi-transparent block (ex. glass or glowstone), the ghast can't see you and won't shoot his fireball to kill you. If you put a solid block (ex. cobblestone, iron block), he starts to take a suffocation damage and dies. In 1.7.2, this spot is the same. In 1.7.6-10 however, there are 3 spots where there has to be a transparent or semitransparent block to stop the ghast from seeing you and there are 2 spots where the ghast takes suffocation damage. These are the same as 2 of the 3 spots that are needed to be covered with transparent or semi-transparent blocks if you don't want them to see you. Not only are there more spots than in 1.7.2 bukkit, these spots are also moved up by a block. Since we use them in most of our technical stuff, we need them to be alive - if we upgraded, all of them would die due to suffocation damage. Those that wouldn't die would see us and start shooting -> they would blow up most of our circuits and designs and in some time also die because of the fireballs hitting too close to them, which would cause some damage to them as well. If we wanted everything to still be working properly, we would need to rebuild basically all of our technical stuff that we built there in the past 5 years.

    There are also other reasons but these 3 are the biggest ones there. If you want me to continue or if you have anything more to say about it, please do. I think you should understand that if we've upgraded to 1.7.6-10 bukkit, we could basically start our server from scratch.

    Changing the server to vanilla and the newest version is the way we are probably going to do. It is gonna ruin a lot of stuff but at least we are not gonna be slowed down with bukkit which is one of the thoughest things to work with when you try to do technical stuff in MC. Not saying that we would still prefer staying in 1.7.2 if there was a way of us seing our skins ...
     
    Matroxko likes this.
Thread Status:
Not open for further replies.

Share This Page