作者laechan (小太保)
看板mud
标题Re: [闲聊] tmi2-mudlib 的更改
时间Thu Jul 3 11:09:24 2014
这里聊一下在 win 下当 mud auto shutdown 时会产生的问题,最大的
问题就是 auto shutdown 後 mud 不会重开。
若是在 linux 下,这个透过写 script 的方式就能解决,也就是 ps -x
後判断执行绪还在不在,不在的话就重启 mud 这样,然後每隔 n 秒就
判断一次。
而在 win 下要判断某个执行绪还在不在就比较麻烦。对 java 等程式语
言较熟的人或许能写出用来控制的小程式,我对这个不熟就没办法哩,
我熟而且也会写的话就会把它塞进 tmi2_v3_改 了。
不过我记得网路上好像有这类的小程式,若我有找到而且试用後也 ok,
就会把它塞进 tmi2_v3_改。
那麽理论上也可以仿照一般线上游戏的做法,由管理者公告每周的定期
维护时间,时间一到就关机维护或是立即重开这样。这种做法也蛮适合
win 下的 mud,因为一般的 win 开机开太久总会顿顿的。
其它就是透过将主机设定为具有远端连线功能,如果 mud 挂了就可立即
远端连进来重开之类的。当然实际上应避免出现这样的情况发生。
若采取定期维护的做法,使用者也可以将一些重大更新放在这个时间去
做更新。传统上 mud 具有不需重开即可立即做大部份更新的优点,但是
日後这应该局限在一些紧急 bug 或 error 的处理上,管理者才不会因
此而得经常性的改动 mud 的内容。调整为每周做一次更动,既可明确知
道更动的范围,也容易做各周更动的备份,而玩家也较容易对每周或每
两周的更动有期待感(例如使用者可预告要更动的内容)。
(包括区域的释出、玩家相关数值的调整等也应该这样做)
so,当 mud 在 win 上面跑时我比较建议上述的做法,tmi2_v3_改 实际
上也是可以在 linux 下面跑的,只是 mudos 要依照 options.tmi2 那
一份来 build,这个我比较不熟,就待以後较为了解的人能代为撰写相
关教学文件哩。
我是觉得在 win 下面跑就足够了,现在机子的效能都很好,而且在 win
下面跑也很方便,大部份的 win 都能跑 IIS,这样其实就能实现在 mud
主机上面跑网页直接读取 mud 资料的理想,只要透过简单的 asp 就能
办到。(我以前在公司有稍微实作过)
Laechan
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 210.61.157.53
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/mud/M.1404356967.A.73A.html
1F:→ laechan :基本上似乎写 xxx.bat 也可以,要研究 210.61.157.53 07/03 11:10
更新一下,我刚试过可以,写一支简单的 bat 档就可,所以我将
启动 mud 与 启动 wiz 两个捷径,换成两支 bat 档,如下
D:\tmi2_fluffos_v3_改\bin\启动mud.bat
==============================================
echo off
driver config.tmi2.win32.txt
ping 127.0.0.1 -n 3 -w 1000 > nul
启动mud
==============================================
D:\tmi2_fluffos_v3_改\bin\启动wiz.bat
==============================================
echo off
driver config.tmi2.wiz.txt
ping 127.0.0.1 -n 3 -w 1000 > nul
启动wiz
==============================================
上面的 ping 的动作里面有个数字 3,它就相当於 sleep 3 的意
思,也就是如果你将 mud shutdown 的话,它会在 3 秒後自己重
开的意思,这个秒数是可以自己订的。
bat 模拟 sleep 的教学在底下
http://blog.miniasp.com/post/2009/06/24/Sleep-command-in-Batch.aspx
(透过 ping 是最简单的,其实一般的 ping 指令就能延迟个几秒
了,不是很在意秒数的话只要做 ping 127.0.0.1 即可)
※ 编辑: laechan (210.61.157.53), 07/03/2014 11:24:45