Helpful information regarding iwad hashes
Currently the server does nothing against hash mishaps. The ideal would probably be to not let the user connect with a friendly warning as to why their iwad doesn't work, and how to fix it. There is a list of known iwad hashes on the Doom Wiki that can be used to match every iwad people use. If an unknown match is found, the client should inform the user that their iwad is unknown, possibly corrupt, and needs to be replaced from a proper source.
Discussion in IRC:
[12:04] <HeX9109`> dr_sean, there is a list of every iwad checksum on the doom wiki
[12:05] <dr_sean> thanks
[12:06] <dr_sean> I have a feeling dl337r's wad got corrupted somehow
[12:08] <dr_sean> I saw some old discussion in the bug tracker about wad checksums so I don't know if I'm rehashing an old discussion, but I think if a player's IWAD checksum doesn't match the server, the player should be notified and disconnected.
[12:09] <dr_sean> If nothing else, they have something a lot more specific to report than a wild-goose chase bug report
[12:11] <HeX9109`> What would be cool is to actually tell the user what version of the iwad they have based on the checksum
[12:11] * dr_sean agrees
[12:12] <HeX9109`> "You have version 1.666. You need to update to the server's version of 1.9!"
[12:12] <HeX9109`> Or if the server is using an outdated iwad, tell that too
[12:12] <dr_sean> Or simply that the user has an unknown IWAD
[12:12] <dr_sean> eg, it became corrupted
[12:16] <HeX9109`> "Your <insert iwad here> does not match any known version and is probably corrupt. Please reinstall your copy of DOOM and try again"
[12:17] <dr_sean> perfect.
This issue should probably be handled differently for the freedoom iwad, or if the iwad doesn't match but the server is using pwads (which shouldn't effect gameplay).
In the bug #718 (which should be closed as "not a bug" or something) I had a wrong version of doom2.wad. However, the game didn't warn me about that completely. The only thing that lead to the resolution of my problem was the absence of a single string in the console.
Right now for testing purposes, I renamed my freedoom wad "doom2.wad" and tried connecting to various servers -- none of these refused me; the ones with PWADs replacing the game's maps, in fact, play OK. But when the PWAD doesn't exist _OR_ doesn't replace the map, bugs occur.
So, my side-request is simple: please make detecting IWAD hash problems an easier thing. It would be *even better* if the code would detect whether the map being played matches with the one the client has and only give errors / switch IWADs in case of their incompatibility.