diff --git a/lib/controllers/sub-controllers/console-controller.js b/lib/controllers/sub-controllers/console-controller.js index 1bd802a..264146a 100644 --- a/lib/controllers/sub-controllers/console-controller.js +++ b/lib/controllers/sub-controllers/console-controller.js @@ -61,7 +61,7 @@ export async function webConsoleRcon(socket) { try { await rcon.connect(); } catch (error) { - socket.emit("push", "Could not connect RCON Input to server!"); + socket.emit("rcon-error", "Could not connect RCON Input to server!"); WARN("RCON", `Could not connect to '${rconHost}'`); } socket.rconClient = rcon; diff --git a/src/components/servers/RconDialog.jsx b/src/components/servers/RconDialog.jsx index 899c641..579b97b 100644 --- a/src/components/servers/RconDialog.jsx +++ b/src/components/servers/RconDialog.jsx @@ -26,7 +26,7 @@ export default function RconDialog(props) { sx={ fullScreen ? {} - : { "& .mcl-MuiDialog-paper": { width: "80%", maxHeight: 525 } } + : { "& .mcl-MuiDialog-paper": { width: "80%", maxHeight: 555 } } } maxWidth="xs" open={open} diff --git a/src/components/servers/RconSocket.js b/src/components/servers/RconSocket.js index 5648df8..42a1226 100644 --- a/src/components/servers/RconSocket.js +++ b/src/components/servers/RconSocket.js @@ -5,10 +5,13 @@ export default class RconSocket { this.logUpdate = logUpdate; this.sk.on("push", this.onPush.bind(this)); this.sk.on("connect", this.onConnect.bind(this)); + this.sk.on("rcon-error", this.onRconError.bind(this)); this.sk.on("error", () => console.log("WHOOSPSIE I GUESS?")); + this.rconLive = false; } onPush(p) { + this.rconLive = true; this.logs = [...this.logs, p]; this.logUpdate(this.logs); } @@ -17,6 +20,11 @@ export default class RconSocket { this.sk.emit("msg", m); } + onRconError(v) { + this.rconLive = false; + console.log("Server sent" + v); + } + onConnect() { this.sk.readyState = 1; this.logs = []; diff --git a/src/components/servers/RconView.jsx b/src/components/servers/RconView.jsx index 8eb1235..d4c99fd 100644 --- a/src/components/servers/RconView.jsx +++ b/src/components/servers/RconView.jsx @@ -55,8 +55,12 @@ export default function RconView(props) { variant="outlined" value={cmd} onChange={updateCmd} + disabled={!(rcon && rcon.rconLive)} /> - + {rcon && rcon.rconLive && } + {!(rcon && rcon.rconLive) && ( + + )} );