diff --git a/src/Server.ts b/src/Server.ts
new file mode 100644
index 00000000..bb82e659
--- /dev/null
+++ b/src/Server.ts
@@ -0,0 +1,43 @@
+import { Server as WebSocketServer } from "ws";
+import { Config, db } from "@fosscord/server-util";
+import mediasoup from "mediasoup"
+
+var port = Number(process.env.PORT);
+if (isNaN(port)) port = 3004;
+
+export class Server {
+ public ws: WebSocketServer;
+ public turn: any;
+
+ constructor() {
+ this.ws = new WebSocketServer({
+ port,
+ maxPayload: 4096,
+ });
+ this.ws.on("connection", (socket) => {
+ socket.on("message", (message) => {
+ socket.emit(
+ JSON.stringify({
+ op: 2,
+ d: {
+ ssrc: 1,
+ ip: "127.0.0.1",
+ port: 3004,
+ modes: ["xsalsa20_poly1305", "xsalsa20_poly1305_suffix", "xsalsa20_poly1305_lite"],
+ heartbeat_interval: 1,
+ },
+ })
+ );
+ });
+ });
+
+ }
+
+ async listen(): Promise<void> {
+ // @ts-ignore
+ await (db as Promise<Connection>);
+ await Config.init();
+ console.log("[DB] connected");
+ console.log(`[WebRTC] online on 0.0.0.0:${port}`);
+ }
+}
diff --git a/src/index.ts b/src/index.ts
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/src/index.ts
diff --git a/src/start.ts b/src/start.ts
new file mode 100644
index 00000000..68867a2c
--- /dev/null
+++ b/src/start.ts
@@ -0,0 +1,3 @@
+import { Server } from "./Server";
+
+const server = new Server();
diff --git a/src/test.ts b/src/test.ts
new file mode 100644
index 00000000..df407b56
--- /dev/null
+++ b/src/test.ts
@@ -0,0 +1,8 @@
+import { getSupportedRtpCapabilities } from "mediasoup";
+
+async function test() {
+ console.log(getSupportedRtpCapabilities());
+}
+setTimeout(() => {}, 1000000);
+
+test();
|