diff --git a/README.md b/README.md
index c280242..8156630 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,7 @@
# Binato
An implementation of osu!bancho in Javascript
+
+[![CodeFactor](https://www.codefactor.io/repository/github/tgpethan/binato/badge/master)](https://www.codefactor.io/repository/github/tgpethan/binato/overview/master)
### Features:
diff --git a/server/MultiplayerManager.js b/server/MultiplayerManager.js
index 1e2652d..7bb028c 100644
--- a/server/MultiplayerManager.js
+++ b/server/MultiplayerManager.js
@@ -1,5 +1,4 @@
const osu = require("osu-packet"),
- getUserById = require("./util/getUserById.js"),
UserPresenceBundle = require("./Packets/UserPresenceBundle.js"),
UserPresence = require("./Packets/UserPresence.js"),
StatusUpdate = require("./Packets/StatusUpdate.js"),
diff --git a/server/MultiplayerMatch.js b/server/MultiplayerMatch.js
index 77a4437..ec61f53 100644
--- a/server/MultiplayerMatch.js
+++ b/server/MultiplayerMatch.js
@@ -137,7 +137,9 @@ module.exports = class {
MatchUser.addActionToQueue(osuPacketWriter.toBuffer);
return this;
- } catch (e) { }
+ } catch (e) {
+ console.error(e);
+ }
}
updateMatch(MatchData) {
diff --git a/server/Streams.js b/server/Streams.js
index 5aa203a..d0fb3a2 100644
--- a/server/Streams.js
+++ b/server/Streams.js
@@ -41,27 +41,29 @@ module.exports = class {
}
sendToStream(streamName, streamData, initUser = null) {
+ // Make sure the stream we are attempting to send to even exists
+ if (!this.doesStreamExist(streamName))
+ return global.consoleHelper.printBancho(`Did not send to stream [${streamName}] because it does not exist!`);
+
// Get the stream to send the data to
const currentStream = this.avaliableStreams[streamName];
- try {
- // Loop through the users in this stream
- for (let i = 0; i < currentStream.streamUsers.length; i++) {
- // Get the user token of the user in the queue
- const currentUserToken = currentStream.streamUsers[i];
- // Make sure we don't send this data back to the user requesting this data to be sent
- if (initUser != null && currentUserToken == initUser && (streamName[0] == "#" || streamName.includes("mp_"))) continue;
- if (currentUserToken == 3) continue; // Skip if user is bot
+ // Loop through the users in this stream
+ for (let i = 0; i < currentStream.streamUsers.length; i++) {
+ // Get the user token of the user in the queue
+ const currentUserToken = currentStream.streamUsers[i];
+ // Make sure we don't send this data back to the user requesting this data to be sent
+ if (initUser != null && currentUserToken == initUser && (streamName[0] == "#" || streamName.includes("mp_"))) continue;
+ if (currentUserToken == 3) continue; // Skip if user is bot
- // Get user object
- const currentUser = getUserByToken(currentUserToken);
- // Skip if user is nonexistant
- if (currentUser == null) continue;
+ // Get user object
+ const currentUser = getUserByToken(currentUserToken);
+ // Skip if user is nonexistant
+ if (currentUser == null) continue;
- // Send stream data to user's own queue
- currentUser.addActionToQueue(streamData);
- }
- } catch (e) {}
+ // Send stream data to user's own queue
+ currentUser.addActionToQueue(streamData);
+ }
}
addUserToStream(streamName, userToken) {
diff --git a/server/loginHandler.js b/server/loginHandler.js
index 0e7189c..96d11ca 100644
--- a/server/loginHandler.js
+++ b/server/loginHandler.js
@@ -141,7 +141,7 @@ module.exports = function(req, res, loginInfo) {
// Complete login
res.writeHead(200, {
"cho-token": NewUser.uuid,
- "cho-protocol": 19,
+ "cho-protocol": global.protocolVersion,
"Connection": "keep-alive",
"Keep-Alive": "timeout=5, max=100",
"Content-Type": "text/html; charset=UTF-8"
diff --git a/server/loginHelper.js b/server/loginHelper.js
index 32ff74b..263bf9b 100644
--- a/server/loginHelper.js
+++ b/server/loginHelper.js
@@ -27,7 +27,7 @@ function incorrectLoginResponse() {
osuPacketWriter.toBuffer,
{
'cho-token': 'No',
- 'cho-protocol': 19,
+ 'cho-protocol': global.protocolVersion,
'Connection': 'keep-alive',
'Keep-Alive': 'timeout=5, max=100',
'Content-Type': 'text/html; charset=UTF-8'
diff --git a/server/serverHandler.js b/server/serverHandler.js
index 9e6c039..59e3f70 100644
--- a/server/serverHandler.js
+++ b/server/serverHandler.js
@@ -84,7 +84,7 @@ setInterval(() => {
fs.appendFile(
"server-stats.log",
`${global.usersOnline}|${global.multiplayerMatches[0]},${global.multiplayerMatches[1]}|${global.httpRequestsPerLogInterval}|${new Date().getTime()}@`,
- () => { }
+ () => {}
);
global.httpRequestsPerLogInterval = 0;
@@ -94,7 +94,7 @@ if (!fs.existsSync("tHMM.ds")) fs.writeFileSync("tHMM.ds", "0");
global.totalHistoricalMultiplayerMatches = parseInt(fs.readFileSync("tHMM.ds").toString());
global.getAndAddToHistoricalMultiplayerMatches = function() {
global.totalHistoricalMultiplayerMatches++;
- fs.writeFile("tHMM.ds", global.totalHistoricalMultiplayerMatches, (e) => {});
+ fs.writeFile("tHMM.ds", global.totalHistoricalMultiplayerMatches, () => {});
return global.totalHistoricalMultiplayerMatches;
}
@@ -129,8 +129,7 @@ module.exports = function(req, res) {
requestData = req.packet;
// Server's response & new client token
- let responseTokenString = "",
- responseData = new Buffer.alloc(0);
+ let responseData = new Buffer.alloc(0);
// Check if the user is logged in
if (requestTokenString == null) {
@@ -341,7 +340,7 @@ module.exports = function(req, res) {
} finally {
// Send the prepared packet to the client
res.writeHead(200, {
- "cho-protocol": 19,
+ "cho-protocol": global.protocolVersion,
"Connection": "keep-alive",
"Keep-Alive": "timeout=5, max=100",
"Content-Type": "text/html; charset=UTF-8"