29 lines
1.2 KiB
JavaScript
29 lines
1.2 KiB
JavaScript
|
const Client = require("./Client.js")
|
||
|
class Server extends EventEmitter {
|
||
|
constructor(config) {
|
||
|
super();
|
||
|
EventEmitter.call(this);
|
||
|
this.wss = new WebSocket.Server({
|
||
|
port: config.port,
|
||
|
backlog: 100,
|
||
|
verifyClient: function (info, done) {
|
||
|
done(true)
|
||
|
}
|
||
|
});
|
||
|
this.connectionid = 0;
|
||
|
this.connections = new Map();
|
||
|
this.rooms = new Map();
|
||
|
this.wss.on('connection', (ws, req) => {
|
||
|
this.connections.set(++this.connectionid, new Client(ws, req, this));
|
||
|
});
|
||
|
this.legit_m = ["a", "bye", "hi", "ch", "+ls", "-ls", "m", "n", "devices", "t", "chset", "userset", "chown", "kickban", "admin message"]
|
||
|
this.welcome_motd = config.motd || "You agree to read this message.";
|
||
|
this._id_Private_Key = config._id_PrivateKey || "boppity";
|
||
|
this.defaultUsername = config.defaultUsername || "Anonymous";
|
||
|
this.defaultRoomColor = config.defaultRoomColor || "#3b5054";
|
||
|
this.defaultLobbyColor = config.defaultLobbyColor || "#19b4b9";
|
||
|
this.defaultLobbyColor2 = config.defaultLobbyColor2 || "#801014";
|
||
|
};
|
||
|
}
|
||
|
|
||
|
module.exports = Server;
|