返回信息流转信站: BYR!news.byr.edu.cn!news.newytht.net!news.newsmth.net!NEWSMTH
https://opensvn.csie.org/traccgi/pttbbs/browser/trunk/pttbbs/mbbsd/bbslua.c?rev=4000
水木加上吧。
这是一条镜像帖。来源:北邮人论坛 / bbs-man-dev / #5964同步于 1 周前
BBSMan_Dev机器人发帖
这个东东不错
jjgod.
1 周前镜像同步15 回复
订阅后,新回复会通过你的通知中心匿名送达。
15 条回复
转信站: BYR!news.byr.edu.cn!news.newytht.net!news.newsmth.net!NEWSMTH
你觉得可能吗
【 在 SoapDinosaur (肥龙) 的大作中提到: 】
: 你是说trac?
转信站: BYR!news.byr.edu.cn!news.newytht.net!news.newsmth.net!NEWSMTH
几年前我就想做 kbs python binding,曾经写了一点,后来就一直没动过...
【 在 jjgod (while(!asleep()) sheep++;) 的大作中提到: 】
: https://opensvn.csie.org/traccgi/pttbbs/browser/trunk/pttbbs/mbbsd/bbslua.c?rev=4000
: 水木加上吧。
转信站: BYR!news.byr.edu.cn!news.newytht.net!news.newsmth.net!NEWSMTH
其实我的意思是... 既然有了代码.. 就直接抄吧,只要 license 没问题。
以下转贴自: http://blog.roodo.com/yentw/archives/4837719.html
---
January 9,2008
在BBS上寫程式!? 來看看BBS-Lua吧!
BBS已經不再是只具備瀏覽的功能囉!
這是小弟我昨天看到的東西 我覺得很酷!!
不過目前只有PTT2測試支援這個功能而已
如果有興趣的朋友要到PTT2的BBSLua 板去看看囉!!
(以下轉貼自個版 BBSLua板 piaip@PTT2)
● 什麼是 BBS-Lua?
BBS-Lua 是一個實驗性的計畫,由 piaip 開發並於 2008 年開始在 PTT2 BBS
(ptt2.cc) 站開始試用。
正如它的名字,這個計畫的目的就是「在 BBS 上執行 Lua(程式)」。
Lua 是什麼呢? Lua 唸成「LOO-ah」(嚕~啊),它是一個程式語言,
被大量的用在各種遊戲平台中,包括著名的魔獸世界 (Wow) UI 界面
也是使用 Lua 來製作。 Lua 的相關資訊請見 http://www.lua.org/
所以, BBS-Lua,就是要「讓使用者可以在 BBS 上輕易的用 Lua 寫程式」。
● 為何要開發此計畫?
BBS-Lua 的誕生有好幾個因素。 最主要的因素是來自於它的前身 - 互動式
BBS 動畫。 在 2007 年末, PTT/PTT2 開始實裝新一代的 pmore 2007 動畫系統,
內含了不少互動與即時的指令,用來方便製作多重結局的動畫。 這些指令後來
被拿來試作不少小遊戲,但畢竟是以動畫為出發點設計的系統,沒有變數、迴圈,
於是只要遊戲的狀態與變數一多,需要產生的畫面就以指數成長。
基於這個經驗,我們決定另外創造一個全新的互動系統,以真正的程式語言為基礎,
獨立於動畫之外 - 也就是 BBS-Lua 計畫。
另外,使用此計畫還有不少的好處:
- 減輕 BBS 非核心系統的開發負擔
現有 BBS 有半數以上跟效率無關的程式 (包含許多遊戲)。 使用 BBS-Lua 可以
把這些部份全部獨立出來,修改程式也不用重新編譯或啟動 BBS
- 方便移植程式
傳統的 BBS 程式雖是用 C 寫成,但各家分岐仍然過大 (Maple 2.x, Maple 3,
Firebird, PTT, ...),導致程式碼流通不易。 最明顯的例子就是遊戲: 這家
寫的遊戲要讓另一個分支的 BBS 能跑,通常都要下一番功夫。
BBS-Lua 計畫,可以允許 BBS 的底層南轅北轍,只要支援同樣的 BBS-Lua 標準,
就可以讓 BBS-Lua 的程式幾乎一行都不用改就可以在別處執行。
- 方便程式流通
現在是開放源碼 (Open Source) 的時代。 遺憾的是,BBS 這個超大程式平台,
現在並不方便讓大家交流。 在某個 BBS 看到印象深刻的功能或遊戲,若是直接
轉寄到其它 BBS 就能玩,不是很有趣嗎? 而且若是一般使用者也能進行創作,
相信 BBS 上可玩的東西數目會大增,品質也會增加。
以往你覺得遊戲不好玩、美工不夠好,只能每日一信建議站長改;現在你可以
自己動手作!
● 我要如何參與 / 使用 BBS-Lua?
要體驗 BBS-Lua, 可以先找有內含 BBS-Lua 程式的文章。 它們通常會
在文內出現如 --#BBSLUA 這樣的一行。
PTT2 BBSLua 板上 [Lua] [程式] [BBSLua] 或 [範例] 通常都是此類文章。
找到以後,進入閱讀畫面後按下大寫 P (小寫 p 是播放動畫)
就可以執行 BBS-Lua 程式了。
另外,所有的 BBS-Lua 程式都可以在任何時候按下 Ctrl-C 中斷執行。
如果你有程式設計的基礎或是對於製作 BBS-Lua 有興趣,請到
ptt2.cc 的 BBSLua 板,可以找到最新版的語法、API文件與說明。
● BBS-Lua 的未來 / 以後會有別的 BBS 也支援嗎?
基本上 PTT1/PTT2 應該是會支援,雖然 PTT1 的時程未定(或許在2009前)。
不過也要視 PTT2 測試的狀況而定。 我們無法保證未來一定會實裝。
我們很歡迎別的 BBS 一起來實作 BBSLua ,不過畢竟這不是我們能決定的囉~
如果未來發展的好,應該是很有機會的事。
關於 BBS-Lua 的發展計畫,我們希望在 2008 結束前能制定一個 1.0 標準版,
有足夠的 API 來完成大部份 BBS 單人環境能作的事 (ex, 遊戲)
或許會推出能在單機上執行的模擬環境與 SDK
2.0 之後則是以兩人以上互動的架構為主軸。
● 我有問題 / 我找到 Bug / 我想發表程式
目前 PTT2 的 BBSLua 板是最適合作這些事的地方。
-----------------------
以我自己得認知 所謂的Lua就是種程式語言(好比c c++等等)
傳統的bbs只是介面的呈現 而到最近ptt上面開發了自動播放的動畫小程式
不過因為動畫只是一個畫面一個畫面快速轉動而已 沒辦法有任何可更改或者多樣性結局的可能
要開發的時候要注意 在 bbs上要先具備Lua的API之後
再來下載跟開啟 Wow UI 所使用的 Lua。 所以並不是每個bbs現在都有支援這個api的...
所以別轉錄之後發覺不能用開始砍人 XD
關於此程式語言請見
http://www.lua.org/pil/
http://www.lua.org/manual/5.1/manual.html
以上參考piaip@PTT2 BBSLua板
【 在 flyriver (江~~人生进入新时期) 的大作中提到: 】
: 几年前我就想做 kbs python binding,曾经写了一点,后来就一直没动过...
转信站: BYR!news.byr.edu.cn!news.szu.edu.cn!news.newsmth.net!NEWSMTH
水木已经有 PHP 的扩展,足够做很多东西。这种脚本扩展到最后都变成体力活,
把大量的 C 函数重新包装一下成为该种脚本语言可以调用的接口。水木当年开发
PHP 扩展花了大量的时间来包装这些函数,而这种工作是没有什么技术含量的。
水木再提供别的脚本语言的扩展是很容易的,但问题这些体力活都需要有人去做...
【 在 jjgod (while(!asleep()) sheep++;) 的大作中提到: 】
: 其实我的意思是... 既然有了代码.. 就直接抄吧,只要 license 没问题。
: 以下转贴自: http://blog.roodo.com/yentw/archives/4837719.html
: ---
: ...................
转信站: BYR!news.byr.edu.cn!news.newytht.net!news.newsmth.net!NEWSMTH
现在用户能上传 PHP 脚本来编程么?
【 在 flyriver (江~~人生进入新时期) 的大作中提到: 】
: 水木已经有 PHP 的扩展,足够做很多东西。这种脚本扩展到最后都变成体力活,
: 把大量的 C 函数重新包装一下成为该种脚本语言可以调用的接口。水木当年开发
: PHP 扩展花了大量的时间来包装这些函数,而这种工作是没有什么技术含量的。
: ...................
转信站: BYR!news.byr.edu.cn!news.newytht.net!news.newsmth.net!NEWSMTH
用户上传 PHP 脚本到水木服务器上执行那叫水木服务器被黑了...
【 在 jjgod (while(!asleep()) sheep++;) 的大作中提到: 】
: 现在用户能上传 PHP 脚本来编程么?
转信站: BYR!news.byr.edu.cn!news.newytht.net!news.newsmth.net!NEWSMTH
所以我说你没看懂这个 BBSLua 的意义,人家 ptt 人数是水木的十倍,
ptt2 的人数也不比水木少,怎么就不怕被黑?
【 在 flyriver (江~~人生进入新时期) 的大作中提到: 】
: 用户上传 PHP 脚本到水木服务器上执行那叫水木服务器被黑了...
转信站: BYR!news.byr.edu.cn!news.newytht.net!news.newsmth.net!NEWSMTH
还是那句话,是个体力活。看系统开放给用户的接口到什么程度了,
如果只是纯粹终端显示的接口,当然问题不大。但是以现在水木 PHP
扩展的接口来看,都开放给用户就完蛋了。
【 在 jjgod (while(!asleep()) sheep++;) 的大作中提到: 】
: 所以我说你没看懂这个 BBSLua 的意义,人家 ptt 人数是水木的十倍,
: ptt2 的人数也不比水木少,怎么就不怕被黑?
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH
what is it?
【 在 jjgod (while(!asleep()) sheep++;) 的大作中提到: 】
: https://opensvn.csie.org/traccgi/pttbbs/browser/trunk/pttbbs/mbbsd/bbslua.c?rev=4000
: 水木加上吧。
转信站: BYR!news.byr.edu.cn!news.newytht.net!news.newsmth.net!NEWSMTH
Lua embedded in bbs daemon.
Lua 是一种脚本语言,在网游里面用得很多。
【 在 fancyrabbit (兔兔猫★Initial F★我是流动人口) 的大作中提到: 】
: what is it?
转信站: BYR!news.byr.edu.cn!news.newytht.net!NewYTHT
唔。。上个月给新糊涂的技站提过 偶们正在测试站搞这个
不知道弄的怎样了
【 在 jjgod@newsmth.net-SPAM.no (while(!asleep()) sheep++;) 的大作中提到: 】
: https://opensvn.csie.org/traccgi/pttbbs/browser/trunk/pttbbs/mbbsd/bbslua.c?rev=4000
: 水木加上吧。
转信站: BYR!news.byr.edu.cn!news.newytht.net!NewYTHT
把设计到I/O读写等不安全的扩展都保护起来问题不大吧
当然不能都开放的,一点一点慢慢开放,ppt2就是这样干的
【 在 flyriver@newsmth.net-SPAM.no (江~~人生进入新时期) 的大作中提到: 】
: 还是那句话,是个体力活。看系统开放给用户的接口到什么程度了,
: 如果只是纯粹终端显示的接口,当然问题不大。但是以现在水木 PHP
: 扩展的接口来看,都开放给用户就完蛋了。
: 【 在 jjgod (while(!asleep()) sheep++;) 的大作中提到: 】
: : 所以我说你没看懂这个 BBSLua 的意义,人家 ptt 人数是水木的十倍,
: ...................
转信站: BYR!news.byr.edu.cn!news.newytht.net!news.newsmth.net!NEWSMTH
你们如果要做,我建议你们用 swig 来做,而不是全部都是自己手工写。好处有:
1. 省事,减少很多体力活
2. 方便增加新的脚本语言支持
【 在 wayhome.bbs@newytht.net (你回来了,没有什么比这更值得让人开心了) 的大作中提到: 】
: 唔。。上个月给新糊涂的技站提过 偶们正在测试站搞这个
: 不知道弄的怎样了
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH
很多接口都得保护和验证,不仅仅是 I/O。所以,你可能得实现一个沙箱机制,
保证提供给用户的 API 全部在沙箱内运行。当然,谁也无法保证程序不会出现差错,
尤其是随着开放的 API 越来越多,差错将不可避免,沙箱机制可能被突破。一旦
出现致命的错误,将危及用户的隐私和服务器的安全,因为程序运行你的服务器上,
而不是用户的机器上。
所以,对于这种类似“web2.0”概念的用户自主创造的想法,看上去很美,但实际
做起来将困难重重了。对于水木这样相对保守的站点,短期内不可能允许用户在水木
的服务器上随意运行未经审核的代码。
【 在 wayhome.bbs@newytht.net (你回来了,没有什么比这更值得让人开心了) 的大作中提到: 】
: 把设计到I/O读写等不安全的扩展都保护起来问题不大吧
: 当然不能都开放的,一点一点慢慢开放,ppt2就是这样干的
转信站: BYR!news.byr.edu.cn!news.newytht.net!news.newsmth.net!NEWSMTH
关键看上帝拍脑袋
【 在 flyriver (江~~人生进入新时期) 的大作中提到: 】
: 很多接口都得保护和验证,不仅仅是 I/O。所以,你可能得实现一个沙箱机制,
: 保证提供给用户的 API 全部在沙箱内运行。当然,谁也无法保证程序不会出现差错,
: 尤其是随着开放的 API 越来越多,差错将不可避免,沙箱机制可能被突破。一旦
: ...................