1. Wulf

    Wulf Community Admin

    Shutdown server, overwrite the original under RustDedicated_Data/Managed, start server.
     
  2. Wulf

    Wulf Community Admin

    I'd need more details... what steps you took, what you did to test.
     
  3. Shutdown the server replaced the file then started it back up and my Server Rewards still don't work even after loadlocalimages, and the UiPlus Still doesnt load images and they are Url and the map isnt working Screenshot
     
  4. Wulf

    Wulf Community Admin

    Looking into it still, not releasing until we know for sure it is fixed.
     
  5. I tested it with my plugin (Kill Feed for Rust | Oxide) and it works like a charm!

    I took the following steps:
    • download your Assembly-CSharp.dll from this thread
    • navigate to my rust server installation and then to .../RustDedicated_Data/Managed/
    • delete the old Assembly-CSharp.dll and replace it with the one I downloaded
    • start the server
    • kill an animal so I can see if the image is displayed and not just a white square
    • success it is being displayed
    Inside my plugin I call the FileStorage's Store(...) function like this:
    Code:
    fileIDs[shortname] = FileStorage.server.Store(stream, FileStorage.Type.png, CommunityEntity.ServerInstance.net.ID, 0).ToString();
    I pass 0 as a second directory filename which would be in line with the changes you made to the Get(...) function inside the FileStorage class!
    I made a small write up on Reddit explaining what I think the issue is here: Official Bug Reporting Megathread - Devblog 138 • /r/playrust

    So thanks for verifying my suspicions. :)
     
    Last edited by a moderator: Dec 2, 2016
  6. Wulf

    Wulf Community Admin

    The 0 at the end is default, so you wouldn't need to pass it.
    4a6ea86f1275eea0e536a2e2156bb540.png

    The only change made was here:
    8714528d7e2dc980d7b084a14db09576.gif

    I haven't had any success in plugins other than Sign Artist so far. All call the same way though from what I can tell.
     
  7. I know. Dunno why I passed it anyways. :p
    I should also use something constant instead of CommunityEntity.ServerInstance.net.ID to store the files I need to store. Every time the server is being restarted a new directory is being created and a new set of files is being stored. Going with 1433. That's my plugin's ResourceId. :)

    The call looks like this now:
    Code:
    fileIDs[shortname] = FileStorage.server.Store(stream, FileStorage.Type.png, 1433).ToString();
     
  8. Wulf

    Wulf Community Admin

    Kill Feed still shows white images for me, no icons.
     
  9. The developers have not yet said when it will be fixed?
     
  10. Yes if you want to save pictures to the FileStorage you later want to use for the CommunityUI you need to call Store(...) with CommunityEntity.ServerInstance.net.ID else it won't work.
    Just figured that out. I was already wondering why 1433 worked, but it only worked for the images that where already send over to the client earlier when I called Store(...) like this:
    Code:
    fileIDs[shortname] = FileStorage.server.Store(stream, FileStorage.Type.png, CommunityEntity.ServerInstance.net.ID).ToString();
     
  11. Wulf

    Wulf Community Admin

    That's odd... does seem to work though. Doesn't seem to be needed in all instances though, ie. LustyMap seems to work fine without that change.
     
    Last edited: Dec 2, 2016
  12. Actually it makes sense if you look at the CommunityEntity class in your Client Assembly-CSharp.dll!
    When the "CommunityEntity json interpreter" encounters the png string it will call PngGraphicLoadRequested(...)!
    PngGraphicLoadRequested(...) in return calls FileStorage's Get(...) function like this:
    Code:
    byte[] numArray = FileStorage.client.Get(textureID, FileStorage.Type.png, this.net.ID);
    See how it passes this.net.ID into the function? That's going to end up being one of the directories name so you will also need to store images using the same ID.
    CommunityEntity.ClientInstance.net.ID is null on the server but you can just use CommunityEntity.ServerInstance.net.ID since it's the same ID. :)
     
  13. Wulf

    Wulf Community Admin

    It actually looks like any ID is fine, it was just cached on the client with the bad images until the ID was changed. No actual plugin changes are needed, just a client restart. Source: the almighty @Nogrod. I'd test with and without CommunityEntity.ServerInstance.net.ID to make sure though, with a client restart between each.
     
    Last edited: Dec 2, 2016
  14. Sorry, im not good at all this, but if you have time, could you explain all this to a person who doesnt know too much about this :D?

    I'm still learning, dont hate me for it!
     
  15. Did you go into .../server/<identity>/storage/ and delete all the folders containing the stored files in between tries?
    If you first use CommunityEntity.ServerInstance.net.ID as an argument for Store(...) inside your plugin all the stored files will be stored in .../server/<identity>/storage/CommunityEntity.ServerInstance.net.ID/0/!
    If you then use something like 1433 instead of CommunityEntity.ServerInstance.net.ID as an argument for Store(...) and reload your plugin all the stored files will be stored in .../server/<identity>/storage/1433/0/!
    Even if you now restart your client so the images are no longer cached clientside you will still be requesting the files from .../server/<identity>/storage/CommunityEntity.ServerInstance.net.ID/0/ from the server because clientside Get(...) is called with this.net.ID as an argument! You'll receive them just fine too because they are still there.

    But if you delete the stored files on the server in between tries .../server/<identity>/storage/CommunityEntity.ServerInstance.net.ID/0/ is no longer there and you'll fail to receive any images.
     
  16. Wulf

    Wulf Community Admin

    For those having issues after the Rust update, try Oxide build 2781 or higher. We've added a patch to fix the issue in Rust with getting local image files. Make sure to restart your client as well... You may also need updated versions of the plugins affected; check their support threads.