試著在Raspberry Pi 4 Model B上跑MUD,建構FluffOS(driver),並運行各種mudlib,如East Story 2東方故事2。若不清楚何謂MUD、driver、mudlib,請參閱維基百科LPMud。
參考資料:
- FluffOS官方網站的建構指引:中文版、英文版。
- MUD遊戲玩家社區,與MUD、FluffOS、LPC相關文件。
- MUD遊戲玩家社區,MUDLIB fluffos v2017版及v2019版下载汇总。
首先把Raspberry Pi OS(舊稱Raspbian)燒錄到MicroSD記憶卡,用的版本是「Raspberry Pi OS with desktop and recommended software, Release date: May 7th 2021」,檔名「2021-05-07-raspios-buster-armhf-full.img」,我是在Windows 10上使用燒錄軟體Rufus。
我的Raspberry Pi沒有連接螢幕鍵盤滑鼠,都將以SSH連線操作。所以在燒錄後,需要在MicroSD記憶卡裡、名為boot的分割區,新增一支檔案、取名為「ssh」,如此一來,在第一次開機時Raspberry Pi OS就會啟動SSH功能。
開機後,我先執行「sudo raspi-config」進行相關設定,然後更新套件資訊、升級套件。因為我選用的Raspberry Pi OS版本預設已包含很多軟體,所以更新需要花比較多時間,讀者可試試預含軟體較少的精簡版。
$ sudo apt update
$ sudo apt upgrade
首先建構FluffOS,抓取原始碼(約74 MB)與,得到子目錄fluffos:
$ git clone https://github.com/fluffos/fluffos
進入子目錄:
$ cd fluffos
選取版本,我用的是最新版,另可用指令「git tag」看看其他版本,需選用有標示v2019的版本:
$ git checkout master
建立存放建構檔案的目錄:
$ mkdir build
進入該目錄:
$ cd build
因為FluffOS採用cmake建構系統,先以底下指令產生所需組態設定檔,兩個句號「..」代表指向上一層目錄,也就是FluffOS所在目錄:
$ cmake ..
然後執行建構指令make,加上參數install就會在完成後進行安裝:
$ make -j4 install
完成後(產生出約274 MB的檔案),會在build目錄裡產生出子目錄bin,裡面有執行檔「driver」。
接著是各種mudlib,首先是東方故事2(East Story 2),先回到家目錄,然後下載(約13 MB),接著進入該目錄:
$ cd
$ git clone https://github.com/MudRen/ES2-utf8
$ cd ES-utf8
先看看設定檔「config.ini」,一般來說,維持預設值即可,底下列出幾個重要的:
name : East Story II
mud ip : 0.0.0.0
external_port_1 : websocket 8888
external_port_2 : telnet 5555
external_port_3 : telnet 6666
name是遊戲名稱,mud ip是可供連線的IP位址,若為0.0.0.0代表皆可,external_port_1是可使用websocket連接的埠號,external_port_2是可使用telnet連接的埠號(GBK編碼),external_port_3是可使用telnet連接的埠號(UTF-8編碼),mudlib directory是遊戲內容所在處。
然後執行:
$ ~/fluffos/build/bin/driver config.ini
會輸出一堆訊息:
========================================================================
Full Command Line: /home/pi/fluffos/build/bin/driver config.ini
Boot Time: Fri Jul 2 21:18:47 2021
Version: fluffos v2019.20210429-18-g63292d32 (Linux)
jemalloc Version: 5.1.0-0-g61efbda7098de6fe64c362d309824864308c36d4
ICU Version: 63.1
Backtrace support: libdw.
Core Dump: No, Max FD: 65535.
========================================================================
Final Debug Level: 0
Processing config file: config.ini
New Debug log location: "log/debug.log".
Initializing internal stuff ....
Event backend in use: epoll
==== Runtime Config Table ====
...(省略)...
Loading simul_efun file : /adm/obj/simul_efun
]simul_efun loaded successfully.
Loading master file: /adm/obj/master
*Warning: unable to open stat file domain_stats for reading.
*Warning: unable to open stat file author_stats for reading.
Loading preload files ...
/adm/daemons/securityd...
/adm/daemons/virtuald...
/adm/daemons/logind...
/adm/daemons/cmd_d...
/adm/daemons/chinesed...
/adm/daemons/emoted...
/adm/daemons/aliasd...
/adm/daemons/fingerd...
/adm/daemons/channeld...
/adm/daemons/natured...
/adm/daemons/ftpd...
Accepting websocket connections on 0.0.0.0:8888.
Accepting telnet connections on 0.0.0.0:5555.
Accepting telnet connections on 0.0.0.0:6666.
Initializations complete.
請問安裝完成後,網絡架構要什麼要求?只需用lan連接另一台電腦,以telnet入0.0.0.0 port:6666 就可以了?
ReplyDelete