Downloads Implementation
Downloads Implementation Complete
Summary
Local download packages have been successfully implemented for the MCBDSHost Marketing website.
What Was Created
1. Download Packages
Location: MCBDS.Marketing/wwwroot/downloads/
mcbdshost-windows.zip (2.5 KB)
- docker-compose.windows.yml
- README.md with deployment instructions
mcbdshost-linux.zip (2.61 KB)
- docker-compose.linux.yml
- README.md with deployment instructions
2. Docker Compose File
File: docker-compose.linux.yml
- Created Linux-specific Docker Compose configuration
- Matches Windows version but with Linux paths
- Uses standard Docker images (not Windows containers)
3. Package Documentation
deployment-packages/windows-package/README.md- Windows deployment guidedeployment-packages/linux-package/README.md- Linux deployment guide
4. Package Creation Script
File: deployment-packages/create-download-packages.ps1
- Automated script to create ZIP packages
- Copies files from repository
- Creates packages in wwwroot/downloads
- Provides verification and summary
Files Modified
1. GetStarted.razor
Updated download section:
- Changed from GitHub releases to local downloads
- Added download buttons with
/downloads/mcbdshost-windows.zipand/downloads/mcbdshost-linux.zip - Updated installation instructions to reference downloaded packages
- Added file size and contents information
2. MCBDS.Marketing.csproj
Added content items to ensure downloads are copied:
<Content Update="wwwroot\downloads\**">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
3. web.config
Added ZIP MIME type:
<mimeMap fileExtension=".zip" mimeType="application/zip" />
Download URLs
Once deployed, downloads will be available at:
- Windows: https://www.mc-bds.com/downloads/mcbdshost-windows.zip
- Linux: https://www.mc-bds.com/downloads/mcbdshost-linux.zip
Testing Checklist
Local Testing
- Run the Marketing site locally:
dotnet run --project MCBDS.Marketing - Navigate to: http://localhost:5000/get-started
- Click "Download for Windows" button
- Verify mcbdshost-windows.zip downloads
- Click "Download for Linux" button
- Verify mcbdshost-linux.zip downloads
- Extract ZIP files and verify contents
After IIS Deployment
- Visit: https://www.mc-bds.com/get-started
- Test Windows download link
- Test Linux download link
- Verify downloads work in different browsers
- Check that ZIP files are served with correct Content-Type header
Package Contents
Windows Package
mcbdshost-windows.zip
docker-compose.windows.yml (Docker Compose for Windows)
README.md (Deployment instructions)
Features:
- Windows Server 2019/2022/2025 support
- Docker Desktop for Windows
- Hyper-V and Containers
- Volume mounts to C:\MCBDSHost\
Linux Package
mcbdshost-linux.zip
docker-compose.linux.yml (Docker Compose for Linux)
README.md (Deployment instructions)
Features:
- Ubuntu/Debian support
- Standard Docker installation
- Volume mounts to /opt/mcbdshost/
Deployment Steps
1. Build Marketing Project
cd MCBDS.Marketing
dotnet clean -c Release
dotnet publish -c Release -o bin\Release\net10.0\publish
2. Verify Downloads Exist
Test-Path bin\Release\net10.0\publish\wwwroot\downloads\mcbdshost-windows.zip
Test-Path bin\Release\net10.0\publish\wwwroot\downloads\mcbdshost-linux.zip
3. Deploy to IIS
Copy-Item -Path "bin\Release\net10.0\publish\*" `
-Destination "C:\inetpub\wwwroot\mc-bds-marketing\" `
-Recurse -Force
4. Restart IIS
iisreset
5. Test Downloads
Invoke-WebRequest -Uri "https://www.mc-bds.com/downloads/mcbdshost-windows.zip" -OutFile "test-windows.zip"
Invoke-WebRequest -Uri "https://www.mc-bds.com/downloads/mcbdshost-linux.zip" -OutFile "test-linux.zip"
Updating Packages
To update the download packages in the future:
Modify source files if needed (docker-compose files, README files)
Regenerate packages:
cd deployment-packages .\create-download-packages.ps1Verify new packages:
Test-Path ..\MCBDS.Marketing\wwwroot\downloads\mcbdshost-windows.zip Test-Path ..\MCBDS.Marketing\wwwroot\downloads\mcbdshost-linux.zipRebuild and deploy the Marketing site
What Users Download
Users download a minimal package containing:
- Docker Compose configuration
- README with step-by-step instructions
What They Still Need to Download Separately
- Minecraft Bedrock Dedicated Server from official Minecraft website
- This is intentional - we cannot redistribute Minecraft server files
- Instructions clearly guide users to download from https://www.minecraft.net/en-us/download/server/bedrock
What Happens During Deployment
- Users extract the ZIP to their chosen directory
- They download Minecraft server separately
- Docker builds the container images from source code
- Volumes mount to host for easy access to worlds and backups
Benefits of This Approach
Advantages
- Fast downloads - Small package sizes (< 3 KB each)
- No compilation needed - Docker builds from source
- Easy updates - Users can rebuild containers to get latest code
- Clear separation - MCBDSHost vs Minecraft licensing
- Self-contained - All deployment info in README
User Experience
- Visit website
- Download platform-specific ZIP
- Extract to deployment directory
- Follow README instructions
- Download Minecraft server
- Run Docker Compose
- Access Web UI
Technical Details
File Serving
- Static files served by IIS
- MIME type:
application/zip - Location:
wwwroot/downloads/ - Public access: No authentication required
Content Security
- Files are read-only in wwwroot
- No user-uploaded content
- No dynamic generation
- Version-controlled in Git
Future Enhancements
Possible Improvements
- Versioned downloads - Add version numbers to ZIP files
- Checksums - Provide SHA256 hashes for verification
- Release notes - Include changelog in packages
- Pre-built images - Host Docker images on Docker Hub
- Automated builds - GitHub Actions to create packages on release
Current Limitations
- Manual package creation with PowerShell script
- No automatic versioning
- No integrity verification (checksums)
- Single version available (no older versions)
Build Status
Marketing project builds successfully
Download packages created
Files ready for deployment
Support Information
Users can get help at:
- Website: https://www.mc-bds.com/contact
- Email: support@mc-bds.com
- GitHub: https://github.com/JoshuaBylotas/MCBDSHost
Status: COMPLETE AND READY FOR DEPLOYMENT
Created: December 30, 2024
Package Version: 1.0.0
Last Updated: December 30, 2024