| const colyseus = require("colyseus"); |
| const http = require("http"); |
| const express = require("express"); |
| const monitor = require("@colyseus/monitor").monitor; |
|
|
| |
| const app = express(); |
|
|
| |
| const server = http.createServer(app); |
| const gameServer = new colyseus.Server({ |
| server: server, |
| }); |
|
|
| |
| 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!"); |
| } |
| } |
|
|
| |
| gameServer.define("my_room", MyRoom); |
|
|
| |
| app.use(express.static("public")); |
| app.use("/colyseus", monitor()); |
|
|
| |
| const port = process.env.PORT || 7860; |
| server.listen(port, () => { |
| console.log(`Listening on ws://localhost:${port}`); |
| }); |
|
|