Yekaterina Posted May 16, 2021 Report Share Posted May 16, 2021 I made some I have been working on some translation mod and GUI mods. Also langbart sent me a mod which makes chickens larger for better visibility. I would like to use these mods in the multiplier lobby, but when I log in all games are grey and it says I am incompatible. @nani's autociv manages to bypass this and I would like to know how it is achieved. I made some graphics mod which does not affect gameplay so they should be allowed in the lobby. Quote Link to comment Share on other sites More sharing options...
Lion.Kanzen Posted May 16, 2021 Report Share Posted May 16, 2021 Stan is the one who knows these details best. @Stan` Quote Link to comment Share on other sites More sharing options...
soshanko Posted May 16, 2021 Report Share Posted May 16, 2021 26 minutes ago, Yekaterina said: @nani's autociv manages to bypass this and I would like to know how it is achieved. I made some graphics mod which does not affect gameplay so they should be allowed in the lobby PYRO MOD maybe 1 Quote Link to comment Share on other sites More sharing options...
Grapjas Posted May 16, 2021 Report Share Posted May 16, 2021 (edited) I've looked into this aswell when i started. I know how this is done but generally speaking its better to not do it (devs discourage it). It can cause out of sync errors depending on what your mod does. It could also be considered cheating if you have a mod enchancing things that others do not have. Your mod will also not be approved for the ingame mod downloader, reducing the audience you can reach significantly because there are much more offline players than you think. With all that said though, i think you are safe from out of sync errors if the changes are strictly GUI, but im not 100% sure. tip: look for the monkey in @nani's mod. I guess he renamed it. It's mod~autociv.js and !!!autociv_patchApplyN.js Edited May 16, 2021 by Grapjas 1 1 Quote Link to comment Share on other sites More sharing options...
nani Posted May 16, 2021 Report Share Posted May 16, 2021 The files in question you need to add to your mod are: gui\common\!!!autociv_patchApplyN.js gui\common\mod~autociv.js gui\gamesetup\NetMessages\GameRegisterStanza~autociv.js Then change all occurrences of "autociv" word for the name of your mod. As for knowing what to change here are some tips to follow so you don't trigger OOS (out of sync): simulation folder: don't change code behaviour or variables that are serialized How to know if a variable is serialized: There exist a function name "Serialize" in the component and that function does something with the variable Doesn't exist a function name "Serialize" in the component, that means all is serialized Templated can't be modified gui folder: you can change anything art folder: you can change anything shaders folder: you can change stuff but most be compatible with the engine maps folder: you can add maps without problems but you can't modify existing maps l10n folder: you can change anything audio folder: you can change anything globalscripts folder: you might be able to change some things, not sure about this one 2 2 Quote Link to comment Share on other sites More sharing options...
Yekaterina Posted May 16, 2021 Author Report Share Posted May 16, 2021 Thank you so much nani! It works! Quote Link to comment Share on other sites More sharing options...
Freagarach Posted May 17, 2021 Report Share Posted May 17, 2021 13 hours ago, nani said: globalscripts folder: you might be able to change some things, not sure about this one Better safe than sorry and don't change this one. It is used by the simulation, AI and GUI. 2 Quote Link to comment Share on other sites More sharing options...
wraitii Posted May 17, 2021 Report Share Posted May 17, 2021 I have a revision for this: D3968. I would like to try and merge it before A25 (btw @nani you might have input on this?) However, it will likely rely on trust. 3 Quote Link to comment Share on other sites More sharing options...
hyperion Posted May 17, 2021 Report Share Posted May 17, 2021 3 hours ago, wraitii said: I have a revision for this: D3968. I would like to try and merge it before A25 checksum_compatible is probably insufficient. Make it map_pack, campaign, ui, extra_civ. Not saying this list is complete or the naming or even grouping to be good. The point is there should be a tag for each case you might want to handle separately in future instead of an "ignore mod compatibility" flag. 4 hours ago, wraitii said: However, it will likely rely on trust. That's obvious and nothing wrong with it at all. Though giving it a cursory glance whether the modder got it right or not when approving the mod for mod.io wouldn't hurt. Quote Link to comment Share on other sites More sharing options...
Stan` Posted May 17, 2021 Report Share Posted May 17, 2021 9 minutes ago, hyperion said: 4 hours ago, wraitii said: That's obvious and nothing wrong with it at all. Though giving it a cursory glance whether the modder got it right or not when approving the mod for mod.io wouldn't hurt. That's already something @Itms does. Quote Link to comment Share on other sites More sharing options...
wraitii Posted May 18, 2021 Report Share Posted May 18, 2021 17 hours ago, hyperion said: checksum_compatible is probably insufficient. Make it map_pack, campaign, ui, extra_civ. Not saying this list is complete or the naming or even grouping to be good. The point is there should be a tag for each case you might want to handle separately in future instead of an "ignore mod compatibility" flag. I thought of that a bit and think those would be 'tags' for the users to look at, not really for the engine. Sure, this would help narrow down the compatibility, but at the end of the day I don't think we'd ever have a perfect system, and it seems like it would mostly complicate things. Which is why I went with this boolean "this does [not] change checksums". And yeah obviously we'd need to check the mods that we approve for signing, but that's not the only way people share mods. 2 Quote Link to comment Share on other sites More sharing options...
hyperion Posted May 19, 2021 Report Share Posted May 19, 2021 @wraitii I also thought about it a bit more and while there are cases that aren't that hard to handle they all need additional data beside a type specifier. Even if implementing them one probably still wants a pass par tout boolean to bypass the compat check. checksum_compatible might be a bit of an unlucky name though, checksums are also referred to as hashes. Also a user or first time modder will ask himself what it refers to. Maybe call the boolean skip_mod_compatibility_check instead. Quote Link to comment Share on other sites More sharing options...
wraitii Posted May 19, 2021 Report Share Posted May 19, 2021 Just now, hyperion said: I also thought about it a bit more and while there are cases that aren't that hard to handle they all need additional data beside a type specifier. Even if implementing them one probably still wants a pass par tout boolean to bypass the compat check. Yes that's essentially my conclusion as well. Just now, hyperion said: checksum_compatible might be a bit of an unlucky name though, checksums are also referred to as hashes. Also a user or first time modder will ask himself what it refers to. Maybe call the boolean skip_mod_compatibility_check instead. I was actually struggling with the name quite a bit, skip_mod_compatibility_check seems a good proposition to me, thanks 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.