如何保护远程事件和函数在roblox中的安全性?
2017-7-31 0:51:1
收藏:0
阅读:132
评论:2
在我的游戏中,我有一个用于枪的本地脚本,它触发了一个远程事件来更改玩家的健康值。问题是黑客可能会触发远程事件来更改玩家的健康值。我该如何防止这种情况发生?这是远程事件:
script.CHealth.OnServerEvent:connect(function(player,humanoid,amnt)
humanoid.Health = humanoid.Health - amnt
end)
这是它被调用的地方:
game.Workspace.RemoteEvents.CHealth:FireServer(humanoid,60)
点赞
用户8397336
最好的方法是让你的代码没有漏洞。 因为玩家可以轻易利用漏洞添加他们自己的生命值,因此你应该先检查数字是否为负数(使用 math.sign)。
接下来,创建一个随机密钥。 最好的方法是在客户端上设置一个键变量为 0,在服务器上也设置一个键变量为 0。在客户端创建一个函数,整个客户端将使用该函数,它会用该密钥触发远程事件,但也会执行一些诸如加 1 乘以 100(或更复杂的操作)之类的操作。每次触发远程事件时,在服务器上执行相同的操作。在服务器上的每个事件中,检查提供的密钥是否与服务器上的相同,如果不是,则将其踢出。这样,利用者将无法在没有密钥的情况下触发远程事件,而他们也无法获取密钥。
2017-12-13 02:43:45
评论区的留言会收到邮件通知哦~
推荐文章
- Lua 虚拟机加密load(string.dump(function)) 后执行失败问题如何解决
- 我想创建一个 Nginx 规则,禁止访问
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?

一个简单的答案就是在脚本中创建远程事件,用完后将其删除。此外,永远不要将远程事件/函数放在工作区,最安全的地方是放在复制存储中。
local remoteevent = Instance.new("RemoteEvent") remoteevent.Parent = game.ReplicatedStorage.RemoteEvents remoteevent.Name = "CHealth" game.ReplicatedStorage.RemoteEvents.CHealth:FireServer(humanoid,60)另一个脚本:
script.CHealth.OnServerEvent:connect(function(player,humanoid,amnt) humanoid.Health = humanoid.Health - amnt game.ReplicatedStorage.RemoteEvents.CHealth:Remove() end)这只是我想到的第一个方法。我没有测试脚本,可能有一些拼写错误之类的,如果出现错误,你可以考虑一下。
如果有人在启用过滤的情况下进行黑客攻击,然后触发该事件,对他们来说只会显示他们受到了伤害。此外,我认为黑客是注入服务器脚本,而服务器脚本不适用于客户端。以下是一些好的文章:http://wiki.roblox.com/index.php?title=Experimental_Mode | http://wiki.roblox.com/index.php?title=Building_Games_with_Experimental_Mode_Off