fix api heartbeat
This commit is contained in:
parent
b1719978a7
commit
91a49a33cd
@ -18,14 +18,13 @@ const register = async (req, res) => {
|
||||
}
|
||||
};
|
||||
const heartbeat = async (req, res) => {
|
||||
const { name, secret } = req.body;
|
||||
const { name, secret, playersOnline } = req.body;
|
||||
|
||||
if (secret !== process.env.GAME_SERVER_SECRET) {
|
||||
return res.status(401).json({ message: "Unauthorized" });
|
||||
}
|
||||
|
||||
try {
|
||||
await serverService.updateHeartbeat(name);
|
||||
await serverService.updateHeartbeat(name, playersOnline);
|
||||
res.json({ status: "ok" });
|
||||
} catch (error) {
|
||||
res.status(500).json({ message: error.message });
|
||||
|
||||
@ -22,6 +22,10 @@ const userSchema = new mongoose.Schema(
|
||||
required: [true, "Password is required"],
|
||||
minlength: [6, "Password must be at least 6 characters long"],
|
||||
},
|
||||
playersOnline: {
|
||||
type: Number,
|
||||
default: 0,
|
||||
},
|
||||
role: {
|
||||
type: String,
|
||||
enum: ["user", "admin"],
|
||||
|
||||
@ -18,10 +18,14 @@ const registerGameServer = async (serverData) => {
|
||||
console.log(`📡 [REGISTRY] Game Server "${name}" at ${url} is now ONLINE`);
|
||||
return server;
|
||||
};
|
||||
const updateHeartbeat = async (name) => {
|
||||
const updateHeartbeat = async (name, playersOnline) => {
|
||||
return await GameServer.findOneAndUpdate(
|
||||
{ name },
|
||||
{ lastHeartbeat: Date.now(), status: "online" },
|
||||
{
|
||||
lastHeartbeat: Date.now(),
|
||||
status: "online",
|
||||
playersOnline: playersOnline,
|
||||
},
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
@ -61,7 +61,7 @@ const registerInApi = async () => {
|
||||
}
|
||||
};
|
||||
|
||||
const HEARTBEAT_INTERVAL = 30000;
|
||||
const HEARTBEAT_INTERVAL = 1000;
|
||||
const sendHeartbeat = async () => {
|
||||
try {
|
||||
await axios.post(`${config.apiBaseUrl}/servers/heartbeat`, {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user