Console(wings API)¶
為什麼需要它¶
要對正在運行、且有玩家在線的伺服器送 console 指令(如 list、給獎、reload 某項),又不想重啟踢人時,可透過 Pterodactyl 的 wings 本機 API 送指令,玩家無感、免重啟。
這也是關 VM 前查在線玩家的做法之一:送 list 讀回應即得當下人數。
原理(概念層)¶
- 在 VM 上以 root 對 wings 的本機 API 送一個 POST 到該伺服器的 commands 端點,夾帶 node token 認證,成功回
204。 - 認證用的 node token 與端點細節存在工作區/VM 的機密設定,不列於此公開站。實際 token 抽取與送指令的腳本流程請見工作區 auto-memory 與
deploy/腳本。
兩個實測踩坑
- 走
http不是https:本機 wings API 用 http;誤用 https 會 SSL 失敗(curl exit 35)。 - commands 必須是複數陣列:payload 要用
{"commands": [...]}(陣列),不是單數字串,否則指令不執行。
機密不入站
node token、伺服器 UUID、端點完整路徑等一律不寫於此。需要時到工作區機密檔 / auto-memory 取用。
何時用重啟、何時用 wings¶
| 情況 | 做法 |
|---|---|
| 改技能數值 / 職業設定 / exp 表等 | 完整重啟(reload 不套用,見 插件棧) |
送一次性指令(給獎、查 list、踢人) |
wings API(免重啟) |
kbind reload、部分插件熱重載 |
依插件支援,免重啟 |