Jump to content

[41.73][MP] Client file not found even though file is there and matches file on server


Recommended Posts

Freshly installed set of mods on a server and a client, verified file exists on both ends. Client joins server, somehow fails to find the file and the server kicks the client because the file can't be found. It reports this for every installed mod in alphabetical order if you remove one it just goes to the next. It always seems to be a script file rather than a lua file, but I'm not sure if that's just due to the order of files loaded - it probably is, but I don't know for sure.


I suspect this has to do with the total number of mods installed and hitting some kind of buffer limit somewhere. I took it upon myself to locate it to confirm since the output of the NetChecksum class is relatively minimal, and poked around in a decompile, but I'm not familiar enough with the codebase to locate it and decided it would be more efficient to just report it as-is.


I run a lot of mods on my server (326 at present, many are tiny QOL things or fixes, it's not as crazy as it sounds), and we're planning to launch around the end of the month but DoLuaChecksum has had to be off during testing. I wanted to debug it and enable it before release, but it's looking like that isn't possible.


I realize my number of mods is probably an extreme case, but less extreme cases seem to run into the issue as well and have to end up removing mods that have no actual issue to resolve, just the game failing to find a script that again, is present.


Here's an example case of the log:

[26-08-22 22:16:20.243] LOG  : General     , 1661566580243> 0> NetChecksum: send total checksum.
[26-08-22 22:16:20.492] LOG  : General     , 1661566580492> 0> NetChecksum: total checksum lua=false script=false.
[26-08-22 22:16:20.492] LOG  : General     , 1661566580492> 0> NetChecksum: send group checksums 0-9.
[26-08-22 22:16:20.631] LOG  : General     , 1661566580631> 0> NetChecksum: group checksum 0 match=true.
[26-08-22 22:16:20.631] LOG  : General     , 1661566580631> 0> NetChecksum: send group checksums 10-19.
[26-08-22 22:16:20.702] ERROR: General     , 1661566580702> 0> IsoMetaGrid$MetaGridLoaderThread.loadCell> duplicate RoomDef.metaID for room at 8705,17649,1.
[26-08-22 22:16:20.705] ERROR: General     , 1661566580705> 0> IsoMetaGrid$MetaGridLoaderThread.loadCell> duplicate RoomDef.metaID for room at 7723,17134,0.
[26-08-22 22:16:20.706] ERROR: General     , 1661566580706> 0> IsoMetaGrid$MetaGridLoaderThread.loadCell> duplicate RoomDef.metaID for room at 7719,17127,1.
[26-08-22 22:16:20.708] LOG  : General     , 1661566580708> 0> NetChecksum: group checksum 10 match=true.
[26-08-22 22:16:20.708] LOG  : General     , 1661566580708> 0> NetChecksum: send group checksums 20-29.
[26-08-22 22:16:20.808] LOG  : General     , 1661566580808> 0> NetChecksum: group checksum 23 match=false.
[26-08-22 22:16:20.808] LOG  : General     , 1661566580808> 0> NetChecksum: send file checksums 23.
[26-08-22 22:16:20.947] LOG  : General     , 1661566580947> 0> 1661566580947> znet: Java_zombie_core_raknet_RakNetPeerInterface_disconnect.
[26-08-22 22:16:20.947] LOG  : General     , 1661566580947> 0> RakNetPeerInterface.connectionStateChangedCallback state=Disconnecting message= thread=Thread[GameLoadingThread,5,Workers].
[26-08-22 22:16:20.947] WARN : General     , 1661566580947> 0> ConnectionManager.log> Force disconnect [checksum-File doesn't exist on the client:
Z:\home\evelyn\.local\share\Steam\steamapps\workshop\content\108600\2711526629\mods\Admin More Tiles\media\scripts\AdminMoreTiles.txt].

That's from the Windows build running on wine but it happens on a native Win11 client as well. In case the space in the path makes you wonder, the next mod that pops up after this one does not have spaces, so that isn't it.


Here's the complimentary bit from the server (might not be the same kick I was restarting it and removing things to see what was going on):

[27-08-22 01:32:57.853] LOG  : General     , 1661563977853> 4,497,263,393> User Ducky is trying to connect..
[27-08-22 01:32:57.854] DEBUG: Multiplayer , 1661563977854> 4,497,263,393> GameServer.receiveLogin             > User Ducky ping 55 ms.
[27-08-22 01:32:58.016] LOG  : Network     , 1661563978016> 4,497,263,556> Connected new client Ducky ID # 0 and assigned DL port 27176.
[27-08-22 01:34:19.656] LOG  : General     , 1661564059656> 4,497,345,196> NetChecksum: PacketTotalChecksum lua=false script=false.
[27-08-22 01:34:19.657] LOG  : General     , 1661564059657> 4,497,345,196> user Ducky will be kicked because Lua/script checksums do not match.
[27-08-22 01:34:20.567] LOG  : General     , 1661564060567> 4,497,346,107> 1661564060567> znet: Connection closed: reason=1 port=1.
[27-08-22 01:34:20.568] LOG  : General     , 1661564060568> 4,497,346,107> 1661564060568> znet: Disconnecting client #0 SteamID=76561198157362692.
[27-08-22 01:34:20.968] LOG  : General     , 1661564060968> 4,497,346,507> 1661564060968> znet: OnValidateAuthTicketResponse response=6 SteamID=76561198157362692.
[27-08-22 01:34:23.572] LOG  : General     , 1661564063572> 4,497,349,112> 1661564063572> znet: Finally disconnected client 76561198157362692.

If I remove "Admin More Tiles" then "AFTAANSNS" becomes the problem, etc..


Again, I must stress that this happens to any/every random mod in the list, and that the file(s) in question are present and identical on both ends.

Edited by UdderlyEvelyn
Link to comment
Share on other sites

6 hours ago, Beard said:

Can you try loading just that one problematic mod and check if you still get the error?


Yep works just fine, no error.


Edit: I was starting to wonder if maybe it's just misreporting which mod is an issue, and someone else posted on the PZ Discord (https://discord.com/channels/136501320340209664/919609757168468028/1013190091130278040) about this being the case for them. I'll poke through my mods (which will.. take some time..) but I guess that's one avenue to look at for the problem in the Java - perhaps just misattribution of which file/mod is to blame. Would save many hours if it reports properly if so, hah!


By the way, thank you tons for making the map_zone.bin size limit higher. Makes all the difference in the world for my server. <3


Edit 2: Happened to be tsarslib in this case - definitely it reports the wrong mods/files under at least some circumstances.

Edited by UdderlyEvelyn
Link to comment
Share on other sites

I had problems with tsarslib but continue to have issues after fixing that particular issue (retained file on server, it seems steam workshop does not delete files that no longer exist in a mod but PZ cares if it's on the server but not the client).


Minimal Display Bars also looks like it stores its settings in lua files in the mod folder which would have course cause mismatches, I reported this to them and removed it.


I've tested after dealing with those and it still throws an error pointing at that mechanics sounds mod that is alphabetically first yet present on both ends.


I performed an exhaustive diff between client and server workshop folders and after dealing with anything including the aforementioned it still reports that that script is missing on the client, even though every file is present and the same size on both ends.


Edit: Still working on this (1 hour after original post, been working on it nonstop for the past 3 days now), some folders display a different size even though contents are identical and each file within is the same size.. That's about the only thing I can find that differs and I'm not sure what it means.

Edited by UdderlyEvelyn
Link to comment
Share on other sites

Delete the file on the server if its no longer part of the mod. Steam won’t.


Though if you’re using something like mod loader, it itself could cause issues. Modders really need to redo their mods to not require it vs. rely on an out of date mod to override the way the base game loads mods.

Link to comment
Share on other sites

Yeah I did that, every file exists in both places and is the same size now and yet it still says the first file of the first mod, alphabetically, is missing on the client. I understand something might have a bit flipped or something, it's possible, but I've reinstalled all mods on both ends and it persists. Either way, I'm confident that the file it's pointing to is not an issue as it has the exact same contents and is present on both ends, and then if I remove that mod it points to each one alphabetically down the list. Something in the system that reports what's wrong in this scenario is broken.


Edit: It's not alphabetical, the ones it reports are in alphabetical order of one another but it isn't just every mod id alphabetically, trying to determine order.


Edit 2: Was a few things, the Boots Expanded mod was triggering this, as well as a mod in my Zomboid\mods folder which started reporting after the boot mod was removed. The game persistently kept telling me random other mods were the problem until I added things bit by bit and narrowed it down to the boot mod. Whatever is preventing the game from telling you the real culprit is the bug I am reporting with this thread, if that is unclear.

Edited by UdderlyEvelyn
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...