Merge branch 'develop' of github.com:thecodingmachine/workadventure

This commit is contained in:
_Bastler
2021-11-24 17:03:42 +01:00
33 changed files with 150 additions and 528 deletions
+6 -7
View File
@@ -1,5 +1,4 @@
import { CPU_OVERHEAT_THRESHOLD } from "../Enum/EnvironmentVariable";
import log from "./Logger";
function secNSec2ms(secNSec: Array<number> | number) {
if (Array.isArray(secNSec)) {
@@ -29,16 +28,16 @@ class CpuTracker {
if (!this.overHeating && this.cpuPercent > CPU_OVERHEAT_THRESHOLD) {
this.overHeating = true;
log.warn('CPU high threshold alert. Going in "overheat" mode');
console.warn('CPU high threshold alert. Going in "overheat" mode');
} else if (this.overHeating && this.cpuPercent <= CPU_OVERHEAT_THRESHOLD) {
this.overHeating = false;
log.info('CPU is back to normal. Canceling "overheat" mode');
console.log('CPU is back to normal. Canceling "overheat" mode');
}
/*log.info('elapsed time ms: ', elapTimeMS)
log.info('elapsed user ms: ', elapUserMS)
log.info('elapsed system ms:', elapSystMS)
log.info('cpu percent: ', this.cpuPercent)*/
/*console.log('elapsed time ms: ', elapTimeMS)
console.log('elapsed user ms: ', elapUserMS)
console.log('elapsed system ms:', elapSystMS)
console.log('cpu percent: ', this.cpuPercent)*/
}, 100);
}
+1 -2
View File
@@ -1,7 +1,6 @@
import { ExSocketInterface } from "_Model/Websocket/ExSocketInterface";
import { BatchMessage, ErrorMessage, ServerToClientMessage, SubMessage } from "../Messages/generated/messages_pb";
import { WebSocket } from "uWebSockets.js";
import log from "./Logger";
export function emitInBatch(socket: ExSocketInterface, payload: SubMessage): void {
socket.batchedMessages.addPayload(payload);
@@ -32,5 +31,5 @@ export function emitError(Client: WebSocket, message: string): void {
if (!Client.disconnecting) {
Client.send(serverToClientMessage.serializeBinary().buffer, true);
}
log.warn(message);
console.warn(message);
}
-16
View File
@@ -1,16 +0,0 @@
import * as winston from "winston";
const logger = winston.createLogger({
transports: [
new winston.transports.Console({
format: winston.format.combine(
winston.format.colorize(),
winston.format.timestamp(),
winston.format.align(),
winston.format.printf((info) => `${info.timestamp} ${info.level}: ${info.message}`)
),
}),
],
});
export default logger;
+20 -29
View File
@@ -50,7 +50,6 @@ import { ExAdminSocketInterface } from "_Model/Websocket/ExAdminSocketInterface"
import { WebSocket } from "uWebSockets.js";
import { isRoomRedirect } from "./AdminApi/RoomRedirect";
import { CharacterTexture } from "./AdminApi/CharacterTexture";
import log from "./Logger";
const debug = Debug("socket");
@@ -117,15 +116,15 @@ export class SocketManager implements ZoneEventListener {
}
})
.on("end", () => {
log.warn("Admin connection lost to back server");
console.warn("Admin connection lost to back server");
// Let's close the front connection if the back connection is closed. This way, we can retry connecting from the start.
if (!client.disconnecting) {
this.closeWebsocketConnection(client, 1011, "Admin Connection lost to back server");
}
log.info("A user left");
console.log("A user left");
})
.on("error", (err: Error) => {
log.error("Error in connection to back server:", err);
console.error("Error in connection to back server:", err);
if (!client.disconnecting) {
this.closeWebsocketConnection(client, 1011, "Error while connecting to back server");
}
@@ -168,7 +167,7 @@ export class SocketManager implements ZoneEventListener {
joinRoomMessage.addCharacterlayer(characterLayerMessage);
}
log.info("Calling joinRoom '" + client.roomId + "' for client " + client.userUuid);
console.log("Calling joinRoom");
const apiClient = await apiClientRepository.getClient(client.roomId);
const streamToPusher = apiClient.joinRoom();
clientEventsEmitter.emitClientJoin(client.userUuid, client.roomId);
@@ -196,25 +195,17 @@ export class SocketManager implements ZoneEventListener {
}
})
.on("end", () => {
console.warn("Connection lost to back server");
// Let's close the front connection if the back connection is closed. This way, we can retry connecting from the start.
if (!client.disconnecting) {
this.closeWebsocketConnection(client, 1011, "Connection lost to back server");
}
log.info(
"Closed connection for user '" +
client.userUuid +
"' to back server " +
apiClient.getChannel().getTarget()
);
console.log("A user left");
})
.on("error", (err: Error) => {
log.error("Error in connection to back server '" + apiClient.getChannel().getTarget() + "':", err);
console.error("Error in connection to back server:", err);
if (!client.disconnecting) {
this.closeWebsocketConnection(
client,
1011,
"Error while connecting to back server '" + apiClient.getChannel().getTarget() + "'"
);
this.closeWebsocketConnection(client, 1011, "Error while connecting to back server");
}
});
@@ -225,8 +216,8 @@ export class SocketManager implements ZoneEventListener {
const pusherRoom = await this.getOrCreateRoom(client.roomId);
pusherRoom.join(client);
} catch (e) {
log.error('An error occurred on "join_room" event');
log.error(e);
console.error('An error occurred on "join_room" event');
console.error(e);
}
}
@@ -243,13 +234,13 @@ export class SocketManager implements ZoneEventListener {
const room = this.rooms.get(client.roomId);
if (!room) {
log.error("In SET_VIEWPORT, could not find world with id '", client.roomId, "'");
console.error("In SET_VIEWPORT, could not find world with id '", client.roomId, "'");
return;
}
room.setViewport(client, client.viewport);
} catch (e) {
log.error('An error occurred on "SET_VIEWPORT" event');
log.error(e);
console.error('An error occurred on "SET_VIEWPORT" event');
console.error(e);
}
}
@@ -327,8 +318,8 @@ export class SocketManager implements ZoneEventListener {
client.roomId
);
} catch (e) {
log.error('An error occurred on "handleReportMessage"');
log.error(e);
console.error('An error occurred on "handleReportMessage"');
console.error(e);
}
}
@@ -363,14 +354,14 @@ export class SocketManager implements ZoneEventListener {
debug("Room %s is empty. Deleting.", socket.roomId);
}
} else {
log.error("Could not find the GameRoom the user is leaving!");
console.error("Could not find the GameRoom the user is leaving!");
}
//user leave previous room
//Client.leave(Client.roomId);
} finally {
//delete Client.roomId;
clientEventsEmitter.emitClientLeave(socket.userUuid, socket.roomId);
log.info("User '" + socket.userUuid + "' left");
console.log("A user left");
}
}
} finally {
@@ -454,7 +445,7 @@ export class SocketManager implements ZoneEventListener {
client.send(serverToClientMessage.serializeBinary().buffer, true);
} catch (e) {
log.error("An error occurred while generating the Jitsi JWT token: ", e);
console.error("An error occurred while generating the Jitsi JWT token: ", e);
}
}
@@ -478,7 +469,7 @@ export class SocketManager implements ZoneEventListener {
backAdminMessage.setType(type);
backConnection.sendAdminMessage(backAdminMessage, (error) => {
if (error !== null) {
log.error("Error while sending admin message", error);
console.error("Error while sending admin message", error);
}
});
}
@@ -503,7 +494,7 @@ export class SocketManager implements ZoneEventListener {
banMessage.setType(type);
backConnection.ban(banMessage, (error) => {
if (error !== null) {
log.error("Error while sending admin message", error);
console.error("Error while sending admin message", error);
}
});
}