9.8 KiB
簡單,易用,多實例,羽量級的 Minecraft Server 控制台
歡迎使用
快速擴展
我們用最簡單上手的方式,來構建整個應用程式,絕大部分的開發者可以輕而易舉的進行修改,以及依照協議開發使用。你會發現,這可能是一非常適合你的 Minecraft
伺服器管理工具,支援絕大部分的主流服務端。
並且,我們將盡可能的降低擴展的學習成本來幫助你更好的擴展與自訂,讓一個完全屬於你的Minecraft
伺服器管理器出現。
運行環境
-
我們的部署簡單至極,在
Master
分支下,我們的設計是下載即可運行,不需要編譯與任何配置,除了安裝一個環境。 -
Node.js
>= 8.0
演示環境
- 地址: https://link.suwings.top/
- 帳號:
public
密碼:123456
- 帳號:
public2
密碼:1234567
- 帳號:
#master
密碼:<暫不開放>
僅僅開放普通帳號給予演示,管理帳號不開放,想瞭解更多,請下載體驗。
運行在 Windows
方法一 (僅限中文簡體)
下載並正確安裝 Node
環境:
下載原始程式碼並解壓: https://github.com/Suwings/MCSManager/archive/master.zip
進入程式原始程式碼目錄,並且在目前的目錄打開命令控制台
執行命令 npm install --production
執行命令 node app.js
或 npm start
方法二 (包含簡體/繁體版本)
可能因為某些原因,您可能並不願意安裝這些運行環境,於是我們給予了一種綠色打包的運行環境,下載即可直接使用。
下載直接運行:
https://pan.baidu.com/s/1bpbB8Az (中文簡體/繁體中文版本 下載地址)
注意: 百度網盤提供的下載是打包集成好的,小版本更新我們不會打包,也就是意味著,這裡不能即時跟隨最新版本。
運行在 Linux
- 相對而言,這可能更加簡單。保證您的 node 版本正確與 git 工具可行下,安裝與運行易如反掌。
git clone https://github.com/Suwings/MCSManager.git
cd MCSManager
npm install --production
node app.js #或 npm start
如果您還是無法運行,請 按一下這裡
Wiki
我們有些常見問題與細節上的問題,已經把它們都整合在 Wiki
裡面。
歡迎你閱讀 Wiki 與提出建議。
專案目錄結構
注意: 並不是所有目錄的檔我們都建議你進行更改!
目錄名 | 詳情/解釋 |
---|---|
property.js | 控制台設定檔 |
core/logo.txt | 控制台輸出 logo 文字 |
public/ | 前端所有代碼,資原始目錄,前後端分離,使用 ws 和 ajax 通訊 |
public/login/ | 純 UI 邏輯登陸頁面 |
public/template/ | 前端業務範本,每個範本擁有著一個生命週期,開始與結束。 |
public/onlinefs_public/ | 檔線上管理模組前端所有代碼 |
public/common/js/meum.js | 控制台左側菜單清單 |
public/common/js/login.js | 通用登錄流程邏輯,可重複利用在各類 HTML 登錄範本 |
server/server_core | Minecraft 服務端核心目錄,包括服務端檔,配置,Mod,以及外掛程式 |
server/x.json | Minecraft 伺服器面板設定檔 |
users/x.json | 控制台使用者設定檔 |
route/ | 控制器,HTTP 請求業務邏輯層(可二次擴展) |
route/websocket/ | 控制器,Webscoket 請求業務邏輯層(可二次擴展) |
core/Process/ | Minecraft Server 類實現 |
core/User/ | User 類實現 |
core/DataModel.js | 資料持久化模型,幾乎是所有的配置的 I/O 模型 |
model/ | 模型層,用於提供控制器與服務端,使用者操作,也提供設計模式模型 |
helper/ | 業務邏輯輔助層,用於輔助和重複利用業務邏輯 |
ftpd/ | FTP 獨立模組,其中 ftpserver.js 已經實現了抽象 ftpServerInterface 介面 |
onlinefs/ | 檔管理獨立模組 (Suwings/IndependentFileManager) |
流覽器相容性
ECMAScript 5
標準IE 10+
Chrome
Firefox
Safari
Opera
等現代主流流覽器
例外: 檔線上管理介面需要 IE 11+
設定檔
我們的設定檔是程式目錄下的 property.js
檔,它會在你第一次運行的時候,自動生成。
注意!原舊版本的 McserverConfig.json 文件完全棄用。
現在,所有配置將全部歸納於此檔。
此檔不會與 github 版本衝突,更新時也不會自動覆蓋
自訂設計
如果你是內部使用或學習用途,你可以對前端以及後端進行任何修改,包括版權聲明。
注意!當你進行版本更新的時候,可能會覆蓋掉你的自訂修改部分。
當然,並不是所有檔都需要覆蓋一遍,也不一定非得使用新版本。
FTP 服務
FTP 模組採用被動傳輸模式,傳輸命令預設使用 10022
(可更改) 埠;
傳輸資料需要一個埠段,預設是 20010
- 20100
;
為確保 FTP 服務正常使用,請配置好您的防火牆設置,對這些埠範圍進行開放。
當然,我們提供了線上檔管理功能,您大可不必完全使用 FTP。
反向代理 與 SSL
儘管預設沒有 Https ,您可能在公共網路下不太放心,但是我們不傳遞明文的密碼,可以保證你的帳號的密碼是難以洩露的。
具體密碼傳遞過程可參考 按一下這裡跳轉
Property 文件
反向代理之前,你可以但不是必須閱讀 property.js
文件
裡面有各類的設置,包括 gzip壓縮,埠和ip綁定等等。
實現 HTTPS 與 WSS
打開前端 URL 定位文件 public/common/URL.js
, 將 http 與 ws 改成 https 與 wss;
可保證前端所有請求均為 https 和 wss
此檔不會與 github 版本衝突,更新時也不會覆蓋,請放心修改。
反向代理
後端請通過反向代理完成,或自行修改 Express 初始化 App。
注意: Nginx 反向代理注意 | Apache 反向代理注意
虛擬化
注意 這是一個羽量級的管理面板,沒有集成虛擬化容器,請注意提供陌生人服務端的風險。
但是你可以實現一個整體的虛擬化容器,以保證你的宿主機安全。
另外,在伺服器啟動時也有 自訂啟動命令(可禁止)
功能,這可以讓你啟動伺服器時不止是運行 java 相關命令,甚至可以運行命令腳本,對此你可以嘗試更多的技巧組合,實現你的需求,列如,啟動伺服器時順便啟動一個腳本來做某些事情。
整體的虛擬化
儘管我們沒有為每一個實例伺服器都創建一個虛擬化容器,但是你可以為整個控制台套一個整體上的虛擬化容器。
更多資訊可參考 Wiki
許可權系統
尤其注意的是,為了更加簡化面板許可權系統,我們只分為兩種帳號;
管理帳號
凡是以 # 字元開頭的使用者,均為管理帳號,列如 #master
#admin
#test
普通帳號
不以 # 字元開頭的使用者,列如 test
usernameww
xxx
普通帳號能夠管理的伺服器只能由管理帳號來進行設定,管理帳號可以管理任何伺服器,並且能管理所有用戶。
具體使用,我想你只需要運行就知道,設計的十分簡單。
問題報告
歡迎各位發現任何 BUG 及時回饋給我,必當及時修復
協議與版權
程式是基於 GNU Affero General Public License v3.0 開放原始程式碼的自由軟體。
你可以遵照 AGPLv3 協議來修改和重新發佈這一程式。
或者,在學習或私自 (內部) 使用時,在不公開發佈的原則下,可以無視這個協議和版權,因為這本身並不能束縛你,並且我們歡迎這樣做。