萝卜说 - 罗布乐思 - 口袋核心

查看: 923|回复: 2

[求助提问] 关于重启所有服务器的问题

[复制链接]

0

收听

0

听众

52

帖子

正式用户

Rank: 1

萝卜币
87
发表于 2021-5-28 15:55:16 | 显示全部楼层 |阅读模式
因为关闭服务器的时候会进行数据保存等一系列工作,导致点了关闭所有服务器之后,有时候玩家并不会吊线,但是服务器的相关东西都会消失掉,这样体验感非常差。
我做了一个自动踢出所有玩家的功能,但是这个又不能保证服务器能够及时重启。
请问有什么办法能够处理呢?
回复

使用道具 举报

0

收听

0

听众

65

帖子

正式用户

Rank: 1

萝卜币
106
发表于 2021-5-28 15:55:28 | 显示全部楼层
可以使用下面的事件保存玩家数据
game.Players.PlayerRemoving:Connect(function(player)
end)
当我们手动关闭服务器后,roblox不会立马关闭服务器,会留出时间给我们存储数据,建议把玩家数据都以Table的形式保存到内存,然后在事件中将数据保存到数据库
回复

使用道具 举报

0

收听

0

听众

46

帖子

正式用户

Rank: 1

萝卜币
59
发表于 2021-5-28 15:55:33 | 显示全部楼层
可以使用  服务器关闭事件来处理。 最多有30秒的时间可以处理相关数据。
要注意的是 如果数据量较大 最好定期储存一下(不超过他的数据调用限制就行)
提供一个数据保存的方案。数据只保存变化过的数据。
1、在玩家离开游戏时保存该玩家数据。
2、定时保存游戏中的玩家数据(比如5分钟)。
3、服务器关闭时 保存游戏中的玩家数据。
服务器关闭事件:
https://developer.roblox.com/zh-cn/api-reference/function/DataModel/BindToClose
数据调用限制:
https://developer.roblox.com/zh-cn/articles/Datastore-Errors
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋| |京公网安备11010502045240号

Copyright © 2001-2013 Comsenz Inc.   All Rights Reserved.

Powered by Discuz! X3.4  备案:京ICP备2021013067号-2

快速回复 返回顶部 返回列表