首先,到 https://minecraft.net/zh-hant/download/server 下載minecraft_server.1.12.2.jar,並將其複製或移動到一個資料夾(如Minecraft Server)裡,之後在那個資料夾創建一個文字文件,其內容為「java -Xmx1024M -Xms1024M -jar minecraft_server.1.12.2.jar」,並存檔為minecraft_server.1.12.2.bat(可以是其他名稱,但副檔名一定要是.bat)。
接著開啟minecraft_server.1.12.2.bat,接著會出現一個資料夾logs及兩個檔案eula.txt、server.properties。
開啟eula.txt,將eula的值改成true,並儲存。
再開啟一次minecraft_server.1.12.2.bat,接著會出現Windows防火牆封鎖的訊息,請按「解除封鎖」。之後等它跑完再關閉minecraft_server.1.12.2.bat。
之後會出現一些檔案及資料夾。
world是地圖存檔的資料夾,如果您要將您的單人遊戲地圖轉換成伺服器,將您的地圖資料夾裡面的檔案複製到world資料夾裡,如果提示要取代,請全部取代。
banned-ips.json記錄著封鎖的IP位址。
banned-players.json記錄著封鎖的玩家名稱。
ops.json記錄著伺服器管理員的名稱。
whitelist.json記錄著白名單裡的玩家名稱。
接著用記事本開啟server.properties,修改一些伺服器的設定。
伺服器的一些設定說明:
設定値
|
類型
|
預設値
|
描述
|
allow-flight
|
布林值
|
false
|
允許玩家在安裝添加飛行功能的 mod 前提下在生存模式下飛行。
允許飛行可能會使作弊者更加常見,因為此設定會使他們更容易達成目的。在創造模式下本設定值不會有任何作用。
false - 不允許飛行。懸空超過5秒的玩家會被踢出伺服器。
true - 允許飛行。玩家得以使用飛行MOD飛行。
|
allow-nether
|
布林值
|
true
|
允許玩家進入地獄。
false - 地獄傳送門不會生效。
true - 玩家可以通過地獄傳送門前往地獄。
|
announce-player-achievements
|
布林值
|
true
|
玩家獲得成就時是否在伺服器中進行顯示。
false - 玩家獲得成就時的提示僅自己可見,不會向其他玩家進行顯示。
true - 玩家獲得成就時將在其他在線玩家的聊天欄進行提示。
例如:jeb_
剛剛獲得了 [盤點庫存] 成就!
|
difficulty
|
整數(0-3)
|
1
|
定義伺服器的遊戲難度(例如生物對玩家造成的傷害,飢餓與中毒對玩家的影響方式等)。
0 - 和平
1 - 簡單
2 - 普通
3 - 困難
|
enable-query
|
布林值
|
false
|
允許使用GameSpy4協議的伺服器監聽器。用於收集伺服器資訊。
|
enable-rcon
|
布林值
|
false
|
是否允許遠端存取伺服器控制台。
|
force-gamemode
|
布林值
|
false
|
強制玩家加入時為預設遊戲模式
false - 玩家將以退出前的遊戲模式加入
true - 玩家總是以預設遊戲模式加入
|
gamemode
|
整數(0-3)
|
0
|
定義預設遊戲模式
0 - 生存模式
1 - 創造模式
2 - 冒險模式(僅在12w22a之後,或正式版1.3之後可用)
3 - 旁觀模式(僅在14w05a之後,或正式版1.8之後可用)
|
generate-structures
|
布林值
|
true
|
定義是否在生成世界時生成結構(例如村莊)
false - 新生成的區塊中將不包含結構。
true - 新生成的區塊中將包含結構。
註: 即使設為 false,地牢和地獄要塞仍然會生成
|
generator-settings
|
字元串
|
空白
|
本設定值只用於自訂超平坦世界的生成。詳見超平坦世界了解正確的設定及例子。
|
hardcore
|
布林值
|
false
|
一旦啟用,玩家在死後會自動被伺服器封鎖(即開啟極限模式)。
|
level-name
|
字元串
|
world
|
「level-name」的值將作為世界名稱及其資料夾名。您也可以把您已生成的世界存檔複製過來,然後讓這個值與那個資料夾的名字保持一致,伺服器就可以載入該存檔。
部分字元,例如 ' (單引號)可能需要在前面加反斜線 \ 才能正確應用。
|
level-seed
|
字元串
|
空白
|
與單人遊戲類似,為您的世界定義一個種子。
這裡有一些例子:minecraft,404,1a2b3c。
|
level-type
|
字元串
|
DEFAULT
|
確定地圖所生成的類型
DEFAULT - 標準的世界帶有丘陵、河谷、海洋等
FLAT - 一個沒有特色的平坦世界,適合用於建設
LARGEBIOMES - 如同預設世界,但所有生態系都更大(僅快照12w19a,或正式版1.3之後可用)
AMPLIFIED - 如同預設世界,但世界生成高度提高(僅快照13w36a,或正式版1.7.2之後可用)
CUSTOMIZED - 自快照14w21b以來,伺服器也支持自定義地形。使用方法是在generator-settings貼上代碼。
|
max-build-height
|
整數
|
256
|
玩家在遊戲中能夠建造的最大高度。然而地形生成算法並不會受這個值的影響。
|
max-players
|
整數(1-2147483647)
|
20
|
伺服器同時能容納的最大玩家數量。但請注意在線玩家越多,對伺服器造成的負擔也越大,而且伺服器管理員也不具有在人滿的情況下強行進入伺服器的權力。所以請慎重設置本設定值,過大的數值會使客戶端顯示的玩家列表崩壞。
|
max-tick-time
|
整數(0–(2^63
- 1))
|
60000
|
毫秒計數的最大伺服器看門狗消息監測周期,超過該周期看門狗將停止伺服器程序。一個伺服器周期為60.00秒(最大密度0.05);如果伺服器程序被判定為當機,它將被強制終止運行。遇到這種情況的時候,它調用System.exit(1)。
如果您監測服務程序的返回代碼,此時返回代碼為1,(習慣上,程序正常退出應當返回0)
-1 - 完全停用看門狗(這個停用選項在14w32a快照中添加)
|
max-world-size
|
整數(1-29999984)
|
29999984
|
設置世界的邊界最大半徑值,以方塊數量表示。使用指令操作超過邊界更大區域該指令也能完全成功執行,但是真實的邊界不會移動過限制的方塊。如果設置 max-world-size 超過預設值的大小,將不會起任何效果。
例如:
設置
max-world-size 為 1000 ,地圖邊界將是 2000x2000 尺寸。
設置
max-world-size 為 4000 ,地圖邊界將是 8000x8000 尺寸。
|
motd
|
字元串
|
A Minecraft Server
|
本設定值值是玩家客戶端的多人遊戲伺服器列表中顯示的伺服器訊息,顯示於名稱下方。
·
請注意,motd 不支持彩色樣式代碼。
·
如果 motd 超過59字元,伺服器列表很可能會返回「通訊錯誤」。
|
online-mode
|
布林值
|
true
|
是否允許正版驗證。伺服器會與 Minecraft 的帳戶資料庫對比檢查連線玩家。如果您的伺服器並未與網路連線,則將這個值設為 false ,然而這樣的話惡意破壞者也能夠使用任意假帳戶登錄伺服器。如果 Minecraft.net 伺服器下線,那麼開啟正版驗證的伺服器會因為無法驗證玩家身份而拒絕所有玩家加入。通常,這個值設為 true 的伺服器被稱為「正版伺服器」,設為 false 的被稱為「離線伺服器」或「盜版伺服器」。
true - 啟用。伺服器會認為自己具有網路連線,並檢查每一位連線的玩家。
false - 停用。伺服器不會檢查玩家。
|
op-permission-level
|
整數(1-4)
|
4
|
設定伺服器管理員的權限等級
1 - 伺服器管理員可以無視重生點保護。
2 - 伺服器管理員可以使用單人遊戲作弊指令(除了/publish,因為不能在伺服器上使用,/debug也是)並使用指令方塊。指令方塊和領域服服主/管理員有此等級權限。
3 - 伺服器管理員可以使用幾乎所有多人遊戲限定的指令(除第4級專用指令)
4 - 伺服器管理員可以使用所有指令,包括/stop、/save-all、/save-on和/save-off。
|
player-idle-timeout
|
整數
|
0
|
玩家待機超時的時間,設置為0表示無超時限制。
例如
player-idle-timeout設置為3,玩家待機達到3分鐘即會被踢出伺服器。
註: 玩家產生以下操作時,待機時間將被復位
·
102
(0x66) WindowClick
·
108
(0x6c) ButtonClick
·
130
(0x82) UpdateSign
·
14
(0xe) BlockDig
·
15
(0xf) Place
·
16
(0x10) BlockItemSwitch
·
18
(0x12) ArmAnimation
·
19
(0x13) EntityAction
·
205
(0xcd) ClientCommand
·
3
(0x3) Chat
·
7
(0x7) UseEntity
|
resource-pack
|
字元串
|
空白
|
隨意的
URI 指向一個資源包。玩家可選擇是否使用
|
resource-pack-hash
|
字元串
|
空白
|
資源包的SHA-1值,必須為小寫十六進位,雖然不是必填選項,但可減少每次進入伺服器時重複下載資源包的情況。
註:下載到的伺服器資源包將保存在.minecraft\server-resource-packs下。
|
pvp
|
布林值
|
true
|
是否允許PVP。玩家自己的箭也只有在允許PVP時才可能傷害到自己。
註: 來源於玩家的間接傷害,例如熔岩,火,TNT等,還是會造成傷害。
true - 玩家可以互相造成傷害。
false - 玩家無法互相造成傷害。
|
query.port
|
整數(1-65534)
|
25565
|
設置監聽伺服器的埠號(詳見enable-query)。
|
rcon.password
|
字元串
|
空白
|
設置遠端存取的密碼(詳見enable-rcon)。
|
rcon.port
|
整數(1-65534)
|
25575
|
設置遠端存取的埠號(詳見enable-rcon)。
|
server-ip
|
字元串
|
空白
|
將伺服器與一個特定IP綁定。強烈建議您留空本設定值!
留空,或是填入您想讓伺服器綁定的IP。
|
server-port
|
整數(1-65534)
|
25565
|
改變伺服器埠號。如果伺服器通過路由器與外界連接的話,該埠必須也能夠通過路由器。
|
snooper-enabled
|
布林值
|
true
|
自1.3正式版之後,一旦啟用,將允許服務端定期發送統計資料到http://snoop.minecraft.net.
false - 停用資料搜集
true - 啟用資料搜集
|
spawn-animals
|
布林值
|
true
|
決定動物是否可以生成。
true - 動物可以生成。
false - 動物生成後會立即消失。
|
spawn-monsters
|
布林值
|
true
|
決定怪物是否可以生成。
true - 可以。只要滿足條件的話怪物就會生成。
false - 停用。不會有任何怪物。
如果difficulty
= 0(和平)的話,本設定值不會有任何影響。
|
spawn-npcs
|
布林值
|
true
|
決定是否生成村民。
true - 生成村民
false - 不會有村民。
|
spawn-protection
|
整數
|
16
|
決定重生保護的半徑。此設置為0時將不會停用重生保護。 值為0時將保護重生點的單個區塊;值為1時將保護以重生點為中心3x3的區塊;值為2時將保護以重生點為中心5x5的區塊,值為3時將保護以重生點為中心7x7的區塊……此選項不會在伺服器初始化時生成,而在第一個玩家加入伺服器時出現。如果伺服器管理員沒有設置該項,重生保護將自動關閉。
|
use-native-transport
|
布林值
|
true
|
是否使用針對Linux平台的資料包收發優化,此選項僅會在Linux平台下生成。
true - 啟用
false - 停用
|
view-distance
|
整數(3-15)
|
10
|
設置服務端傳送給客戶端的資料量。用每一個方向上的區塊數量衡量。這個值也是客戶端視野距離的上限。當視野為「遠」時,實際的值為9,所以預設推薦值為 10 。
|
white-list
|
布林值
|
false
|
允許伺服器白名單
當啟用時,只有白名單上的用戶才能連接伺服器。白名單主要用於私人伺服器,例如相識的朋友等。
注 - 伺服器管理員會自動被視為在白名單上。所以無需再將伺服器管理員加入白名單。
false - 不使用白名單。
true - 從 whitelist.json 檔案加載白名單。
|
enable-command-block
|
布林值
|
false
|
當啟用時地圖中的指令方塊可以被紅石所啟動
注 - 只有在創造模式的伺服器管理員才可以正常輸入指令方塊指令
|
設定完成之後,再次開啟minecraft_server.1.12.2.bat,等到出現「Done (10.805s)! For help, type
"help" or "?"
」表示伺服器架設好了。
之後開啟Minecraft 1.12.2。
接著按「多人遊戲」,一開始會先出現Windows防火牆封鎖的訊息,請按「解除封鎖」。
接著按「直接連線」,輸入您電腦的IP位址。
查詢IP位址的方法:
步驟一:
l Windows XP:按「開始」→按「執行」→輸入「cmd」並按「確定」。
l Windows Vista或Windows 7:按「開始」→在下方搜尋框輸入「cmd」並按Enter。
l Windows 8:按「開始」或Windows鍵→按右上方的「放大鏡」→輸入「cmd」並按Enter。
l Windows 10:按「開始」旁邊的「放大鏡」→輸入「cmd」並按Enter。
步驟二:輸入ipconfig並按Enter,「IP
Address」欄位或「IPv4位址」欄位會顯示您電腦的IP位址。
步驟三:將那四組數字填入到「伺服器位址」裡,之後按「加入伺服器」。
進入伺服器之後,預設是使用標準玩家身分登入(即無法使用大部分的指令)。
請先在Minecraft伺服器主控台輸入「op
(您的玩家名稱)」,接著您就可以使用指令了。
本例是使用正版驗證的伺服器,盜版玩家嘗試要進入這個伺服器時會出現「無效的會話」的訊息而無法登入。
如果您要允許盜版玩家進入伺服器,請將server.properties裡面的online-mode設定為false。
這樣可以允許盜版玩家進入伺服器,不過可能會有惡意破壞者進入,無論您怎麼封鎖都沒有用,因為他們可以隨時更換玩家名稱或IP位址進入。您可以使用白名單機制來防止這個問題。
先將server.properties裡面的white-list設定為true。
之後在Minecraft伺服器主控台輸入「whitelist
add (您信任的玩家名稱)」,這樣就只有您信任的玩家才可以登入這個伺服器。
注意!每次更改server.properties裡面的設定之前,請先將伺服器關閉,然後再修改,接著再開啟,否則修改後的設定將不會生效!
java.io.IOException: 控制代碼無效。
回覆刪除at java.io.FileInputStream.readBytes(Native Method) ~[?:1.8.0_161]
at java.io.FileInputStream.read(Unknown Source) ~[?:1.8.0_161]
at java.io.BufferedInputStream.read1(Unknown Source) ~[?:1.8.0_161]
at java.io.BufferedInputStream.read(Unknown Source) ~[?:1.8.0_161]
at sun.nio.cs.StreamDecoder.readBytes(Unknown Source) ~[?:1.8.0_161]
at sun.nio.cs.StreamDecoder.implRead(Unknown Source) ~[?:1.8.0_161]
at sun.nio.cs.StreamDecoder.read(Unknown Source) ~[?:1.8.0_161]
at java.io.InputStreamReader.read(Unknown Source) ~[?:1.8.0_161]
at java.io.BufferedReader.fill(Unknown Source) ~[?:1.8.0_161]
at java.io.BufferedReader.readLine(Unknown Source) ~[?:1.8.0_161]
at java.io.BufferedReader.readLine(Unknown Source) ~[?:1.8.0_161]
at nz$2.run(SourceFile:100) [minecraft_server.1.12.2.jar:?]
請問這葛是甚麼問題?我已照上面的方式打ㄌ!!
2018,windows xp.............
回覆刪除我的也會跟一樓有一樣的問題
回覆刪除[12:58:41 ERROR]: Exception handling console input
java.io.IOException: 控制代碼無效。
at java.io.FileInputStream.readBytes(Native Method) ~[?:1.8.0_211]
at java.io.FileInputStream.read(Unknown Source) ~[?:1.8.0_211]
at java.io.BufferedInputStream.read1(Unknown Source) ~[?:1.8.0_211]
at java.io.BufferedInputStream.read(Unknown Source) ~[?:1.8.0_211]
at sun.nio.cs.StreamDecoder.readBytes(Unknown Source) ~[?:1.8.0_211]
at sun.nio.cs.StreamDecoder.implRead(Unknown Source) ~[?:1.8.0_211]
at sun.nio.cs.StreamDecoder.read(Unknown Source) ~[?:1.8.0_211]
at java.io.InputStreamReader.read(Unknown Source) ~[?:1.8.0_211]
at java.io.BufferedReader.fill(Unknown Source) ~[?:1.8.0_211]
at java.io.BufferedReader.readLine(Unknown Source) ~[?:1.8.0_211]
at java.io.BufferedReader.readLine(Unknown Source) ~[?:1.8.0_211]
at nz$2.run(SourceFile:100) [minecraft_server.1.12.2.jar:?]
999
回覆刪除太赞了,可以玩诶,谢谢你大神!!!
回覆刪除