Development Branch Manual Compilation
vedalken254 opened this issue ยท 4 comments
Hey @aidancbrady and @unpairedbracket, Here's that issue I promised. The problem I encountered happened back in Mek v8.1.2.228 and I'm unsure if it's actually been fixed or even reported before. The issue is that the server was running 8.1.2.228 and I had to compile a fix from my development branch relating to my pull request earlier this year. The problem I encountered was that even though the classes were different server-side (my friend ran the technicpack modpack at that time and I couldn't update the client pack at that point) from the classes located on the client. The Server was running the manually compiled version (homebaked) and one of the other users of the pack was on build 228. The other user was still able to login and play even though the jars signatures and even code didn't match. It might've been only a server-side bug that I fixed but still. I would think the game would recognize that "hey! these don't match up!" and decline the connection. I don't know if this is a Mekanism issue or simply an overall Forge Issue, but please let me know what you guys think.
Server/client handshake only checks version string, not actual build numbers. This sounds fine.
@aidancbrady but the thing is that the version string didn't match. the client-side version string was 8.1.2.228 (assuming you include build number in the string which should be the case anyways) and server-side version string was 8.1.2.homebaked (once again, assuming the build number is included in the version string).
EDIT:disregard. misinterpreted what you said... My bad.
I'm talking about the version string defined here: https://github.com/aidancbrady/Mekanism/blob/77a4ef3515b2d74e10ee2ce2e4fc0892f4b9b573/src/main/java/mekanism/common/Mekanism.java#L142
That's not updated with build numbers.
EDIT:
It would be possible in theory to do a quick SHA-1 scan of the client side jar and compare it with the server side, but I don't see a good enough reason as of now
@aidancbrady ahhh... yeah... So basically it's kind of a forge issue then because they probably don't implement a build checking function for mods that do not include the build number as part of the version.