一、背景:
參加工作已久的我與朋友間的聯系少了。以往跟朋友們玩慣的網游早已今非昔比,或人去樓空甚至運營已停。節假日難得空閑下來想和朋友們玩下游戲追憶過往。但是個人感覺war3,dota,StarCraft稍重度些,一玩起來耗時長也累人,其他rpg里自己的賬號早已被時代拋棄,和朋友們討論后找了個稍微輕度的游戲“Minecraft”,過下家家就好。哈哈,長氣了些,Ok,let' s go!
二、實施部署
(1)個人主要的部署步驟:
1.准備java安裝包、服務器和客戶端文件和配置java環境。
2.設置服務器配置。
3.啟動服務器(內網)。
4.映射外網端口。
(2)步驟說明:
1.准備java安裝包、服務器和客戶端文件和配置java環境。
不管是服務器還是客戶端都需要運行在java環境下。本人下載的是Minecraft1.9.4正式版的服務器和客戶端。網上推薦使用Java8的環境,本人用java1.7.0~java1.8.2的測試過,目測沒有什么問題。顧忌非開發人員,這里還是簡單講講java環境的部署吧。
jdk下載鏈接:
下載好jdk的exe包后(本人使用的是windows,其他平台的請自行上百度google下吧:)),雙擊進行安裝,假設安裝在某目錄A(A為完整路徑)。
安裝好后,右鍵“我的電腦”->“屬性”->"高級環境配置"->"環境變量",新建一個配置變量(變量名為“JAVA_HOME”,變量值為“A”)。新建另一個配置變量(變量名為“CLASSPATH”,變量值為“%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar”)。然后找到名為Path的配置變量並對其編輯,在其值最后補充上“%JAVA_HOME%\bin;”。最后再命令行工具下輸入“java -version”。若能正常輸出所安裝的jdk版本,就意味着java環境安裝完成。
2.設置服務器配置。
首先確認MineCraft服務器文件夾是否有服務器啟動bat腳本,若沒有則添加自行添加一個后綴為bat的文化,代碼如下:
@echo OFF
java -Xmx1024M -Xms1024M -jar server.jar
PAUSE
server.jar為服務器jar文件。
再確認MineCraft服務器文件夾里是否有“server.properties”文件,若沒有則嘗試執行服務器啟動腳本看是否會自動生成(通過stop命令關閉服務器)。若已存在則按需修改如下屬性:
online-mode:如果是盜版則設置為false,正式版則設置true。貌似官方正式版的服務器配置沒有該項。
server-port:該項為服務器端口,最好是四位數,如8887。
servert-ip:該項為服務器地址,直接輸入127.0.0.1或在命令行下輸入ipconfig進行查看本地ip。
3.啟動服務器(內網)。
嘗試運行服務器啟動腳本,若console中出現“help”or“?”字樣則表示服務器已正常啟動。
接下來是本地測試下服務器是否生效。啟動Minecraft客戶端。客戶端版選擇與服務器相應的版本(本人的是1.9.4),驗證模式選擇離線模式。然后以多人模式登陸。
到服列表窗口下點擊“添加服務器”(或“直接連接”),服務器名稱可自行命名,服務器地址欄填寫“127.0.0.1:8887”后點擊完成進行連接。成功登陸則表示服務器已生效。
提示:服務會定時產生日志文件(帶Loader和log字樣),多了會浪費空間,需自行清理。
4.映射外網端口。
端口映射的工具有很多,例如net123,postmapper,花生殼等。本人使用的是花生殼2.8.0版本,
下載安裝后,注冊個免費用戶,它會提供1G每個月的流量。
啟動花生殼,右擊域名列表->“花生殼管理”->開啟“內網映射”->點擊“添加映射”。
在“添加映射”窗口中,應用名稱可以隨意填寫。”內網主機“地址填寫服務器ip地址。映射類型選”端口映射“,端口則填寫服務器監聽端口。點擊“確定”完成映射添加。
接下來,我們通過telnet來驗證端口映射是否生效。切回域名列表頁面,右鍵剛才選中的域名->"域名診斷",上面會顯示域名對應的ip地址和端口。同時會顯示兩個關鍵信息
“正在測試端口”和“局域網服務器”,兩者都顯示成功還算映射成功,
前者失敗可嘗試清理下緩存(命令行cmd下輸入ipconfig/flushdns)。


后者失敗表示游戲服務器沒有成功綁定和監聽端口,需要檢查服務器是否啟動失敗了。
接下來,通過telnet命令嘗試走外網端口檢查。命令行cmd下輸入連接命令:
telnet 域名或域名對應的ip地址 域名對應的端口
如telnet 127.0.0.1 8887
若連接失敗則原因可能有下:
1)端口占用
2)防火牆沒有關閉
3)殺毒軟件的保護沒有關閉
4)其他原因。
連接成功則意味着外網可訪問了,那么事不宜遲,馬上啟動客戶端玩耍吧。
參考: