Self-hosted Minecraft Web Client deployment made simple
Deploy your own Minecraft Web Client in seconds with our interactive script:
curl -O https://raw.githubusercontent.com/zardoy/minecraft-everywhere/main/deploy.sh
chmod +x deploy.sh
./deploy.sh
If you enabled automatic updates, ensure cron is running: crontab -l
. If not, run ./deploy.sh --update-cron
to setup it again.
- 🌐 Minecraft Web Client - Play Minecraft directly in your browser
- 📦 Multiple Deployment Options - Static files or Node.js server
- 🔄 Automatic Updates - Stay current with latest releases
- ⚡ Easy Setup - One command deployment
- 🔌 Minecraft Websocket Proxy - Enhanced connectivity
- 🎨 Pixel Client 1.12.2 - Retro Minecraft experience
- 🐳 Docker Support - Containerized deployment
Full-featured deployment with server-side capabilities.
- ✅ Automatic service startup
- ✅ Built-in web server for the client
- ✅ Built-in proxy for connecting to Java servers through this deployment
Perfect for hosting with Apache, Nginx, or any static file server.
- ✅ No server-side processing required
- ✅ Minimal resource usage
- ✅ Easy to maintain
- Web server (Apache, Nginx, etc.)
- Basic file serving capabilities
- Linux server
- Node.js 18.x or higher
- npm package manager
- PM2 process manager (auto-installed if missing)
If you prefer manual setup:
-
Download the latest release:
wget $(curl -s https://api.github.com/repos/zardoy/minecraft-web-client/releases/latest | grep "browser_download_url.*self-host.zip" | cut -d '"' -f 4)
-
Extract files:
unzip self-host.zip
-
For static hosting:
cp -r dist/* /var/www/html/
-
For Node.js hosting:
pm2 start server.js --name mwc-server pm2 startup pm2 save
When enabled, the system will:
- ✅ Check for updates every 24 hours
- ✅ Download and apply updates automatically
- ✅ Restart server only when required
- ✅ Maintain service availability
To remove Minecraft Web Client from your server:
# Remove static files
sudo rm -rf /var/www/html/minecraft
# Remove version tracking and update script
sudo rm -rf /var/lib/minecraft-web-client
sudo rm /usr/local/bin/mwc-update.sh
# Remove cron job
(crontab -l | grep -v mwc-update) | crontab -
# If using Apache, remove site configuration
sudo a2dissite minecraft*.conf
sudo rm /etc/apache2/sites-available/minecraft*.conf
sudo systemctl reload apache2
# If SSL was configured, you may want to remove the certificate
sudo certbot delete --cert-name your-domain.com
# Stop and remove PM2 service
pm2 stop mwc-server
pm2 delete mwc-server
pm2 save
# Remove installation directory
sudo rm -rf /opt/minecraft-web-client
# Remove update script
sudo rm /usr/local/bin/mwc-update.sh
# Remove cron job
(crontab -l | grep -v mwc-update) | crontab -
# If using Apache, remove site configuration
sudo a2dissite minecraft*.conf
sudo rm /etc/apache2/sites-available/minecraft*.conf
sudo systemctl reload apache2
# If SSL was configured, you may want to remove the certificate
sudo certbot delete --cert-name your-domain.com
# Optionally, if you don't need Node.js and PM2 anymore
sudo npm uninstall -g pm2
# Note: Don't remove Node.js if other applications depend on it
Replace your-domain.com
with the actual domain name you used during installation.
minecraft-everywhere/
├── README.md # This file
├── deploy.sh # One-liner deployment script
└── .gitignore # Git ignore patterns
Contributions are welcome! Please feel free to submit a Pull Request.
This project is open source and available under the MIT License.
- Minecraft Web Client - The main web client
- PrismarineJS - Minecraft protocol implementation
Having issues? Please check the Issues page or create a new issue.