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}`);
});