
# The Ultimate Windows Guide to Hosting a Minecraft Bedrock Server

Hey everyone! Following up on the Java Edition server guide, today we're covering **Minecraft Bedrock Edition** server hosting. Bedrock's biggest advantage is **cross‑platform play** – it lets players on Windows 10/11, mobile (iOS/Android), tablets, Xbox, Switch, and more all play together on the same server!

---

## Bedrock vs Java – What's the Difference?

Before we start, here's a quick comparison:

| Feature | Java Edition | Bedrock Edition |
|---------|--------------|-----------------|
| **Platforms** | PC only (Windows/Mac/Linux) | Multi‑platform (PC/mobile/consoles) |
| **Language** | Java | C++ |
| **Mod Support** | Rich (Forge/Fabric) | Limited (plugins/Add‑ons) |
| **Performance** | Java‑dependent optimisation | Native, better performance |
| **Redstone** | Original mechanics | Slightly different |
| **Commands** | Traditional syntax | Newer syntax |
| **Best For** | PC players, mod enthusiasts | Cross‑platform, casual players |

> **Which one should you choose?**
> - If you have friends on mobile or consoles → **Bedrock**
> - If you want lots of mods → **Java**
> - If everyone is on PC and loves technical gameplay → **Java**

---

## Prerequisites

### 1. System Requirements
- **OS:** Windows 10 or Windows 11 (64‑bit)
- **RAM:** At least 4 GB total (Bedrock is lighter than Java)
- **Storage:** Minimum 5 GB free space
- **Network:** Stable internet connection
- **Microsoft Account:** Required for authentication

### 2. Software You'll Need
- **Minecraft Bedrock Dedicated Server** (official)
- **Text editor** (Notepad++ or VS Code recommended)
- **Optional:** Port forwarding tools (for online play)

> **Note:** Bedrock servers **do NOT require Java** – that's the biggest difference from Java Edition!

---

## Step 1: Download the Bedrock Server

### Option A: Official Bedrock Dedicated Server (Recommended)

1. **Visit the official download page**  
   [https://www.minecraft.net/en-us/download/server/bedrock](https://www.minecraft.net/en-us/download/server/bedrock)

2. **Choose the Windows version**  
   - Look for "Bedrock Dedicated Server for Windows"
   - Click the "Download" button – you'll get a .zip file

3. **Extract the files**  
   - Create a folder on D: or E: drive, e.g., `D:\MC_Bedrock_Server`
   - Right‑click the .zip → Extract Here
   - Copy all files into `D:\MC_Bedrock_Server`

4. **File structure** – after extraction, you should see:
   ```
   D:\MC_Bedrock_Server\
   ├── bedrock_server.exe          # Main executable
   ├── bedrock_server_how_to.html  # Instructions
   ├── permissions.json            # Permission config
   ├── server.properties           # Server config
   ├── whitelist.json              # Whitelist
   ├── worlds\                     # World folder
   └── ... other files
   ```

### Option B: Third‑Party Server Software (More Features)

If you want plugins or extra features, try these:

**Popular alternatives:**
- **PocketMine‑MP:** [https://pmmp.io/](https://pmmp.io/) (plugin‑supported)
- **Nukkit:** [https://cloudburstmc.org/](https://cloudburstmc.org/) (Java‑based, cross‑platform)
- **LeviLamina:** [https://lamina.levimc.org/](https://lamina.levimc.org/) (lightweight)

> **For beginners:** Start with the **official server** – it's the simplest and most stable.

---

## Step 2: First Server Launch

### 1. Direct Launch (Easiest)

1. Navigate to `D:\MC_Bedrock_Server`
2. Double‑click `bedrock_server.exe`
3. A command prompt window will open
4. Wait until you see something like:
   ```
   Server started.
   IPv4 supported, port: 19132
   IPv6 supported, port: 19133
   ```
5. Your server is running!

> **Note:** The first launch generates a default world – this may take a minute or two.

### 2. Create a Startup Script (Recommended)

For easier management, create a `start.bat` file:

1. In the server folder, right‑click → New → Text Document
2. Rename it to `start.bat`
3. Right‑click and edit with Notepad, paste this:

```batch
@echo off
title Minecraft Bedrock Server
echo Starting Minecraft Bedrock server...
echo.
bedrock_server.exe
pause
```

4. Save it – from now on, just double‑click `start.bat` to launch.

### 3. Firewall Configuration

On first launch, Windows Firewall may pop up:

1. You'll see a "Windows Security Alert" window
2. Check both **"Private"** and **"Public"** networks
3. Click **"Allow access"**

If you missed the popup, set it manually:

1. Control Panel → Windows Defender Firewall → Advanced Settings
2. Inbound Rules → New Rule
3. Port → UDP → Specific local ports: `19132,19133`
4. Allow the connection
5. Name the rule (e.g., "Minecraft Bedrock Server") and save

> **Important:** Bedrock uses **UDP protocol**, not TCP!

---

## Step 3: Configure the Server

### 1. Edit server.properties

Shut down the server (press `Ctrl + C` in the command window), then open `server.properties` with Notepad.

Here are the key settings and what they do:

```properties
# ===== Basic Settings =====

# Server name (shown in the server list)
server-name=Minecraft Bedrock Server

# Game mode: survival, creative, adventure
gamemode=survival

# Difficulty: peaceful, easy, normal, hard
difficulty=normal

# Allow cheats (commands)
allow-cheats=false

# Maximum number of players
max-players=10

# Server port (UDP)
server-port=19132

# IPv6 port
server-portv6=19133

# Online mode (premium authentication)
online-mode=true

# Enable whitelist
white-list=false

# Allow player damage
player-damage=true

# Drop items on death
drop-items-on-death=true

# ===== World Settings =====

# World name
level-name=Bedrock level

# World seed (leave blank for random)
level-seed=

# World type: default, flat, legacy
level-type=default

# Default permission level: member, operator, visitor
default-player-permission-level=member

# Generate structures (villages, fortresses, etc.)
generate-structures=true

# Bonus chest at spawn
bonus-chest-enabled=false

# Spawn protection radius (blocks)
spawn-protection=16

# ===== Performance Settings =====

# View distance (in chunks)
tick-distance=4

# Max threads (0 = auto)
max-threads=8

# Enable education features
education-feature-enabled=false

# ===== Other Settings =====

# MOTD (message of the day)
motd=A Minecraft Bedrock Server

# Emit server telemetry
emit-server-telemetry=true

# Content log file
content-log-file-enabled=false

# Compression threshold
compression-threshold=1

# Allow flight
allow-flight=false

# Client-side chunk generation
client-side-chunk-generation-enabled=true

# Encryption
encryption-enabled=true

# Texture pack required
texturepack-required=false

# Server authoritative movement
server-authoritative-movement=server-auth

# Correct player movement
correct-player-movement=true

# Server authoritative block breaking
server-authoritative-block-breaking=true
```

### 2. Important Settings Explained

#### Game Mode
```properties
gamemode=survival    # Survival (recommended)
gamemode=creative    # Creative
gamemode=adventure   # Adventure (can't break blocks)
```

#### Player Management
```properties
# Max players (adjust based on your upload speed)
# LAN: 10‑20
# Online: 5‑10 (depends on upload bandwidth)
max-players=10

# Default permission level
# member = regular player
# operator = admin (can use commands)
# visitor = spectator only
default-player-permission-level=member
```

#### Online Mode (Authentication)
```properties
# true = only Microsoft‑authenticated accounts (recommended)
# false = offline accounts allowed (not recommended – security risk)
online-mode=true
```

#### World Generation
```properties
# Custom seed – find nice ones online
level-seed=-1234567890

# Superflat world (great for creative building)
level-type=flat

# View distance (affects performance)
# Low‑end PC: 2‑3
# Mid‑range: 4‑6
# High‑end: 8‑12
tick-distance=4
```

#### Flight Settings
```properties
# Allow flight in survival mode
# Creative mode always allows flight
allow-flight=false
```

### 3. Save and Restart

1. Save `server.properties` (`Ctrl + S`)
2. Restart the server (double‑click `start.bat` or `bedrock_server.exe`)
3. New settings take effect

---

## Step 4: Connect to Your Server

### Local Connection (Same PC)

1. Open Minecraft Bedrock client
2. Click **Play** → **Servers**
3. Scroll to the bottom and click **Add Server**
4. Fill in:
   - **Server Name:** Anything, e.g., "My Server"
   - **Server Address:** `localhost` or `127.0.0.1`
   - **Port:** `19132` (if unchanged)
5. Click **Save**
6. Click the server name to join

### LAN Connection (Same WiFi)

Bedrock makes LAN discovery super easy!

#### Method A: Auto‑Discovery (Easiest)

1. Make sure all devices are on the **same WiFi**
2. Start your server
3. On mobile/tablet, open Minecraft
4. Click **Play** → **Friends** tab
5. Your server should appear automatically
6. Tap to join

#### Method B: Manual Addition

If auto‑discovery doesn't work:

1. **Find your PC's local IP**
   - Press `Win + R`, type `cmd`, hit Enter
   - Run `ipconfig` and press Enter
   - Look for **IPv4 Address** – e.g., `192.168.1.100`

2. **Add server on other devices**
   - Open Minecraft
   - Play → Servers → Add Server
   - Server Address: `192.168.1.100`
   - Port: `19132`
   - Save and join

> **Tip:** Make sure all devices are logged into Microsoft accounts.

### Online Connection (Let Friends Join from the Internet)

#### Method A: Router Port Forwarding (Requires Public IP)

1. **Check if you have a public IP**
   - Visit [https://ip.cn](https://ip.cn) to see your public IP
   - Log into your router and check the WAN IP
   - If they match, you have a public IP

2. **Log into your router**
   - Open browser to `192.168.1.1` or `192.168.0.1`
   - Enter admin credentials

3. **Set up port forwarding**
   - Find "Port Forwarding", "Virtual Server", or "NAT"
   - Add a rule:
     - External Port: `19132`
     - Internal Port: `19132`
     - Internal IP: your PC's IP
     - Protocol: **UDP** (important!)
   - Also add port `19133` (IPv6)
   - Save

4. **Give your public IP to friends**
   - They add: `your.public.ip:19132`
   - Example: `123.45.67.89:19132`

> **Important:**
> - Bedrock uses **UDP**, not TCP!
> - Make sure your router forwards UDP ports
> - Public IP may change – consider using DDNS

#### Method B: Tunneling Tools (No Public IP Needed)

If you don't have a public IP, use tunneling:

**Recommended tools:**
- **SakuraFrp:** [https://www.natfrp.com/](https://www.natfrp.com/)
- **Ngrok:** [https://ngrok.com/](https://ngrok.com/)
- **ZeroTier:** [https://www.zerotier.com/](https://www.zerotier.com/) (virtual LAN)

Using SakuraFrp:
1. Create an account and download the client
2. Create a tunnel:
   - Type: **UDP**
   - Local IP: `127.0.0.1`
   - Local Port: `19132`
3. Start the tunnel – get a domain name
4. Friends connect using that domain

**Using ZeroTier (great for small groups):**
1. All players install ZeroTier
2. Create a network and share the network ID
3. Everyone joins the network
4. Connect using the ZeroTier virtual IP
5. No port forwarding needed – secure and easy

#### Method C: Minecraft Realms (Official Solution)

If self‑hosting is too much hassle, consider Minecraft Realms:

- **Pros:** Official, stable, one‑click invites
- **Cons:** Paid subscription (~$7.99/month)
- **Purchase:** Directly in‑game

---

## Step 5: Server Administration

### Common Console Commands

In the server command window, type commands directly:

```bash
# Show help
help

# Stop the server
stop

# Save the world
save hold      # Pause auto‑save
save resume    # Resume auto‑save
save query     # Check save status

# Grant OP (admin) privileges
op PlayerName

# Remove OP
deop PlayerName

# Ban a player
ban PlayerName

# Unban a player
pardon PlayerName

# List online players
list

# Change game mode (in‑game or console)
gamemode survival PlayerName
gamemode creative PlayerName
gamemode adventure PlayerName

# Teleport
tp Player1 Player2
tp PlayerName x y z

# Broadcast a message
say Hello everyone, welcome to the server!

# Set world spawn
setworldspawn
setworldspawn x y z

# List all game rules
gamerule

# Keep inventory on death
gamerule keepinventory true

# Set time
time set day
time set night
time set noon

# Set weather
weather clear
weather rain
weather thunder

# Change difficulty
difficulty peaceful
difficulty easy
difficulty normal
difficulty hard

# Kick a player
kick PlayerName

# Check server performance
tickingarea list
```

### Managing Player Permissions

#### 1. Using OP (Operator) Status

OPs have full command access.

```bash
# In console:
op Steve

# In‑game (if already OP):
/op Steve
```

OP players can:
- Use all commands
- Ignore spawn protection
- Fly in any mode
- Break and place any block

#### 2. Using a Whitelist

Allow only specific players to join:

```bash
# Enable whitelist
whitelist on

# Add players (use Xbox Gamertag or Microsoft account name)
whitelist add Steve
whitelist add Alex

# Remove a player
whitelist remove Steve

# List whitelisted players
whitelist list

# Reload the whitelist
whitelist reload
```

You can also enable in `server.properties`:
```properties
white-list=true
```

Then manually add players in `whitelist.json`.

#### 3. Editing permissions.json

Bedrock has a more granular permission system.

Open `permissions.json`:

```json
[
  {
    "permission": "operator",
    "xuid": "1234567890123456"
  },
  {
    "permission": "member",
    "xuid": "9876543210987654"
  }
]
```

**Permission levels:**
- `operator` – full admin access
- `member` – regular player
- `visitor` – spectator only

**Getting a player's XUID:**
- When a player joins, their XUID shows in the console
- Or use online lookup tools

### Backing Up World Data

Regular backups are essential!

#### Manual Backup

1. Stop the server (type `stop`)
2. Copy the `worlds` folder
3. Paste to another location as backup
4. Restart the server

#### Automated Backup Script

Create `backup.bat`:

```batch
@echo off
set backup_folder=D:\MC_Bedrock_Backup
set server_folder=D:\MC_Bedrock_Server
set date_str=%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%
set date_str=%date_str: =0%

if not exist "%backup_folder%" mkdir "%backup_folder%"

echo Backing up Bedrock server...
xcopy "%server_folder%\worlds" "%backup_folder%\worlds_%date_str%" /E /I /Y

echo Backup complete!
pause
```

Run this weekly, or before any major changes.

---

## Step 6: Cross‑Platform Play Guide

Bedrock's biggest strength is cross‑platform play! Here are platform‑specific notes:

### Windows 10/11 PC
- Buy Minecraft for Windows from the Microsoft Store
- Log in with a Microsoft account
- Fully compatible with mobile versions

### Mobile / Tablet (iOS / Android)
- Download from App Store or Google Play
- Paid purchase required (~$6.99‑$7.99)
- Touch‑optimised interface
- Fully cross‑plays with PC

### Xbox One / Series
- Requires Xbox Live Gold (for online play)
- Controller‑based
- Full cross‑platform support

### Nintendo Switch
- Requires Nintendo Switch Online membership
- Portable mode works too
- Slightly lower performance than other platforms

### PlayStation 4 / 5
- Requires PlayStation Plus membership
- Supports cross‑play (requires linking Sony account to Microsoft account)

> **Tip:** All players need a **Microsoft account** for cross‑platform play.

---

## Step 7: Performance Optimisation

### 1. server.properties Optimisation

```properties
# Lower view distance (biggest impact)
tick-distance=4

# Limit max players
max-players=10

# Adjust threads (based on CPU cores)
max-threads=4

# Disable unnecessary features
education-feature-enabled=false
content-log-file-enabled=false
```

### 2. System Optimisation

**Close background apps:**
- Browsers, video software, etc. – they steal CPU and RAM

**Set process priority:**
1. Open Task Manager (`Ctrl + Shift + Esc`)
2. Find `bedrock_server.exe`
3. Right‑click → Go to Details
4. Right‑click the process → Set Priority → High

**Power plan:**
- Control Panel → Power Options
- Select "High Performance"

### 3. Network Optimisation

**Check upload speed:**
- Test at [https://speedtest.net](https://speedtest.net)
- Bedrock requires ~0.1‑0.5 Mbps per player
- 10 players = at least 5‑10 Mbps upload

**Use a wired connection:**
- Ethernet is better than WiFi – less lag and packet loss

**Port forwarding best practices:**
- Only open necessary ports (19132 UDP)
- Don't open extra ports on your firewall

---

## Common Issues & Solutions

### 1. Server Won't Start

**Symptom:** `bedrock_server.exe` opens and closes instantly.

**Fixes:**
- Check if antivirus is blocking it – add folder to whitelist
- Ensure no other server instance is running
- Check if the port is already in use
- Run as Administrator

### 2. Friends Can't Connect

**Symptom:** "Can't connect to world" or "Connection timed out".

**Fixes:**
- Is the server actually running?
- Double‑check IP address and port
- Confirm firewall allows UDP ports 19132‑19133
- LAN: make sure everyone is on the same WiFi
- Online: check port forwarding (UDP!)

**Test connectivity:**
```bash
# On friend's PC
ping your.ip.address

# Test port (requires telnet)
telnet your.ip.address 19132
```

### 3. LAN Auto‑Discovery Not Working

**Symptom:** Server doesn't show up on mobile devices.

**Fixes:**
- Ensure all devices are on the same WiFi network
- Check if router has AP isolation enabled (turn it off)
- Try manually adding the server (use IP)
- Restart router and all devices
- Make sure everyone is logged into Microsoft accounts

### 4. Server is Laggy / High Ping

**Symptom:** Low TPS, players experience delays.

**Fixes:**
- Lower `tick-distance` (view distance)
- Reduce `max-players`
- Disable redstone machines near spawn
- Clear excess entities (animals, monsters, items)
- Check upload bandwidth
- Use a wired network connection

**Clear entities command:**
```bash
# Remove all dropped items
kill @e[type=item]

# Remove experience orbs
kill @e[type=xp_orb]

# Remove entities within a radius (except players)
kill @e[r=50,type=!player]
```

### 5. Authentication Issues

**Symptom:** Friends get "Failed to authenticate" errors.

**Fixes:**
- Ensure all players own a legitimate copy of Minecraft
- Make sure everyone is logged into Microsoft accounts
- If everyone uses offline/cracked launchers, set `online-mode=false`
- **Warning:** Offline mode is insecure – anyone can join with any name

### 6. Port Already in Use

**Symptom:** Error says port is already occupied.

**Fixes:**
- Change `server-port` in `server.properties` to another value (e.g., 19134)
- Or find and kill the process using the port:
  ```bash
  netstat -ano | findstr :19132
  taskkill /PID process_id /F
  ```

### 7. World Corruption

**Symptom:** Server fails to load the world.

**Fixes:**
- Restore from a backup
- Delete the corrupted world and generate a new one
- Use third‑party repair tools (e.g., Universal Minecraft Editor)

### 8. Xbox Live Connectivity

**Symptom:** Error about Xbox Live service being unavailable.

**Fixes:**
- Check Xbox Live status: [https://support.xbox.com/](https://support.xbox.com/)
- Ensure all players are signed into Microsoft accounts
- Restart the game and server
- Check network connection

---

## Final Words

Congratulations! You've successfully set up your own Minecraft Bedrock Edition server!

**Quick recap:**
1. Downloaded the official Bedrock server
2. Extracted and launched it for the first time
3. Configured `server.properties`
4. Set up firewall (UDP ports)
5. Connected (local / LAN / online)
6. Managed players and permissions
7. Set up backups and optimisation

**Bedrock's strengths:**
- **Cross‑platform:** Mobile, PC, and consoles all together
- **Performance:** C++ native code, lightweight
- **Easy setup:** Simple config, auto‑discovers LAN servers
- **Mobile friendly:** Play anywhere, anytime

**What you can do next:**
- Invite friends from different platforms
- Explore Bedrock‑specific Add‑ons and Marketplace content
- Learn more Bedrock commands and mechanics
- Build mini‑game maps
- Grow your cross‑platform community

**Java vs Bedrock – which one to pick?**
- Want mods and technical gameplay → **Java**
- Want cross‑platform with friends → **Bedrock**
- Casual players / kids → **Bedrock**
- Redstone engineers / builders → **Java**
- Why not try both? They each have their own charm!

If you run into issues:
- Check the console logs
- Visit Minecraft forums
- Join Bedrock player communities
- Look for video tutorials online

Have a blast in the world of Minecraft – no matter what device you're on, may you create wonderful memories with your friends!

---

**Useful Links:**
- Minecraft Official Site: [https://www.minecraft.net/](https://www.minecraft.net/)
- Bedrock Server Download: [https://www.minecraft.net/en-us/download/server/bedrock](https://www.minecraft.net/en-us/download/server/bedrock)
- Minecraft Wiki (Bedrock): [https://minecraft.wiki/w/Bedrock_Edition](https://minecraft.wiki/w/Bedrock_Edition)
- Xbox Service Status: [https://support.xbox.com/](https://support.xbox.com/)
- PocketMine‑MP: [https://pmmp.io/](https://pmmp.io/)
- ZeroTier: [https://www.zerotier.com/](https://www.zerotier.com/)