Recent updates breaking demos.
-
hoping for a fix for this
-
void hora I researched this some today and unfortunately there isn't any good news. I'll try and touch on both why loading demos after mod support doesn't work on redacted anymore as well as why any old demo no longer works on pluto either.
The same concept applies to both breaks. With mod support there had to be changes in the data that is shared between a client and server when connecting and playing. There is more information needed to make sure that the mod is loaded and everything is set up. These load sequences are very dumb, in that they just read data in order and if there is something new that it wasn't expecting it can't handle it. If you didn't know, demos are just a saved stream of these messages to play back again. This is the cause for the redacted crash. We add more information to this message and redacted can't handle it.
Similarly, if the game expects information in these messages and its not there it crashes as well. This is the case for why old demos no longer work on plutonium. In this more recent update, there was a patch necessary for a part of mods to work correctly on dedicated servers. This required us to add more information to the messages shared between client and server. These old demos would not have this additional information and the game fails to handle it.
Due to the way the game and these messages work, it's basically impossible to handle multiple different message sequences. This is why with breaking updates, we require server owners to update their server to show up on the list. Unfortunately this also applies to demos as well. We will discuss what is possible to do here, but in all likelihood we will not be able to support demos across breaking versions. Any new demos that are created should work as expected in plutonium, but going forward there will not be any way to load demos into redacted.
-
Matrix A backlog of plutonium versions, i believe you just need the exe files inside AppData\Local\Plutonium\bin, would go a long way in helping us archive old pluto demos. Im not sure about how easy it would be to maintain but it would be really appreciated.
-
@adore-u the program created by mxve in the following post includes the option to download versions they archived of Plutonium: https://forum.plutonium.pw/topic/17548/linux-windows-server-updater
-
Matrix This is understandable and expected, thank you for responding. I would assume editing those strings of data and load sequences to match them to what redacted is expecting would break the demo altogether? If we could find it in the demo file in the first place.
-
void hora In theory that would work but I'm not sure that's really feasible given the formats
-
Matrix Just found out that redacted crashes when loading the demos when loading the ui_mp.ff and patch_ui_mp.ff. There are two files in pluto called ui, and ui_mp that i bet if we had compiled into ff files and replaced into redacted they would work. Not sure how to compile them into ff files tho.
-
void hora Matrix gave a detailed explanation of why the error occurs, did you not read it? Because mod support was added to Plutonium T6 which includes (fastfile as mod.ff, ipak, sabl/sabs, iwd) similar to BO3 we ended up changing the network protocol in order to expand the amount of fx configstrings that can be registered. We did this because many maps were already at the limit making adding custom fx and playing it via a script would require removing existing fx or otherwise be impossible. So as one of a great deal many changes we did this change in order to improve the modding experience for the mod support feature.
It is theoretically possible to patch redacted to change the protocol like we did which would allow you to load Plutonium demos again, but we wouldn't bother doing this ourselves. Alternatively someone could make a tool that converts the demos between versions, though I have no idea how realistic such a thing is. A demo is just a recording of the packets the server saw from all connections
TLDR; This can only be fixed with engine modifications to redacted or a specialized converter to convert the demos. No raw file or fastfile patches will fix the crash, the demos are simply incompatible because the protocol is no longer identical.
-
JezuzLizard One of the main reasons we use redacted is the mods that have been created for it, such as Airyz T6GR. These are normally in the format of Red32n, i found a thread from a bit ago from someone coincidentally doing the same thing as us, suggesting that these are just renamed dlls and theoretically we could just inject them (https://forum.plutonium.pw/topic/25431/red32n-files/7). I have tried this to no avail. I was wondering if this was due to the new network protocol, like the demo situation, or another incompatability which would more or less only be able to be resolved if the mod creator attempted to convert the mod to pluto.
-
@adore-u I did say they were renamed .dll files in that topic which is correct but they use redacted's plugin API which means injecting them wouldn't actually work because they do not necessarily need to use the main function which is typically the entry point for a .dll. Instead redacted manually calls specific functions that the red32n project exports to actually run code and apply patches.
Plutonium does not have plugin loading for client, only for dedicated servers, and also our plugin API isn't the same as redacted's. This is why the red32n when injected into Plutonium does not work and will not work unless you relink the red32n to work as a normal .dll. In order to do this you'd need to either obtain the source code of the red32n plugin and recompile it, or you'd need to reverse engineer the original red32n and recreate the source code. Do note there is no guarantee that the stock patches that Airyz T6GR for example would apply to Plutonium would work do to the number of patches that Plutonium already applies of which some of them could be incompatible which would require much more work to fix.