-
-
Notifications
You must be signed in to change notification settings - Fork 490
Description
Describe the bug
Servers that use built-in HTTP server, can't use binary files with a space in filename within any resource, as it will generate HTTP download errors like the below one:
SD23 1013,HTTP server file mismatch (weaponsounds) combat shotgun.aac [Got size:55 MD5:8D90FFA9DF5843E27FB4BCEFC1253555, wanted MD5:B0A60ED5D7772654C2E7DCE4E95324CE]
The malformed file with a size of 55 contains only this data (cleartext, when opened with Notepad):
That resource file could not be found in that resource.
This happens even though the file is properly declared in meta.xml (including the space), the actual filename and directory matches exactly, and the script itself is properly attempting to use it. Renaming the file (in my example, from combat shotgun.aac to combat_shotgun.aac) immediately resolves the problem.
- Built-in (internal) HTTP server is affected, external HTTP isn't
- This is a bug or technical limitation with our internal HTTP server implementation. Fixing or working around these kind of issues can be worth it because it places a burden on SD 23 (due to MTA already dealing with a lot of FP and client virus infection download errors, which on some servers result in a kick).
There are many reasons for resource download errors and I just isolated one (The type described in this issue).
Naturally, scripts that try to use binary files malformed to this 55 bytes cleartext file that this issue turns them into, can fail while executing the function trying to use said file (because it's no longer a valid file for that format).
Version
Server 1.6
Client 1.6