Re: [闲聊] tmi2-mudlib 的更改

楼主: laechan (挥泪斩马云)   2014-06-11 22:33:57
提一下 intermud 的替代方案构想,以底下四个函数为主:
socket_create
socket_connect
socket_write
socket_close
首先弄一台 server 出来,所有 tmi2_v3_改 的站,都可以透过
server 的管理者,提出远端频道互连的申请。
接着,假设有 A, B, C 三个 tmi2_v3_改 的站。
当 A 站以远端频道的指令,发送出一个讯息时
sent_msg_to_remote_server(msg);
远端 server 收到该讯息后,就会将这个讯息同时送给 A, B, C
三个站的接收讯息物件,由这个物件进行讯息的广播,达到从 A
站发送远端讯息,A、B、C 三站都能接收到讯息的目的,而且..
一、可决定是否接收从某一站过来的讯息或是全部不接收
二、各站可决定是要让 wiz 或是让全部玩家皆可发送讯息
三、也可决定是只要让 wiz 或是让全部玩家皆可接收讯息
(我一般是希望只有 wiz 之间、甚至只有架站者之间可以)
四、sanc 目前的主机(可信任的 ip 来源)就可当 server
└而且也不一定要 sanc 当 server
五、假设 A 站还有另一个同样以 tmi2_v3_改 架出来的 A2 站,
A2 站亦可向 server 提出公频互通申请。
六、理论上 server 端可依各站提出的申请需求,决定自己站发
送出来的讯息,是要全部都能接收到,还是只有一部份可
七、讯息理论上可支援各站自订的 semote
八、讯息是可被各站自行 log 的
九、使用远端频道互通前要向 server 端提出申请,申请时得附
上是哪一个 mud 站(ip + port)要送收讯息。
目前有些缺点,就是送出去的讯息,跟各站实际接收到的讯息可
能会有一些落差,某些特殊字符需再经过特殊处理这样;另外就
是讯息的传送也会有一些些的 delay 这样(大概最长 1 秒多)。
优点就是架构简单,未来释出的 tmi2_v3_改 就会内建这样的东
西,程式段会包在 channeld.c 里头并在 /include/intermud.h
宣告一些定义,远端公频指令默认为 tmi2(亦可自订),下次释出
的版本就会有。
不晓得大家的意见如何?
laechan

Links booklink

Contact Us: admin [ a t ] ucptt.com