Cat5TV / pinecraft

Minecraft Server Installer for Raspberry Pi and Other SBCs
240 stars 39 forks source link

Issues I've Found #10

Open eyoung100 opened 3 years ago

eyoung100 commented 3 years ago
  1. Please add an If Clause after copying the @reboot cron job. I'm no script expert, but something like
If crond.service = enabled then
    sudo systemctl restart crond
Else
    sudo systemctl enable crond
    sudu systemctl start crond
End

Apparently crond is not started by default on Ubuntu server 21.04. I could only get the server to behave if I ran the install script every time I wanted to start the server until I discovered this.

  1. Consider converting your init scripts to a native systemd service file. I've started Please Help with Conversion, but am having issues with argument passing etc. Take a look if you like.
  2. Consider adding some form of Aikar flags in your java execution line. Using this approach yields:
exec java -Xms3940M -Xmx4861M -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 \
-XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 \
-XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar fabric-server-launch.jar --nogui

I allowed the installer to complete to determine the -Xms and -Xmx lines, and then added the extra flags to optimize garbage collection etc. I'm using the Liberica OpenJDK 16 and these all work.

Cat5TV commented 3 years ago

Thanks @eyoung100 If you could be so kind, I'd appreciate it if you would open 3 separate issues rather than listing multiple items within a single issue.

Meantime, I plan to test what you say about cron (which makes no sense to me - why would Debian Server not have cron enabled?!) ... I'll test / confirm and patch as needed.

2 is already in the works as you can see in the code. This will be completed in time as possible, and with the support of Patrons to help fund the development.

3 I'm happy to evaluate. Thank you. It is a good suggestion.

eyoung100 commented 3 years ago

I'll be happy to open 3 Tickets. How do you want me to approach that? Sticking with the first issue:

Steps To Reproduce

Flip KVM Switch to Pi4

  1. Download the 64-bit Desktop Image for 21.04
  2. Burn Image using the Imager in Raspberry PiOS to SD Card (I transitioned OS'es)
  3. Boot up the image.
  4. Use snap to install the imager again
  5. Use the Imager to install the 21.04 server only image to my SDD. (I built this kit from Geekworm ). This wiped Raspberry PiOS
  6. Shutdown, and remove the SD Card
  7. Reboot
  8. Enable SSH with sudo systemctl enable sshd && sudo systemctl start sshd

Flip KVM Switch to Desktop PC Like you, I thought a cron daemon was enabled by default, so I continued:

  1. SSH'ed from Gentoo Linux
  2. Installed Liberica OpenJDK 16 because I wanted to install 1.17
  3. Researched (because every site I found, gave all the manual steps in some form or another, or in a different order) and found your YouTube video, cloned this repository and installed.

After rebooting, the server never started, because cron was never enabled or started.

Cat5TV commented 3 years ago

Could you instead just download the recommended Base OS from the README link and see if it differs? SSH is also enabled by default, so I can't help but think it has something to do with how you are flashing your Base OS.

Let me know - thanks.

eyoung100 commented 3 years ago

Could you instead just download the recommended Base OS from the README link and see if it differs? SSH is also enabled by default, so I can't help but think it has something to do with how you are flashing your Base OS.

Let me know - thanks.

Ubuntu 21..04 64-bit arm is what I installed.

ubuntu@ubuntu:~$ cat /etc/os-release 
NAME="Ubuntu"
VERSION="21.04 (Hirsute Hippo)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 21.04"
VERSION_ID="21.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=hirsute
UBUNTU_CODENAME=hirsute
ubuntu@ubuntu:~$ uname -a
Linux ubuntu 5.11.0-1012-raspi #13-Ubuntu SMP PREEMPT Thu Jun 17 10:44:37 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux

As verification I re-downloaded the link, and received ubuntu-21.04-preinstalled-server-arm64+raspi (1).img

Cat5TV commented 3 years ago

Thanks. I'll have to do more testing, because what I'm seeing is a fully working Pinecraft server running Minecraft 1.17, with cron and ssh enabled out of the box, so not sure yet why you're experiencing something otherwise. Ubuntu Server, by default, has both SSH and Cron enabled, so I can't understand why you are seeing something different.

eyoung100 commented 3 years ago

.... Ubuntu Server, by default, has both SSH and Cron enabled, so I can't understand why you are seeing something different.

Would using a KVM switch cause an issue? That is the only thing out of the ordinary that I used while installing. See 4-Port HDMI/USB KVM Switch with Audio/Video and USB Peripheral Sharing. My Pi is connected to the HDMI with a HDMI-C to HDMI-A Adapter.

Cat5TV commented 2 years ago

Aikars Flags added in https://github.com/Cat5TV/pinecraft/commit/d9919c743eb41d3ef6046021a50da34c2ae939b6