Chimera can automatically download maps you don’t have when joining multiplayer servers. This feature eliminates the need to manually search for and download maps, streamlining the multiplayer experience.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/SnowyMouse/chimera/llms.txt
Use this file to discover all available pages before exploring further.
Overview
When you attempt to join a server that’s running a map you don’t have, Chimera will:- Detect that the map is missing
- Automatically begin downloading it from a configured repository
- Display download progress with speed and file size information
- Complete the download and join the server
Default Configuration
Download Source
Chimera downloads maps from the HAC2/HaloNet repository by default:Download Location
Downloaded maps are stored in:Configuration
Map downloading can be customized inchimera.ini under the [memory] section:
Download Path
Change where downloaded maps are saved:Download Template
Customize the download URL template:Template Placeholders
The download URL template supports several placeholders:| Placeholder | Description | Example |
|---|---|---|
{map} | Map name (URL encoded) | bloodgulch |
{game} | Game engine type | retail or custom |
{server} | Server address | 192.168.1.100:2302 |
{password} | Server password (URL encoded) | mypassword |
{mirror<list>} | Mirror list (comma-separated) | server1.com,server2.com |
Mirror Failover
The{mirror<>} placeholder supports multiple mirrors with automatic failover:
Retail Map Downloads
Retail maps can be modified to contain malicious content. Only enable if you trust the download source:Download Font
Customize the font used for download progress display:Download Process
Server connection attempt
When you try to join a server, Chimera checks if you have the required map.
Download initiation
If the map is missing and downloading is enabled:
- Chimera constructs the download URL using the template
- A download thread is spawned to fetch the map
- Progress is displayed on-screen
Download progress
During download, you’ll see:
- Map name being downloaded
- Current download speed (KB/s or MB/s)
- Downloaded size / total size
- Progress percentage
Validation
Once downloaded:
- Chimera validates the map file header (checks for ‘head’ and ‘foot’ magic values)
- Invalid or corrupted downloads are rejected
- Successful downloads are saved to the configured location
Technical Details
Implementation
Chimera’s map downloader uses:- libcurl - For HTTP/HTTPS downloads
- Multi-threading - Downloads occur in a background thread
- Buffering - 1 MiB memory buffer for efficient I/O
- Timeout - 10 second connection timeout
- User Agent -
Chimera MapDownloader/1.0
Download Validation
Map files are validated by checking magic values: Standard maps (retail/Custom Edition):Security Considerations
Chimera implements several security measures:- Header validation - Ensures downloaded files are valid map files
- Minimum size check - Files must be at least 2048 bytes (0x800)
- Retail map blocking - Retail maps blocked by default to prevent replacement attacks
- URL encoding - Map names and passwords are properly URL-encoded
- HTTPS support - Supports secure downloads when configured
Custom Download Servers
You can set up your own map download server and point Chimera to it:Simple HTTP Server
- Respond to GET requests for
/{map}.map - Return 404 for missing maps
- Support HTTP/1.1
Advanced Template
For more complex setups:- Log download statistics
- Implement access control
- Serve different map versions based on game type
- Track which servers are requesting maps
Troubleshooting
Download fails to start
- Check that
download_templateis configured inchimera.ini - Verify you have write permissions to the download path
- Ensure your internet connection is active
Download times out
- The default timeout is 10 seconds for connection establishment
- Check your firewall settings
- Verify the download server is online
- Try a different mirror if using multiple mirrors
Invalid map file error
- The downloaded file is not a valid map (likely an error page)
- Check that the download URL template is correct
- Verify the map exists on the server
- Try downloading the map manually to test the URL
Wrong map downloaded
- Ensure the
{map}placeholder is in the correct position in your template - Check that the server is returning the correct map for the requested name
- Map names are case-insensitive (automatically converted to lowercase)
Downloaded maps not loading
- Check that the maps are in the correct folder
- Verify the download path setting in
chimera.ini - Ensure Chimera has read access to the download folder
- The map may be corrupted - try deleting and re-downloading
Performance Tips
- Use local mirrors - Host frequently used maps on a local network server for faster downloads
- Enable compression - Serve compressed maps if your server supports it
- Increase buffer size - The default 1 MiB buffer works well for most connections
- Use HTTPS - Provides security but may be slightly slower than HTTP
- Pre-download maps - For frequently played servers, manually download maps ahead of time
Best Practices
- Organize downloads - Use a separate folder for auto-downloaded maps
- Regular cleanup - Periodically review and remove unused maps
- Mirror redundancy - Configure multiple mirrors for reliability
- Trust your sources - Only download from trusted repositories
- Monitor disk space - Auto-downloading can fill disk space over time
