※ In this article, I have used OmniOS r151038 and JGRPP v0.52.0. At the moment, r151038 is the latest LTS OmniOS release and JGRPP v0.52.0 is the latest version release.
OS Information
~$ uname -aSunOS omnioslts5.11omnios-r151038-7bb369b3b5i86pci386i86pc~$ cat /etc/os-releaseNAME="OmniOS"PRETTY_NAME="OmniOS Community Edition v11 r151038cs"CPE_NAME="cpe:/o:omniosce:omnios:11:151038:97"ID=omniosVERSION=r151038csVERSION_ID=r151038csBUILD_ID=151038.97.2023.03.11HOME_URL="https://omnios.org/"SUPPORT_URL="https://omnios.org/"BUG_REPORT_URL="https://github.com/omniosorg/omnios-build/issues/new"
Open src/os/unix/crashlog_unix.cpp with an editor and add a line #include <ucontext.h> right after #include <sys/mman.h> at line 25 and it should look like below.
~$ java-bash: java: command not found
~$ pkg search jdk | awk '/17/'
basename dir usr/jdk pkg:/runtime/java/openjdk17@17.0.1.12-151041.0
basename dir usr/jdk pkg:/runtime/java/openjdk17@17.0.1.12-151041.0
~$ sudo pkg install openjdk17
설치할 패키지: 2
변경할 조정자: 1
변경할 서비스: 1
부트 환경 만들기: 아니오
백업 부트 환경 만들기: 아니오
다운로드 패키지 파일 XFER(MB) 속도
완료됨 2/2 250/250 139.1/139.1 1.4M/s
단계 항목
새 작업 설치 624/624
패키지 상태 데이터베이스 업데이트 완료
패키지 캐시 업데이트 0/0
이미지 상태 업데이트 완료
빠른 조회 데이터베이스 만들기 완료
검색 색인 읽기 완료
검색 색인 업데이트 2/2
패키지 캐시 업데이트 2/2
~$ java -version
openjdk version "17.0.1" 2021-10-19
OpenJDK Runtime Environment (build 17.0.1+12-omnios-151041)
OpenJDK 64-Bit Server VM (build 17.0.1+12-omnios-151041, mixed mode, sharing)
Make a Directory for Minecraft Server, Download Paper Spigot & Execute the Server
~/minecraft$ wget https://papermc.io/api/v2/projects/paper/versions/1.17.1/builds/388/downloads/paper-1.17.1-388.jar
--2021-11-26 11:20:47-- https://papermc.io/api/v2/projects/paper/versions/1.17.1/builds/388/downloads/paper-1.17.1-388.jar
Resolving papermc.io... 172.67.72.198, 104.26.13.138, 104.26.12.138, ...
Connecting to papermc.io|172.67.72.198|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 61843877 (59M) [application/java-archive]
Saving to: ‘paper-1.17.1-388.jar’
paper-1.17.1-388.jar 100%[================================================================================================================================================================================================================>] 58.98M 66.0MB/s in 0.9s
2021-11-26 11:20:48 (66.0 MB/s) - ‘paper-1.17.1-388.jar’ saved [61843877/61843877]
~/minecraft$ java -Xms14G -Xmx15G -jar paper-1.17.1-388.jar
Downloading vanilla jar...
Patching vanilla jar...
System Info: Java 17 (OpenJDK 64-Bit Server VM 17.0.1+12-omnios-151041) Host: SunOS 5.11 (amd64)
Loading libraries, please wait...
[11:32:27 ERROR]: Failed to load properties from file: server.properties
[11:32:27 WARN]: Failed to load eula.txt
[11:32:27 INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
Open ‘~/minecraft/eula.txt’ and change line ‘eula=false’ to ‘eula=true’
~/minecraft$ java -Xms14G -Xmx15G -jar paper-1.17.1-388.jar
System Info: Java 17 (OpenJDK 64-Bit Server VM 17.0.1+12-omnios-151041) Host: SunOS 5.11 (amd64)
Loading libraries, please wait...
[11:33:17 INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD'
[11:33:17 INFO]: Found new data pack file/bukkit, loading it automatically
[11:33:18 INFO]: Reloading ResourceManager: Default, bukkit
[11:33:18 INFO]: Loaded 7 recipes
[11:33:19 INFO]: Starting minecraft server version 1.17.1
[11:33:19 INFO]: Loading properties
[11:33:19 INFO]: This server is running Paper version git-Paper-388 (MC: 1.17.1) (Implementing API version 1.17.1-R0.1-SNAPSHOT) (Git: 22aaf91)
[11:33:19 INFO]: Server Ping Player Sample Count: 12
[11:33:19 INFO]: Using 4 threads for Netty based IO
[11:33:19 INFO]: Default game type: SURVIVAL
[11:33:19 INFO]: Generating keypair
[11:33:19 INFO]: Starting Minecraft server on *:25565
[11:33:19 INFO]: Using default channel type
[11:33:19 INFO]: Paper: Using Java 11 compression from Velocity.
[11:33:19 INFO]: Paper: Using Java cipher from Velocity.
[11:33:20 INFO]: Preparing level "world"
[11:33:22 WARN]: Unable to find spawn biome
[11:33:23 WARN]: Unable to find spawn biome
[11:33:23 INFO]: Preparing start region for dimension minecraft:overworld
[11:33:23 INFO]: Preparing spawn area: 0%
[11:33:23 INFO]: Time elapsed: 289 ms
[11:33:23 INFO]: Preparing start region for dimension minecraft:the_nether
[11:33:23 INFO]: Time elapsed: 170 ms
[11:33:23 INFO]: Preparing start region for dimension minecraft:the_end
[11:33:23 INFO]: Time elapsed: 69 ms
[11:33:23 INFO]: Running delayed init tasks
[11:33:23 INFO]: Done (4.384s)! For help, type "help"
[11:33:23 INFO]: Timings Reset
>
※ You can change parameter -Xms14G/-Xmx15G to your desired minimal/maximum allocation memory
A simple Server only Mod that gives Casual Vanilla Horde experience. This is designed for my Chinese friend Cabbageman3, his server and his group people. Since mod.io is restricted from China to connect, Chinese cannot join servers with properly subscribed mods. If you are also in the same condition, or just want to preserve your horde server as vanilla server, feel free to adopt this mod. What the server owner needs to do is set up the mod manually and load the actor. Thereby, clients do not have to download any but enjoy the mod features.
~/minecraft$ java -Xmx1G-jar paper-209.jar
Downloading vanilla jar…
Failed to download vanilla jar
javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
at sun.security.ssl.Alerts.getSSLException(Alerts.java:214)
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1967)
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1924)
at sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1907)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1423)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1400)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1570)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:268)
at java.net.URL.openStream(URL.java:1068)
at io.papermc.paperclip.Paperclip.checkVanillaJar(Paperclip.java:190)
at io.papermc.paperclip.Paperclip.checkPaperJar(Paperclip.java:121)
at io.papermc.paperclip.Paperclip.setupEnv(Paperclip.java:94)
at io.papermc.paperclip.Paperclip.main(Paperclip.java:48)
Caused by: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
at sun.security.validator.PKIXValidator.(PKIXValidator.java:104)
at sun.security.validator.Validator.getInstance(Validator.java:181)
at sun.security.ssl.X509TrustManagerImpl.getValidator(X509TrustManagerImpl.java:318)
at sun.security.ssl.X509TrustManagerImpl.checkTrustedInit(X509TrustManagerImpl.java:179)
at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:193)
at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:132)
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1670)
at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:226)
at sun.security.ssl.Handshaker.processLoop(Handshaker.java:1082)
at sun.security.ssl.Handshaker.process_record(Handshaker.java:1010)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1079)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1388)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1416)
… 11 more
Caused by: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
at java.security.cert.PKIXParameters.setTrustAnchors(PKIXParameters.java:200)
at java.security.cert.PKIXParameters.(PKIXParameters.java:120)
at java.security.cert.PKIXBuilderParameters.(PKIXBuilderParameters.java:104)
at sun.security.validator.PKIXValidator.(PKIXValidator.java:102)
… 23 more
Move ‘/jdk-8u261-solaris-x64/jdk1.8.0_261/jre/lib/security/cacerts'(From jdk-8u261-solaris-x64.tar.gz) to Server ‘/etc/ssl/java/cacerts’ and overwrite it.
~/minecraft$ java -Xmx1G -jar paper-209.jar
Downloading vanilla jar…
Patching vanilla jar…
System Info: Java 1.8 (OpenJDK 64-Bit Server VM 25.265-b01) Host: SunOS 5.11 (amd64)
Loading libraries, please wait…
[16:23:35 ERROR]: Failed to load properties from file: server.properties
[16:23:35 WARN]: Failed to load eula.txt
[16:23:36 INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
Open ‘~/minecraft/eula.txt’ and change line ‘eula=false’ to ‘eula=true’
~/minecraft$ java -Xmx1G -jar paper-209.jar
※ You can change parameter -Xmx1G to your desired allocation memory For 4GB, -Xmx4G For 16GB, -Xmx16G