最近薅了百度雲雙12的羊毛,1核2G一年150。忽然想起之前大學整個宿舍通宵開黑挖泥土的歲月,因此恰好趁着這臺服務器,打算本身搭建一個個人世界服務器,重溫一下之前的感受。
google到的MC系統要求:html
上面就是服務器端的需求,若是隻是和小夥伴們一塊兒玩,也並不須要多優秀的服務器。下面是個人配置:java
MC是用Java寫的(固然如今也有別的語言寫的版本),因爲服務器端的MC是一個jar包,咱們在配置以後經過運行jar包來開啓服務器端,同時咱們在客戶端上打開後經過IP地址便可搜索並進入服務器。因此咱們首先要先安裝Java。經過下面的方法來安裝:shell
yum install -y java-1.8.0-openjdk
這裏有一個要求,就是你和你的小夥伴要擁有一樣版本的MC。不一樣的版本對應着不一樣的服務器端,因此咱們要下載正確的版本。如何看MC版本呢,通常進入遊戲後,遊戲左下角會有版本顯示。知道了版本號,那麼用命令就能夠下載對應版本的服務器端了。須要根據版本號補全命令格式:vim
wget https://s3.amazonaws.com/Minecraft.Download/versions/<你要下載的版本號>/minecraft_server.<你要下載的版本號>.jar
例子:博主這邊選擇安裝了比較穩定的1.12版本bash
wget https://s3.amazonaws.com/Minecraft.Download/versions/1.12/minecraft_server.1.12.jar
等下載提示結束後,minecraft_server.1.12.jar就躺在當前目錄了。服務器
咱們就可使用命令來運行MC服務器:session
java -Xms[初始啓動分配內存] -Xmx[最大分配內存] -jar [jar包所在路徑]/minecraft_server.[版本號].jar nogui
例子:ssh
java -Xms256m -Xmx512m -jar /home/mc/minecraft_server.1.12.jar nogui
關於命令最後一個參數 nogui,是分開的單詞 no gui,意思是不須要圖形界面,這樣會大大減少內存的使用,若是你的Linux是有圖形界面的,就能夠不打這個 nogui。
上面的命令輸入完成後,等待參數由0%一直到100%就啓動完成啦!下面給出博主啓動完成的後幾行顯示:工具
[05:58:08] [Server thread/INFO]: Loaded 488 advancements [05:58:08] [Server thread/INFO]: Preparing start region for level 0 [05:58:09] [Server thread/INFO]: Preparing spawn area: 0% [05:58:10] [Server thread/INFO]: Preparing spawn area: 41% [05:58:11] [Server thread/INFO]: Preparing spawn area: 76% [05:58:11] [Server thread/INFO]: Done (4.263s)! For help, type "help" or "?"
咱們若是一直使用上面那一句啓動的話是否是很是麻煩!每次都要複製粘貼,那麼咱們能夠寫一個簡單的Shell腳本,放在jar包所在目錄,每次啓動的時候直接啓動腳本就能進入遊戲了。ui
vim start-game.sh
編輯內容以下:
#!/bin/sh java -Xms256m -Xmx512m -jar /home/mc/minecraft_server.1.12.jar nogui
保存退出,每次啓動遊戲只須要運行下面命令便可:
bash start-game.sh
按 Ctrl + C 來中止當前服務器
咱們在第一次運行完jar包後,不管是否運行成功,都能發現當前目錄下多出了一堆文件,運行失敗的時候其實就是配置除了一點問題。咱們在當前目錄找一下文件:eula.txt
vim eula.txt
按i鍵進入編輯模式,找到以下一行把 false 改成 true
eula=false
保存退出
上面都啓動成功以後,就能夠下載對應服務器版本的客戶端。下載好後啓動,點擊多人遊戲,添加服務器,服務器地址輸入咱們雲服務器的公網IP,就可鏈接上去愉快的玩耍了。可是這時候可能會發現就是怎麼鏈接都失敗,若是遇到這個狀況,咱們須要檢查下服務器配置文件,先在jar包目錄下找到文件server.propertices 並編輯:
vim server.propertices
找到這一行
online-mode:true
將true改成false,這是正版驗證服務的設置
關於 server.propertices 文件,這邊就很少作介紹了,可經過下面的連接瞭解詳情
由於博主用的是雲服務器,須要經過使用ssh工具來鏈接到服務器啓動遊戲服務,可是通常服務器和ssh工具都會有鏈接會話的超時設置,在一段時間沒有在服務器上操做後,會自動斷開ssh會話,這時這個會話中的任務就會被殺掉,那小夥伴們遊戲玩着玩着就與服務器斷開鏈接了。
這個時候咱們可使用Linux上這個 GNU Screen 工具來解決上述問題
GNU Screen是一款由GNU計劃開發的用於命令行終端切換的自由軟件。用戶能夠經過該軟件同時鏈接多個本地或遠程的命令行會話,並在其間自由切換。GNU Screen能夠看做是窗口管理器的命令行界面版本。它提供了統一的管理多個會話的界面和相應的功能。
yum install -y screen
screen -AmRvx -ls -wipe-h <行數>-s
參數說明
screen -S mcs
當輸入這個命令後,就會進入 mcs 會話,在當前會話下,輸入上面的啓動腳本命令,確認遊戲正常啓動後,就能夠放着無論了,只要不是服務器掛掉了,服務就會一直運行着。