• 0 票 - 平均分 0
  • 1
  • 2
  • 3
  • 4
  • 5
[考古] openmp 常见问题解答 | 2020年4月
#1


GTA SA 和 SA:MP 中的漏洞会被修复吗?

会的!
你也可以向我们反馈我们尚未知晓的 bug:github.com/openmultiplayer/samp-bugs/
或在论坛提交:burgershot.gg/showthread.php?tid=99



open.mp 会支持哪些 SA:MP 版本?包括 0.3DL 吗?

我们不会支持 0.3.7 以下的版本,但你可以自行实现(这正是开源的魅力所在)。
如果大多数服务器都尝试使用 0.3DL,我们会跟进支持。我们也做过调查,多数人支持 0.3DL,所以这件事大概率会做,但不会出现在客户端的前几个版本中。



open.mp 客户端会有固定的更新周期吗?

不会。固定周期需要一支流程成熟的大型团队,而我们目前是一支志愿者队伍。
也许情况将来会有所改变,我们不敢打包票。代码开源之后,你们可以随时关注项目进展。我们会尽一切努力在版本更新之间保持与社区的沟通。



我们可以提交新功能建议吗?

我们非常欢迎社区参与,你可以在这里留下你的建议:burgershot.gg/forumdisplay.php?fid=42&page=6

当然,我们无法保证每个想法都会被采纳和实现。但由于代码是开源的,你随时可以自己动手实现。



会有反作弊系统吗?

会有。



open.mp 会继续使用 Pawn 吗?可以使用其他语言吗?

所有的开发工作、测试和文档均以 Pawn 为基础完成。不过,我们提供了 C API,允许任何人在此之上实现其他语言的支持。

我们也讨论过引入一些半官方的语言模块,但 Pawn 依然是主要且受官方支持的脚本语言。



SA:MP 的插件能在 open.mp 中使用吗?

"插件"这个词目前用来指代旧式插件——即那些为 SA-MP 编写的插件(例如 sscanf、MySQL 等)。open.mp 提供了加载这些现有插件的 API。

我们对新式插件的称呼是"模块"——无论是外部插件还是内部代码,只要使用 open.mp 更新、更强大的 API,统称为模块。

旧式插件仍然可以正常运行,并会持续得到支持,除非它们依赖内存黑客手段(例如 YSF),因为那类插件依赖特定的内存地址和数据结构,而这些在 open.mp 服务端上是完全不同的。不过,大多数老式内存黑客当初存在的意义,恰恰是为了补全一些功能——而这些功能将直接内置于 open.mp,所以那些插件本来也就用不着了。



数据库功能只能用 SQLite,还是也可以用 MySQL?

默认的数据库功能与以前一样,仍然是 SQLite。但如前所述,open.mp 提供了加载现有插件的 API,因此数据库方面无需在内部做任何改动——通过现有插件依然可以实现。

第三方模块在 open.mp 中是完全受支持的"一等公民"——无论是回调还是原生函数,其可用性与内部代码完全一致,因此将功能放入外部模块不存在任何劣势。



HUD、体力值、小游戏(台球、健身房等)、车辆选项、路线指示、SA:MP+ 功能等会有更多自定义选项吗?会支持更灵活的图形界面,而不是像 SA:MP 那样只能用有限的文字绘制吗?CEF 呢?这些内容会如何保障安全?

关于这个话题我们收到了太多提问,请先去泡杯茶——这个回答会有点长。

我们的开发团队里有 Hual(SA:MP+ 的作者),未来会带来什么,谁知道呢??

SA:MP 与 MTA 最本质的区别,其实在名字里就说得很清楚了——SA:MP 就是字面意思上的"圣安地列斯多人游戏",是 GTA 圣安地列斯这款游戏的多人版本;而 MTA 则是一个架设在这个世界观之上、更偏向通用平台的存在。

SA:MP 在加入新功能时,始终紧扣原版游戏的体验感,尽管走出框架并非不可能,但整体风格一直非常保守。

我们之所以长期坚守 SA:MP,正是因为认同这种态度。但我们希望拥有更多一点的自由度(这也是我们另起炉灶的原因),同时又不想走得太远。我们会引入一些新功能,其中有些在原版游戏中并不存在,但我们仍然会审慎地权衡每个功能带来的影响。

让对话框稍微宽一点,算是突破 GTA 正统边界的疯狂改动吗?大概不算。

加入 CEF 是否走得太远了?是的,这不会发生。?‍♂️

平衡点就在两者之间。

话虽如此,玩家们向来能在有限的支持下迸发出令人惊叹的创造力,我们相信这一点不会改变。我们会始终鼓励玩家和开发者尽情发挥创意——这也是我们选择开源的原因之一,我们甚至会在这方面提供帮助,但这不会是我们的核心任务。

我们最主要的顾虑集中在客户端层面。我们不希望服务器主可以向玩家分发任何具有潜在危害的内容。圣安地列斯本身并非为多人游戏或 mod 而设计,许多文件加载器对损坏或恶意文件缺乏防护——当初根本没有这方面的需求。这正是 SA:MP 在引入自定义模型时遇到的难题,对我们来说同样如此。

每当我们要对游戏的某个部分进行自定义,都必须先确保对应的文件格式和加载器不存在可利用的漏洞。我们可以确认,模型和脚本已经出现过被攻击的案例,其他部分可能也已经被攻击,而一旦我们开始允许服务器上传任意文件,被攻击几乎是必然的。

至于资源保护——坦率地说,这在根本上是无法实现的。要让客户端显示一个自定义模型,就必须把这个模型文件传给它。文件一旦传到客户端,它就在对方的电脑上了,对方拿它怎么做,我们管不了。有些方法可以让盗取变得麻烦一些,但没有哪种方法是绝对可靠的。网络上虽然存在 DRM、安全隔离区等手段,但要使用这些技术,就必须牺牲开源原则。可以参考一下 EME 标准以及 Firefox 中内嵌闭源二进制文件所引发的争议。



NPC 会有更好的支持吗?

这不是我们当前的优先事项,但从客户端角度来看,NPC 本质上与普通玩家没有区别。我们至少希望 open.mp 的 NPC 功能能够对标 FCNPC 插件的水平,这是未来版本中我们可以认真考虑的方向。



你们说 open.mp 移除了所有限制——这具体是怎么实现的?它像 streamer 插件一样吗?

原理类似,但与 streamer 相比集成度更高,因此我们同样可以对载具和玩家进行流式处理,并能以远超插件能力的方式操作本地 ID。



玩家可以被附加到物体上吗?

可以,我们已经实现了这个功能。



open.mp 完成 SA:MP 功能的复现之后,接下来会新增什么?

我们很喜欢聊未来的计划——持续关注我们就好,你们会看到的。



可以用 SA:MP 客户端连接 open.mp 服务器吗?

SA:MP 是通过逆向工程对第三方程序进行交互的 mod,open.mp 也是如此,我们的法律立场与 SA:MP 完全相同。我们没有使用任何 SA:MP 的泄露源代码——这一点已经反复强调,代码开源之后,社区自然会看得清清楚楚。



新版 open.mp 客户端最大的挑战是什么?

把它写出来!



五年后,你们认为 open.mp 会是什么样子?

不必担心这个,我们有很多长远的想法。?



五年后,你们认为 SA-MP 会是什么样子?

那是 SA-MP 团队的事,不是我们该操心的——在这个问题上我们没有立场去猜测。



你们有没有想过放弃 open.mp?

有过,因为我们也是普通人。



最后,也是被问得最多的问题:
我们什么时候才能看到 open.mp?

等它准备好了。???



祝大家接下来的一周愉快!

带着满满的爱,
open.mp 团队 ?
  回复


此主题中的消息
[考古] openmp 常见问题解答 | 2020年4月 - 由 小鸟unsigned - 03-24-2026, 04:55 PM

论坛跳转:


浏览此主题的用户: 1 位客人