Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

use fastdl.me to fix missing maps and maps that differ #1

Merged
merged 4 commits into from
Apr 12, 2024

Conversation

rtldg
Copy link
Owner

@rtldg rtldg commented Apr 6, 2024

This helps with two situations.

Situation 1:

  • You have bhop_example.bsp downloaded.
  • You join a server that has a different version of bhop_example.bsp.
  • You are unable to join the server unless you delete your local copy of bhop_example.bsp because the map differs.

Solution

  • Download <SHA1_HASH>.bsp from fastdl.me and continue connecting to the server using <SHA1_HASH>.bsp instead of your local copy of bhop_example.bsp.
  • (your local copy of bhop_example.bsp is not overwritten)

Situation 2:

  • You don't have bhop_example.bsp downloaded.
  • You join a server but their fastdl URL (sv_downloadurl) does not have bhop_example.bsp on it.
  • You are unable to join because you can't download bhop_example.bsp.

Solution

  • Download <SHA1_HASH>.bsp from fastdl.me and save it locally as bhop_example.bsp.

How?

The server sends you the "lump checksum" of its map when you join. This is an MD5 hash of most of the .bsp file's sections.

I have some code that generates the "lump checksum" for every map on https://fastdl.me (in this repo https://github.com/srcwr/maps-cstrike-more). It makes a .csv file with rows that look like sha1,lump_md5_checksum.

We download that lump_checksums.csv periodically and then just find the "lump checksum" in it and download a corresponding map from fastdl.me with the SHA1 hash.

Problems

  • Maps can have the same "lump checksum" while not being the same map. This is mainly because the "entity lump" isn't included in the checksum which ends up being edited for some maps.
  • Some maps on fastdl.me don't have a "lump checksum" because the script failed to calculate it mostly likely due to the .bsp being corrupted or non-standard in some way.

TODO

  • Update README
  • More testing (good enough)
  • Look into using original_mapname.csv also to force the mapname internally so soundscapes and cubemaps load.

@rtldg
Copy link
Owner Author

rtldg commented Apr 6, 2024

.exe for testing RawInput2BunnyhopAPE.zip

@rtldg rtldg merged commit 819da33 into main Apr 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant