Skip to content

Commit cf24d5a

Browse files
committed
Renaming + Circular dependency fixes + more organized config
1 parent 5457ecc commit cf24d5a

6 files changed

Lines changed: 20 additions & 13 deletions

File tree

config.example.json

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,13 @@
1313
"serve_selector": true,
1414
"require_release_date_cookie": true,
1515
"cache_authenticated_get_requests" : true,
16-
"mr_server": false,
17-
"mr_server_port" : 4444,
16+
"mr_server": {
17+
"enabled" : false,
18+
"port" : 4444,
19+
"config" : {
20+
"speaking_throttle_ms" : 150
21+
}
22+
},
1823
"default_client_build": "october_5_2017",
1924
"debug_logs": {
2025
"gateway" : true,

handlers/mr.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ async function handleIdentify(socket, packet) {
3535
socket.send(JSON.stringify({
3636
op: OPCODES.ALRIGHT,
3737
d: {
38-
location: global.mrServer.servers.size + 1
38+
location: global.mrServer.servers.size,
39+
config: global.config.mr_server.config
3940
}
4041
}));
4142
}

helpers/webrtc/MediasoupWebRtcClient.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
const { EventEmitter } = require("node:events");
2-
const { VoiceRoom } = require("./VoiceRoom");
32

43
class MediasoupWebRtcClient {
54
constructor(userId, roomId, websocket, room) {

helpers/webrtc/VoiceRoom.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
const { MediasoupWebRtcClient } = require("./MediasoupWebRtcClient");
2-
31
class VoiceRoom {
42
constructor(id, type, sfu, router) {
53
this._id = id;

mrserver.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ const mrServer = {
1414
return;
1515
}
1616

17-
logText(message, 'MR_SERVER');
17+
logText(message, 'MR_SIGNALING_SERVER');
1818
},
1919
getRandomMediaServer() {
2020
const serverEntries = Array.from(this.servers.entries());
@@ -69,13 +69,18 @@ const mrServer = {
6969
socket.on('message', (data) => this.handleClientMessage(socket, data));
7070
},
7171
async handleClientClose(socket, timedOut = false) {
72+
if (socket === null) {
73+
return;
74+
}
75+
7276
if (timedOut) {
73-
this.debug(`!! MEDIA SERVER HAS TIMED OUT - CHECK SERVER ASAP`);
77+
this.debug(`!! A MEDIA SERVER HAS TIMED OUT - CHECK THE SERVER ASAP`);
7478
}
7579

76-
this.debug(`Lost connection to media server -> Removing from store...`);
80+
this.debug(`Lost connection to a media server -> Removing from store...`);
7781

7882
this.servers.delete(socket.public_ip);
83+
socket = null;
7984
},
8085
async handleClientMessage(socket, data) {
8186
try {

server.js

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,12 @@ global.dispatcher = dispatcher;
3232
global.gateway = gateway;
3333
global.udpServer = udpServer;
3434
global.rtcServer = rtcServer;
35+
global.using_media_relay = globalUtils.config && globalUtils.config.mr_server.enabled;
3536

36-
if (!globalUtils.config.mr_server) {
37+
if (!global.using_media_relay) {
3738
global.mediaserver = new MediasoupSignalingDelegate();
3839
}
3940

40-
global.using_media_relay = globalUtils.config.mr_server;
41-
4241
if (globalUtils.config.email_config.enabled) {
4342
global.emailer = new emailer(globalUtils.config.email_config, globalUtils.config.max_per_timeframe_ms, globalUtils.config.timeframe_ms, globalUtils.config.ratelimit_modifier);
4443
}
@@ -151,7 +150,7 @@ function getIPAddress() {
151150

152151
if (global.using_media_relay) {
153152
global.mrServer = mrServer;
154-
global.mrServer.start(config.mr_server_port, config.debug_logs['mr'] ?? true);
153+
global.mrServer.start(config.mr_server.port, config.debug_logs['mr'] ?? true);
155154
}
156155

157156
if (!global.using_media_relay) {

0 commit comments

Comments
 (0)