新建项目 SmartFoxServer 2X

写第一个Extension

扩展是SmartFoxServer 2X的一个基本元素,它们为开发人员创造了一个无限可能的世界,创建自己的游戏逻辑并集成其他技术来支持他们的项目。为了绘制并行,我们可以将扩展视为与开发所有“业务”逻辑的网页的服务器端代码相当的。

如果您对Java或任何其他面向对象语言(ActionScript 3,C#,C ++等)具有中间的了解,那么开始撰写第一个Extension将很容易。
»使用IDE来协助开发

首先我们需要一个IDE,它将帮助我们编写代码,进行编译并创建一个我们将在SFS2X中部署的二进制包(一个jar文件)。

有几种众所周知的Java IDE可用,包括免费和商业。我们通常建议:

IBM的Eclipse
Oracle的NetBeans
JetBrain的IntelliJ

在本教程中,我们将使用Eclipse,但是在另一个IDE中设置一个新项目应该是非常相似的过程,特别是如果您使用的IDE是您最熟悉的IDE。
»设立一个新项目

我们来启动Eclipse,从文件菜单中选择新建>项目…从Java文件夹中选择Java项目,然后单击下一步按钮。
这里写图片描述
在新窗口中,我们给项目一个名称,例如MyJavaExtension,然后进入下一个屏幕。
这里写图片描述
现在是添加编译我们的扩展所需的库的时候了。 单击Libraries选项卡,然后在Add External JARs …按钮上浏览您的文件系统到您的{sfs-install-dir} / SFS2X / lib /文件夹。
选择两个文件:sfs2x-core.jar和sfs2x.jar,然后在主窗口中单击完成。
这里写图片描述
新项目将显示在“包资源管理器”面板中,该面板默认位于界面的左上角。 现在,您可以通过右键单击src文件夹并从菜单中选择New> Class来创建一个新的Java类。
这里写图片描述
这里我们继续输入类的名称,例如MyExtension,它的包在这种情况下将是my.test。 请注意,强烈建议使用类名中的扩展名后缀,因为它可以更容易地将其分配给管理工具中的服务器的区域或房间(请参阅区域扩展标签或房间扩展的类型参数中的附加注意事项 区域配置器模块文档中的选项卡)。
这里写图片描述
最后我们创建了我们的主要的扩展类; 我们现在可以继续添加一些非常基本的代码,如下图所示。
这里写图片描述
在这篇文章中,我们不会深入了解服务器端逻辑编码的细节。完成本教程后,您可以观看一个简短的YouTube视频,介绍如何编写一个简单的扩展名,您可以在同一主题中查询更多高级文章:

扩展API教程
服务器端扩展深入文章
高级扩展主题文档
Java服务器端API文档,特别是表示与服务器交互的入口点的SFSApi类
Tris游戏,适用于所有支持的平台,其中包括服务器端源代码
BattleFarm和Space Race ActionScript 3游戏,其中包括客户端和服务器端的源代码

»部署扩展

部署遵循一套简单的规则。每个扩展名必须位于{sfs-install-dir} / SFS2X / extensions /文件夹下的文件夹中。您为此文件夹选择的名称将确定在激活扩展时在AdminTool中显示的扩展名称。

假设我们在extensions /下创建一个名为MyFirstExtension的文件夹。在这个路径下,我们可以部署包含我们的服务器代码类的jar文件以及可能包含我们的扩展中所需的其他依赖项的任何其他jar文件。

重要的提示
主扩展jar文件的名称必须以扩展名(例如MyExtension.jar)结尾。这很重要,因为AdminTool将仅显示使用此约定的jar文件中包含的类。有关更多信息,请参阅区域配置器模块文档中“区域扩展”选项卡或“房间扩展”选项卡的使用命名约定设置的附加说明)。

在Eclipse中,编译的类通常存储在bin /文件夹中,该文件夹位于项目中的src /文件夹旁边。您可以通过以下步骤将jar文件中的编译代码直接导出到SFS2X部署文件夹。

在包资源管理器中,右键单击项目文件夹并选择导出….在下一个对话框中打开Java文件夹并选择JAR文件,然后单击下一步按钮。将打开一个新窗口,单击其中间的“浏览”按钮,并导航到指定要创建的jar文件的名称的SFS2X部署文件夹(请参阅我们所作的说明)(请记住上述命名约定)。
这里写图片描述
单击下一步进入下一个屏幕。 在这里,您可以存储导出设置,以便下次您需要重新部署扩展时,可以通过简单地单击项目文件夹中的文件来快速完成。

激活保存说明…旁边的复选框,然后单击浏览….您将会显示所有Java项目的列表,选择自己的并提供导出配置的名称; 单击确定以关闭面板,然后单击完成以完成该过程。
这里写图片描述
此时,您将在SFS2X Extension文件夹中部署您的jar文件,并保存导出配置以备将来重新部署。

SFS2X可以主动监控所有扩展文件夹的更改,一旦检测到更新的jar文件,它将重新启动扩展。 这对于所有Zone级别的扩展是有效的,而Root级扩展不可以。

为了切换此功能,您需要在AdminTool中启动服务器配置器,并打开扩展文件监视器选项。
»向区域或房间分配扩展名

将我们的扩展程序插入区域或房间的最简单的方法是通过AdminTool。 启动区域配置器,选择一个区域并进入编辑模式。 您将找到“区域扩展”选项卡,您可以在其中配置几个参数。 您所需要的就是选择扩展名和主扩展类(扩展SFSExtension)。
这里写图片描述
现在可以保存,重新启动服务器,扩展将被激活。客房扩展功能也可以这样做:只需访问“区域配置器”面板的“房间”配置面板中的“房间扩展”选项卡。
»Python扩展

我们还应该很快提到,可以编写Python脚本并将其作为扩展运行,尽管不建议用于生产。原因是解释的Python代码无法提供使用纯Java代码获得的性能,我们建议其仅用于快速构建原型,概念验证,测试用例等。

构建Python扩展的过程与我们已经描述的几乎相同,但是有一些小的差异。

您不需要Eclipse或类似的IDE来编写代码。您可以直接在Extension文件夹下部署Python脚本(.py),而不需要任何其他脚本。然后,服务器将加载代码,在运行时编译并执行它。
您需要在AdminTool PYTHON中指定代替JAVA作为扩展类型,并将脚本的名称指定为配置中的主类设置。

“ 下一步是什么

现在,您已经获得了如何创建扩展的基本了解,现在该了解更多关于服务器端框架提供的功能的时候了。请务必按照我们在本文档初期推荐的链接继续学习过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值