用 php 去解析 mud 中的存檔

我寫了一個用去解析 mud 中的存檔的 php 程式,是參考 MudOS 的原始碼改的,如果有人要利用此來寫出 WebBBS 來看 mud 中的 board 也可以利用該 php 程式。

原始檔放在: http://rw.muds.net/~whatup/mud/LpcData.phps

取下後,請將副檔名改為 .php 結尾。
你可以把 LpcData.php 放到網頁可存取到的目錄,並用


就可以把他引入了。其使用方法為:

File);
print_r("轉檔後:"); // 會產生 mapping & array
print_r($ld->data);
?>

如果要取出dbase 中的某個內容的話,可以用:

data["dbase"]["name"]);
?>

這樣就會取出該檔中的 name 了。

歷史上的今天-2004.06.10

今天跟某個好心人拿了新的舊主機板

跑去清大拿的,拿了一塊 k6-2-500 的主機板+cpu

很高興的回家後要作測試 並且想要把主機灌好 debian

不過拿回家後,才發現....他...是 ATX 的主機板

手中舊的是...AT 的 power...


所以,事實上......還是...沒辦法用 = =

誰要捐給我不要的 ATX power + 外殼:P

和 128pin 的 sdram...:P

懶的買了:P

舊的東西只有硬碟和"AT"的 power 能用...

其他的,應該都死的差不多了吧...早知道就拿去還老師好了

他還會幫我清 😛

難怪我上次要還他時 他面有難色...= ="

mud 內的 ftp server

我相信很多人都用 mud 內建的 ftp server,不過因為內建的 server 其實還是有許多的問題,例如:無法使用 pasv mode,效能也不彰…之類的。不過我現在的作法並不是使用 mud 內建的 ftp server,是用 pureftpd 來作 ftp server。為什麼選用 pureftpd 呢?因為他可以不用 root 模式來跑 ftp server,且可以用自定的密碼認證模式,所以可以讓他跟 mud 連結,作到 ftp & mud 都使用同樣的密碼。接下來看看怎麼作:

  1. ftp://ftp.pureftpd.org/pub/pure-ftpd/release/ 下載最新的 pureftpd 的 source code。
  2. $ tar -xzvf pure-ftpd-xxx.tar.gz
  3. $ ./configure --with-everything --with-brokenrealpath --without-shadow
    --with--noroot --without-ascii --with-language=traditional-chinese
  4. $ make all
  5. cd src/ 把 pure-ftpd & pure-authd cp 到 ~/bin/ 下
  6. 建個 ~/bin/auth 檔內容為:其中的 5556 為在mud 內要拿來作認證的 port,你可以用 iptables 檔掉非 127.0.0.1 連線。
    #!/bin/bash
    (printf %s:%s:%s"rn" $AUTHD_ACCOUNT $AUTHD_PASSWORD $AUTHD_REMOTE_IP;sleep 0.1)|telnet localhost 5556
  7. $ ~/bin/pure-authd -s /home/wmmud/bin/ftpd.sock -r /home/wmmud/bin/auth &
    // 請把其中的目錄改成你現實的狀態,auth就是剛建的 auth 檔
  8. $ home/wmmud/bin/pure-ftpd -lextauth:/home/wmmud/bin/ftpd.sock -A
    -O CLF:/home/wmmud/bin/log -S 5560 &
    // ftpd.sock 要跟上一個同樣, 第2個 CLF:/xxx 就是你的 log
    檔想要放置的位子,5560 就是你要開放給 wizard 連接的 port

Linux 下的處理已經好了,接下來就是處理 mud 設定了:

  1. 在 config 檔新增 external_port_2 : telnet 5556 ,其中 5556 是你要讓 pure-ftpd 拿來作認證的。
  2. 改寫 /adm/obj/master.c 的 connect,讓他能接受多個 port。
    範例:http://rw.muds.net/~whatup/mud/ftp_server_master.example.c
  3. 新增 /obj/ftplogin.c
    範例:http://rw.muds.net/~whatup/mud/ftp_server_ftplogin.example.c


接下來應該就可以動了,當然你的 wizard char 要上線才能同時登入 ftp ,這樣對安全性也好多了。