Check out the Our Java MC world for pictures of our builds.  I will be adding pictures from our children’s builds interiors.  

Server Crash recovery

VMware 6 virtual machine settings

Memory: 16GB
Cores: 6

Virtual Hard Drives
/Boot: 2GB
/ : 50GB
/swap: 8GB

 

I found this tutorial and this looks interesting.  

An Advanced Option (but may be unnecessary) is to optimize your server with some Java Commands. Following this Reddit Forum. Trying this can help reduce ram usage and create less micro stutters. For me this is some experimental stuff, but worth mentioning. For line 22 of our auto script command we can add JVM Arguments. Using the following commands helped reduce Ram usage by 40% or more, but I am unsure how performance was impacted. Try them out if you want.

  • -XX:+UseConcMarkSweepGC

  • -XX:+CMSIncrementalMode

  • -XX:+DisableExplicitGC

  • -XX:MaxGCPauseMillis=35

  • -XX:G1NewSizePerzent=20

  • -XX:G1ReservePercent=20

  • -XX:G1HeapRegionSize=32M

(DONT Use -XX:+UseG1GC ,caused my server to not startup)

if server crashes:

I usually use screen, which uses fewer keystrokes than tmux. For instance,

run screen

press return to get a shell
java -Xms4G -XX:SoftMaxHeapSize=6G -Xmx12G -XX:+UseG1GC -jar minecraft_server_1.20.5.jar nogui 
type controlAd (control/A followed by d) to detach

close PuTTY

 

Minecraft Server 1.20.5

sudo add-apt-repository ppa:openjdk-r/ppa

sudo apt update

sudo apt install openjdk-21-jre-headless

sudo apt install screen

sudo ufw allow 25565

mv server.jar minecraft_server_1.20.5.jar

screen

java -Xms1024M -Xmx4G -jar minecraft_server_1.18.2.jar nogui

nano eula.txt : change eula false to true

nano server.properties

#Minecraft server properties
#Thu Apr 30 23:42:29 UTC 2020
spawn-protection=16
max-tick-time=60000
query.port=25565
generator-settings=
force-gamemode=false
allow-nether=true
enforce-whitelist=false
gamemode=survival
broadcast-console-to-ops=true
enable-query=false
player-idle-timeout=0
difficulty=easy
spawn-monsters=true
broadcast-rcon-to-ops=true
op-permission-level=4
pvp=true
snooper-enabled=true
level-type=default
hardcore=false
enable-command-block=false
max-players=20
network-compression-threshold=256
resource-pack-sha1=
max-world-size=29999984
function-permission-level=2
rcon.port=25575
server-port=25565
server-ip=
spawn-npcs=true
allow-flight=false
level-name=world
view-distance=10
resource-pack=
spawn-animals=true
white-list=false
rcon.password=
generate-structures=true
online-mode=true
max-build-height=256
level-seed=
prevent-proxy-connections=false
use-native-transport=true
motd=A Minecraft Server
enable-rcon=false

screen -list

Output
There is a screen on:
        3626.pts-0.minecraft-2204    (03/02/22 22:56:33)    (Detached)
1 Socket in /run/screen/S-root.

To resume your session, pass the -r flag to the screen command and then enter your session ID:
screen -r 3626

 

Minecraft Client Workstation 1.20.5

I am installing two Ubuntu 22.04 LTS java Minecraft workstations for our children.   I am building the steps and debug information as I go.  I have Microsoft Xbox One controllers and USB dongles for the game. 

sudo apt install mesa-utils

## https://itsfoss.com/install-mesa-ubuntu/
sudo add-apt-repository ppa:kisak/kisak-mesa
sudo apt update
sudo apt upgrade

glxinfo | grep Mesa
client glx vendor string: Mesa Project and SGI
Device: Mesa Intel(R) HD Graphics 4600 (HSW GT2) (0x412)
OpenGL renderer string: Mesa Intel(R) HD Graphics 4600 (HSW GT2)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 23.3.1 – kisak-mesa PPA
OpenGL version string: 4.6 (Compatibility Profile) Mesa 23.3.1 – kisak-mesa PPA
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 23.3.1 – kisak-mesa PPA

# https://fostips.com/install-driver-xbox-one-controller-headset-ubuntu/
sudo apt install linux-headers-$(uname -r) dkms curl cabextract git
sudo git clone https://github.com/medusalix/xone
cd xone
sudo ./install.sh –release
sudo xone-get-firmware.sh
sudo reboot

lsusb
Bus 002 Device 002: ID 8087:8000 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:8008 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 004: ID 04b3:3025 IBM Corp. NetVista Full Width Keyboard
Bus 003 Device 003: ID 045e:02e6 Microsoft Corp. Wireless XBox Controller Dongle
Bus 003 Device 005: ID 17ef:608d Lenovo Optical Mouse
Bus 003 Device 002: ID 0bda:b812 Realtek Semiconductor Corp. RTL88x2bu [AC1200 Techkey]
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

java -version
Command ‘java’ not found, but can be installed with:
sudo apt install openjdk-11-jre-headless # version 11.0.20.1+1-0ubuntu1~22.04, or
sudo apt install default-jre # version 2:1.11-72build2
sudo apt install openjdk-17-jre-headless # version 17.0.8.1+1~us1-0ubuntu1~22.04
sudo apt install openjdk-18-jre-headless # version 18.0.2+9-2~22.04
sudo apt install openjdk-19-jre-headless # version 19.0.2+7-0ubuntu3~22.04
sudo apt install openjdk-8-jre-headless # version 8u382-ga-1~22.04.1

#https://www.minecraft.net

# https://itslinuxfoss.com/install-minecraft-ubuntu-22-04-lts/#1
sudo apt update
sudo wget https://launcher.mojang.com/download/Minecraft.deb

# fixes permission error on install of minecraft
sudo chown -Rv _apt:root /var/cache/apt/archives/partial/
sudo chmod -Rv 700 /var/cache/apt/archives/partial/

sudo apt install ./Minecraft.deb

java -version
openjdk version “11.0.21” 2023-10-17
OpenJDK Runtime Environment (build 11.0.21+9-post-Ubuntu-0ubuntu122.04)
OpenJDK 64-Bit Server VM (build 11.0.21+9-post-Ubuntu-0ubuntu122.04, mixed mode, sharing)

Minecraft version 1.20.5

# Minecraft loads and creates new world to play.
# xbox controller syncs to USB dongle. Lights stay solid

# install forge and controllable for xbox one controller to work with minecraft java

# https://www.addictivetips.com/ubuntu-linux-tips/controller-support-minecraft-linux/

# fix forge mod file to the latest
don’t install this one
sudo wget https://files.minecraftforge.net/maven/net/minecraftforge/forge/1.16.4-35.0.18/forge-1.16.4-35.0.18-installer.jar -O ~/Downloads/forge-1.16.4-35.0.18-installer.jar

latest version 1.20.4-49.0.11

sudo wget https://files.minecraftforge.net/maven/net/minecraftforge/forge/1.20.4-49.0.11/forge-1.20.4-49.0.11-installer.jar -O ~/Downloads/forge-1.20.4-49.0.11-installer.jar
cd ~/Downloads
java -jar forge-1.20.4-49.0.11-installer.jar

## successfully installed client profile forge for version 1.20.4-forge 49.0.11 into launcher and downloaded 50 libraries.

mkdir -p ~/.minecraft/mods/

# install controllables

# update to latest version
wget https://media.forgecdn.net/files/3068/902/controllable-1.16.3-0.8.3.jar -O ~/Downloads/controllable-1.16.3-0.8.3.jar

mv controllable-*.jar ~/.minecraft/mods/

# framework 0.6.5 or higher
https://www.curseforge.com/minecraft/mc-mods/framework/download/4718251

mv framework-*.jar ~/.minecraft/mods/