# How to set up a private Minecraft server with Meshnet

## Introduction <a href="#introduction" id="introduction"></a>

Minecraft is one of the most popular multiplayer online games. To [enjoy the full gaming experience of Minecraft](https://nordvpn.com/gaming/minecraft/), you can create your own server and invite friends to join your world.

However, running a public Minecraft server may present a security threat to your home network. The risks you might encounter range from DDoS attacks to unfamiliar devices accessing your network.

With [Meshnet](https://nordvpn.com/meshnet/), you can set up your private Minecraft server and connect to it from anywhere in the world safely. Instead of having to open ports and expose your IP address to strangers online, you and your friends can connect your devices to Meshnet, which in essence, acts as a local area network but with an encrypted VPN tunnel. Also, you won't have to pay for third-party hosting with Meshnet.

## Get started: What’s your Minecraft edition? <a href="#get-started-whats-your-minecraft-edition" id="get-started-whats-your-minecraft-edition"></a>

Currently, there are two separate versions of Minecraft: Bedrock Edition and Java Edition. While both editions support online multiplayer mode, they are compatible with different servers. This means that you will use different server software depending on the game edition you are playing.

This guide walks you through the process of creating a Minecraft server with Meshnet for both editions on the following platforms:

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Bedrock Edition</strong></td><td><ul><li>Windows</li><li>Linux</li></ul></td><td><a href="#create-a-minecraft-bedrock-server">#create-a-minecraft-bedrock-server</a></td></tr><tr><td><strong>Java Edition</strong></td><td><ul><li>macOS</li></ul></td><td><a href="#create-a-minecraft-java-server-on-macos">#create-a-minecraft-java-server-on-macos</a></td></tr></tbody></table>

## Create a Minecraft Bedrock server on Windows and Linux <a href="#create-a-minecraft-bedrock-server" id="create-a-minecraft-bedrock-server"></a>

The official Minecraft Bedrock server software supports Windows and Linux.

{% tabs %}
{% tab title="Windows" %}

### Before you begin <a href="#prerequisites" id="prerequisites"></a>

Ensure that the machine that will host the server meets these minimum requirements:

* Windows 10 or later or Windows Server 2016 or later
* 64-bit Intel or AMD processor with at least two cores
* 1 GB of RAM or more
* Meshnet is enabled on your server machine. To learn more, see our guide on [Using Meshnet on Windows](https://meshnet.nordvpn.com/~/changes/Ppg3bMoVHwMks6LohjqQ/getting-started/how-to-start-using-meshnet/using-meshnet-on-windows).&#x20;

Other players will be able to connect to your Bedrock server if these conditions are met:

* A player's game is Minecraft: Bedrock Edition.
* The game version matches the version of your server.

{% hint style="info" %}
**Note**

All the client devices you would like to invite to join your server need to be connected to your Meshnet.
{% endhint %}

### Download server software <a href="#step-1-download-server-software" id="step-1-download-server-software"></a>

Go to Minecraft's official website and download [Minecraft Dedicated Server Software for Windows](https://www.minecraft.net/en-us/download/server/bedrock).

### &#x20;Run your Bedrock server

1. Unzip the downloaded archive.
2. Double-click the **bedrock\_server.exe** file.
3. If the **Windows security alert** box appears, select both the *private* and *public* networks options, and then click the **Allow access** button to allow incoming connections through the firewall. <br>

   <div align="left"><figure><img src="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2FvDNxA9vFAfDFYgu6MBjR%2Fallow_app_through_firewall.png?alt=media&#x26;token=ea7a9712-a7c3-4873-858b-6cea2e788ad6" alt="Windows Defender firewall message"><figcaption></figcaption></figure></div>

{% hint style="success" %}
**Tip**

If you want to check your firewall settings for the Bedrock server, click the **Start**![](https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2FOtP5XWC64gJfapJxZksb%2Fwindows_start_11.svg?alt=media\&token=ba30bb06-e18d-4b98-890f-1a16c24b24db) button on the taskbar, type **Allow an app through Windows Firewall** and find *bedrock\_server.exe* in the list of results.
{% endhint %}

Your Bedrock server should now be up and running.&#x20;

<div align="left"><figure><img src="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2Fy96BxTXCnIoNVcQAZulP%2Fimage.png?alt=media&#x26;token=4deece2b-cbb1-4b1f-88e4-780efcaf6dc8" alt="Bedrock Minecraft server started"><figcaption></figcaption></figure></div>

{% hint style="info" %}
**Note**

If you encounter connection issues, you may need to exempt the Minecraft client from UWP loopback restrictions. To do this, open **Windows PowerShell** or **Command Prompt** as an administrator and enter the following:

<pre class="language-powershell" data-overflow="wrap"><code class="lang-powershell"><strong>CheckNetIsolation LoopbackExempt -a -n="Microsoft.MinecraftUWP_8wekyb3d8bbwe"
</strong></code></pre>

Alternatively, you can enter the command provided in the *bedrock\_server\_how\_to* file:

<pre class="language-powershell" data-overflow="wrap"><code class="lang-powershell"><strong>CheckNetIsolation LoopbackExempt -a -p=S-1-15-2-1958404141-86561845-1752920682-3514627264-368642714-62675701-733520436
</strong></code></pre>

{% endhint %}
{% endtab %}

{% tab title="Linux" %}

### Before you begin <a href="#prerequisites" id="prerequisites"></a>

Ensure that the machine that will host the server meets these minimum requirements:

* Ubuntu 18 or later
* 64-bit Intel or AMD processor with at least two cores
* 1 GB of RAM or more
* Meshnet is enabled on your server machine. To learn more, see our guide on [Using Meshnet on Linux](https://meshnet.nordvpn.com/~/changes/Ppg3bMoVHwMks6LohjqQ/getting-started/how-to-start-using-meshnet/using-meshnet-on-linux).

Other players will be able to connect to your Bedrock server if these conditions are met:

* A player's game is Minecraft: Bedrock Edition.
* The game version matches the version of your server.

{% hint style="info" %}
**Note**

All the client devices you would like to invite to join your server need to be connected to your Meshnet.
{% endhint %}

### Download server software <a href="#step-1-download-server-software" id="step-1-download-server-software"></a>

1. Open the terminal.

2. Update the package manager list of available packages by running the following command: <br>

   ```bash
   sudo apt update
   ```

3. Navigate to the directory where you want to install your server. To do this, type `cd` followed by the path to your directory, like this:<br>

   ```bash
   cd ~/Desktop
   ```

4. Create a new folder to store your server files. To do this, enter the `mkdir` command and specify the desired folder name. For example:<br>

   ```bash
   mkdir server
   ```

5. Change the current directory to this new folder:<br>

   ```bash
   cd server
   ```

6. Go to [Minecraft's official website](https://www.minecraft.net/en-us/download/server/bedrock), find the "Minecraft Dedicated Server Software for Ubuntu (Linux)" section, and then right-click the **Download** button and copy the link address of the server archive.

7. In the terminal, enter the `wget` command, and paste the copied link, as follows:<br>

   <pre class="language-bash" data-overflow="wrap"><code class="lang-bash">wget https://minecraft.azureedge.net/bin-linux/bedrock-server-1.19.41.01.zip
   </code></pre>

### Run your Bedrock server <a href="#step-2-run-your-bedrock-server" id="step-2-run-your-bedrock-server"></a>

1. Extract server files from the downloaded archive by entering the `unzip` command, like this:<br>

   ```bash
   unzip bedrock-server-1.19.41.01.zip
   ```

   \
   If the `unzip` command does not work, you may need to install the unzip package by entering `sudo apt install unzip`.<br>
2. Enter the following to start the server:<br>

   ```bash
   ./bedrock_server
   ```

   \
   Use this command each time you want to start the server.

Your Bedrock server should now be up and running.

<figure><img src="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2Fot7dUPm3ReOZH97TELBv%2Fimage.png?alt=media&#x26;token=ca1b22a3-434c-4165-8995-90f25f6f3b24" alt="The server is starting in the terminal"><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

{% hint style="success" %}
**Tip**

To configure the server to your liking, find the `server.properties` file in the unzipped server folder and edit the file with any text editor. The changes will take effect after you restart the server.

To stop the server, you can enter the `stop` command.
{% endhint %}

### Connect to your Bedrock server <a href="#howtomakeaprivateminecraftserverwithmeshnet-step3winstep3-connecttoyourbedrockserver" id="howtomakeaprivateminecraftserverwithmeshnet-step3winstep3-connecttoyourbedrockserver"></a>

1. Make sure that the device on which you play the game has the NordVPN app running and the Meshnet feature is enabled in the app.
2. Open your Minecraft game, select the **Play** button, and then select the **Servers** tab.
3. Scroll to the bottom of the servers list and select the **Add server** button.
4. In the **Server name** box of the dialog that appears, enter the name you want.
5. In the **Server address** box, enter the Meshnet IP address of the machine on which your server is running. Select **Save**. \
   &#x20;

   <div align="left"><figure><img src="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2FL6VBEVwXN9Ygnfx7vFgh%2Fadd_server.png?alt=media&#x26;token=0c38bcb7-ac8e-4ba5-a856-fa79564e5226" alt="Meshnet IP address of the Minecraft server entered"><figcaption></figcaption></figure></div>

Your server will appear under **Additional servers**.

### Invite friends <a href="#howtomakeaprivateminecraftserverwithmeshnet-step4-invitefriends" id="howtomakeaprivateminecraftserverwithmeshnet-step4-invitefriends"></a>

Now that you've created your Minecraft server, you can invite other players to join your game.

1. To connect to your server, your friends need to know the Meshnet IP address of your server machine and have Meshnet enabled on their devices.
2. Once the other players repeat the steps described in the [Connect to your Bedrock server](#howtomakeaprivateminecraftserverwithmeshnet-step3winstep3-connecttoyourbedrockserver) section above, they will gain access to your server.\
   &#x20;

   <div align="left"><figure><img src="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2FDqMAOst9AhPzsqLWTJ6U%2Ffriends_connecting_to_server.png?alt=media&#x26;token=628578b5-8673-469e-85a8-cee603a61c99" alt="The created server visible under Additional servers"><figcaption></figcaption></figure></div>

{% hint style="info" %}
**Note**

Minecraft regularly releases Bedrock server software updates. If you get a message stating that your server is outdated, you’ll need to upgrade the server to the latest version. Otherwise, you will not be able to connect to your server.

Because the server files will be replaced after your upgrade is complete, you may wish to have a backup copy of the `server.properties` file if it contains extensive custom changes.
{% endhint %}

## Create a Minecraft Java server on macOS

The official Minecraft Java server software supports various platforms, including macOS, Windows, and Linux. This guide covers setting up a Java server on macOS.

### Before you begin <a href="#howtomakeaprivateminecraftserverwithmeshnet-requirements" id="howtomakeaprivateminecraftserverwithmeshnet-requirements"></a>

Ensure that the machine that will host the server meets these minimum requirements:

* Java 17 or later is installed. On [Oracle's website](https://www.oracle.com/java/technologies/downloads/#jdk19-mac), select **Arm 64 DMG installer** if your Mac is ARM-based or **x64 DMG installer** if your Mac uses Intel. \
  To check if Java is installed on your machine, open the **Terminal** app and type `java -version`.
* 64-bit Intel or AMD processor with at least two cores
* 1 GB of RAM or more
* Meshnet is enabled on your server machine. To learn more, see our guide on [Using Meshnet on macOS](https://meshnet.nordvpn.com/~/changes/Ppg3bMoVHwMks6LohjqQ/getting-started/how-to-start-using-meshnet/using-meshnet-on-macos).

{% hint style="info" %}
**Note**

All the client devices you would like to invite to join your server need to be connected to your Meshnet.
{% endhint %}

Other players on your Meshnet will be able to connect to your Java server if these conditions are met:

* A player's game is Minecraft: Java Edition.
* The game version matches the version of your server.

### Download server software

1. Download the [minecraft\_server.jar](https://www.minecraft.net/en-us/download/server) file from Minecraft’s official website.
2. Create a new folder on your Desktop or in any location you can easily find and name your folder as you wish (for example, *server*). You will use this name to run commands for the server.
3. Move the downloaded JAR file to your new folder. This folder will store your server files.

### Run your Minecraft Java server

1. Open **Terminal**, and type `cd` followed by the path to the folder containing your server JAR file, like this:<br>

   ```bash
   cd Desktop/server
   ```

   \
   If requested, allow the Terminal app to access the folder.<br>
2. Then type:<br>

   ```bash
   java -jar server.jar
   ```

   &#x20;\
   Your server will generate several files in the server folder.<br>
3. Navigate to your server folder, open the *eula.txt* file, and change `eula=false` to `eula=true`. Save the file. This way, you confirm the acceptance of license terms for the Minecraft server software.
4. Now you can run the server. Open the **Terminal** app, type `java -jar server.jar` again, and press **Return**.\
   If you want to start the server without its graphical user interface, add a space and `--nogui` to the command.\
   &#x20;

   <div align="left"><figure><img src="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2FL5dKmDHWXGHtHODArUwf%2Fminecraft_server_running_on_mac.png?alt=media&#x26;token=4d05e1b7-80e3-447d-a33d-fff10fcad98d" alt="Minecraft server GUI showing the server log"><figcaption></figcaption></figure></div>

{% hint style="success" %}
**Tip**

Use the `java -jar server.jar` command each time you want to start the server.

To stop the server, enter the `stop` command at the Minecraft server command prompt.
{% endhint %}

### Connect to your Minecraft Java server  <a href="#step-3-join-your-bedrock-server" id="step-3-join-your-bedrock-server"></a>

1. Make sure that the device on which you play the game has the NordVPN app running and the Meshnet feature is enabled in the app.&#x20;
2. Open your Minecraft game, click the **Multiplayer** button, and then click **Direct connection**.
3. In the **Server address** box, enter the Meshnet IP address of the machine on which your server is running. <br>

   <div align="left"><figure><img src="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2Foa7CEi4quHNu3QSY5mh9%2Fjoining_minecraft_java_server.png?alt=media&#x26;token=1256f613-694e-4ad8-a9db-daf1136bb020" alt="Meshnet IP address entered in the Server address field"><figcaption></figcaption></figure></div>
4. Click **Join Server**.

### Invite friends <a href="#step-4-invite-friends" id="step-4-invite-friends"></a>

Now that you’ve created your Minecraft server, you can invite other players to join your game.

1. To connect to your server, your friends need the Meshnet IP address of your server machine and Meshnet enabled on their devices.&#x20;
2. Once other players on your Meshnet repeat the steps described in the [Connect to your Minecraft Java server](#step-3-join-your-bedrock-server) section above, they will gain access to your server.&#x20;
