How to Create a Minecraft Server on Proxmox in an LXC with MCSManager
5 mins read

How to Create a Minecraft Server on Proxmox in an LXC with MCSManager

This guide walks you through setting up a Minecraft server in a Proxmox LXC container, using OpenJDK 21 (manually installed) for compatibility and MCSManager for easy server management. Proxmox LXC containers are lightweight and efficient, ideal for hosting Minecraft servers. MCSManager provides a web-based interface to simplify server administration. Visual aids are suggested to enhance key steps.

Estimated setup time: 10-15 minutes

Prerequisites

  • Proxmox VE Server: Version 8.0 or later recommended.
  • System Resources: Minimum 4GB RAM and 2 CPU cores for the LXC container (8GB+ for 10+ players).
  • Linux Knowledge: Basic familiarity with Linux command-line.
  • Network Access: Internet connectivity and a static IP or DHCP reservation for the container.
  • Storage: At least 15GB disk space for the OS, Minecraft, and MCSManager.

Step 1: Create an LXC Container for Your Minecraft Server on Proxmox

  1. Access Proxmox Web Interface
  • Open https://<proxmox-ip>:8006 in your browser and log in.

    Proxmox login screen for Minecraft Server Proxmox setup
  1. Download a Container Template
  • Navigate to Datacenter > <Your Node> > Storage > CT Templates.
  • Click Templates, select Debian 12, and click Download.

    Proxmox WebUI templates for Minecraft server hosting
  1. Create the LXC Container
  • Go to Datacenter > <Your Node> and click Create CT.
  • Configure:
    • Hostname: minecraft-server.
    • Template: Ubuntu 22.04.
    • Disk: 15GB minimum.
    • CPU: 2-4 cores.
    • Memory: 4096MB (4GB) or higher.
    • Network: Static IP or DHCP reservation.
    • Root Password: Set a strong password.
  • Click Confirm to create.

    LXC creation form for Minecraft Server on Proxmox
  1. Start and Access the Container
  • Select the container in the Proxmox UI and click Start.
  • Access via the Proxmox console or SSH: ssh root@<container-ip>.

    Console screen of LXC on proxmox WebUI

Step 2: Install OpenJDK 21 for Minecraft Server Proxmox Setup

Minecraft requires Java, and OpenJDK 21 is a long-term support version compatible with Minecraft 1.21+. We’ll install it manually to ensure the correct version.

  1. Update the System
  • As the root user, update the package list and upgrade:
apt update
apt upgrade
  1. Download OpenJDK 21
  • Download the OpenJDK 21 tarball:
wget https://download.java.net/java/GA/jdk21/fd2272bbf8e04c3dbaee13770090416c/35/GPL/openjdk-21_linux-x64_bin.tar.gz
  1. Extract and Install
  • Create a directory for Java and extract the tarball:
mkdir -p /opt/jdk
tar -xzf openjdk-21.0.2_linux-x64_bin.tar.gz -C /opt/jdk
  1. Update PATH
  • Add Java to the system PATH for all users:
echo 'export PATH=/opt/jdk/jdk-21.0.2/bin:$PATH' >> /etc/profile
     source /etc/profile
  1. Verify Java Installation
  • Check the Java version:
    java -version
  • Expected output:
    openjdk version “21” 2023-09-19
    OpenJDK Runtime Environment (build 21+35-2513)
    OpenJDK 64-Bit Server VM (build 21+35-2513, mixed mode, sharing)


    Java version for Minecraft Server Proxmox setup

Step 3: Install MCSManager with Non-Root User

  1. Create a Non-Root User
  • Create a dedicated user (minecraft) for running MCSManager and the Minecraft server:
 adduser --disabled-password --gecos "" minecraft
usermod -d /home/minecraft minecraft
mkdir -p /home/minecraft
chown minecraft:minecraft /home/minecraft
  1. Install Dependencies as Root
  • Install curl and Node.js:
apt install -y curl
curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
apt install -y nodejs
  1. Switch to the Non-Root User
  • Switch to the minecraft user:
su - minecraft
  1. Install MCSManager Using the Install Script
  • Run the official MCSManager install script:
    <code>curl -L https://raw.githubusercontent.com/MCSManager/MCSManager/master/install.sh | bash</code>
  • This installs MCSManager in /home/minecraft/mcsmanager.

    MCSManager install for Proxmox Minecraft server
  1. Start MCSManager
  • Start MCSManager:
    cd /home/minecraft/mcsmanager node app.js
  • Access the web panel at http://<container-ip>:23333.
  • Set admin user and password to access the MCSManagers WebUI

    MCSManagers web screen

Step 4: Configure Your Minecraft Server on Proxmox with MCSManager

  1. Log in to MCSManager
  • Open http://<container-ip>:23333 and log in.

    MCSManager dashboard for Minecraft Server Proxmox

  1. Create a Minecraft Server Instance
  • Navigate to Instances > Create Instance.
  • Choose
    • Type: Minecraft Server (Java)
    • Location: localhost
    • Deployment: Quick
    • Version: Minecraft 1.21.8 (or latest)
  • Name your server and click Install

    MCSManger instance install complete

Start the Server

  • Navigate to the Terminal tab
  • Click Start
  • You’ll see an error: Failed to load eula.txt

    MCSManger showing failed start eula
  1. Accept the EULA
  • Go to Configuration Files
  • Edit eula.txt and set it to yes

    MCSManager Accept Eula
  • Save the file and return to the terminal
  • Start the server again
  1. Configure server.properties
  • In MCSManager’s File Management tab, edit server.properties:
    • motd=A Minecraft Server
    • difficulty=easy
    • pvp=true
    • server-port=25565
  • Save and restart the instance.

    MCSManager Server properties screen

Step 5: Optimize the LXC Container

  1. Enable Nested Virtualization (Optional)
  • If performance issues occur:
 echo "options kvm-intel nested=Y" >> /etc/modprobe.d/kvm-intel.conf
modprobe -r kvm_intel
modprobe kvm_intel
  1. Increase Container Resources (Optional)
  • Adjust CPU/memory in Proxmox UI if lag occurs.
    Container Resource Management Proxmox

Step 6: Network Configuration

  1. Open Firewall Ports
  • Open ports 25565 (Minecraft) and 23333 (MCSManager):
    ufw allow 25565 ufw allow 23333
  • On the Proxmox host:
    iptables -A INPUT -p tcp --dport 25565 -j ACCEPT iptables -A INPUT -p tcp --dport 23333 -j ACCEPT
  1. Test Connectivity
  • Connect to <container-ip>:25565 in Minecraft.
  • Access MCSManager at http://<container-ip>:23333.
    Minecraft multiplayer screen shot

Step 7: Backup and Maintenance

  1. Backup the Server
  • Back up the minecraft user’s directories:
    tar -czf /opt/backup-$(date +%F).tar.gz /home/minecraft
  1. Monitor Performance
  • Install and use htop:
    apt install -y htop
  • Run htop to monitor resources.
    htop resource monitor screen shot
  1. Update MCSManager and Minecraft
  • Check for MCSManager updates on GitHub.
  • Update server.jar via MCSManager’s file management.

Troubleshooting

  • Java Errors: Verify Java path (/opt/jdk/jdk-21/bin/java) and version (java -version).
  • Port Conflicts: Check with netstat -tuln.
  • Performance Issues: Increase resources in Proxmox or reduce player slots.
  • MCSManager Access: Verify service status (systemctl status mcsmanager) and port 23333.

Conclusion

You’ve set up a secure Minecraft server in a Proxmox LXC container with OpenJDK 21 and MCSManager, running as a non-root user.

Happy gaming!

Leave a Reply

Your email address will not be published. Required fields are marked *