Skip to content

Proxmox

sion3951 edited this page Oct 2, 2024 · 17 revisions

This is how to install and set up proxmox, as well as the important things to know!

First Steps

To begin you are going to need to download the latest version of Proxmox VE.

Next you need to "burn" the iso file to a startup disk creator (for Rufus), On linux

sudo apt update

sudo apt install usb-creator-gtk

usb-creator-gtk

You will need any USB stick that is over 8GB, both methods will delete all data on the USB stick.

You will now need to boot from this USB stick on the PC you are intending to install proxmox (search how to get to boot menu on your motherboard/laptop make, you can try "F2", "F10", "F12" and "DEL" as these are common keys.

You will need to have a PC to install Proxmox on, I would recommend doing this on a PC that is newer than 2017 unless you know what you are doing.

You are going to need to have a Keyboard, Screen, Ethernet and Power plugged into this PC, a mouse is not needed.

If you get an error when you are installing about intel VTD, you are going to have to work out how to turn on virtualisation support for your CPU in your Bios.

Now you have booted into the proxmox installer

You are going to select "Install Proxmox VE (Graphical)"

Agree to the license terms

Select the disk you want to install on (next)

Set the time zone (next)

You now need to set a password that you are going to remember (and if you intend to port forward the machine, you will need one that is secure) and an email address. (next)

You should now be on the "Management Network Configuration" screen, this screen is very important. For now all we need to understand is that the IP address is the numbers that you are going to type into your web browser to access the server (for example 192.168.1.50, we can ignore the "/22" or any other value after the "/"). You need to make sure you remember the IP address.

The Gateway and DNS Sever should be the IP address of your router (often 192.168.1.1) unless you know better.

We need to change the "Hostname (FQDN)", for now you can just replace the "exmaple" bit of text with your name, so it should look like "pve."".invalid". (next)

Now you can press install.

At this point you can unplug the keyboard and screen, leaving you with only power and Ethernet plugged in. (If you need to move the PC log in username "root" and the password you set and type "poweroff" and press "Enter", then turn it back on when you have it set up.

To log in, you need to use a web browser (Such as Google Chrome), into the top bar you are going to type ":8006" and use "root" as the username and your password. If you get an error saying the page is not secure, that is not a problem, click "advanced" and then proceed.

Need to make sure I fix the DHCP stuff, does need to be static but need to work out what is safe (maybe it is just guess something simple)

Creating a Minecraft Java server with Proxmox

Creating your container

you will need to create an LXC container

click on "local" (this is your storage), then "CT templates", "templates" and look for the latest version of Ubuntu LTS (long term stable).

click "Create CT" at the top right of the webui

We can add a "CT ID" but this is not necessary, the default will suffice.

We also need to create a host name, we will call ours "minecraft server".

Next we need to type in a password for the proxmox container, this can be any text comprised of letters that you will remember. (next)

Now we need to select our container template, we are going to use the latest available version of Ubuntu LTS. (next)

We want to set a disk size, normally 50GB is more than enough and we can increase this later. (next)

Now we need to assign some cores, 3 is a minimum 6 is plenty, you will need to know how many cores your system has (proxmox wont stop you putting in more than you have) (next)

We need at least 5GiB (5000 MiB) of RAM really and the same amount of swap, but you may need more (probably up-to 16GiB), increase as you need when you are using more than 80% of the containers RAM. (next)

We need to set IPV4 and IPV6 to DHCP (really we should use static but when we set up port forwarding that will be done for us and DHCP is a lot easier) (next)

We dont need to touch DNS (next)

You can now check all of the settings and then press finish! (you can also close the next window)

Setting up your container

Double click on the "MinecraftServer" container, this will open a "console" in a new window. This console is the text interface we are going to use to configure the server.

Click "Start Now", this will set our container running. We can also do this by right clicking on the container and clicking start.

Our Login is the username "root" and then your proxmox password.

We are now in the root directory logged in as root, this is not really best practice but we are going to ignore this for now as doing it properly is more work.

let's just make the password something we are going to remember (and could share) using passwd, I am going to use "1234".

generally it is a good idea now to make sure everything is up-to date and we can get Java installed at the same time, copy in these three lines. This is written for 1.21 (the current version of minecraft at the time of writing).

apt update

apt upgrade -y

apt install openjdk-21-jre-headless curl net-tools -y

We need to know the IP of our container, to do this use the command ifconfig, this will print a lot of words on the screen. On the second line it will say "inet" and then four numbers separated by "." (something like 192.168.1.5), these numbers (and the full stops are important too) are the IP address of the container, we will need this later.

We are going to use mkdir minecraftserver to create a new folder called "minecraftserver"

Now we need to navigate into this folder using cd minecraftserver (you can use "TAB" on your keyboard to auto fill it).

Now we need to download the server files, we are going to use fabric as the server, click the link, copy the cli download command into the terminal, at the time of writing curl -OJ https://meta.fabricmc.net/v2/versions/loader/1.21.1/0.16.3/1.0.1/server/jar

if we now type ls into the terminal we should see a java file in red

As you can see it has a rather horrible name, we can rename it with the mv command, I am going to write the command out below, you will need to replace the name (and the <>) use tab to auto complete it.

mv <the name of your jar file> server.jar

Now we can run the server with java -jar server.jar

If it just spits out an error you may need a newer version of openjdk, use apt remove openjdk-21-jre-headless to uninstall the current version and check openjdk to see what the newest version is and replace with it the newest version (or the one before that if the newest one doesnt work) apt install openjdk-<version number>-jre-headless.

You will get a bunch of words on the screen and then it will fail, that is because we need to accept the eula it has just generated

We are going to use nano eula.txt to do this.

Use the arrow keys to navigate, change the "false" to "true", then we need to save and exit, "CTRL + O" "ENTER" "CTRL + X"

Now we can run the java -jar server.jar command again to run the server and now it will work!

We can connect to it using the IP address we noted earlier by typing it in as the IP from the multiplayer menu (though this will only work for devices on the same network).

We can use nano server.properties to change the settings of the server. You can use this to change the render distance, get rid of spawn protection (I set it to 0) and enable the whitelist (there are two settings that you need to enable for that).

We probably want to create a script to launch the server as this means we wont need to remember the commands and can include some configuration in the command too without having to remember that as well.

nano startup

paste the bellow words into it and replace the maximum RAM number

#!/bin/bash

java -Xms2G -Xmx<1 less than the amount of RAM you have assigned to the container>G -jar server.jar nogui

Now run chmod +x startup

We can use ./startup to run the server from this directory

To install mods

Navigate to the mods folder cd mods

Use modrinth or another service to get a download link (the same as we did did for the fabric server.jar) then use wget <mod download url> to download it.

Here is a list of mods I am using (for 1.21)

wget https://cdn.modrinth.com/data/P7dR8mSH/versions/gQS3JbZO/fabric-api-0.103.0%2B1.21.1.jar

wget https://cdn.modrinth.com/data/Orvt0mRa/versions/Z8VpxxGh/indium-1.0.35%2Bmc1.21.jar

wget https://cdn.modrinth.com/data/uXXizFIs/versions/wmIZ4wP4/ferritecore-7.0.0-fabric.jar

wget https://cdn.modrinth.com/data/8oi3bsk5/versions/Mm6TmSwo/Terralith_1.21_v2.5.4.jar

wget https://cdn.modrinth.com/data/lWDHr9jE/versions/mSYrCaov/tectonic-fabric-1.21.1-2.4.1a.jar

wget https://cdn.modrinth.com/data/fALzjamp/versions/dPliWter/Chunky-1.4.16.jar

wget https://cdn.modrinth.com/data/7YjclEGc/versions/eU6PA0pr/dynamiclights-v1.8.3-mc1.17x-1.21x-mod.jar

wget https://cdn.modrinth.com/data/wGoQDPN5/versions/zoaT41Gq/vivecraft-1.21-1.1.11-b5-fabric.jar

wget https://cdn.modrinth.com/data/gvQqBUqZ/versions/5szYtenV/lithium-fabric-mc1.21.1-0.13.0.jar

wget https://cdn.modrinth.com/data/N6n5dqoA/versions/G5Wd4EHm/Axiom-4.1.1-for-MC1.21.jar

wget https://cdn.modrinth.com/data/TQTTVgYE/versions/f2mvlGrg/fabric-carpet-1.21-1.4.147%2Bv240613.jar

wget https://cdn.modrinth.com/data/VX3TgwQh/versions/8gEVsK18/carpet-extra-1.21-1.4.148.jar

Client Mods (for 1.21.1)

wget https://cdn.modrinth.com/data/P7dR8mSH/versions/gQS3JbZO/fabric-api-0.103.0%2B1.21.1.jar

wget https://cdn.modrinth.com/data/gvQqBUqZ/versions/5szYtenV/lithium-fabric-mc1.21.1-0.13.0.jar

wget https://cdn.modrinth.com/data/Orvt0mRa/versions/Z8VpxxGh/indium-1.0.35%2Bmc1.21.jar

wget https://cdn.modrinth.com/data/uXXizFIs/versions/wmIZ4wP4/ferritecore-7.0.0-fabric.jar

wget https://cdn.modrinth.com/data/1IjD5062/versions/NksUpFjf/continuity-3.0.0-beta.5%2B1.21.jar

wget https://cdn.modrinth.com/data/OVuFYfre/versions/8OuTJDGd/enhancedblockentities-0.10.1%2B1.21.jar

wget https://cdn.modrinth.com/data/l6YH9Als/versions/qTSaozEL/spark-1.10.97-fabric.jar

Nvidia Only -

wget https://cdn.modrinth.com/data/SfMw2IZN/versions/3L83QwKZ/nvidium-0.3.1.jar

wget https://cdn.modrinth.com/data/AANobbMI/versions/RncWhTxD/sodium-fabric-0.5.11%2Bmc1.21.jar

wget https://cdn.modrinth.com/data/YL57xq9U/versions/kuOV4Ece/iris-1.7.3%2Bmc1.21.jar

Non Nvidia/Sharders

wget https://cdn.modrinth.com/data/uCdwusMi/versions/pEvLEY5E/DistantHorizons-2.2.1-a-1.21.1-neo-fabric.jar

wget https://cdn.modrinth.com/data/AANobbMI/versions/CcIWi5Av/sodium-fabric-0.6.0-beta.2%2Bmc1.21.1.jar

wget https://cdn.modrinth.com/data/YL57xq9U/versions/u9KvDA4s/iris-fabric-1.8.0-beta.4%2Bmc1.21.1.jar

Content Creation Mods

wget https://cdn.modrinth.com/data/Nv2fQJo5/versions/3JKfe0Pj/replaymod-1.21-2.6.19.jar

wget https://cdn.modrinth.com/data/t5wuYk45/versions/jVwm5ULD/tweakeroo-fabric-1.21.1-0.21.50.jar

wget https://cdn.modrinth.com/data/bEpr0Arc/versions/5kAmiBye/litematica-fabric-1.21.1-0.19.50.jar

wget https://cdn.modrinth.com/data/GcWjdA9I/versions/CQI1MTlR/malilib-fabric-1.21.1-0.21.0.jar

wget https://cdn.modrinth.com/data/UMxybHE8/versions/iChigeli/minihud-fabric-1.21.1-0.32.50.jar

List of commands for copy pasting -

passwd

apt update

apt upgrade -y

apt install openjdk-21-jre-headless curl net-tools -y

ifconfig

mkdir minecraftserver

cd minecraftserver

curl -OJ https://meta.fabricmc.net/v2/versions/loader/1.21.1/0.16.3/1.0.1/server/jar

mv <the name of your jar file> server.jar

java -jar server.jar

nano eula.txt

nano server.properties

nano startup

#!/bin/bash

java -Xms2G -Xmx<1 less than the amount of RAM you have assigned to the container>G -jar server.jar nogui

chmod +x startup

./startup

To run

Start the container and open the console.

root

<your password>

cd minecraftserver

./ startup

Links to mods -

https://modrinth.com/mod/fabric-api

https://modrinth.com/mod/ferrite-core

https://modrinth.com/mod/terralith

https://modrinth.com/datapack/tectonic

https://modrinth.com/plugin/chunky

https://modrinth.com/datapack/dynamic-lights

https://modrinth.com/mod/vivecraft

https://modrinth.com/mod/lithium