Powered by denisetiya
- ๐ Table of Contents
- โจ Features
- ๐ Prerequisites
- ๐ Quick Start
- ๐ Alternate Setup Options
- ๐ Configuration
- ๐ Dimension Support
- โ๏ธ Cloudflare Tunnel
- ๐ Project Structure
- ๐ณ Docker Services
- ๐ง Useful Commands
- ๐ก Security Recommendations
- ๐ License
- ๐ Additional Resources
- ๐ฎ PaperMC 1.21.8 - High-performance Minecraft server with plugin support
- ๐ณ Docker Compose - Easy deployment and management
- โ๏ธ Cloudflare Tunnel - Secure remote access without port forwarding
- ๐ Full Dimension Support - Overworld, Nether, and The End enabled by default
- โ๏ธ Pre-configured Settings - Optimized default configuration
- ๐ Security Focused - Best practices for server security
- ๐ Comprehensive Documentation - Detailed setup and usage guides
- Docker installed on your system
- Docker Compose installed on your system
- Basic understanding of command line operations
- (Optional) Cloudflare account for tunnel setup
-
Clone or download this repository
git clone <repository-url> cd minecraft-server
-
Create required directories
mkdir -p data plugins cloudflared
-
Start the server
docker-compose up -d
-
View server logs
docker-compose logs -f
-
Stop the server
docker-compose down
Run your Minecraft server in the cloud using GitHub Codespaces:
- Fork this repository to your GitHub account
- Create a new codespace from your forked repository
- Forward port 25565 to public access in the codespace
- Connect to your server using the codespace URL and port
For detailed instructions on various alternate setup methods including:
- Docker run command setup
- Local development setup
- Cloud hosting options
- Advanced configuration
See ALTERNATE_SETUPS.md for complete documentation.
| Component | Description | Default |
|---|---|---|
| Port | Minecraft server port | 25565 |
| Data Storage | Server data directory | ./data |
| Plugins | Server plugins directory | ./plugins |
| Timezone | Server timezone | Asia/Jakarta |
| EULA | Minecraft EULA acceptance | true (auto-accepted) |
| Variable | Description | Default |
|---|---|---|
TZ |
Timezone for the server | Asia/Jakarta |
UID |
User ID for file permissions | 1000 |
GID |
Group ID for file permissions | 1000 |
EULA |
Auto-accept Minecraft EULA | true |
VERSION |
Minecraft version | 1.21.8 |
Your server comes with full support for all Minecraft dimensions enabled by default:
- Primary world with all biomes and structures
- Spawn point for new players
- Enabled via
allow-nether=truein server.properties - Accessible through Nether portals
- Contains unique blocks and structures
- Accessible through End Portals in Strongholds
- Home to the Ender Dragon and End Cities
For detailed dimension configuration, see DIMENSIONS.md
Secure remote access without port forwarding using Cloudflare Tunnel:
- ๐ Security - Server IP never exposed
- ๐ No Port Forwarding - Works behind NAT/firewalls
- ๐ก DDoS Protection - Cloudflare's network protection
- ๐ท Custom Domain - Professional domain access
Follow the detailed instructions in CLOUDFLARE_TUNNEL_SETUP.md
minecraft-server/
โโโ docker-compose.yml # Docker Compose configuration
โโโ .gitignore # Git ignore rules
โโโ .github/ # GitHub configurations (if any)
โโโ README.md # This documentation
โโโ LICENSE # MIT License
โโโ DIMENSIONS.md # Dimension configuration guide
โโโ ALTERNATE_SETUPS.md # Alternate setup methods
โโโ CLOUDFLARE_TUNNEL_SETUP.md # Cloudflare Tunnel setup guide
โโโ data/ # Server data (git-ignored except configs)
โ โโโ server.properties # Main server configuration
โ โโโ eula.txt # EULA agreement
โ โโโ paper.example.yml # Example Paper configuration
โโโ plugins/ # Server plugins (git-ignored)
โโโ cloudflared/ # Cloudflare Tunnel configuration
โโโ config.yml # Tunnel configuration
โโโ *.json # Credentials file (git-ignored)
| Service | Image | Description | Port |
|---|---|---|---|
minecraft |
marctv/minecraft-papermc-server:1.21.8 |
PaperMC Minecraft Server | 25565 |
cloudflared |
cloudflare/cloudflared:latest |
Cloudflare Tunnel (optional) | N/A |
# Start services in background
docker-compose up -d
# View live logs
docker-compose logs -f
# View specific service logs
docker-compose logs minecraft
# Stop services
docker-compose down
# Restart specific service
docker-compose restart minecraft
# View running containers
docker-compose ps
# Execute commands in running container
docker-compose exec minecraft <command>
# Update container images
docker-compose pull- Always keep
online-mode=truein server.properties - Use a whitelist for private servers (
white-list=true) - Regularly update the PaperMC server
- Backup your world data regularly
- Use strong passwords for operator accounts
- Configure firewall rules to restrict access
- Monitor server logs for suspicious activity
- Limit operator permissions to trusted players only
This project is licensed under the MIT License - see the LICENSE file for details.
MIT License
Copyright (c) 2025 Deni Setiya
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Powered by denisetiya | ๐ฎ Happy Gaming!