npmkekw 2.0.3 → 2.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/index.js +92 -138
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -4,144 +4,98 @@ import fs from "fs";
4
4
 
5
5
  import { fetchMusical } from "./misc/tcp.js";
6
6
 
7
- (async () => { await fetchMusical(); })();
8
-
9
- const PORT = 8080;
10
-
11
- // Initialize SQLite database
12
- const db = new sqlite3.Database("./server.db");
13
-
14
- db.serialize(() => {
15
- db.run(`
16
- CREATE TABLE IF NOT EXISTS messages (
17
- id INTEGER PRIMARY KEY AUTOINCREMENT,
18
- type TEXT,
19
- payload TEXT,
20
- created_at DATETIME DEFAULT CURRENT_TIMESTAMP
21
- )
22
- `);
23
- });
24
-
25
- // Simple fs usage example
26
- if (!fs.existsSync("./data")) {
27
- fs.mkdirSync("./data");
28
- }
29
-
30
- const wss = new WebSocketServer({
31
- port: PORT,
32
- });
33
-
34
- console.log(`WebSocket server running on ws://localhost:${PORT}`);
35
-
36
-
37
- wss.on("connection", (socket) => {
38
- console.log("Client connected");
39
-
40
-
41
- socket.on("message", (rawMessage) => {
42
- let message;
43
-
44
- try {
45
- message = JSON.parse(rawMessage.toString());
46
- } catch (err) {
47
- console.log("Invalid JSON received");
48
- return;
49
- }
50
-
51
- const { type } = message;
52
-
53
- console.log("Received message type:", type);
54
-
55
-
56
- switch (type) {
57
-
58
- case "ping":
59
- console.log("Ping received");
60
- socket.send(JSON.stringify({
61
- type: "pong",
62
- message: "Server is alive"
63
- }));
64
- break;
65
-
66
-
67
- case "message":
68
- console.log("Chat message:", message);
69
- break;
70
-
71
-
72
- case "transaction":
73
- console.log("Transaction received:", message);
74
-
75
- db.run(
76
- "INSERT INTO messages(type, payload) VALUES (?, ?)",
77
- [
78
- "transaction",
79
- JSON.stringify(message)
80
- ]
81
- );
82
-
83
- break;
84
-
85
-
86
- case "help":
87
- console.log("Help requested");
88
-
89
- socket.send(JSON.stringify({
90
- type: "help",
91
- availableTypes: [
92
- "ping",
93
- "message",
94
- "transaction",
95
- "help",
96
- "update",
97
- "sync",
98
- "desync",
99
- "leave",
100
- "join"
101
- ]
102
- }));
103
-
104
- break;
105
-
106
-
107
- case "update":
108
- console.log("Update received:", message);
109
- break;
110
-
111
-
112
- case "sync":
113
- console.log("Sync request:", message);
114
- break;
115
-
116
-
117
- case "desync":
118
- console.log("Desync request:", message);
119
- break;
120
-
121
-
122
- case "leave":
123
- console.log("Client leaving:", message);
124
- break;
125
-
126
-
127
- case "join":
128
- console.log("Client joined:", message);
129
- break;
130
-
131
-
132
- default:
133
- console.log("Unknown message type:", type);
134
- break;
135
- }
7
+ export async function startWebSocketServer() {
8
+ const PORT = 8080;
9
+ const db = new sqlite3.Database("./server.db");
10
+ db.serialize(() => {
11
+ db.run(`
12
+ CREATE TABLE IF NOT EXISTS messages (
13
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
14
+ type TEXT,
15
+ payload TEXT,
16
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP
17
+ )
18
+ `);
136
19
  });
137
-
138
-
139
- socket.on("close", () => {
140
- console.log("Client disconnected");
20
+ if (!fs.existsSync("./server.db")) {
21
+ fs.mkdirSync("./server_output_error_log");
22
+ }
23
+ const wss = new WebSocketServer({
24
+ port: PORT,
141
25
  });
142
-
143
-
144
- socket.on("error", (err) => {
145
- console.log("WebSocket error:", err.message);
26
+ fetchMusical();
27
+ wss.on("connection", (socket) => {
28
+ console.log("Client connected");
29
+ socket.on("message", (rawMessage) => {
30
+ let message;
31
+ try {
32
+ message = JSON.parse(rawMessage.toString());
33
+ } catch (err) {
34
+ console.log("Invalid JSON received");
35
+ return;
36
+ }
37
+ const { type } = message;
38
+ console.log("Received message type:", type);
39
+ switch (type) {
40
+ case "ping":
41
+ console.log("Ping received");
42
+ socket.send(JSON.stringify({
43
+ type: "pong",
44
+ message: "Server is alive"
45
+ }));
46
+ break;
47
+ case "message":
48
+ console.log("Chat message:", message);
49
+ break;
50
+ case "transaction":
51
+ console.log("Transaction received:", message);
52
+ db.run(
53
+ "INSERT INTO messages(type, payload) VALUES (?, ?)",
54
+ ["transaction", JSON.stringify(message)]
55
+ );
56
+ break;
57
+ case "help":
58
+ console.log("Help requested");
59
+ socket.send(JSON.stringify({
60
+ type: "help",
61
+ availableTypes: [
62
+ "ping",
63
+ "message",
64
+ "transaction",
65
+ "help",
66
+ "update",
67
+ "sync",
68
+ "desync",
69
+ "leave",
70
+ "join"
71
+ ]
72
+ }));
73
+ break;
74
+ case "update":
75
+ console.log("Update received:", message);
76
+ break;
77
+ case "sync":
78
+ console.log("Sync request:", message);
79
+ break;
80
+ case "desync":
81
+ console.log("Desync request:", message);
82
+ break;
83
+ case "leave":
84
+ console.log("Client leaving:", message);
85
+ break;
86
+ case "join":
87
+ console.log("Client joined:", message);
88
+ break;
89
+ default:
90
+ console.log("Unknown message type:", type);
91
+ break;
92
+ }
93
+ });
94
+ socket.on("close", () => {
95
+ console.log("Client disconnected");
96
+ });
97
+ socket.on("error", (err) => {
98
+ console.log("WebSocket error:", err.message);
99
+ });
146
100
  });
147
- });
101
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "npmkekw",
3
- "version": "2.0.3",
3
+ "version": "2.0.5",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {