Make it so that the events actually register properly
This commit is contained in:
parent
1e65515009
commit
2ee16b2b8a
1 changed files with 11 additions and 31 deletions
|
|
@ -1,45 +1,25 @@
|
||||||
import { WebsocketEvent } from "./types/WebsocketEvent";
|
|
||||||
import { log, config } from "./main";
|
import { log, config } from "./main";
|
||||||
import { Server } from "socket.io";
|
import { Server } from "socket.io";
|
||||||
import { Status } from "common";
|
|
||||||
import glob from "glob";
|
// Event imports
|
||||||
import path from "path";
|
import Ping from "./events/ping";
|
||||||
|
import ServerInfo from "./events/server_info";
|
||||||
|
import CreateLobby from "./events/lobby/create";
|
||||||
|
|
||||||
export default async function() {
|
export default async function() {
|
||||||
log.info("Starting socket.io server...");
|
log.info("Starting socket.io server...");
|
||||||
|
|
||||||
let events: WebsocketEvent[] = [];
|
|
||||||
let eventFiles = glob.sync(
|
|
||||||
"events/**/!(*.map)",
|
|
||||||
{ cwd: __dirname, nodir: true }
|
|
||||||
);
|
|
||||||
for (var eventFile of eventFiles) {
|
|
||||||
let event = (await import(path.join(__dirname, eventFile))).default;
|
|
||||||
log.info(`Identified event "${event.name}" from: ${eventFile}`);
|
|
||||||
events.push(event);
|
|
||||||
};
|
|
||||||
|
|
||||||
const io = new Server();
|
const io = new Server();
|
||||||
|
|
||||||
io.on("connection", (socket) => {
|
io.on("connection", (socket) => {
|
||||||
log.debug(`Socket connected with ID: ${socket.id}`);
|
log.debug(`Socket connected with ID: ${socket.id}`);
|
||||||
|
|
||||||
for (var event of events) {
|
// Metadata Events
|
||||||
socket.on(
|
socket.on(Ping.name, (data) => Ping.handler(io, socket, data));
|
||||||
event.name,
|
socket.on(ServerInfo.name, (data) => ServerInfo.handler(io, socket, data));
|
||||||
(data: any) => {
|
|
||||||
try {
|
// Lobby Management Events
|
||||||
event.handler(io, socket, data)
|
socket.on(CreateLobby.name, (data) => CreateLobby.handler(io, socket, data));
|
||||||
} catch (e) {
|
|
||||||
log.error(e);
|
|
||||||
socket.emit("res:error", {
|
|
||||||
status: Status.UnknownError,
|
|
||||||
message: "An unexpected error occured."
|
|
||||||
});
|
|
||||||
};
|
|
||||||
}
|
|
||||||
);
|
|
||||||
};
|
|
||||||
});
|
});
|
||||||
|
|
||||||
io.listen(config.server.port, {
|
io.listen(config.server.port, {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue