#!/usr/bin/env node const net = require("net"); const util = require("util"); const protocol = require("./protocol.js"); if (process.argv.length != 4) { console.log("Usage: ./server.js "); console.log("Pass address of doomrooms server as arguments."); process.exit(1); } const GAME_ID = "tictactoe-tom"; const GAME_NAME = "Tic Tac Toe"; function messageHandler(msg) { console.log("Message:", msg); } async function registerGame(conn) { let msg = await conn.send(new protocol.Message("make-game", GAME_ID, GAME_NAME)); if (msg.err) { msg = await conn.send(new protocol.Message("attach-game", GAME_ID, false)); if (msg.err) { console.log("Game already managed by another gameserver, and not forcing"); process.exit(1); } } } const conn = new protocol.Connection(net.createConnection(+process.argv[3], process.argv[2]), messageHandler); conn.conn.on("connect", () => { console.log("Connected to roomserver"); conn.conn.on("end", () => { console.log("Connection with roomserver unexpectedly closed!"); process.exit(1); }); registerGame(conn); });