Developer Tools
Socket.IO connection test
MUDBASE realtime uses Socket.IO, not a raw WebSocket URL. Tools like wscat cannot complete the Socket.IO handshake.
What to use
- socket.io-client in Node or the browser (same as production).
- Full reference: Socket.IO docs.
Minimal Node script
Install: npm i socket.io-client
javascripttest-socket.mjs
import { io } from "socket.io-client"
const token = process.env.MUDBASE_JWT // access JWT (scope api or websocket)
const socket = io("https://cloud.mudbase.dev", {
path: "/socket.io/",
transports: ["websocket", "polling"],
extraHeaders: { Authorization: `Bearer ${token}` },
})
socket.on("connect", () => console.log("connected", socket.id))
socket.on("connect_error", (err) => console.error("connect_error", err.message))
socket.on("error", (payload) => console.error("error", payload))
// Example: join a project room
socket.emit("subscribe:project", "YOUR_PROJECT_ID")
socket.on("db:create", (evt) => console.log("db:create", evt))import { io } from "socket.io-client"
const token = process.env.MUDBASE_JWT // access JWT (scope api or websocket)
const socket = io("https://cloud.mudbase.dev", {
path: "/socket.io/",
transports: ["websocket", "polling"],
extraHeaders: { Authorization: `Bearer ${token}` },
})
socket.on("connect", () => console.log("connected", socket.id))
socket.on("connect_error", (err) => console.error("connect_error", err.message))
socket.on("error", (payload) => console.error("error", payload))
// Example: join a project room
socket.emit("subscribe:project", "YOUR_PROJECT_ID")
socket.on("db:create", (evt) => console.log("db:create", evt))Browser console (quick)
On a page that already loads socket.io-client, or paste a CDN build, then connect with auth: { token: "…" } as in the connection docs.
Note
Do not use
wss://…/ws or plain WebSocket clients — they will not speak Socket.IO. Use the API origin with path /socket.io/.