forked from michaljaz/webmc
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathwebmc.js
More file actions
89 lines (71 loc) · 1.93 KB
/
webmc.js
File metadata and controls
89 lines (71 loc) · 1.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
// Generated by CoffeeScript 2.5.1
(function() {
var app, config, express, fs, http, io, port, server, sf;
fs = require("fs");
http = require("http");
server = http.createServer();
io = require("socket.io")(server);
express = require('express');
app = express();
sf = {};
config = JSON.parse(fs.readFileSync(__dirname + "/config.json"));
port = config["express-port"];
app.use(express.static(__dirname + "/../client/"));
app.use(function(req, res, next) {
res.set('Cache-Control', 'no-store');
return next();
});
app.get("/websocket/", function(req, res) {
return res.send(String(config["websocket-port"]));
});
app.get("/host/", function(req, res) {
return res.send(String(config["host"]));
});
app.listen(port);
server.listen(config["websocket-port"]);
io.sockets.on("connection", function(socket) {
socket.on("initClient", function(data) {
try {
return sf.onjoin(socket.id, data);
} catch (error) {}
});
socket.on("playerUpdate", function(data) {
try {
return sf.onplayerUpdate(data);
} catch (error) {}
});
socket.on("blockUpdate", function(block) {
try {
return sf.onblockUpdate(...block);
} catch (error) {}
});
return socket.on("disconnect", function() {
try {
return sf.onleave(socket.id);
} catch (error) {}
});
});
module.exports = {
on: function(type, f) {
if (type === "join") {
sf.onjoin = f;
}
if (type === "leave") {
sf.onleave = f;
}
if (type === "blockUpdate") {
sf.onblockUpdate = f;
}
if (type === "playerUpdate") {
return sf.onplayerUpdate = f;
}
},
send: function(socketid, message, data) {
return io.to(socketid).emit(message, data);
},
broadcast: function(message, data) {
return io.sockets.emit(message, data);
},
config
};
}).call(this);