0
0
Fork 0
Phantom-Ink-Online/server/src/websocket.ts

34 lines
No EOL
934 B
TypeScript

import { log } from "./main";
import { Server, Socket } from "socket.io";
import CreateGame from "./events/CreateGame";
import UpdatePlayer from "./events/UpdatePlayer";
import JoinGame from "./events/JoinGame";
export default async (conf: config) => {
const io = new Server();
io.listen(conf.websocket.port, {
cors: {
origin: conf.websocket.permitted_hosts,
credentials: true,
}
});
io.on(`connection`, (socket: Socket) => {
log.debug(`Client connected with ID: ${socket.id}`);
// Game Management
socket.on(`CreateGame`, (data: CreateGame) => CreateGame(io, socket, data));
// socket.on(`DeleteGame`, (data: DeleteGame) => DeleteGame(io, socket, data));
// Player Management
socket.on(`JoinGame`, (data: JoinGame) => JoinGame(io, socket, data));
socket.on(`UpdatePlayer`, (data: UpdatePlayer) => UpdatePlayer(io, socket, data));
});
log.info(`Server started on port ${conf.websocket.port}`);
}