在CentOS8.0上運(yùn)行 forge-1.18.2-40.1.76
前些日子,嘗試在CentOS8.0上運(yùn)行1.18.2的mc服務(wù)器,1.18要求jdk17,且啟動(dòng)forge的命令行參數(shù)跟1.16不一樣, 吃了些苦頭,甚至有些氣餒,好在后面還是解決了,所以記錄下。
下載安裝forge
和1.16.5一樣,先從forge官網(wǎng)下載安裝包,然后再安裝,目前1.18.2 對應(yīng)的是40.1.76,輸入以下命令:
創(chuàng)建文件夾,并切換工作目錄,然后下載.jar格式的安裝包

運(yùn)行安裝包,安裝forge

看到 successfully 字樣,表示安裝成功。

安裝完成后的文件情況:

安裝jdk17
輸入 "./run.sh" 然后敲Enter鍵,嘗試啟動(dòng)服務(wù)器,結(jié)果提示“錯(cuò)誤: 找不到或無法加載主類 @user_jvm_args.txt”,如下圖:

輸入 "java -version" 然后敲Enter鍵,查詢java版本,如下圖:

查詢顯示java版本是1.8.0_312,因?yàn)?.18需要java17,因此要安裝jdk17。
輸入 "yum search java*" 然后敲Enter鍵,查詢可供安裝的java版本,如下圖:

“java-17-openjdk.x86_64"是安裝目標(biāo)

輸入下面的指令進(jìn)行安裝
執(zhí)行結(jié)果,如下圖:

出現(xiàn)“確定嗎?[y/N]” 提示時(shí),輸入英文字母y,然后敲enter鍵:

再次查詢java的版本,如下圖提示jdk版本為17,說明安裝成功!

開服
再次輸入“./run.sh”,然后按Enter鍵,便可啟動(dòng)服務(wù)器了。

此時(shí)的文件情況:

編輯 eula.txt 將里面的內(nèi)容情況,填入“eula=true”(不含引號)。
再次輸入 "./run.sh" 啟動(dòng)服,如下圖:

由于沒有上傳地圖,首次啟動(dòng)會(huì)自動(dòng)創(chuàng)建地圖,需要等待一會(huì),看到Successfully字樣即表示開服成功了。

更優(yōu)雅的開服方式
個(gè)人習(xí)慣將服務(wù)器和世界分開,所以調(diào)整了開服啟動(dòng)腳本,
輸入下面的指令創(chuàng)建 run.sh 啟動(dòng)腳本:
將下面的內(nèi)容,寫入剛才創(chuàng)建的 run.sh 腳本中:
此時(shí)出現(xiàn)了兩個(gè) run.sh,注意區(qū)分下哦:
/root/mc/1.18.2/run.sh ? (新的啟動(dòng)腳本)
/root/mc/1.18.2/client/run.sh ?(老的腳本)
這個(gè)腳本看起來似乎非常復(fù)雜,實(shí)際上99%參數(shù)都是來自?/root/mc/1.18.2/client/libraries/net/minecraftforge/forge/1.18.2-40.1.76/unix_args.txt 文件,腳本只是更換了項(xiàng)目目錄而已。
使用新的腳本啟動(dòng)mc,在目錄下會(huì)多出一個(gè)doc的文件夾,里面放了服務(wù)器配置文件、模組文件和世界文件,client文件夾干干凈凈滴,此時(shí)的文件情況:


java多版本共存
事情還沒完,當(dāng)我去啟動(dòng)1.12.2的服務(wù)器時(shí),報(bào)錯(cuò)了,乖乖,1.12.2不能在jdk17下面運(yùn)行~~~~

意味這要讓 jdk1.8.0 和 jdk17 共存,經(jīng)過一些摸索,只要再次安裝下jdk1.8.0基,本就能解決問題了。
輸入 "yum install java" 或者 "yum install java-1.8.0-openjdk.x86_64 ",然后敲Enter鍵:

安裝完成后,再次查詢java版本,如下圖:

此時(shí)服務(wù)器上先安裝了jdk17,后安裝了jdk1.8.0,安裝的就是最后的java版本,由于jdk1.8.0比較常用且穩(wěn)定,故用這個(gè)版本作為服務(wù)器的基準(zhǔn)。因?yàn)闆]有卸載jdk17,jdk17相關(guān)的文件還在服務(wù)器上,只是沒有加到環(huán)境變量里
在我服務(wù)器上jdk17位于 “/etc/alternatives/jre_17/bin/java”
因此啟動(dòng)腳本的java改成了“/etc/alternatives/jre_17/bin/java”,就是調(diào)用jdk17啟動(dòng)服務(wù)器了(上文的腳本已經(jīng)改過了)。
卸載jdk
想卸載jdk17 怎么辦?
輸入下面的指令查詢安裝情況:
如下圖:

使用 "rpm -e --nodeps xx" 指令卸載對應(yīng)內(nèi)容,例如:
