# Minecraft 插件伺服器教學-基礎篇
這是夜花櫻製作的插件伺服器基礎教學,此篇為基礎篇,會教你如何架設最基本的伺服器。
## 配置需求
* 電腦
* 網路
## 下載 Paper 開服核心
到 https://papermc.io/downloads 下載檔案,Paper版本更新速度快,
可以依照自身需求來決定多久做一次核心檔案更新。
建議將檔案放到一個資料夾裡面,方便日後進行管理。
> 為什麼選擇Paper?
> Paper 為 Spigot 的性能優化版本,並且具有更高的豐富性,
> 並且 Paper 會主動修復原版中的部分漏洞(像是鐵軌複製機)。
## 啟動參數設定
這裡就附上 Paper 官方所推薦的啟動參數,請把他寫在一個 ``.bat`` 檔,
裡面可以依照你的需求調整記憶體以及檔案名稱。
```
java -Xms2G -Xmx2G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar 你下載下來的Paper檔案名稱.jar nogui
```
## 啟動伺服器
當你把上面那一坨看不懂的參數寫入你的 `.bat` 檔的時候,滿懷期待的把檔案打開,
卻發現打開後卻閃退了,遇到這個狀況先不要慌,
到伺服器的資料夾裡面找到 `eula.txt` 的文字文件,
將 `eula=false` 設定為 `eula=true`,再啟動伺服器即可。
## 關於伺服器延遲
先撇除網路問題,這裡只針對 `伺服器延遲`,`伺服器延遲` 稱為 `TPS`,
`TPS` 全稱 `Ticks Per Second` 意思就是伺服器每一秒可以執行多少刻(Tick),
除了 `TPS` 之外,也需要看 `MSPT` 全稱 `Millisecond Per Tick`,
意思就是每一刻需要多長的時間來執行,`TPS` 理想值為 `20`,
數值越低,伺服器會越卡,`MSPT` 數值越低越好,小於 `50` 屬於正常值。
## 那如果我的TPS超低,MSPT超高怎麼辦
伺服器開啟後,建議至少等待 15 分鐘,之後輸入 `/timings paste` 指令,
會出現一串網址,點進去就會列出延遲列表,看到紅色的數字,點進去看就對了,
然後針對紅色數字的地方進行調整,像是如果村民太多的話就減少村民之類的。
目前比較常見的延遲原因為村民,所以一般開設伺服器的時候,
會比較建議對村民以及其他實體做一些控管。
---
# Minecraft 插件伺服器教學-插件篇
此篇將會教你如何安裝插件,並且推薦幾個自己常用,或是伺服器必裝的插件。
## 插件該去哪裡找
找插件,個人覺得最快的方法就是「Google」,沒錯,就是google。
要找插件,建議至少有一點簡單的英文基礎,
假設我今天想要一個背包的插件,使用關鍵字 `minecraft backpack plugin`,
來解釋一下為什麼我會使用這組關鍵字,首先因為是「Minecraft」伺服器,
所以最前面要先寫Minecraft,之後就是你想要找的插件的種類或名稱,
背包的英文是 `backpack`,最後面要寫上插件 `plugin`,因為我們要找的是插件,
沒加上的話可能會容易找到其他東西。
## 我找好插件了,然後呢
假設你下載了一個插件叫做 `MCPlugin.jar`,在基礎篇開設的伺服器,
應該會看到一個 `plugins` 資料夾,就把你下載到的插件丟進資料夾,
開啟伺服器(或將伺服器重新啟動),你的插件就裝好了 :thumbsup: 。
## 插件推薦
以下插件為筆者自己私心推薦的插件(可能隨時更新...):
1. **Essentials 或 CMI**
這個兩個插件設定較複雜,不過設定方法大多看得懂英文應該都很容易設定,
不過可能會有些細節需要注意,Essentials為免費插件,CMI為付費插件。
1. **SlimeChunkChecker**
史萊姆區塊檢測插件,簡單輸入一個指令就可以檢測你所在的區塊是不是一個史萊姆區塊,
沒錯,這插件是我寫的,當然要在自己的教學文章業配自己的插件(笑
1. **Holographic Displays**
這是一個可以設置懸浮文字的插件,如果你有裝CMI的話,這插件可以省略。
支持色碼,算是很多伺服器必用的東西。
示意圖(來自官網):

1. **PlaceHolderAPI**
挺多插件會支援的前置插件,他會讓你可以設置placeholder,
placeholder長這樣 `%placeholder%`,例如 `%playername%`。
前面的 `Holographic Displays` 插件也有支援。
1. **ChestCommands**
一個可以製作箱子介面的插件,功能強大,基本上這東西可以拿來製作選單,
按下去之後要做甚麼操作,都可以自訂。
1. **LuckPerms**
沒錯,伺服器不可以缺少的就是權限插件,這個插件我覺得目前是最強大的權限插件了,
擁有網頁編輯器,可以透過網頁來調整權限,非常的方便,
並且支援資料庫,可以實現跨伺服器權限同步。
## 但是那些插件我都不會用
之後會針對比較複雜的插件進行講解,別急。
---
# Minecraft 插件伺服器教學-權限篇
此篇全程將會以 `LuckPerms` 插件以及 `SlimeChunkChecker` 插件來示範,
每一個插件的設定方式都有所不同,
但大致上的概念是差不多的。
> 你還沒下載LuckPerms?
> [快去下載!](https://www.spigotmc.org/resources/luckperms.28140/)
## 怎麼使用 LuckPerms