description |
---|
Learn how to create a server with Plazma. |
To use Plazma reliably, the system must meet the following requirements.
Minimum | Recommended | |
---|---|---|
Architecture | x64 | - |
RAM | 8GB | 16GB |
Storage space | 1GB | 8GB |
JRE | 17 | 21 |
For smooth configuration file editing, it is also recommended to install an editor such as Visual Studio Code.
As the name suggests, Minecraft: "Java" Edition is developed in Java, so it requires JRE1 to run.
Since Plazma is based on Mojang Studios' official server platform2, JRE must be installed to use Plazma.
To check if JRE is installed on the system, type cmd /k java --version
3 in the Run window and run it.
If the output is as shown below, skip to Step 2.
{% code title="Correct Output" lineNumbers="true" %}
openjdk 21.0.2 2024-01-16 LTS
OpenJDK Runtime Environment Zulu21.32+17-CA (build 21.0.2+13-LTS)
OpenJDK 64-Bit Server VM Zulu21.32+17-CA (build 21.0.2+13-LTS, mixed mode, sharing)
{% endcode %}
If the output is not as shown above, or if it is as shown below, it means that JRE is missing or too old, so you need to perform Step 1.2.
{% code title="JRE Not Installed" lineNumbers="true" %}
'java' is not recognized as an internal or external command,
operable program or batch file.
{% endcode %}
{% code title="JRE Too Old" lineNumbers="true" %}
Unrecognized option: --version
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
{% endcode %}
In this guide, Azul Zulu is used as one of the types of JRE. Refer to 4 for more information.
After completing the installation, redo Step 1.1 to ensure that the installation is correctly completed.
{% tabs %}
{% tab title="Windows" %}
- First, download JDK 21 in
.msi
format from Azul Zulu. - Run the downloaded installer and click
Next
. - After activating
Set JAVA_HOME variable
from the menu displayed in the center left of the window, clickNext
. - Click
Install
to complete the JRE installation.
{% endtab %}
{% tab title="macOS" %}
Download the JDK 21 in .dmg
format from Azul Zulu and run the installation wizard to install JRE.
{% endtab %}
{% tab title="Debian/Ubuntu" %}
First, run the following command in the terminal to add Azul Zulu repository to APT.
sudo apt install gnupg ca-certificates curl --no-install-recommends --no-install-suggests -y
curl -s https://repos.azul.com/azul-repo.key | sudo gpg --dearmor -o /usr/share/keyrings/azul.gpg
echo "deb [signed-by=/usr/share/keyrings/azul.gpg] https://repos.azul.com/zulu/deb stable main" | sudo tee /etc/apt/sources.list.d/zulu.list
Then, install JRE by running the following command in the terminal.
sudo apt install --no-install-recommends --no-install-suggests -y zulu21-ca-jre-headless
{% endtab %}
{% tab title="Fedora/RHEL" %}
You can install JRE by entering the following command.
sudo dnf install -y https://cdn.azul.com/zulu/bin/zulu-repo-1.0.0-1.noarch.rpm
sudo dnf install -y zulu21-ca-jre-headless
{% endtab %} {% endtabs %}
Plazma offers various forms of executable files.
{% hint style="warning" %}
In most cases, use Reobf Paperclip
.
The following content is for developers or those curious about various features. If you are a regular user, you can skip to Step 3 without any issues.
{% endhint %}
Learn More
The executable file is named plazma-(version manager)-1.20.4-R0.1-SNAPSHOT-(mapping type).jar
.
- Mapping Type
Mapping is a kind of map that connects Minecraft's actual code with obfuscated code.- Reobf
Reobfuscated, also known as Spigot mapping, is used in most NMS plugins.
It will be discontinued starting from 1.20.5. - Mojmap
Mojang-mapped, vanilla Minecraft mapping.
- Reobf
- Version Manager
The version manager can be considered as the launcher of the server, which is necessary for running the server and patching server files.- Paperclip
Developed by the PaperMC team for Paper and other derivative platforms, it downloads libraries and applies patches to the server. - Bundler
The vanilla Minecraft version manager.
- Paperclip
To easily start Plazma and automatically restart the server, you need to create a start script5.
Flags.sh allows you to generate a startup script by entering only the memory to use6 in Plazma, the command will be automatically optimized.
You can download the start script by clicking the bottom left download button.
Make sure the downloaded start script matches your operating system.
Now move the downloaded start script and Plazma to a new folder.
{% hint style="warning" %}
The folder name must not contain spaces and must be in English.
Otherwise, Plazma or JRE may not function correctly.
{% endhint %}
Now run the start script. For Windows, in the firewall permission prompt, make sure to select Allow.
Once you run the start script, an eula.txt
file will be generated in the folder.
EULA7 is a license agreement that you must agree to by using the services of Mojang Studios8.
{% hint style="warning" %}
If you do not agree, you cannot start the server, and if you violate the EULA, you may receive sanctions9 such as account suspension.
{% endhint %}
To agree to the EULA, change eula=false
to eula=true
in the eula.txt
file and save it.
Modern operating systems block external access by default to prevent unauthorized access from outside using firewalls and routers.
For Windows, since the firewall was allowed in Step 3, you just need to do port forwarding.
{% hint style="info" %}
This guide assumes that it is written for Windows operating system and a router that can use UPnP10.
If your router does not support UPnP, you will need to search for information as panel layouts vary by router.
Alternatively, you can use Ngrok to generate a temporary address. {% endhint %}
{% hint style="warning" %}
For Linux or macOS (Unix-like) operating systems, firewall configuration methods vary by service, so you need to search for information directly.
{% endhint %}
Enter the following in the Run window and run it.
powershell -noexit -c "((Get-NetIPConfiguration).IPv4Address).IPAddress -eq (Invoke-WebRequest "ifconfig.me").content"
If the output is True
, you can stop here, but if it is False
, you need to set up port forwarding.
{% tabs %}
{% tab title="Accessing from External" %}
If port forwarding is not needed or has already been successfully set up, you can now connect to the server.
The address used to connect to the server can be checked here
{% endtab %}
{% tab title="Attempting port forwarding with UPnP" %}
In the purpur.yml
of the server folder, enable network.upnp-port-forwarding
to true
.
Then, when you restart the server, Plazma will automatically attempt port forwarding.
Below is the indication of UPnP success based on the message output to the console, which will be displayed as [UPnP] (message)
in the console.
Message | Meaning |
---|---|
Successfully opened port (port) |
Port forwarding successful. |
Port (port) is already open |
Another service is currently using that port. |
Failed to open port (port) |
Port forwarding failed. |
Service is unavailable |
The router does not support UPnP. |
When the server shuts down, Plazma automatically closes the port.
{% endtab %}
{% tab title="Creating temporary address with Ngrok" %}
Using Ngrok is useful for short-term testing, collaborative play, or playing with friends.
- Download the
Windows (64-bit)
ZIP file from Ngrok website. - Put the downloaded Ngrok into the server folder.
- Generate an authentication token at Ngrok dashboard11.
- Execute the command displayed in the
Command Line
in the server folder. - Add
start /b ngrok tcp --region jp 25565
at the top of the execution script, andtaskkill /f /t /im ngrok.exe
at the bottom. - In the console, the address
0.tcp.jp.ngrok.io:12345
shown at the top will be the server's address. - Now you can connect from external sources using this address.
{% endtab %}
{% tab title="Connecting from local" %}
If you are trying to connect to the server from local, you can connect using the IPv4 address
output from running cmd /k ipconfig
in the command prompt.
For example, if the output displays as follows after executing the command,
Windows IP Configuration
Ethernet Adapter Ethernet:
Connected DNS Suffix. . . . :
IPv4 Address. . . . . . . . : 192.168.3.7
Subnet Mask . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . : 192.168.3.1
When attempting to connect to the server locally, you can connect using the 192.168.3.7
displayed in the IPv4 address here.
If the server and the game are running on the same PC, you can connect using localhost
.
{% endtab %} {% endtabs %}
If the server starts successfully and is operating correctly, it is time to customize the server.
Explore how to customize the server through the following guide.
{% content-ref url="next-step.md" %} next-step.md {% endcontent-ref %}
Footnotes
-
Java Runtime Environment, Java Execution Environment. ↩
-
Paper, the foundation of Plazma, is based on Spigot, which is based on the official server platform. ↩
-
For Linux, use
java --version
in the terminal. ↩ -
JRE is one of the open-source projects, similar to Minecraft server platforms. ↩
-
Generally known as launcher. ↩
-
It is not recommended to exceed more than half of the system.
For example, if the total system memory capacity is 8GB, it is not recommended to set it above 4GB. ↩
-
End-User License Agreement, EULA. Please refer to Minecraft website for more details. ↩
-
Microsoft Corporation. ↩
-
In South Korea, according to Article 32, Paragraph 1, Item 9 of the Act on the Promotion of the Game Industry, legal action can be taken by Korean Microsoft Corporation. ↩
-
Universal Plug & Play. Purpur included in Plazma communicates with the router automatically through this technology to open ports only when the server is running, eliminating the need to manually port forward. ↩
-
If you do not have an account, sign up for Ngrok using your Google or GitHub account. ↩