server update
This commit is contained in:
parent
d05feafb86
commit
ee621bb431
1 changed files with 59 additions and 50 deletions
|
@ -6,7 +6,9 @@ const objectsModule = require('./objects');
|
||||||
|
|
||||||
const app = express();
|
const app = express();
|
||||||
const server = http.createServer(app);
|
const server = http.createServer(app);
|
||||||
const wss = new WebSocket.Server({ server });
|
const wss = new WebSocket.Server({
|
||||||
|
server
|
||||||
|
});
|
||||||
|
|
||||||
const connections = new Set();
|
const connections = new Set();
|
||||||
var playerCount = 0;
|
var playerCount = 0;
|
||||||
|
@ -94,7 +96,7 @@ function createNewPlayer(socket, name){
|
||||||
wss.on('connection', (socket, req) => {
|
wss.on('connection', (socket, req) => {
|
||||||
//create new player, send informations to new player and broadcast new player for all
|
//create new player, send informations to new player and broadcast new player for all
|
||||||
let username = url.parse(req.url, true).query.name;
|
let username = url.parse(req.url, true).query.name;
|
||||||
if(username===undefined || username == null){
|
if (username === undefined || username == null || username == "null") {
|
||||||
username = "Soldat Inconnu"
|
username = "Soldat Inconnu"
|
||||||
}
|
}
|
||||||
if (username.length > NAME_MAXLEN) {
|
if (username.length > NAME_MAXLEN) {
|
||||||
|
@ -104,24 +106,25 @@ wss.on('connection', (socket, req) => {
|
||||||
|
|
||||||
socket.on('message', (message) => {
|
socket.on('message', (message) => {
|
||||||
message = JSON.parse(message);
|
message = JSON.parse(message);
|
||||||
if (message.type == "ping") {
|
switch (message.type) {
|
||||||
|
case 'ping':
|
||||||
socket.send("pong");
|
socket.send("pong");
|
||||||
|
break;
|
||||||
|
|
||||||
}else if(message.type=="update") {
|
case "update":
|
||||||
|
|
||||||
for (var i = players.length - 1; i >= 0; i--) {
|
for (var i = players.length - 1; i >= 0; i--) {
|
||||||
if (players[i].id == message.data.id) {
|
if (players[i].id == message.data.id) {
|
||||||
players[i] = message.data;
|
players[i] = message.data;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
broadcast(JSON.stringify(message), socket.id);
|
broadcast(JSON.stringify(message), socket.id);
|
||||||
|
break;
|
||||||
|
|
||||||
} else if(message.type=="newBullet"){
|
case "newBullet":
|
||||||
|
|
||||||
broadcast(JSON.stringify(message), socket.id);
|
broadcast(JSON.stringify(message), socket.id);
|
||||||
|
break;
|
||||||
|
|
||||||
} else if(message.type=="died"){
|
case "died":
|
||||||
broadcast(JSON.stringify(message), socket.id);
|
broadcast(JSON.stringify(message), socket.id);
|
||||||
for (var i = players.length - 1; i >= 0; i--) {
|
for (var i = players.length - 1; i >= 0; i--) {
|
||||||
|
|
||||||
|
@ -136,6 +139,10 @@ wss.on('connection', (socket, req) => {
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -143,7 +150,9 @@ wss.on('connection', (socket, req) => {
|
||||||
for (var i = players.length - 1; i >= 0; i--) {
|
for (var i = players.length - 1; i >= 0; i--) {
|
||||||
broadcast(JSON.stringify({
|
broadcast(JSON.stringify({
|
||||||
type: "removePlayer",
|
type: "removePlayer",
|
||||||
data: {id: socket.id}
|
data: {
|
||||||
|
id: socket.id
|
||||||
|
}
|
||||||
}));
|
}));
|
||||||
if (players[i].id == socket.id) {
|
if (players[i].id == socket.id) {
|
||||||
players.splice(i, 1);
|
players.splice(i, 1);
|
||||||
|
|
Loading…
Reference in a new issue