TerminalX / server.js
Kano001's picture
Update server.js
d8d1171 verified
raw
history blame
1.14 kB
const colyseus = require("colyseus");
const http = require("http");
const express = require("express"); // optional
// Initialize the Express app (optional)
const app = express();
// Create HTTP & WebSocket servers
const server = http.createServer(app);
const gameServer = new colyseus.Server({
server: server,
});
// Define a room handler
class MyRoom extends colyseus.Room {
onCreate(options) {
console.log("Room created!", options);
}
onJoin(client, options) {
console.log(client.sessionId, "joined!");
}
onLeave(client, consented) {
console.log(client.sessionId, "left!");
}
onMessage(client, message) {
console.log(client.sessionId, "sent message", message);
this.broadcast("messages", message);
}
onDispose() {
console.log("Room disposed!");
}
}
// Register the room handler
gameServer.define("my_room", MyRoom);
// Serve static files (optional)
app.use(express.static("public"));
// Start the server
const port = process.env.PORT || 7860;
server.listen(port, () => {
console.log(`Listening on ws://localhost:${port}`);
});