English Sentence Loading...
英语句子加载中...
去年翻译的SFS AS3 客户端 API.
作者:灰色的狼 日期:2008-08-21 22:46
BlueDream -- SFS开发的网游下载(含源代码)
作者:灰色的狼 日期:2008-04-30 19:10
SFS 关于无效连接和断线的处理操作
作者:灰色的狼 日期:2008-12-11 15:00
相信做网络游戏开发,出现无效连接和断线情况是经常遇到的。在sfs 1.63里面,提供<MaxSocketIdleTime>标签,更新文档描述为最大的超时连接时间,但是测试老是不起作用。
这里提供另外一个很简单的方法,经测试有效。
1. 在config文件里面设置<MaxUserIdleTime>标签为60,也就是一分钟。
2. 在客户端写一个TimeEvent事件,每30秒执行一次 sfs.sendXtMessage(extName, "dummy", {}) 方法。
<MaxUserIdleTime> :标签的意义是,设置一个最大的用户空闲时间。
sfs.sendXtMessage(extName, "dummy", {}) :此方法可以发送一个很小的数据到服务器端,以保证客户端和server端保持连接。
...over...
这里提供另外一个很简单的方法,经测试有效。
1. 在config文件里面设置<MaxUserIdleTime>标签为60,也就是一分钟。
2. 在客户端写一个TimeEvent事件,每30秒执行一次 sfs.sendXtMessage(extName, "dummy", {}) 方法。
<MaxUserIdleTime> :标签的意义是,设置一个最大的用户空闲时间。
sfs.sendXtMessage(extName, "dummy", {}) :此方法可以发送一个很小的数据到服务器端,以保证客户端和server端保持连接。
...over...
SFS 关于用java写服务器扩展不能重载的解决方案
作者:灰色的狼 日期:2008-12-08 14:52
使用java写服务器扩展可能会碰到编译过后的新class文件替换旧的文件,在sfs服务器端,依然是使用的旧文件,导致重载失败。
解决方法如下:
1. 删除 wrapper.conf 文件下的 “wrapper.java.classpath.3=./javaExtensions/” 此处代码
2. 删除 start.bat批处理文件下的 “./javaExtensions/;” 此处代码
3. 要想自动重新载入新文件,可以在config文件里加上 此句代码激活 “<AutoReloadExtensions>true</AutoReloadExtensions>” 如下:
<Zone name="simpleChat" uCountUpdate="true" buddyList="20" maxUsers="4000" customLogin="false">
<Rooms>
<Room name="The Hall" maxUsers="50" isPrivate="false" isTemp="false" autoJoin="true" uCountUpdate="true" >
<Vars>
<Var name="sit" type="s" private="false" persistent="true">000000</Var>
</Vars>
</Room>
<Room name="The Kitchen" maxUsers="50" isPrivate="false" isGame="false" isTemp="false"/>
<Room name="The Garden" maxUsers="50" isPrivate="false" isTemp="false" />
<Room name="The Bathroom" maxUsers="50" isPrivate="false" isTemp="false" />
<Room name="The Garage" maxUsers="50" isPrivate="false" isTemp="false" />
<Room name="The Living Room" maxUsers="50" isPrivate="true" isTemp="false" pwd="test" />
</Rooms>
<Extensions>
<extension name="json" className="jsonSample.as" type="script" />
</Extensions>
<AutoReloadExtensions>true</AutoReloadExtensions>
<Moderators status="on">
<Mod name="modName" pwd="modPass" />
</Moderators>
</Zone>
4. 最重要的一步,重新执行 start.bat
over...
解决方法如下:
1. 删除 wrapper.conf 文件下的 “wrapper.java.classpath.3=./javaExtensions/” 此处代码
2. 删除 start.bat批处理文件下的 “./javaExtensions/;” 此处代码
3. 要想自动重新载入新文件,可以在config文件里加上 此句代码激活 “<AutoReloadExtensions>true</AutoReloadExtensions>” 如下:
<Zone name="simpleChat" uCountUpdate="true" buddyList="20" maxUsers="4000" customLogin="false">
<Rooms>
<Room name="The Hall" maxUsers="50" isPrivate="false" isTemp="false" autoJoin="true" uCountUpdate="true" >
<Vars>
<Var name="sit" type="s" private="false" persistent="true">000000</Var>
</Vars>
</Room>
<Room name="The Kitchen" maxUsers="50" isPrivate="false" isGame="false" isTemp="false"/>
<Room name="The Garden" maxUsers="50" isPrivate="false" isTemp="false" />
<Room name="The Bathroom" maxUsers="50" isPrivate="false" isTemp="false" />
<Room name="The Garage" maxUsers="50" isPrivate="false" isTemp="false" />
<Room name="The Living Room" maxUsers="50" isPrivate="true" isTemp="false" pwd="test" />
</Rooms>
<Extensions>
<extension name="json" className="jsonSample.as" type="script" />
</Extensions>
<AutoReloadExtensions>true</AutoReloadExtensions>
<Moderators status="on">
<Mod name="modName" pwd="modPass" />
</Moderators>
</Zone>
4. 最重要的一步,重新执行 start.bat
over...
SFS 服务器扩展开发注意事项
作者:灰色的狼 日期:2008-09-02 20:09
1. 使用服务器登陆模式
服务器登陆用户区别于客户端登陆,后者自动做好了附给sfs客户端的User对象的name和id.
而前者均需要手动添加,当服务器端拿到Channel时,记录下name和id,然后通过服务器扩展发送给客户端的两个属性,smartFox.myUserId和smartFox.myUserName.
2.服务器端sendResponse问题
_server.sendResponse事件有个很奇怪的问题,如果传输类型为数组,客户端会拿不到第二个项的值
3.服务器端隐藏方法:getUserByName
服务器端有个隐藏事件, _server.getUserByName ,可以方便拿到用户的登陆名

SmartFoxServer 1.6.3 比较有用的更新内容
作者:灰色的狼 日期:2008-08-31 13:15
《客户端》
•新的RedBox API(as2),包括例子,文档和源代码
•添加了joinAsSpectator标志到客户端的createRoom()方法,允许观众自动转化为游戏者在游戏房间
•修复了,exitCurret的排版错误。之前为AS2的方法名(exitCurrentRoom),也就是那个浪费我两个小时的bug.
《服务器端》
•新的配置参数,允许只有真的改变的用户变量,才进行广播。避免变量没有改变而去进行广播,一个优化参数。
•新的调试标记: ,允许对数据的输入输出调试。
•添加“此用户已经存在”的错误到日志数据。
•新的服务器扩展命令,踢人,禁止等。
•新的标记:,指定一个最大的空闲socket connection连接时间(这个很有用,对用户是否断线,或者是非正常退出进行处理有很大的帮助)
•新的服务器端操作“force login”,允许用户强制登陆,并断开前一个用户的连接。
•NPC特性:Beta功能,允许服务器端创建一些模拟的伪装用户,服务器将认为伪装用户具备真实的用户连接。
•新的addModerator()和removeModerator()方法,可以在运行时动态添加和删除mod。
•新的RedBox API(as2),包括例子,文档和源代码
•添加了joinAsSpectator标志到客户端的createRoom()方法,允许观众自动转化为游戏者在游戏房间
•修复了,exitCurret的排版错误。之前为AS2的方法名(exitCurrentRoom),也就是那个浪费我两个小时的bug.
《服务器端》
•新的配置参数,允许只有真的改变的用户变量,才进行广播。避免变量没有改变而去进行广播,一个优化参数。
•新的调试标记: ,允许对数据的输入输出调试。
•添加“此用户已经存在”的错误到日志数据。
•新的服务器扩展命令,踢人,禁止等。
•新的标记:,指定一个最大的空闲socket connection连接时间(这个很有用,对用户是否断线,或者是非正常退出进行处理有很大的帮助)
•新的服务器端操作“force login”,允许用户强制登陆,并断开前一个用户的连接。
•NPC特性:Beta功能,允许服务器端创建一些模拟的伪装用户,服务器将认为伪装用户具备真实的用户连接。
•新的addModerator()和removeModerator()方法,可以在运行时动态添加和删除mod。
smartFoxServer 更新为1.6.3
作者:灰色的狼 日期:2008-08-25 09:18
SFS 关于 createRoom的API错误
作者:灰色的狼 日期:2008-08-21 22:43
在createRoom的API文档中,此
"exitCurrentRoom:
"exitCurrentRoom:
(Boolean) 如果为true和是游戏房间,在那些新房间创建后即加入(可选择,默认:true) . "
属性名排版错误,请更新为: exitCurrent
----------------------------------------------------------------------------------------------------
被此错误困扰了近两个小时...
属性名排版错误,请更新为: exitCurrent
----------------------------------------------------------------------------------------------------
被此错误困扰了近两个小时...