MCBDSHost - Professional Minecraft Bedrock Server Management

Downloads Implementation

Marketing Website deployment-packages/DOWNLOADS-IMPLEMENTATION.md

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 guide
  • deployment-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.zip and /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:


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:

  1. Modify source files if needed (docker-compose files, README files)

  2. Regenerate packages:

    cd deployment-packages
    .\create-download-packages.ps1
    
  3. Verify new packages:

    Test-Path ..\MCBDS.Marketing\wwwroot\downloads\mcbdshost-windows.zip
    Test-Path ..\MCBDS.Marketing\wwwroot\downloads\mcbdshost-linux.zip
    
  4. Rebuild and deploy the Marketing site


What Users Download

Users download a minimal package containing:

  1. Docker Compose configuration
  2. README with step-by-step instructions

What They Still Need to Download Separately

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

  1. Fast downloads - Small package sizes (< 3 KB each)
  2. No compilation needed - Docker builds from source
  3. Easy updates - Users can rebuild containers to get latest code
  4. Clear separation - MCBDSHost vs Minecraft licensing
  5. Self-contained - All deployment info in README

User Experience

  1. Visit website
  2. Download platform-specific ZIP
  3. Extract to deployment directory
  4. Follow README instructions
  5. Download Minecraft server
  6. Run Docker Compose
  7. 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

  1. Versioned downloads - Add version numbers to ZIP files
  2. Checksums - Provide SHA256 hashes for verification
  3. Release notes - Include changelog in packages
  4. Pre-built images - Host Docker images on Docker Hub
  5. 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:


Status: COMPLETE AND READY FOR DEPLOYMENT

Created: December 30, 2024
Package Version: 1.0.0
Last Updated: December 30, 2024

Support MCBDSHost Development

Help us continue developing and improving MCBDSHost. Your support makes a difference!