How to Set Up a Private Minecraft Server 

Having sold over 176 million copies as of 2019, Mojang’s sandbox adventure game – Minecraft, is the second-most popular video game in the world after Tetris.

The game has wildly captured the imaginations of kids, parents, and even school educators since its release in 2011 – and the craze continues to blaze.

But why is Minecraft so popular? Unlike most video games, it offers players unlimited possibilities to create a 3-dimensional world using a variety of different blocks – a task that requires a lot of creativity.

It’s also an educational tool for kids that can help them learn anything from advanced computer skills, math, engineering, architecture, art, and history. Kids also pick up life skills like creativity, problem-solving, exploration, and teamwork.  

While playing Minecraft is exciting, you may want to take the gaming experience a step further by setting up a private Minecraft server. Fortunately, setting up a private Minecraft server is easy if you have some basic computer and networking skills. 

In this guide, we’ll show you how to set up a private Minecraft server on Windows, Mac, and Linux VPS. 

How to Set Up a Private Minecraft Server

Before you dive into the niceties, there are some basic steps you’ll need to follow. 

At the very least, you’ll need to:

  • Update Java to the latest version 
  • Choose server location
  • Download and install the most recent version of Minecraft server software
  • Start the server
  • Check whether the server is accessible 

Choosing Your Server Type: Making the Right Decision

Recent feedback has prompted me to update this article with more direct instruction, so here you go!

Java vs Bedrock Server Considerations

Java Edition Servers:

  • Pros:
    • Extensive mod support (Forge, Fabric)
    • More server software options
    • Better admin tools
    • Larger plugin ecosystem
    • Free server software
  • Cons:
    • Higher system requirements
    • PC players only
    • More complex setup
    • Requires port forwarding

Bedrock Edition Servers:

  • Pros:
    • Cross-platform play
    • Lower system requirements
    • Simpler setup process
    • Mobile player access
    • Better performance
  • Cons:
    • Limited modding
    • Fewer hosting options
    • Less customization
    • Requires Xbox accounts

Hosting Options Comparison

1. Home Hosting (Free)

  • Requirements:
    • Decent PC (4GB+ RAM)
    • Stable internet (10+ Mbps upload)
    • Port forwarding access
    • 24/7 PC operation
  • Best For:
    • 1-5 players
    • Learning experience
    • Complete control
    • Cost-conscious users

2. VPS Hosting ($5-20/month)

  • Providers:
    • DigitalOcean
    • Linode
    • Vultr
    • AWS Lightsail
  • Best For:
    • 5-20 players
    • Technical users
    • Custom configurations
    • Multiple game servers

3. Minecraft-Specific Hosting ($8-30/month)

  • Providers:
    • Apex Hosting
    • Shockbyte
    • BisectHosting
    • MCProHosting
  • Best For:
    • 10-50+ players
    • One-click setup
    • Built-in support
    • Beginners

4. Free Hosting Services

  • Options:
    • Aternos (queue wait times)
    • Minehut (limited RAM)
    • Server.pro (advertisements)
  • Limitations:
    • Server sleeps when empty
    • Limited customization
    • Performance restrictions
    • Forced shutdowns

Home Server Setup: Complete Walkthrough

System Requirements

Minimum Specifications:

  • RAM: 1GB + 100MB per player
  • CPU: Dual-core 2.5GHz+
  • Storage: 10GB free space
  • Network: 10 Mbps upload
  • OS: Windows 10/11, Linux, macOS

Recommended for 10 Players:

  • RAM: 4-6GB allocated
  • CPU: Quad-core 3.0GHz+
  • Storage: 25GB SSD space
  • Network: 25 Mbps upload
  • OS: Ubuntu Server or Windows

Step-by-Step Java Server Setup

Step 1: Download Server Software

Vanilla Server:

  1. Visit minecraft.net/download/server
  2. Download server.jar
  3. Create dedicated folder
  4. Place server.jar inside

Paper Server (Recommended):

  1. Visit papermc.io
  2. Select Minecraft version
  3. Download Paper jar
  4. Better performance than vanilla

Step 2: Initial Server Configuration

Create start.bat (Windows) or start.sh (Linux/Mac):

Windows start.bat:

batch@echo off
java -Xmx4G -Xms4G -jar server.jar nogui
pause

Linux/Mac start.sh:

bash#!/bin/bash
java -Xmx4G -Xms4G -jar server.jar nogui

Memory Allocation Guide:

  • -Xmx = Maximum RAM
  • -Xms = Starting RAM
  • 1-5 players: 2G
  • 5-10 players: 4G
  • 10-20 players: 6G
  • 20+ players: 8G+

Step 3: First Run Configuration

  1. Run start script
  2. Accept EULA (eula.txt → true)
  3. Let server generate world
  4. Stop server (type “stop”)
  5. Configure server.properties

Essential server.properties Settings:

properties# Server Name
motd=Welcome to My Private Server

# Player Limits
max-players=20
white-list=true

# World Settings
difficulty=normal
gamemode=survival
spawn-protection=16

# Performance
view-distance=10
simulation-distance=8

# Security
online-mode=true
enable-command-block=false

Network Configuration and Security

Port Forwarding Setup

Router Configuration:

  1. Find Router IP:
    • Windows: ipconfig → Default Gateway
    • Mac/Linux: netstat -nr | grep default
    • Usually: 192.168.1.1 or 192.168.0.1
  2. Access Router Admin:
    • Open browser to router IP
    • Login (check router sticker)
    • Find “Port Forwarding” section
  3. Create Port Forward Rule:
    • Service Name: Minecraft
    • Port Range: 25565-25565
    • Local IP: Your PC’s IP
    • Protocol: TCP
    • Enable: Yes
  4. Find Your Public IP:
    • Visit whatismyipaddress.com
    • Share with friends
    • Changes with router restart

Alternative: Using Ngrok (No Port Forwarding)

  1. Download from ngrok.com
  2. Extract to server folder
  3. Run: ngrok tcp 25565
  4. Share generated URL
  5. Free tier limitations apply

Server Security Best Practices

Whitelist Configuration:

/whitelist on
/whitelist add PlayerName
/whitelist list
/whitelist remove PlayerName

Essential Security Plugins:

  1. CoreProtect
    • Block logging
    • Rollback griefing
    • Chest access logs
    • Command: /co rollback
  2. LuckPerms
    • Permission management
    • Group creation
    • Rank systems
    • Command prefixes
  3. EssentialsX
    • Spawn protection
    • Home/warp system
    • Economy features
    • Ban management

Backup Automation:

batch:: backup.bat - Run daily
@echo off
set backup_path=C:\MinecraftBackups\
set server_path=C:\MinecraftServer\

echo Backing up server...
xcopy %server_path%world %backup_path%%date:~-4,4%%date:~-10,2%%date:~-7,2%\ /E /I
echo Backup complete!

Performance Optimisation

Server Configuration Optimisation

Bukkit.yml Optimizations:

yamlspawn-limits:
  monsters: 50
  animals: 10
  water-animals: 5
  ambient: 1

chunk-gc:
  period-in-ticks: 400
  load-threshold: 300

ticks-per:
  animal-spawns: 400
  monster-spawns: 10
  autosave: 6000

Spigot.yml Key Settings:

yamlworld-settings:
  default:
    entity-activation-range:
      animals: 16
      monsters: 24
      misc: 8
    merge-radius:
      item: 3.0
      exp: 4.0
    mob-spawn-range: 4
    view-distance: default

Paper.yml Performance:

yamlworld-settings:
  default:
    max-auto-save-chunks-per-tick: 6
    optimize-explosions: true
    mob-spawner-tick-rate: 2
    container-update-tick-rate: 3
    grass-spread-tick-rate: 4

Lag Prevention Strategies

Common Lag Causes:

  1. Too Many Entities
    • Solution: /kill @e[type=item]
    • Limit mob farms
    • Clear ground items
  2. Redstone Contraptions
    • Limit clock circuits
    • Optimize designs
    • Use slower tick rates
  3. Chunk Loading
    • Limit render distance
    • Pre-generate world
    • Use chunk limits
  4. Plugins
    • Remove unused plugins
    • Update regularly
    • Monitor with Timings

Pre-Generation Command:

/worldborder center 0 0
/worldborder set 5000
/chunky radius 2500
/chunky start

Advanced Server Management

Plugin Recommendations by Category

Essential Plugins:

  1. EssentialsX – Complete server toolkit
  2. Vault – Economy/permissions API
  3. WorldEdit – Building assistance
  4. WorldGuard – Region protection
  5. PlaceholderAPI – Variable support

Quality of Life:

  1. Dynmap – Web-based world map
  2. DiscordSRV – Discord integration
  3. GriefPrevention – Land claiming
  4. ChestShop – Player economies
  5. TreeAssist – Tree falling

Fun Additions:

  1. McMMO – RPG skills
  2. Jobs Reborn – Job system
  3. Quests – Quest creation
  4. MythicMobs – Custom mobs
  5. Slimefun – Tech mod

Creating a Server Community

Discord Integration Setup:

  1. Create Discord server
  2. Install DiscordSRV
  3. Configure bot token
  4. Link channels
  5. Set permissions

Server Rules Template:

=== SERVER RULES ===
1. No griefing or stealing
2. No offensive language/content
3. No hacking/exploited clients
4. Respect other players' builds
5. No lag machines
6. PvP only in designated areas
7. Report bugs, don't exploit
8. Have fun and be creative!

Rank System Example:

  • Guest: Basic permissions
  • Member: After 5 hours playtime
  • Trusted: Building in spawn area
  • Helper: Kick/mute permissions
  • Moderator: Ban/rollback access
  • Admin: Full server control

Troubleshooting Common Issues

Connection Problems

“Can’t Connect to Server”

  1. Check server is running
  2. Verify port forwarding
  3. Confirm firewall exceptions
  4. Test with local IP first
  5. Check online-mode setting

“Connection Timed Out”

  • Increase server timeout
  • Check internet stability
  • Verify correct IP/port
  • Disable VPN/proxy
  • Lower render distance

Performance Issues

Server Lag Fixes:

  1. Check TPS: /tps (20 = perfect)
  2. Entity Count: /minecraft:kill @e[type=!player]
  3. View Timings: /timings report
  4. Restart Schedule: Every 6-12 hours
  5. RAM Allocation: Increase if needed

Client Lag Solutions:

  • Install Optifine/Sodium
  • Reduce graphics settings
  • Allocate more client RAM
  • Update graphics drivers
  • Close background programs

Bedrock Server Specifics

Bedrock Dedicated Server Setup

Download and Setup:

  1. Visit minecraft.net/download/server/bedrock
  2. Extract to folder
  3. Run bedrock_server.exe
  4. Configure server.properties
  5. No Java required!

Key Differences:

  • Port: 19132 (UDP not TCP)
  • No plugin support
  • Behavior packs only
  • Xbox Live authentication
  • Better mobile performance

Bedrock server.properties:

propertiesserver-name=My Bedrock Server
gamemode=survival
difficulty=easy
allow-cheats=false
max-players=10
online-mode=true
white-list=true
server-port=19132
level-name=Bedrock level

Conclusion

Setting up a private Minecraft server opens unlimited possibilities for customized gameplay with friends. Whether you choose the simplicity of hosted solutions or the control of self-hosting, the key is starting small and expanding as needed. Focus on security, regular backups, and community building. Remember: the best server is one where players have fun and keep coming back. With this guide, you’re ready to create your own Minecraft world where memories are made block by block. Happy hosting!

If you prefer the previous content, this is it:

Consider Your Options 

To run a Minecraft server from home, you don’t need a top-of-the-line system. However, for you to play and run the server on the same machine smoothly, your system needs to be powerful.

But what if, for whatever reason you don’t want to host your Minecraft server from home? The most ideal solution is to use a game server provided by a hosting provider

With a dedicated game server, you don’t have to deal with the hassle of managing server hardware. Also, you don’t have to worry about poor connections or lag when in multiplayer mode.

With that in mind, now let’s dive into the particulars. 

add-server-minecraft

Setting up a Minecraft Server on Windows

Get the latest Java version  

Being a Java-based sandbox game, the first thing you’ll want to do is to download and install the latest version of Java in your Windows PC. 

Pick a location for your Minecraft server files

The next step is to identify a location in your PC where you’ll set up and run the server. You can create a dedicated folder on your desktop or in any other location on your PC. The point here is to keep the configuration files in one place and organized. 

Download Minecraft server 

Once you’ve identified a location for your Minecraft server files, go ahead and download the most recent version of Minecraft server software from Minecraft’s official website.  

The downloaded file will be in .jar format. Move it to the destination folder you chose above and double-click it to start the server. The server configuration files will be created but you’ll need to make some adjustments before the server is ready to use. 

At this point, you’ll be required to accept the end-user license agreement (EULA). Accepting the EULA will enable you to start the server. 

To agree to the EULA, double-click on the eula.txt file and then replace the eula=false line of text to eula=true. Save then close. 


  1. Start the server 


You can now start your Minecraft server. There are two ways you can do this. 

You can choose to double click the .jar file. With this option, however, you might be required to allow the server through a firewall. 

The other option is to open the dedicated Minecraft server folder where the server files were installed and start the server by executing this command: 

java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui

Your server is now up and running and you can start inviting friends to join in via your local or public IP address. However, it’s advisable to check whether your server is accessible by entering your public IP into the Minecraft Server Checker

Setting up a Minecraft Server on Mac

The procedure is quite similar to that of setting up on Windows OS. 

Update or install Java

All new MacOS versions come with Java. However, you can check your version by navigating to System Preferences then clicking on Java. You’ll be able to see your Java version from the Java control panel.

For computers running on older macOS versions, you’ll have to download the legacy version of Java from the Apple website. 

Choose a location to store your server files

Create a destination folder on your desktop or any other place you prefer where you’ll store your Minecraft server configuration files. 

Download the Minecraft server set-up program

Now visit the official Minecraft website and download the server software. You will get a .jar file in your Downloads folder. Copy the file to the destination folder.

Now open the TextEdit programselect the plain text option and enter the following command sequence:

#!/bin/bash

cd “$(dirname “$0″)”

exec java -Xms1024M -Xmx1024M -jar minecraft_server.jar nogui

In the same file directory where the server files are stored, save this file as startmc.command. But for this file to work, you’ll need “execute” permission. 

To grant permission, open your terminal and type in the following command: chmod a+x startmc.command

Start the server 

If the above steps are followed correctly, double-clicking the startmc.command should start the server. A new terminal window will pop up and you might get a directory warning or missing file error message. This should not be a cause for alarm as it happens whenever you run a Minecraft server for the first time. 

Set Up a Minecraft Server an Linux VPS

As aforementioned, some players may not be inclined to the idea of hosting their Minecraft server at home. A cheap alternative would be to spin up a Linux VPS hosting plan. 

With a Linus VPS, you’ll enjoy better network security, server-grade hardware, and of course, lagging will be a thing of the past. You can check out this article from and learn how you can set up a private Minecraft server on Linux VPS.    

Conclusion 

With a private Minecraft server, you have more control. You can modify the rules of the game, invite your buddies to join in for some fun, install mods, and more. Similarly, parents can have control over whom you’re their kids interact with online.

Article Summary

Minecraft, a sandbox adventure game developed by Mojang, has sold over 176 million copies as of 2019, making it the second-most popular video game in the world after Tetris. Minecraft’s popularity is driven by its ability to offer players unlimited possibilities to create a 3-dimensional world using a variety of different blocks, which requires a lot of creativity. It is also an educational tool for kids that can help them learn anything from advanced computer skills, math, engineering, architecture, art, and history. Setting up a private Minecraft server is easy if you have some basic computer and networking skills.

 

Minecraft server

You must be logged in to post a comment Login

More in Minecraft

  • Minecraft Movie – You Know You’ll Watch It

    In a world where video game adaptations often land with a dull thud at the box office, Warner Bros is betting...

    Indie Game DevApril 3, 2025
  • Minecraft Movie Merch

    The forthcoming Minecraft film has spawned a wave of merchandise, with EXG Pro unveiling a collection of officially licensed device holders...

    Indie Game DevMarch 27, 2025
  • Benefits of Renting Minecraft Server

    Minecraft was released in 2011 by Mojang Studios. It’s a sandbox 3D game that continues to trend and gain more players...

    Indie Game DevJanuary 15, 2024
  • Minecraft Live 2023

    Calling all Minecraft enthusiasts and builders extraordinaire, it’s that time of year again! Minecraft Live is back, and it promises to...

    Indie Game DevSeptember 20, 2023
  • Minecraft Realms: Is It Worth the Investment?

    Minecraft is one of the most popular video games of all time, with millions of players around the world creating...

    Indie Game DevJanuary 30, 2023