炎炎夏日中想和小夥伴們開黑的同窗能夠進來看一下了,本教程教你搭建基於兩個平臺的Minecraft服務器,這裏我以Minecraft 1.11.2版本爲例給你們講解搭建流程。其中有Forge版本能夠加入mods。html
1、Windows下的Minecraft純淨(無Forge)服務器搭建java
1.獲取服務器文件瀏覽器
首先咱們先去網上下載JAR服務器文件minecraft_server.1.11.2.jar。不能訪問國外網站的同窗,能夠去一些網盤分享網站搜索,通常均可以找獲得這個文件。網盤連接安全
2.編寫啓動腳本bash
打開記事本,輸入下列代碼後保存在和服務器文件同一個目錄下:服務器
@echo off java -Xms1024m -Xmx1024m -jar minecraft_server.1.11.2.jar nogui
這個腳本中,「java」表示運行javaw.exe,系統會自動在你的環境變量的path中尋找包含javaw.exe的目錄,後面的參數表示一些限制條件,其中「Xms1024m」表示堆內存初始值爲1024MB,「Xmx1024m」表示堆內存最大值爲1024MB(這兩個值可根據你們的電腦配置酌情更改便可),「-jar」表示運行jar包,「nogui」是jar包中的main方法的參數,表示不以圖形界面運行。tcp
3.修改配置文件編輯器
將啓動腳本更換後綴名爲".bat",雙擊啓動:ide
這時會有一個黑框一閃而過,內容是這樣的:工具
第三行的意思是說咱們須要贊成EULA協議才能啓動咱們的服務器。執行完啓動腳本以後,咱們發現文件夾下多了個「log」文件夾和兩個文件,其中一個就是eula.txt文件。咱們雙擊打開eula.txt文件,將eula=false改成eula=true,保存退出。
從新啓動腳本,這時又彈出了剛纔的黑框,不過此次再也不是一閃而過了。若是看到最後一行的「Done」那麼表示服務器建立成功了:
打開Minecraft 1.11.2客戶端,選擇「多人遊戲」->「添加服務器」,服務器地址中輸入"localhost:25565"(端口號可在server.properties中更改)。選中咱們的服務器,點擊「加入服務器」,卻發現這樣的提示:「沒法鏈接至服務器」,「登入失敗:無效的會話(請嘗試重啓你的遊戲)」。
切換到服務器,發現有一條登陸的消息,可是該消息中id的值是空的:
原來,Minecraft服務器默認開啓了正版客戶端驗證,咱們的客戶端通常都是盜版的,因此服務器驗證不經過,天然就不可以登陸了。
在服務器文件夾下,找到server.properties,使用任意文本編輯器打開:
找到第33行,將online-mode=true改成online-mode=false,保存退出:
要使新配置生效,咱們要切換到服務器的黑框,輸入「stop」,回車後服務器就將數據保存好後安全關閉。再次雙擊打開咱們的啓動腳本從新打開服務器,此次就能鏈接得上咱們的服務器了。
2、Windows下的Minecraft Forge服務器搭建
第一步建立的服務器是不能添加咱們喜歡的MOD的,要想添加MOD,咱們要換一個服務器。
1.獲取Forge服務器文件
瀏覽器打開https://files.minecraftforge.net ,下載下圖中的兩個文件:forge-1.11.2-13.20.1.2588-installer-win.exe,forge-1.11.2-13.20.1.2588-universal.jar。其中exe文件是可選的,jar文件是必需要下載的。
說明一下兩個文件的用途:exe文件負責下載libraries文件夾的內容,jar文件是咱們新服務器文件。
沒下載exe文件的同窗,能夠直接下載libraries文件,這裏分享一個MCBBS上的整合包http://zsn741656478.ys168.com,下載對應版本的libraries便可。
下好以後的文件應該是這樣的:
其中minecraft_server.1.11.2.jar是上一步咱們下載的服務器,這裏咱們也要把它放在這個目錄下。
下載了exe文件的同窗看這一步:
雙擊打開exe文件,選擇「Install server」,勾選Mercurius,選擇服務器文件夾,點擊肯定。
等待後臺下載對應版本的libraries便可。
程序下載完成後,咱們能夠看見服務器文件夾下多了一個libraries和mods文件夾。
沒有下載exe文件的同窗,直接把libraries文件解壓到當前目錄也能夠:
當服務器文件夾下有了libraries文件夾以後咱們就開始下一步了(mod文件夾不用管)。
2.編寫啓動腳本
到了這一步就和剛纔配置服務器的步驟如出一轍了。打開記事本輸入如下指令,不過注意的是此次運行的jar文件是咱們新添加的forge版本的文件:
@echo off java -Xms1024m -Xmx1024m -jar forge-1.11.2-13.20.1.2588-universal.jar nogui
3.修改配置文件
將.txt文件拓展名更改成.bat後雙擊啓動,這時一個黑框一閃而過。打開文件夾下的eula.txt,將eula=false改成eula=true。雙擊啓動腳本,黑框最後一行出現「Done」字樣的時候,輸入「stop」並回車,退出服務器。
記事本打開服務器目錄下的server.properties,將online-mode=true改成online-mode=false,保存退出:
從新雙擊啓動腳本,啓動服務器,若無問題則進行下一步。
4.更改客戶端
服務器更改了,客戶端也要更改成對應的forge版本才能連的上。通常的客戶端都是有啓動程序的,這裏我只試過了路由俠和HMCL,這兩個啓動程序均可以幫幫咱們更新客戶端的版本,具體操做看啓動程序的說明。
路由俠:
HMCL:
客戶端版本不是亂選的,必定要跟服務器的forge版本對應才行,這個千萬要注意。
更新好客戶端版本後,咱們就能夠鏈接服務器了。25565端口號能夠自行更改,可是不能和其餘端口號衝突。
想加入mod就直接在客戶端的./minecraft/mods/文件夾中放入對應的.jar文件,重啓客戶端便可。(部分mod要求服務器端也要添加)
若是你想和其餘小夥伴一塊兒玩,若是搭建的是本地服務器那麼須要開啓外網端口映射,詳見https://www.mcbbs.net/thread-622873-1-1.html;若是是雲服務器那麼全部人均可以直接鏈接。下面教你們搭建Minecraft雲端服務器(敲黑板)。
3、CentOS下的Minecraft純淨(無Forge)服務器搭建方法
1.申請服務器
國內性價比比較高的三個雲服務器:阿里雲,騰訊雲和景安公司的快雲,你們能夠去對應的官網選擇適當的配置自行申請。
原本打算在阿里雲租一個VPS的,可是我在快雲抽到了1塊錢30天體驗券,就選快雲的VPS了。
2.配置服務器
你們能夠看到我申請到的服務器系統是Win2003的,因此咱們還要重裝一下系統(通常的雲服務器供應商都會有這個功能)。Linux比Windows佔用的資源更少,這裏說明一下,Ubuntu和CentOS的最重要的區別是Ubuntu有圖形界面而CentOS沒有,而加載處理圖形界面(哪怕你不顯示)會佔用很多CPU資源,因此強烈推薦使用最新版本的CentOS。
使用SSH工具登陸你的VPS,XSHELL或者PUTTY均可以,這裏我以XSHELL爲例。
選擇「文件」->「新建」,在「協議」中選擇「SSH」,「主機」輸入你申請到的VPS的公網IP地址,端口號輸入雲服務器供應商提供的端口號(默認22)。
左側的窗口點擊「用戶身份驗證」,「用戶名」通常是「root」,「密碼」輸入你設置的密碼便可。
這裏要注意的是,左側窗口選擇「隧道」,將「轉發X11鏈接到」的多選框取消勾選:
點擊「鏈接」便可遠程鏈接服務器:
有的雲服務器供應商會在重裝系統後幫你配置好了一些經常使用命令,如wget等;而有的則是很純淨的系統,不少經常使用命令都沒有,因此這裏我給你們列舉一些咱們要用到的命令:
wget:文件自動下載工具,將遠程服務器的文件下載到雲服務器
lrzsz:文件上傳下載命令,將本地文件上傳到雲服務器或者將雲服務器的文件下載到本地
net-tools:用於查詢端口狀態,經常使用到的是netstat
screen:同一終端下的多會話管理器
首先咱們先將系統的更新源更改成阿里雲的源(固然也能夠更改成清華大學或者163的源),這樣咱們下載鏡像的時候就不會從外國網站下載而是轉到咱們指定的國內網站下載。下面以更改阿里雲的源爲例:
安裝wget:
yum -y install wget
下載阿里雲換源文件update_source.sh:(更新界面在這裏:https://help.aliyun.com/knowledge_detail/41177.html)
wget http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/41177/cn_zh/1504061676920/update_source.sh
添加執行權限:
chmod 777 update_source.sh
執行換源腳本:
./update_source.sh
而後更新並升級系統:
yum -y update && yum -y upgrade
在yum庫中查找java安裝包:
yum -y list java*
咱們能夠看到可用java1.8的版本,咱們這裏就選1.8的java版本(要注意Minecraft 的1.7如下的版本最好選1.7的java,Minecraft 1.8+的選1.8的java)
yum -y install java-1.8.0-openjdk*
輸入「java -version」咱們能夠看到已經安裝配置成功:
安裝GNU Screen:
yum -y install screen
若是有同窗按照上一步在本地搭建好了Windows的Minecraft服務器那麼這裏能夠直接上傳到咱們的雲端服務器上。若是沒有,那麼咱們用lrzsz命令將服務器文件上傳到雲服務器。
安裝lrzsz:
yum install -y lrzsz
選中服務器文件Minecraft_server.1.11.2.jar,直接拖入XSHELL窗口中:
等待傳輸結束便可。
新建文件夾mc_server:
mkdir mc_server
切換工做目錄到mc_server:
cd mc_server/
移動文件,將上一級目錄下的minecraft_server.1.11.2.jar移動到當前目錄下:
mv ../minecraft_server.1.11.2.jar ./
有了前面兩次的搭建經驗,那麼你們應該知道接下來作什麼了。
新建文件eula.txt,並將「eula=true」寫入eula.txt中:
echo eula=true > eula.txt
新建啓動腳本start.sh,並將啓動命令寫入start.sh中,同時賦予此腳本執行權限:
echo -e '#!/bin/sh \njava -Xmx768M -Xms512M -jar ./minecraft_server.1.11.2.jar' > start.sh && chmod 777 start.sh
因爲我申請的VPS內存有點小,因此此處最小內存就設置了512MB,最大設置了768MB,這些參數你們能夠根據本身的VPS配置酌情修改。
咱們查看一下如今mc_server目錄下的文件,若是按着步驟來那麼就會獲得這三個文件:
ls -l
運行start.sh啓動咱們的服務器:
./start.sh
啓動成功最後一行就會出現「Done」等字樣:
關閉服務器:
stop
查找server.properties文件中的online-mode=true並修改成online-mode=false:
find -name 'server.properties' | xargs perl -pi -e 's|online-mode=true|online-mode=false|g'
打開並啓動防火牆:
systemctl start firewalld && systemctl enable firewalld
將25565端口設置爲開放而不是阻止:(修改開放的端口號要在server.properties中更改)
firewall-cmd --zone=public --add-port=25565/tcp --permanent
當即應用防火牆改動:
firewall-cmd --reload
新建名稱爲「mc」的會話:
screen -S mc
在此會話下啓動服務器:
./start.sh
啓動成功後,按下Ctrl+A再按下Ctrl+C鍵離開此會話。
查看端口開放:
netstat -nltp
可見25565端口出現LISTEN說明打開成功,那麼咱們的客戶端(無Forge版本)就能夠鏈接上了。
客戶端鏈接上後,咱們能夠隨時切換到「mc」會話中查看服務器的消息:
按下Ctrl+A再按下Ctrl+N回到「mc」會話。
4、CentOS下的Minecraft Forge版本服務器
這裏跟Windows下搭建的方法相似。
上傳libraries.zip文件。選中並將libraries.zip拖入咱們的服務器文件夾mc_server中:
或者直接把我剛纔分享的網站的libraries.zip地址複製下來:
而後輸入「wget 網址」回車便可,記得版本號要一致。個人下載命令是:
wget http://ys-o.ys168.com/557791622/i4N157N4H6JP2HSMTLs5/libraries.zip
一樣要把forge的服務器文件也複製進來:
若是上傳速度爲0,那麼咱們須要關閉後臺的「mc」的screen會話:
screen -S mc -X quit
查看全部screen會話:
screen -ls
可見已經沒有後臺screen會話了,咱們繼續上傳文件,此時上傳速度正常。
上傳完成後,安裝unzip解壓命令:
yum -y install unzip
解壓libraries.zip文件:
unzip libraries.zip
如今咱們的服務器目錄下的文件應該是這樣的:
更改start.sh的內容,將啓動minecraft_server.1.11.2.jar改成forge-1.11.2-13.20.1.2588-universal.jar:
find -name 'start.sh' | xargs perl -pi -e 's|minecraft_server.1.11.2|forge-1.11.2-13.20.1.2588-universal|g'
新建「mc」會話:
screen -S mc
在此會話下啓動服務器(Forge版本):
./start.sh
客戶端也要換爲對應的Forge版本才能登錄。
咱們能夠嘗試在mods文件夾中添加咱們喜歡的mods。好比顯示血量的Neat(下載地址:http://mods2.minecraftyard.com/1.11.2/Neat%201.4-13.jar ,其餘版本的服務器請注意版本號),小地圖JourneyMap(下載地址:http://ys-f.ys168.com/557791613/TKUJw4u4M1J6W44I6P3J/journeymap-1.11.2-5.4.7.jar,一樣注意版本號),礦物位置透視xRay(下載地址:http://mods2.minecraftyard.com/1.12.2/xray-1.11.2-1.3.3.jar)。
我列舉的這三個mods只須要客戶端./minecraft/mods目錄下添加便可,並不須要在服務器添加。
遊戲內效果:
爲了截圖把本身害死了,切換到服務器端,把本身改成管理員:(dagger是我進入遊戲取的名字)
op dagger
回到客戶端發現本身已是管理員了,那麼能夠用「/gamemode 1」命令進入創造模式,這樣就不會受到蜘蛛傷害了:)
mods的使用方法你們就自行搜索吧,這裏就不深刻討論了,反正咱們的服務器已經搭建好了,能夠呼叫小夥伴一塊兒開黑了。記得把版本號跟他們說一下呀,否則會有大麻煩的。
參考文獻:
1.《Minecraft我的私服搭建指南(3):服務端配置運行》,https://www.jianshu.com/p/ca27a32f7826
2.《在本地運行官方服務端以及服務端forge教程》,https://www.mcbbs.net/thread-829318-1-1.html
3.《服務器核心合集 建好的服務端》,https://www.mcbbs.net/thread-661632-1-1.html