此項目透過逆向工程方式製作出相同功能的伺服器,專案包含前端客戶端伺服器以及其所需的後端伺服器,此專案開源,可進行 Fork 二次創作。
- 登入驗證帳號
- 選擇伺服器分流
51mole/
├── servers/
│ ├── client-server.js # 提供靜態檔案的 HTTP 伺服器
│ ├── tcp-server.js # 處理遊戲邏輯的 TCP 伺服器
│ └── mapsInfo.json # 遊戲伺服器所需的地圖資訊
│ └── mapsInfo.json # 遊戲的所有CMD資料
├── config/
│ └── Server.xml # 給 SWF 讀取伺服器端口的設定檔
├── dll/ # 遊戲 DLL 資源
├── module/ # 遊戲 MODULE 資源
├── resource/ # 遊戲 RESOURCE 資源
├── version/ # 不知道幹嘛用的
├── page_files/ # 首頁的圖片、CSS
├── index.html # 主要首頁入口
├── Client.swf # 摩爾莊園客戶端
├── crossdomain.xml # 跨域協定
├── favicon.ico
├── package.json
├── package-lock.json
└── README.md
servers/client-server.js: 客戶端伺服器,在本地端 (http://localhost:3000) 執行首頁載入Client.swf。servers/tcp-server.js: 一個 Node.js TCP 伺服器,模擬原始後端伺服器封包傳輸邏輯。
- 安裝 Node.js:
- 安裝依賴:
注意: 若執行
npm install
servers/tcp-server.js時遇到chalk相關錯誤,請在根目錄執行npm install chalk@4.1.2來安裝相容版本。
需要同時執行兩個伺服器:
-
啟動前端靜態伺服器:
node servers/client-server.js
此伺服器會執行在
http://localhost:3000。 -
啟動遊戲邏輯伺服器:
node servers/tcp-server.js
此伺服器會監聽 TCP port 7777 (如果要更改,
config/Server.xml的 PORT 也需要一起更改)。
- 確保兩個伺服器都已成功啟動。
- 使用支援 Flash Player 的瀏覽器 (例如搭配 Ruffle 擴充功能) 訪問
http://localhost:3000。 - Flash 客戶端 (
Client.swf) 應該會載入,並嘗試連接到localhost:7777的遊戲伺服器。
- 此專案可能需要使用 Ruffle 或 Flash Browser 才能正常啟動
Client.swf。 servers/tcp-server.js的部分功能可能尚未完整。
