diff --git a/README.md b/README.md index 6fc0a86..01d9c60 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,8 @@ # WebConsole +[![GitHub release (latest by date)](https://img.shields.io/github/v/release/mesacarlos/WebConsole)](https://github.com/mesacarlos/WebConsole/releases/latest) +![GitHub All Releases](https://img.shields.io/github/downloads/mesacarlos/WebConsole/total?label=total%20downloads) + WebConsole is a Spigot plugin for Minecraft 1.8-1.14 that enables you to view your server console and manage your server from anywhere. It creates a WebSocket server in the background used by the web interface to send commands, receive your console log and manage your server. Dont worry about privacy or security: all data is stored in your browser offline and your PC will connect directly to your minecraft server. No intermediary web servers, just you and your MC server. diff --git a/client/scripts/WebConsoleLanguage.js b/client/scripts/WebConsoleLanguage.js index 8fa9595..447b6d7 100644 --- a/client/scripts/WebConsoleLanguage.js +++ b/client/scripts/WebConsoleLanguage.js @@ -1,131 +1,131 @@ -/** - WebConsole Language Manager for WebConsole - Used to save your preferred language into your browser - https://github.com/mesacarlos - 2019 Carlos Mesa under MIT License. -*/ -function setLanguage(locale){ - //Save to persistence - persistenceManager.setLanguage(locale); - //Set locale phrases - switch(locale){ - case "en_US": - lang = { - "home_link": "Home", - "home_header": "Select a server from the menu", - "home_description": "Use the navigation bar to add a new Minecraft Server or connect to a previously added one.", - "server_dropdown": "Your servers", - "add_server": "Add Server", - "lang_dropdown": "Language", - "addServerModalLongTitle": "Add a new server", - "addServerModalSvName": "Server name:", - "addServerModalSvIp": "Server IP:", - "addServerModalSvPort": "WebConsole port:", - "addServerModalSvSsl": "Server is SSL enabled", - "addServerModalClose": "Close", - "saveAndConnectServerButton": "Save and connect", - "passwordModalLongTitle": "Password required", - "passwordModalLabel": "Password:", - "passwordModalRememberLabel": "Remember password", - "passwordModalCloseButton": "Close", - "passwordSendButton": "Login", - "disconnectionModalLongTitle": "Disconnected", - "disconnectionModalDescription": "Connection was lost with the server you were connected to, probably caused by a server stop. Moved back to welcome screen.", - "disconnectionModalCloseButton": "Close", - "players_online": "Players Online", - "cpu_title": "CPU", - "ram_title": "RAM", - "deleteServerButton": "Delete server", - "sendCommandButton": "Send" - } - break; - case "es_ES": - lang = { - "home_link": "Inicio", - "home_header": "Selecciona un servidor del menú", - "home_description": "Usa la barra superior para añadir un nuevo servidor de Minecraft o para conectarte a un servidor añadido previamente.", - "server_dropdown": "Tus servidores", - "add_server": "Añadir Server", - "lang_dropdown": "Idioma", - "addServerModalLongTitle": "Añadir un nuevo servidor", - "addServerModalSvName": "Nombre del servidor:", - "addServerModalSvIp": "IP del servidor:", - "addServerModalSvPort": "Puerto WebConsole:", - "addServerModalSvSsl": "SSL está activado", - "addServerModalClose": "Cerrar", - "saveAndConnectServerButton": "Guardar y conectar", - "passwordModalLongTitle": "Se necesita contraseña", - "passwordModalLabel": "Contraseña:", - "passwordModalRememberLabel": "Recordar contraseña", - "passwordModalCloseButton": "Cerrar", - "passwordSendButton": "Iniciar sesión", - "disconnectionModalLongTitle": "Desconectado", - "disconnectionModalDescription": "Se ha perdido la conexión con el servidor al que estabas conectado. Esto puede ser debido a que el servidor se ha cerrado. Se ha vuelto a la ventana principal.", - "disconnectionModalCloseButton": "Cerrar", - "players_online": "Jugadores en línea", - "cpu_title": "CPU", - "ram_title": "RAM", - "deleteServerButton": "Borrar servidor", - "sendCommandButton": "Enviar" - } - break; - case "ru_RU": //Credit to Stashenko - lang = { - "home_link": "Главная", - "home_header": "Выберите сервер из меню", - "home_description": "Используйте панель навигации, чтобы добавить новый сервер Minecraft или подключиться к ранее добавленному.", - "server_dropdown": "Ваши серверы", - "add_server": "Добавить сервер", - "lang_dropdown": "Язык", - "addServerModalLongTitle": "Добавить новый сервер", - "addServerModalSvName": "Название сервера:", - "addServerModalSvIp": "IP сервера:", - "addServerModalSvPort": "Порт WebConsole:", - "addServerModalSvSsl": "Сервер с поддержкой SSL", - "addServerModalClose": "Закрыть", - "saveAndConnectServerButton": "Сохранить и подключить", - "passwordModalLongTitle": "Требуется пароль", - "passwordModalLabel": "Пароль:", - "passwordModalRememberLabel": "Запомнить пароль", - "passwordModalCloseButton": "Закрыть", - "passwordSendButton": "Войти", - "disconnectionModalLongTitle": "Отключение!", - "disconnectionModalDescription": "Соединение с сервером, к которому вы подключены, потеряно.", - "players_online": "Игроки", - "cpu_title": "CPU", - "ram_title": "RAM", - "deleteServerButton": "Удалить сервер", - "sendCommandButton": "Отправить" - } - break; - default: - console.error("No language set"); - } - //Set navbar phrases - document.getElementById("navbarHomeLink").textContent = lang.home_link; - document.getElementById("home_header").textContent = lang.home_header; - document.getElementById("home_description").textContent = lang.home_description; - document.getElementById("serversDropdown").textContent = lang.server_dropdown; - document.getElementById("add_server").textContent = lang.add_server; - document.getElementById("lang_dropdown").textContent = lang.lang_dropdown; - document.getElementById("addServerModalLongTitle").textContent = lang.addServerModalLongTitle; - document.getElementById("addServerModalSvName").textContent = lang.addServerModalSvName; - document.getElementById("addServerModalSvIp").textContent = lang.addServerModalSvIp; - document.getElementById("addServerModalSvPort").textContent = lang.addServerModalSvPort; - document.getElementById("addServerModalSvSsl").textContent = lang.addServerModalSvSsl; - document.getElementById("addServerModalClose").textContent = lang.addServerModalClose; - document.getElementById("saveAndConnectServerButton").textContent = lang.saveAndConnectServerButton; - document.getElementById("passwordModalLongTitle").textContent = lang.passwordModalLongTitle; - document.getElementById("passwordModalLabel").textContent = lang.passwordModalLabel; - document.getElementById("passwordModalRememberLabel").textContent = lang.passwordModalRememberLabel; - document.getElementById("passwordModalCloseButton").textContent = lang.passwordModalCloseButton; - document.getElementById("passwordSendButton").textContent = lang.passwordSendButton; - document.getElementById("disconnectionModalLongTitle").textContent = lang.disconnectionModalLongTitle; - document.getElementById("disconnectionModalDescription").textContent = lang.disconnectionModalDescription; - document.getElementById("disconnectionModalCloseButton").textContent = lang.disconnectionModalCloseButton; - document.getElementById("players_online").textContent = lang.players_online; - document.getElementById("cpu_title").textContent = lang.cpu_title; - document.getElementById("ram_title").textContent = lang.ram_title; - document.getElementById("deleteServerButton").textContent = lang.deleteServerButton; - document.getElementById("sendCommandButton").textContent = lang.sendCommandButton; +/** + WebConsole Language Manager for WebConsole + Used to save your preferred language into your browser + https://github.com/mesacarlos + 2019 Carlos Mesa under MIT License. +*/ +function setLanguage(locale){ + //Save to persistence + persistenceManager.setLanguage(locale); + //Set locale phrases + switch(locale){ + case "en_US": + lang = { + "home_link": "Home", + "home_header": "Select a server from the menu", + "home_description": "Use the navigation bar to add a new Minecraft Server or connect to a previously added one.", + "server_dropdown": "Your servers", + "add_server": "Add Server", + "lang_dropdown": "Language", + "addServerModalLongTitle": "Add a new server", + "addServerModalSvName": "Server name:", + "addServerModalSvIp": "Server IP:", + "addServerModalSvPort": "WebConsole port:", + "addServerModalSvSsl": "Server is SSL enabled", + "addServerModalClose": "Close", + "saveAndConnectServerButton": "Save and connect", + "passwordModalLongTitle": "Password required", + "passwordModalLabel": "Password:", + "passwordModalRememberLabel": "Remember password", + "passwordModalCloseButton": "Close", + "passwordSendButton": "Login", + "disconnectionModalLongTitle": "Disconnected", + "disconnectionModalDescription": "Connection was lost with the server you were connected to, probably caused by a server stop. Moved back to welcome screen.", + "disconnectionModalCloseButton": "Close", + "players_online": "Players Online", + "cpu_title": "CPU", + "ram_title": "RAM usage", + "deleteServerButton": "Delete server", + "sendCommandButton": "Send" + } + break; + case "es_ES": + lang = { + "home_link": "Inicio", + "home_header": "Selecciona un servidor del menú", + "home_description": "Usa la barra superior para añadir un nuevo servidor de Minecraft o para conectarte a un servidor añadido previamente.", + "server_dropdown": "Tus servidores", + "add_server": "Añadir Server", + "lang_dropdown": "Idioma", + "addServerModalLongTitle": "Añadir un nuevo servidor", + "addServerModalSvName": "Nombre del servidor:", + "addServerModalSvIp": "IP del servidor:", + "addServerModalSvPort": "Puerto WebConsole:", + "addServerModalSvSsl": "SSL está activado", + "addServerModalClose": "Cerrar", + "saveAndConnectServerButton": "Guardar y conectar", + "passwordModalLongTitle": "Se necesita contraseña", + "passwordModalLabel": "Contraseña:", + "passwordModalRememberLabel": "Recordar contraseña", + "passwordModalCloseButton": "Cerrar", + "passwordSendButton": "Iniciar sesión", + "disconnectionModalLongTitle": "Desconectado", + "disconnectionModalDescription": "Se ha perdido la conexión con el servidor al que estabas conectado. Esto puede ser debido a que el servidor se ha cerrado. Se ha vuelto a la ventana principal.", + "disconnectionModalCloseButton": "Cerrar", + "players_online": "Jugadores en línea", + "cpu_title": "CPU", + "ram_title": "RAM en uso", + "deleteServerButton": "Borrar servidor", + "sendCommandButton": "Enviar" + } + break; + case "ru_RU": //Credit to Stashenko + lang = { + "home_link": "Главная", + "home_header": "Выберите сервер из меню", + "home_description": "Используйте панель навигации, чтобы добавить новый сервер Minecraft или подключиться к ранее добавленному.", + "server_dropdown": "Ваши серверы", + "add_server": "Добавить сервер", + "lang_dropdown": "Язык", + "addServerModalLongTitle": "Добавить новый сервер", + "addServerModalSvName": "Название сервера:", + "addServerModalSvIp": "IP сервера:", + "addServerModalSvPort": "Порт WebConsole:", + "addServerModalSvSsl": "Сервер с поддержкой SSL", + "addServerModalClose": "Закрыть", + "saveAndConnectServerButton": "Сохранить и подключить", + "passwordModalLongTitle": "Требуется пароль", + "passwordModalLabel": "Пароль:", + "passwordModalRememberLabel": "Запомнить пароль", + "passwordModalCloseButton": "Закрыть", + "passwordSendButton": "Войти", + "disconnectionModalLongTitle": "Отключение!", + "disconnectionModalDescription": "Соединение с сервером, к которому вы подключены, потеряно.", + "players_online": "Игроки", + "cpu_title": "CPU", + "ram_title": "RAM", + "deleteServerButton": "Удалить сервер", + "sendCommandButton": "Отправить" + } + break; + default: + console.error("No language set"); + } + //Set navbar phrases + document.getElementById("navbarHomeLink").textContent = lang.home_link; + document.getElementById("home_header").textContent = lang.home_header; + document.getElementById("home_description").textContent = lang.home_description; + document.getElementById("serversDropdown").textContent = lang.server_dropdown; + document.getElementById("add_server").textContent = lang.add_server; + document.getElementById("lang_dropdown").textContent = lang.lang_dropdown; + document.getElementById("addServerModalLongTitle").textContent = lang.addServerModalLongTitle; + document.getElementById("addServerModalSvName").textContent = lang.addServerModalSvName; + document.getElementById("addServerModalSvIp").textContent = lang.addServerModalSvIp; + document.getElementById("addServerModalSvPort").textContent = lang.addServerModalSvPort; + document.getElementById("addServerModalSvSsl").textContent = lang.addServerModalSvSsl; + document.getElementById("addServerModalClose").textContent = lang.addServerModalClose; + document.getElementById("saveAndConnectServerButton").textContent = lang.saveAndConnectServerButton; + document.getElementById("passwordModalLongTitle").textContent = lang.passwordModalLongTitle; + document.getElementById("passwordModalLabel").textContent = lang.passwordModalLabel; + document.getElementById("passwordModalRememberLabel").textContent = lang.passwordModalRememberLabel; + document.getElementById("passwordModalCloseButton").textContent = lang.passwordModalCloseButton; + document.getElementById("passwordSendButton").textContent = lang.passwordSendButton; + document.getElementById("disconnectionModalLongTitle").textContent = lang.disconnectionModalLongTitle; + document.getElementById("disconnectionModalDescription").textContent = lang.disconnectionModalDescription; + document.getElementById("disconnectionModalCloseButton").textContent = lang.disconnectionModalCloseButton; + document.getElementById("players_online").textContent = lang.players_online; + document.getElementById("cpu_title").textContent = lang.cpu_title; + document.getElementById("ram_title").textContent = lang.ram_title; + document.getElementById("deleteServerButton").textContent = lang.deleteServerButton; + document.getElementById("sendCommandButton").textContent = lang.sendCommandButton; } \ No newline at end of file diff --git a/plugin.yml b/plugin.yml index 0358cfa..8f53e93 100644 --- a/plugin.yml +++ b/plugin.yml @@ -1,6 +1,6 @@ name: WebConsole main: com.mesacarlos.webconsole.WebConsole -version: 1.1 +version: 1.2 description: WebSockets-based web console author: Carlos Mesa commands: \ No newline at end of file diff --git a/pom.xml b/pom.xml index b33c4ea..c1dd5ac 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 WebConsole WebConsole - 1.1 + 1.2 src diff --git a/src/com/mesacarlos/webconsole/command/RamUsageCommand.java b/src/com/mesacarlos/webconsole/command/RamUsageCommand.java index f29fcd7..2010823 100644 --- a/src/com/mesacarlos/webconsole/command/RamUsageCommand.java +++ b/src/com/mesacarlos/webconsole/command/RamUsageCommand.java @@ -11,9 +11,9 @@ public class RamUsageCommand implements WSCommand { public void execute(WSServer wsServer, WebSocket conn, String params) { Runtime r = Runtime.getRuntime(); - int free = (int) r.freeMemory() / 1024 / 1024; - int max = (int) r.maxMemory() / 1024 / 1024; - int used = max - free; + long free = r.freeMemory() / 1024 / 1024; + long max = r.maxMemory() / 1024 / 1024; + long used = max - free; wsServer.sendToClient(conn, new RamUsage(free + " free, " + used + " used, " + max + " maximum memory", free, used, max)); diff --git a/src/com/mesacarlos/webconsole/json/RamUsage.java b/src/com/mesacarlos/webconsole/json/RamUsage.java index 89901fc..283a33d 100644 --- a/src/com/mesacarlos/webconsole/json/RamUsage.java +++ b/src/com/mesacarlos/webconsole/json/RamUsage.java @@ -4,11 +4,11 @@ import com.google.gson.JsonObject; public class RamUsage implements JSONOutput { private String message; - private int free; - private int used; - private int max; + private long free; + private long used; + private long max; - public RamUsage(String message, int free, int used, int max) { + public RamUsage(String message, long free, long used, long max) { this.message = message; this.free = free; this.used = used; @@ -29,7 +29,7 @@ public class RamUsage implements JSONOutput { * Free amount of RAM, in MB * @return */ - public int getFree() { + public long getFree() { return free; } @@ -37,7 +37,7 @@ public class RamUsage implements JSONOutput { * Used amount of RAM, in MB * @return */ - public int getUsed() { + public long getUsed() { return used; } @@ -45,7 +45,7 @@ public class RamUsage implements JSONOutput { * Max amount of RAM, in MB * @return */ - public int getMax() { + public long getMax() { return max; }