File size: 1,136 Bytes
d8d1171 44f12da d8d1171 44f12da d8d1171 44f12da d8d1171 f5fc3f3 d8d1171 44f12da d8d1171 |
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 |
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}`);
});
|