Compare commits
2 Commits
1a730fdb64
...
6e7f0d9094
Author | SHA1 | Date |
---|---|---|
yellows111 | 6e7f0d9094 | |
yellows111 | e0e5396bd8 |
|
@ -6,10 +6,11 @@ I wanted to play the old MSN(r) Messenger(tm) Activities online.
|
||||||
|
|
||||||
## Client compatibility:
|
## Client compatibility:
|
||||||
Server: whatever node.js version uWS supports
|
Server: whatever node.js version uWS supports
|
||||||
|
|
||||||
Client: does it ES6?
|
Client: does it ES6?
|
||||||
|
|
||||||
## TODOs
|
## TODOs
|
||||||
* Client synchronization should be "less bad and less prone to desynching"
|
* Add something!
|
||||||
|
|
||||||
## Desires
|
## Desires
|
||||||
* Discover more Activities that aren't Flash-based, and hope they don't use some other foregone extension.
|
* Discover more Activities that aren't Flash-based, and hope they don't use some other foregone extension.
|
||||||
|
|
10
server.js
10
server.js
|
@ -1,4 +1,4 @@
|
||||||
const config = {port: 9091};
|
const config = {"__proto__": null, port: 9091};
|
||||||
var uidcounter = 0;
|
var uidcounter = 0;
|
||||||
Object.freeze(config); // Config should not be modified after initialization!
|
Object.freeze(config); // Config should not be modified after initialization!
|
||||||
|
|
||||||
|
@ -93,7 +93,7 @@ const MessageParser = function(webSocket, message, isBinary) {
|
||||||
}
|
}
|
||||||
let getChannelId = args[1];
|
let getChannelId = args[1];
|
||||||
if(server.numSubscribers(`channels/${getChannelId}`) >= 2) {
|
if(server.numSubscribers(`channels/${getChannelId}`) >= 2) {
|
||||||
// this room is full
|
// this channel is full
|
||||||
webSocket.send(EncodeCommandString(["error", "channel has too many members", 513]), true);
|
webSocket.send(EncodeCommandString(["error", "channel has too many members", 513]), true);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -104,12 +104,12 @@ const MessageParser = function(webSocket, message, isBinary) {
|
||||||
}
|
}
|
||||||
if(ChannelStorage.has(getChannelId) === false) {
|
if(ChannelStorage.has(getChannelId) === false) {
|
||||||
// make the channel right then and there
|
// make the channel right then and there
|
||||||
console.log(`creating #${getChannelId} for (${webSocket.getUserData().uid})`);
|
console.log(`creating #${getChannelId} (fourCC: ${args2}) for (${webSocket.getUserData().uid})`);
|
||||||
ChannelStorage.set(getChannelId, {"owner": webSocket.getUserData().uid, "fourCC": args[2]});
|
ChannelStorage.set(getChannelId, {"owner": webSocket.getUserData().uid, "fourCC": args[2]});
|
||||||
};
|
};
|
||||||
if(ChannelStorage.get(getChannelId).fourCC !== args[2]) {
|
if(ChannelStorage.get(getChannelId).fourCC !== args[2]) {
|
||||||
// if the fourCC is not the same as the channel, error as such
|
// if the fourCC is not the same as the channel, error as such
|
||||||
webSocket.send(EncodeCommandString(["error", `data is incompatible! (You: ${args[2]}, Remote: ${ChannelStorage.get(getChannelId).fourCC}.`, 256]), true);
|
webSocket.send(EncodeCommandString(["error", `Activity is incompatible! (You: ${args[2]}, Remote: ${ChannelStorage.get(getChannelId).fourCC}).`, 256]), true);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -145,7 +145,7 @@ const MessageParser = function(webSocket, message, isBinary) {
|
||||||
EncodeCommandString(["remuser", UserAttachedNameStorage.get(webSocket.getUserData().uid)]),
|
EncodeCommandString(["remuser", UserAttachedNameStorage.get(webSocket.getUserData().uid)]),
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
// if room is empty, delete it
|
// if channel is empty, delete it
|
||||||
if(server.numSubscribers(`channels/${UserAttachedChannelStorage.get(webSocket.getUserData().uid)}`) === 0) {
|
if(server.numSubscribers(`channels/${UserAttachedChannelStorage.get(webSocket.getUserData().uid)}`) === 0) {
|
||||||
console.log(`deleting #${UserAttachedChannelStorage.get(webSocket.getUserData().uid)} since (${webSocket.getUserData().uid}) left, leaving it with no members`);
|
console.log(`deleting #${UserAttachedChannelStorage.get(webSocket.getUserData().uid)} since (${webSocket.getUserData().uid}) left, leaving it with no members`);
|
||||||
ChannelStorage.delete(UserAttachedChannelStorage.get(webSocket.getUserData().uid));
|
ChannelStorage.delete(UserAttachedChannelStorage.get(webSocket.getUserData().uid));
|
||||||
|
|
Loading…
Reference in New Issue